基于图像语义分割的车辆重识别
2022-10-17张正,陈成,肖迪
张 正,陈 成,肖 迪
(南京工业大学 电气工程与控制科学学院,江苏 南京 211800)
0 引 言
近年来,随着人们对智能化设备的需求越来越多,重识别问题俨然成为日益关注的问题。车辆重识别是继行人重识别之后又一热门的计算机视觉的研究领域。车辆重识别旨在通过在查询库中选择车辆图片,将查询的图像对比图像库,查找出具有相同身份(ID)的所有图像[1]。与行人重识别相比,在不考虑车牌的情况下,同款车型的不同车辆的外观几乎相近,且在不同相机的视点下,车辆的外观变化较大,因此在车辆重识别是一个非常具有挑战性的研究课题。
车辆重识别通常在没有高分辨率图像的设置中定义(例如,交通视频监控等,小区视频监控)。由于基于车牌识别的方法不能有效地应用,因此目前研究重识别的方法主要是基于车辆的外观[2]。传统的车辆重识别方法主要关注车辆的低尺寸特征,例如车辆的形状和颜色[3],当前,随着深度学习技术的发展,许多研究人员将注意力集中在细粒度的车辆分类和车牌识别上[4]。考虑同一个场景下,其中两个不同且车型同款、颜色相同的车辆,挡风玻璃的安全标志和进气格栅的部分细节上只有很少的差异,这些细节可能是区分车辆的关键线索,但是这些小细节(安全标志或进气格栅等)可能不够清晰,因此在操作中可能会忽略它们,所以这两辆车将被视为同一辆车。在车辆重识别数据集中存在着很多低分辨率,缩放比例变化或边界框中未对齐等情况的图片,并且这些类似的情况也发生在其它重识别的数据集中。针对这些亟需解决的问题,在车辆重识别的问题上主要形成了两种的研究方案,一是基于局部特征的车辆重识别的研究,根据车辆结构,在其上学习局部特征表示。二是基于度量学习的车辆重识别的研究,以样本的特征向量的距离为学习对象,通过训练和学习,减小同类样本之间的距离,并增大不同类样本的距离。
大多数车辆重识别的研究也是基于度量学习开展的,例如:YBai等[5]提出了一种度量学习方法,即敏感三元组嵌入(GS-TRE),将样本和每辆车之间合并成一个中间表示“组”巧妙地建模类内方差,然后在三重态网络中学习。Zhang Y等[6]提出的改进卷积神经网络的三重态训练以进行车辆重新识别,从两个方面改进三重态训练:一是,在原有三元组训练的基础上,增加了一个更为严格的约束,即分类定向损失;二是,设计了一种新的基于配对图像的三元组采样方法。Y Tang等[7]提出了一种多式模态度量学习架构,将深度特征和手工特征融合到端到端优化网络中,实现了更具鲁棒性和区分性的特征表示。Ratnesh Kumar等[8]利用三重态嵌入解决摄像机网络中的车辆重识别问题。他们对用于车辆重识别的损失(包括比较或是三元组损失)进行了广泛的评估,表明了这些方法的先进性,但是这些方法几乎都是利用车辆图像的整体外观信息来提取特征,忽略了局部差异信息。但是随着车辆数据集越来越复杂,往往基于全局特征来学习的算法不能够得到有效的应用,因此在此基础上,加入局部特征来共同学习,来达到理想效果。李熙莹等[9]提出基于部件融合特征的车辆重识别研究算法,该方法利用部件检测算法在不同车辆上提取差异性较大的车窗和进气格栅区域,然后对检测的区域进行图像特征的融合,最后计算样本特征的距离。盛浩等[10]提出的基于高置信局部特征的车辆重识别优化算法,利用车辆的关键点检测方法获取并分割车辆的车标扩散区域和其它重要局部区域作为高置信区域,再进行重识别训练。以上方法只能检测出差异较大和关键性的局部特征,且效果不佳,因此也存在一定的不足。
由此本文提出一个框架,即图像语义分割重识别方法(image semantic segmentation re-identification,ISS-ReID),使用车辆语义分割方法,提取了车辆的整体模型,再对整体模型局部分块,较大程度上去除背景信息的干扰,得到了有利于车辆识别的局部特征信息,然后再结合车辆的局部信息和全局信息提取特征,较好解决了全局信息不能提供局部差异信息等问题,最后利用全局损失和局部损失结合,提高了重识别的准确率。
当前的车辆重识别的数据集主要来源于VeRi-776数据集和VehicleID数据集。本文的改进方法在VeRi-776和VehiclelD上的也显示出优秀的性能。
1 本文方法
在本节中,我们将更详细地描述车辆重新识别问题,并介绍我们的框架。
1.1 问题表述
本文将Re-ID视为一个检索过程,即给定一个ID为yp的查询车辆xp和一个车辆图像库为Y={y1,y2,…ym} 的ID组,然后Re-ID旨在检索所有xi, (1
假设具有学习参数θ的模型M(θ) 能够用特征图fp和F={f1,f2,…,fm} 分别表示xp和X中的车辆,因此,可以使用欧几里德距离来将fp与F中的每个元素进行比较,并基于特征图的相似性构建排名列表。在人员重新识别方面,有大量的研究用于重新排名策略,而在车辆重新识别方面缺少重新排名方法。用于车辆重新识别的大多数现有技术方法不会在其初始排名列表上执行重新排名。为解决此问题,在本文的工作中将使用Zhong等提出的重新排名策略[12]。根据均值均匀精度(mean average precision,mAP)和累计匹配特性(cumulative match characteristic,CMC)将会更好评价Re-ID模型的好坏,本文将在实验部分来更好地说明。
1.2 车辆ReID框架
ISS-ReID是由语义分割模块和CNN主干模块两部分组成。对于语义分割模块,该网络用于检测车辆边界,然后利用图片中车辆的位置信息分割出3个局部区域并提取的3部分特征,分别为车辆模型的3个部分。区别于图像框在空间上划分为网格单元或水平条纹,因为它没有太多的抽象信息,并且能够使局部特征按照模块划分对齐匹配,从而提高识别率。对于CNN主干模块,本文选用ResNet50网络来提取相应的特征映射,采用ImageNet上的预训练的权重参数来对该神经网络的权重初始化。全局特征和3个局部特征共享一个卷积神经网络,然后均进行全局平均池化操作(global average pooling,GAP),从全连接层输出特征,进行交叉熵损失和标签平滑的分类学习,其中将全局特征再使用三重态损失进行学习,这样更容易使类内距离拉近,类间距离增大。最后计算总的损失函数。
该框架通过语义分割车辆模型划分3个区域,并且加入到本地分支。全局分支和本地分支共享相同的卷积网络以提取特征图,如图1所示。
1.3 语义分割提取
局部特征常用于捕获到图像内部的细节信息,一般的局部特征提取思路主要有图像的水平、网格切块,Faster R-CNN检测定位模型,车辆关键点以及本文所提出的语义分割局部特征等方法,图像语义分割是一种快速高效的方法,分割后的特征信息不容易丢失,多数背景噪声也被过滤掉,对于提取特征信息十分有利。在ISS-ReID中,全局特征提取模块负责提取车辆的宏观特征。通过查看整个车辆,该模块尝试最大程度地分离特征空间中的标识。然而,该模型无法考虑相似汽车之间的细微差异,其中最极端的是相同品牌、型号和颜色的汽车。因此,为了弱化背景噪声,增强车辆局部信息的作用,本文将采用结合语义分割和特征提取的方法,应用到车辆重识别中,从而进一步提高车辆的识别率。
随着深度学习在计算机视觉广泛的应用,图像分割的方法得到了相应发展,U-net网络分割方法在二值图像分割中,如卫星图像分析、医学图像分析[12]等领域,都取得了良好的效果。因此,使用U-net网络分割出整车模型特征,能较好过滤掉图像的背景信息,会使网络得到很好的图像掩膜信息。
语义分割模块是一个深层神经网络结构,由U-Net网络组成,该网络包含用于捕捉图像上下文的收缩路径和用于实现精准定位的扩展路径,采用跳跃连接来整合低维特征图和高维特征图,以此来进行精确的像素级的定位。图像语义分割网络结构,如图2所示。首先将数据集的图像输入到网络,利用U-net网络生成车辆的二值化掩膜图像,也可以理解为生成车辆的位置信息图像,再通过空间图像的数据分割来进行提取车辆的局部区域。
空间图像数据分割依据车辆的二值化掩膜图像,从上至下把车辆分成3块,再分别从左到右分割出多余的背景区域,并记录分割后的车辆位置信息,再与输入的原数据图像结合,最后完成车辆模型局部分块的生成操作。
在实践中,根据二值化掩膜图像,局部矩阵区域Ai的位置表示为
(1)
其中,i=(up,med,low), 分别代表局部区域的上部分、中间部分、下部分。hminle、hmaxr分别代表二值化掩膜中最左侧和最右侧的边界,wminu、wmaxlo则代表掩膜图像的最上端和最下端的边界,由此选定出局部矩阵区域。如图3所示。
由于相机拍摄的角度不同,车辆一般呈现的视角也不一样,或者相同视角下,车辆在相同的位置下对应的背景信息变化差异较大,这都会影响度量学习的效果,相同车辆的计算的度量距离也随之增加,使相同车辆识别难度增加。本文通过图像语义分割方法,得到整车的掩膜图像,再以掩膜图像进行局部分块,分割出3个部分,从而减少背景噪声对局部特征的影响,方便捕获到特征块的细节信息。这样经过分割的局部区域既对内部差异进行了强调,也易于拉近车辆特征的度量距离。
1.4 损失函数
根据全局特征和局部特征,分别应用了合适的损失函数,以指导特征的生成。并融合全局和局部损失,一起来训练数据集、优化网络模型。本文的交叉熵损失都是以车辆ID信息作为分类的。对于所有局部特征和全局特征均使用交叉熵损失,对于全局特征,本文联合三重态损失和交叉熵损失对其进行优化学习。这样以交叉熵损失构造的多个空间为平台,将每个类的特征分布在不同的子空间中[13],再使用三重态损失就更能拉近类间距离。
本文总的损失函数包含3个局部分块的损失和整车全局损失。通过语义分割网络提取的车辆模型局部特征,得到的局部损失,局部损失包括上部分损失、中间部分损失和下部分损失。将训练后的3个局部损失进行加权,最终得到总的局部损失Llocal表示为
Llocal=μ1Lup+μ2Lmed+μ3Llow
(2)
其中,μ1、μ2、μ3分别代表着不同的权重参数,Lup、Lmed、Llow分别代表着上部分、中间部分和下部分的局部损失。
本文根据每个局部块的学习特征的重要性,对学习的3个局部任务进行加权,特征属性明显的给以较高的权重,以增加相应局部任务的损失规模。通常在局部属性分析上,车身下部分的内容比较重要,一般包含车标、车牌、车的轮毂及进气格栅等重要细节信息,其次是车身的中间部分,一般包含车的挡风玻璃安全标志及车内装饰物等信息。最后是车身的上部分,因此学习的权重各不相同,遵循以上权重配置的要求。
本文设定μ1为0.2,μ2为0.35,μ3为0.45表示不同局部区域学习任务的重要程度。
之后进行全局特征相似性对比得到的全局损失Lgobal, 其中在全局学习中同时使用标签平滑的交叉熵损失和三重态损失来联合训练。通过这两个损失,得到总的损失函数Ltotal为
Ltotal=ω1Llocal+ω2Lgobal
(3)
其中,ω1和ω2分别是局部损失和全局损失的权重系数,考虑到局部损失和全局损失在本文有着同等作用,因此设置ω1和ω2分别为1和1。
为了训练我们的网络,我们考虑使用标签平滑正则化器(label smoothing regularization,LSR)的交叉熵损失[14]和硬正负挖掘的三重态损失[15]作为损失函数。
LSR的交叉熵定义为
(4)
LSR相当于采用两个损失,即H(q,p) 和H(u,p) 来等价于原始单一的交叉熵损失函数H(q′,p), 其中K是训练批次的大小,ε是平滑系数,p是预测的类别标签分布,q是原真实类别标签分布,u是引入的均匀分布,q′是q基础上,替换为(1-ε)q(k), 然后以ε替换为在u分布中的随机变量,其定义为
(5)
LSR是真实标签分配的一种变化,其目的是通过在标签上添加先验分布使模型更具适应性。结合一般的交叉熵损失,以避免真实值类别标签的logit值远远大于其它类别标签的logit值,从而防止过拟合。
硬正负挖掘三重态损失定义为
(6)
通过最小化来控制正样本对以及最大化负样本对之间的距离,最终达到区分相似性样本的效果。
2 实 验
在本节中,首先介绍用于车辆重新识别任务的两个大型数据集及其评估标准,然后介绍该方法的实现效果并与最新技术比较。
2.1 数据集
本文的数据集来自两个可公开获得的大规模车辆数据集,它们是专为车辆重新识别而设计的:VeRi-776和VehicleID。VeRi-776数据集由776辆不同的车辆的51 035张图像组成,这些图像由20个不同的摄像头在多个角度和多种光照条件下捕获。对于这些车辆图像,分别分配了576辆车的37 778张图片进行训练和576辆车的11 579张进行测试,对于查询图库包含200辆车的1678张图像。VehicleID是另一个用于车辆检索任务的大型数据集,由26 328辆不同车辆的221 567幅图像组成。包括250个最常见的车型。训练部分包含13 164辆汽车的113 346的图像。车辆数据集可进一步分为3个子集(小型、中型和大型)。数据集见表1。
表1 本文的实验中评估的车辆Re-ID数据集的数据划分
2.2 评估指标说明
目前,使用两种方法对已训练的网络进行评估。CMC(cumulative matching characteristic)曲线:累积匹配特性曲线表示在可变大小的排名列表中出现与查询标识正确匹配的概率,假如共有N辆车,即要进行N次的查询和排序,每次查询中目标的车辆的排序结果用r=(r1,r2,…,rN) 表示,那么CMC曲线表示为
(7)
mAP(mean average precision):均值均匀精度是所有平均精度的平均值,如下所示
(8)
其中,Q是查询图像总数。
AP(average precision):平均精度,如下所示
(9)
其中,n是测试次数,M表示与总的查询图像匹配图像的个数,g(t) 表示指标函数,如果在t处找到匹配项,则该值为1,否则为0,p(t) 指前t个值的查准率。
2.3 实验分析
本文首先将训练的数据图像使用了水平翻转的增强方式,之后再把输入数据集图片的大小调整为256×256像素。在每次迭代中,我们对32张图像进行小批量采样,使用Adam优化器,初始学习率为0.0003,我们还将模型的训练周期数固定为100。在标签平滑正则化器(LSR)实现中正则化值ε设定为0.1,三重态损失函数的超参数margin设定为0.3。遵循评估指标,CMC、mAP、rank-1、rank-5被用作评估整体性能的指标。图4和图5中分别显示了本文的方法在VeRi-776和VehicleID数据集上的CMC曲线。
本文为验证全局损失和局部损失的结合的有效性,实验在数据集上比较了只使用全局损失的基础网络baseline,baseline是由三重态网络模型构成。
从图4和图5中可以看出,添加了局部特征的网络,准确度都有所提升。在VeRi-776数据集上,Rank-1由基础网络的91.3%提升到92.3%,Rank-5则由原来的96.2%提升到96.6%。在VehicleID数据集上,Rank-1由基础网络的66.7%提升到69.3%,Rank-5则由原来的81.6%提升到85.8%等。由此可以验证本文方法的有效性。
本文使用最新的重新排名策略,可视化排名结果显示了一些车辆图片搜索的效果,本节实验以VeRi-776数据集为例,在查询库query中选择5张不同车辆的图片,从这5辆车中,在图像库gallery检索出同一车辆5张不同的车辆。top-k用来表示排名列表中的前k个图像。
图6是本文方法在VeRi-776数据集上得到Rank-5的可视化查询结果,查询query列表是选取待查询的车辆图像,后面top-1~top-5是检索后相似度最高的图片,即Rank-5查询后的结果。错误检索结果由黑色方框标记出。这些示例表明,本文的改进方法的总体性能良好。但是,在少数情况下,例如光照变化极端,车辆之间的相似度太高,车辆的图像模糊等,我们的方法仍需进一步改进。
2.4 算法比较
近年来,我们研究了基于VeRi-776和VehicleID的车辆Re-ID的研究成果。然后,我们将这些结果与实验结果进行了比较,包括FACT[2]、Combing Network[7]、VGG+C、VGG+C+T+S[14]、Triplet softmax loss VGGM、DDFL[10]。结果见表2。
表2 在VeRi-776数据集上的性能比较
在VeRi-776数据集上,本文的方法达到了65.9%的mAP和92.3%的rank-1精度。在VehiclelD(S)数据集上,实现了73.5%的mAp和69.3%的rank-1准确性。
3 结束语
本文提出了一个ISS-ReID模型,从车辆图像的语义分割入手,根据车辆边界模型划分局部特征,更好的从车辆数据集中提取具有差异化的特征信息,并有效减少背景噪声的干扰,结合了宏观全局特征,计算查询图像与图像库图片特征之间的距离度量,最后通过融合全局损失和局部损失来促进网络的优化。实验结果表明,本文改进的方法可以在车辆Re-ID中取得良好的效果。但是,真实场景可能更加复杂。因此,解决车辆Re-ID仍然是繁重的任务。