基于可变形掩膜对齐卷积模型的行人再识别
2021-03-09邱卫根张立臣
刘 畅,邱卫根,张立臣
广东工业大学 计算机学院,广州510006
在当今社会,智能化视频监控的普及为公共安全提供了有力的保障。视频监控技术不仅能为公安部门寻找犯罪嫌疑人及破案提供有利的线索,而且还可以应用到找回走失儿童[1]等领域。实际上,要想在海量的视频数据中,查询并确定犯罪嫌疑人仍是一项巨大的挑战。通过人工查看监控视频来锁定目标,一方面会造成大量人力物力财力的浪费,更会错失查找定位的良机,导致案件勘破的延迟;另一方面,观察者由于查看海量视频而产生视觉疲劳,往往会漏看关键人物[2],延误案情。利用行人再识别技术对犯罪嫌疑人和目标对象进行追踪,不仅可以从海量的数据排查中释放出巨量的人力资源,而且能快速高效地定位犯罪嫌疑人和目标对象的活动范围,为勘破案件赢得宝贵的时间机会。行人再识别[3]是利用计算机视觉技术,判断图像或者视频序列中是否存在特定对象或行人的技术,被认为是一个图像检索的子问题。
行人再识别的特点是给定一个感兴趣的行人图像,依次与不同摄像头下出现的行人进行特征匹配,紧接着,根据特征匹配的结果,判断出行人依次出现在何处。然而,由于行人在不同时间段出现在不同摄像头下,会出现尺度、光照[4]、姿态、视角[5]的变化,以及行人被遮挡等问题,从而导致提取的行人特征会有所不同。以上都使得行人再识别成为计算机视觉领域中既具有重要研究价值,同时又极具挑战性的热门课题。
大量的行人再识别方法是以完美的行人检测[6]为前提的。然而实际情况中,由于不完美的行人检测[7-8],行人再识别经常会出现图像未对齐的现象。文献[9]提出了一种密集语义对齐的行人再识别框架,利用密集的语义分割得到人体部位的局部特征,解决行人未对齐问题。文献[10]提出了一种局部对齐的行人再识别模型,该模型采用双流的网络结构,分别用来提取行人外观特征以及身体部位特征,最后通过双线性合并层将两个特征向量融合为行人的特征表示。
本文在Resnet50主干网络的基础上,利用全卷积神经网络(Fully Convolutional Network,FCN)[11]对图像进行分割,并利用积分映射函数,获取感兴趣区域(Region of Interest,ROI),同时融合了多层次特征图信息,有效地解决了图像未对齐问题。本文提出的方法具有三个优点:
(1)利用多特征融合,充分利用局部与全局特征信息,增强行人特征表示的鲁棒性。
(2)利用分割网络获取行人前景掩膜,紧接着将不同尺度的行人特征映射到同一维度的特征空间,从而有效地解决行人未对齐问题。
(3)利用前景掩膜信息,获取图像前景特征,从而有效地解决背景杂乱的问题。
1 相关工作
行人再识别是一项具有重要应用前景,又具有严峻挑战性的研究课题。行人再识别的前提,一般都需要将行人或对象从场景中检测出来。紧接着利用不同的方法提取行人图像的特征,从而得到图像的特征空间。最后利用度量学习计算特征空间的相似度得分,依据相似度得分实现行人再识别。在实际场景中,行人在不同的时间段出现在不同的摄像头下,可能会出现光照、遮挡、姿态和视角的变化,从而导致行人在不同的摄像头下具有不同的特征,进而影响到行人再识别的准确率。
文献[12]提出了一种基于颜色特征的特征描述子,用来解决行人再识别中光照变化的问题。文献[13]提出了一种基于局部特征映射的方法来解决视角不变性的行人再识别问题。文献[14]提出了对训练数据进行随机擦除来解决目标被遮挡的问题。文献[15]提出了通过仿射变换,将行人的姿势转换成标准姿势,从而解决行人姿态变化的问题。
在上述方法中,普遍是以一个完美的行人检测方法作为前提。在实际情况下,行人检测算法的性能会直接影响到后续的行人再识别工作。由于行人检测算法的不完美性,会导致查询图像与图库中的图像存在未对齐的情况。正如图1所示,图1(a)中矩形框标出的是行人的头部,而图1(b)中与之位于同一位置的矩形框标出的是背景。由图1中包含同一行人的两张图像可看到,在比对图像中行人的身体部位未对齐。在进行特征匹配时,最好就是将比对图像中行人对应的身体部位进行特征匹配。然而,未对齐现象的出现会影响到特征空间的相似度得分。
图1 Market-1501数据集中的行人图像
在解决图像未对齐的方法中,许多是通过对人体进行分割,从而获取了行人的局部部位信息。文献[16]提出了一个名为Spindle Net的网络,是基于人体区域引导的多阶段特征分解和树状结构竞争特征融合。文献[17]提出了一种姿势驱动的深度卷积模型,是利用人体部位信息来减轻姿势变化,使得人物对齐。文献[18]强调每个部分内容的一致性,将图像水平分为若干块,对每一块做一个分类器,判别块内的内容是否一致。文献[19]将局部特征与全局特征共同学习得到最终的特征表示,其全局特征的学习受益于局部特征的学习,通过计算两组局部特征的最短路径来执行对齐操作。
本文提出了一种基于可变形掩膜对齐卷积模型的行人再识别方法,用来解决行人未对齐的问题。首先利用分割网络对原图进行分割,提取出包含行人的掩膜。本文利用FCN分割网络获取行人前景掩膜。FCN对图像进行像素级的分类,从而解决了语义级别的图像分割问题,并且具有很好的分割效果。紧接着利用掩膜信息,对特征图进行裁剪,获取仅包含行人的特征图。由于进行比对的两张图像,行人的分辨率是不同的,导致掩膜的大小不同。本文所提出的方法将表示行人的特征图水平划分为四块[20],这四块分为表示行人的不同身体部位。紧接着将各个表示身体部位的特征进行融合,得到行人的全身特征表示。因此,本文提出的方法可自适应不同尺度的行人掩膜,达到可变形掩膜对齐的效果。
本文所提出的方法在Market-1501[21]和DukeMTMCreID[22]这两大数据集上进行实验,均有着较为不错的准确率。并且,本文通过消融实验,验证了掩膜对齐模块对识别未对齐图像有一定的帮助,使得整体识别准确率得到提高。
2 本文工作
为更好地处理图像未对齐问题,本文提出了一种改进的可变形掩膜对齐及相关技术。本章将从网络结构、掩膜对齐、多特征融合、损失函数四个方面,介绍本文所提出的技术。
2.1 网络结构
图2 网络模型
本文所提出的网络模型的整体框架结构如图2所示,其是以Resnet50[23]作为主干网络。Resnet50有很好的特征提取能力,其有4个Layer层,每层都会使得图像的分辨率减半。如图2中的虚线框所示,整体网络模型分为三个部分,从上到下依次为:图像浅层与深层的信息融合特征提取层、主干网络特征提取层,以及利用掩膜得到的行人特征提取层。
信息融合特征提取层,提取主干网络中的四个Layer层的输出特征图,并进行全局平均池化操作(Global Average Pooling,GAP)[24],再将所得到的特征向量输入到全连接层,得到四个维度相同的特征向量。紧接着,将这四个特征向量进行融合,融合后得到的特征向量再次经过全连接层,得到图像浅层与深层信息融合的特征表示。
主干网络特征提取层提取图像语义级别的特征,采用Resnet50作为主干网络。Resnet网络是深度残差网络,该网络具有残差模块,使得网络尽可能加深,从而具有鲁棒性更强的特征提取能力。
行人特征提取层提取Resnet50的Layer2层的特征,并利用掩膜信息,在特征图进行感兴趣区域池化操作,池化后得到四个特征向量,再将这四个特征向量进行融合,得到行人的特征表示。
最后,将主干网络得到的2 048维特征向量和融合特征提取层的512维特征向量,以及行人特征表示提取层的512维特征向量进行集成,得到该图像的最终的特征表示。
2.2 掩膜对齐
将比对图像的对应身体部位分别进行比对,是行人再识别中的一个重要的方法。由于比对图像未对齐,在查询图像包含人物头部的位置,在图库图像中的对应位置,可能是背景,这就造成行人再识别的一个难点。同时,背景杂乱也会影响再识别模型的性能。
为了解决行人未对齐的问题,本文提出利用分割网络与全局平均池化操作提取行人特征。由于行人在不同图像中具有不同的尺度,从而行人特征的尺度会不同。因此,利用分割网络获取行人前景掩膜,根据掩膜信息获取行人特征,将行人特征等分为若干块,每块代表行人特定的身体部位。对每块对应的特征进行全局平均池化操作,得到固定大小的特征向量。因此,最终不同尺度的行人特征会映射到固定大小的特征空间。同时,由于可变形掩膜对齐深度卷积模型具有前景掩膜信息,可有效减少背景杂乱带来的识别影响,提高识别准确率。
为了具体实现掩膜对齐,本文首先利用FCN网络对图像进行分割,得到包含行人的前景掩膜。图3显示了行人图像由FCN分割后得到的掩膜图像。当出现复杂背景、行人被遮挡等问题时,FCN分割网络依旧能较好地获取行人前景掩膜。在实际场景中,复杂背景以及行人被遮挡等问题,均会影响到行人特征的提取。因此,获取行人前景掩膜,对增强行人特征表示,具有重要的意义。紧接着,利用积分映射函数对掩膜图像进行处理,获取掩膜图像的前景感兴趣区ROI。因此,在具体训练模型时,输入的数据为{img,label,x1,y1,x2,y2},其中,分别是输入的图像、图像对应的标签、ROI左上角坐标、ROI右下角坐标。
图3 FCN分割网络分割后的掩膜图像
由于每个Layer层都会使得图像的分辨率减半,行人图像由四个Layer层提取后的特征图的大小分别为64×128×256、32×64×512、16×32×1 024、8×16×2 048,其中,特征图的维度分别由长和宽,以及通道数进行表示。在卷积神经网络中,浅层特征具有图像的局部信息,高层特征具有图像全局语义信息。主干网络Resnet50的Layer1层提取图像的局部特征,其提取的特征信息不够充分。Layer3层提取的特征图的大小为16×32×1 024,此时的特征图具有较强的语义信息。但由于进行了池化操作,导致图像局部的信息丢失。为了兼具局部信息与语义信息,本文提取主干网络Resnet50的Layer2层的特征图。利用ROI坐标信息,对Layer2层的特征图进行裁剪,得到仅包含行人的特征图。紧接着,将仅包含行人的特征图水平划分为四块,每一块代表行人身体的一部分。对每一部分利用全局平均池化操作,从而人体每一部分是由512维的特征向量进行表示,将人体四个部位的特征向量进行特征融合,得到行人全身的特征表示。
2.3 多特征融合
传统的行人再识别的方法中,大多只输出最高层特征图像作为其特征表示。当然,高层的特征能抽象出语义级别的信息,对目标识别有重要的效果。当然,层次越高的卷积操作,感受野越大,局部信息的丢失度也更大。仅获取高层语义级别的信息是不够的,低级别的属性特征,如衣服的颜色和纹理等,对正确分类也非常重要。因此,融合多个层次的特征图,例如将高级别的语义特征和低级别的属性特征进行融合,可以获取局部与全局的信息,对提高正确分类率是很有意义的。
本文中,将Resnet50的每一个Layer层的特征图提取出来,如图2所示,并对每一层得到的特征图做GAP操作,并利用全连接层,得到4个512维的特征向量,再经过Concat操作和Linear操作,就得到512维的特征向量,此即为图像多层特征信息融合之后的特征表示。
行人的特征表示为:
其中,Fpart为人体的部分块的特征表示,Fbody为行人全身的特征表示。
多级别特征表示为:
其中,FLayer是从Resnet50中的Layer层进行特征提取后进过全连接层映射得到的特征向量,Fgloble为多级别特征表示。
最后得到了三种特征向量,分别为主干网络的2 048维特征向量和表示行人的512维特征向量,以及多层信息融合后的512维特征向量。将这三种特征向量进行集成,得到3 072维的特征向量作为该图像的最终特征表示。
最终行人图像的特征表示为:
其中,⊕表示将特征向量沿着维度连接。
2.4 损失函数
为了训练一个鲁棒性与泛化能力强的网络,本文采用交叉熵损失函数与三元组损失函数进行联合训练。交叉熵损失函数可充分利用训练数据集的标签信息,将行人进行分类。三元组损失函数可增加类间距离,减小类内距离。
交叉熵损失函数:
其中,M是x的维度,class∈[0,C-1],C是要分类的个数。ω∈RC,表示标签的权重。
在使用三元组损失函数进行训练时,需要每次输入三张图像。记输入的三元组为其中与表示同一个行人表示两个不同的行人。将这三元组中的三张图像分别送入网络结构相同以及参数相同的网络,进行特征的提取。记该网络为φw,则三元组的特征表示为因此,三元组损失函数为:
其中[x]+=max(x,0),α表示边际分布,通过计算三元组特征空间的欧式距离得到行人图像间的相似度。
因此,本网络最终的损失函数为:
3 实验部分
为了评估本文提出的方法的有效性,在公开的两大数据集上进行实验。本章首先介绍实验所用到的数据集以及算法性能的评测准测。紧接着,介绍具体的实验细节。最后,从准确率的角度下比对所提出的方法与其他方法。
3.1 数据集和评估方法
本实验主要在两个大的行人再识别数据集上进行实验,这两大行人再识别数据集分别为Market-1501和DukeMTMC-reID。
Market-1501:该数据集是由6个摄像头拍摄得到,共有32 668张图像,其中有1 501个行人。整个数据集被分为训练集和测试集这两部分,其中训练集包含751个行人,共12 936张图像;测试集包含750个行人,共19 732张图像。对于在测试集中的每一个行人,从每个摄像头下挑选出一张该行人的图像作为查询图像,从而获得了3 368张查询图像。
DukeMTMC-reID:该数据集是由8个摄像头拍摄得到,共有36 411张图像,其中有812个行人。该数据集中只有404个行人出现在超过两个摄像头中,其他408个行人可视为干扰者。训练集包含702个行人,共16 522张图像;测试集包含702个行人,共17 661张图像。对于测试集中的每一个行人,从每个摄像头下挑选出一张该行人的图像作为查询图像,从而获得了2 228张查询图像。
在以上两个数据集上,本实验使用累积匹配特征曲线(Cumulative Match Characteristic,CMC)和平均精度均值(mean Average Precision,mAP)这两个标准的评测度量方法。
CMC评测度量方法是将行人再识别问题视为排序问题[25]。首先提取查询图像与候选集中所有图像的特征,依次计算查询图像特征与候选集中图像特征的欧式距离,并将计算得到的距离进行升序排列。在得到的排序结果中,若查询图中的行人在其前k张图像中出现,则视为匹配成功。
mAP评测度量方法是将行人再识别问题视为检索问题。在图库中可能存在同一个行人的多张图像,此时给定该行人的查询图进行检索时,应该返回所有匹配正确的结果。此时CMC评判标准就显得不够用了,因为没有考虑到召回率。通过计算每一张查询图像的平均准确率(Average Precision,AP),并对所有查询图像的AP值求平均,可得到mAP值。其中,可通过计算精度与召回率曲线下的面积得到查询图的AP值。
CMC曲线不仅能很好地表达查询图像的第一正确准确率,还能表达其他正确准确率。因此,利用CMC曲线可以很直观地反映出行人再识别模型的效果。mAP综合考虑了准确率与召回率,是一个更加全面的评价指标。
3.2 实验细节
本实验是基于pytorch开源框架,并利用在ImageNet数据集上进行预训练的Resnet50作为主干网络来进行。
数据增强:对训练集进行三次样条插值,将图像大小调整到288×144,再对图像进行随机裁剪,得到图像大小为256×128,接着对图像以0.5的概率进行随机翻转,最后,根据正则化操作将每个图像减去平均值并除以标准差作为网络的输入。
训练配置:本实验设置的batchsize为32,训练模型的Epoch设置为60,基本学习率初始化为0.1,在40个Epoch后衰减到0.01。
3.3 性能评测
本文提出的可变形掩膜对齐卷积模型在训练集上训练后得到的模型大小为128 MB。单张行人图像通过本网络进行特征提取,耗时15 ms。相比于其他通过单独检测人体各个部位以解决未对齐问题的模型,本文模型具有参数量更少、速度更快的优势。
本文基于Market-1501数据集和DukeMTMCreID数据集这两大数据集上进行实验,并和近几年的关于行人再识别方法进行性能对比。由表1可知,在Market-1501数据集上,本文算法rank1值和mAP值分别为88.93%和70.48%。由表2可知,在DukeMTMC-reID数据集上,本文算法rank1值和mAP值分别为78.57%和61.73%。本文算法在行人再识别的性能上有着一定的提升。
表1 Market-1501数据集上实验结果
表2 DukeMTMC-reID数据集上的实验结果
图4 显示的是CMC曲线图,可明显看到本文所提出的方法在性能上优于其他方法。图4中Baseline曲线是仅由Resnet50主干网络在测试集上得到的CMC曲线。NoneMask曲线是由Resnet50与多特征融合模块组合的网络结构在测试集上得到的CMC曲线。Ours曲线是由添加了掩膜对齐模块后的网络结构在测试集上得到的CMC曲线。
图4 CMC曲线图
由于Baseline曲线是由Resnet50的最高层特征作为行人最终特征表示,导致丢失了局部信息。因此,本实验在Resnet50作为主干网络的基础上,添加了多特征融合模块,其实验结果如NoneMask曲线所示,在Market-1501数据集上,模型的rank1值由73.9%提升到83.0%。因此,低级别的属性特征与高级别的语义特征进行融合,对提高识别准确率有一定的效果。为了验证掩膜对齐模块的效果,本文在Resnet50与多特征融合模块组合的网络结构基础上,添加了掩膜对齐模块,其实验结果如Ours曲线所示。对比NoneMask曲线与Ours曲线可知,在添加掩膜对齐模块后,模型的rank1值由83.0%提升到88.9%,验证了掩膜对齐模块可有效地提高行人再识别的准确率。
图5 显示的是若干查询图利用本文提出的方法,在图库上进行查询所得到的匹配结果。在图5中,第一列表示的是查询图,第二列到第六列分别表示匹配结果的降序等级,其中第二列是与查询图在特征空间中匹配度最大的图像。图5中红色边框包围的是识别错误的图像。可从结果图看出,本文提出的方法可很好地对未对齐图像进行识别,使得整体准确率得到提高。
图5 Market-1501数据集上的测试结果
图6 显示的是复杂背景下的行人图像,利用本文提出的方法,在图库上进行查询所得到的匹配结果。在解决背景杂乱的问题上,大多数的文献通过检测人体局部信息,然后集成所有检测到的局部信息,得到行人最终的特征表示。文献[26]通过利用姿势引导的局部注意力模块解决复杂背景的问题。但由于行人在不同的摄像头下,会有姿势变化、视角变化等问题,导致行人的部分部位无法检测,从而影响特征的提取。考虑到人体部位会有丢失的问题,本文引入掩膜信息,获取行人整体的前景特征。在图6所示的查询图中,行人的服装与背景差异度小、行人被遮挡、行人处于复杂场景等问题,从显示的查询结果看出,利用可变形掩膜对齐卷积模型,可以很好地解决上述的问题。
图6 行人在复杂背景下的测试结果
4 结束语
为了解决图像中的行人未对齐问题,本文提出了一种基于可变形掩膜的行人对齐的深度卷积模型。本文在Resnet50基础上,提取其多层特征图信息,进行特征信息融合;并引入掩膜信息,利用FCN和GAP操作,实现了可变形掩膜。本文算法通过FCN获取行人图像的前景掩膜,从而根据掩膜信息可以有效地提取行人特征。并利用GAP操作,将不同尺度的行人特征映射到同一维度的特征空间,从而实现不同尺度的行人图像在同一特征空间进行比对。本文算法不仅解决了行人未对齐问题,而且可以有效地减少杂乱背景对行人再识别的影响。本文的方法在两个公开的数据集上进行实验,均取得了较好的效果。