APP下载

基于视角一致性三元组损失的车辆重识别技术

2021-08-30刘晗煜黄宏恩郑世宝

测控技术 2021年8期
关键词:三元组一致性损失

刘晗煜,黄宏恩,郑世宝

(上海交通大学,上海 201100)

随着计算机视觉技术的快速发展,车辆重识别作为其中一项基础任务,在智能交通及城市监控系统等领域得到了广泛应用。这项任务旨在从图库(Gallery)中检索出与查询图(Query)属于同一辆车的图片,流程如图1所示。该任务首先提取图片特征,然后计算特征间相似性度量,最后根据相似性排序,从图库中召回与查询图相似性高的图片。需要注意的是,图库中的图片往往取自放置在不同视角的多个摄像机,这意味着图库中同一车辆在不同的图片上会呈现较大的外观差异,给这项任务带来了巨大的挑战。

图1 车辆重识别任务流程图

总体上,通过计算机视觉技术实现车辆重识别的主流方法可以大致分为基于手工特征的方法和基于深度特征的方法。

基于手工特征的方法是早期这项任务中使用最广泛的方法。手工特征是指人为设计的特征,它的每一维度都具有特定的含义,代表了图像中的某一具体属性。在这类方法中,外观描述符常常被用于实现车辆重识别任务。例如,Woesler[1]利用了车顶的颜色信息;Watcharapinchai等[2]提出了基于车牌号的车辆重识别方法。然而,由于摄像头分辨率、光照、视角和遮挡等因素,颜色和车牌号等特殊信息有时也难以准确获得。因此,基于手工特征的方法往往具有局限性。

近年来,深度学习在计算机视觉中表现出明显的优异性,并成功应用于人脸识别、行为识别和行人及车辆重识别等多项任务。因此,越来越多的研究采用深度特征实现车辆重识别。这类方法需要合理地设计深度网络模型,将输入特征(车辆图片)映射到潜在的特征空间。在潜在特征空间中,相同车辆间的类内间距应尽可能小,不同车辆间的类间差异性应尽可能大。在这些方法中,Li等[3]提出了一种基于CNN的方法,它能高效挖掘车辆具有辨别性的信息;Schroff等[4]为卷积神经网络提出了三元组的训练方式,通过充分学习三元组中正样本对与负样本对的相对相似性,提升了模型的表现性能。

相比于基于手工特征的方法,基于深度特征的方法已经取得较大的突破,但车辆重识别任务依然存在以下几个挑战:首先是多视角挑战,即车辆外观在不同视角下急剧变化导致了所提取特征的不稳定性。如图2所示,每一行是同一辆车不同视角的图像,每一列是不同的车相似视角下的图像,模型很容易认为图2(a)和图2(d)比图2(b)、图2(c)更相似。其次是车型近似重复挑战,即市面上存在大量相似型号的车辆。这些车辆间的区分度严重依赖于局部细节,图2中方框标出的部分都是可以区分两辆车的局部信息。

图2 车辆图像示例

1 相关工作

针对视角多样性挑战,VANet[5]提出采用不同的策略来识别来自相同视角和不同视角的图片。首先,对图片中车辆的方向进行分类预测,通过将输入图像映射到同向和反向两个潜在特征空间中,提升了模型在视角多样性场景下的表现性能。然而,该网络仅预测了前后两个角度,即图2中第一列和第三列两种视角,忽略了第二列的情况,而实际摄像头中的视角更为多样,且该网络的扩展代价较大。如果要提高角度预测的分类数,网络的分支数会随角度分类数呈指数级增长,训练集标注也会随角度的细化而变得难以用肉眼判断,因此该网络难以覆盖车辆重识别的复杂应用场景。

针对车型近似重复的挑战,He等[6]提出的局部正则化网络(Part-Regularized Network,PRN)和Meng等[7]提出的基于解析的视角感知嵌入网络(Parsing-Based View-Aware Embedding Network,PVEN)均从局部特征入手。PRN将目标检测中的感兴趣区域(Region of Interest,ROI)引入车辆重识别任务,单独提取出车窗、车灯和品牌(Logo)3个区域的局部特征,然后与全局特征结合。然而,车辆的判别性信息可能出现在车辆的任何部位,仅用以上3个区域代表局部信息并不全面,如图2中蓝框标出的车顶、车尾红灯都是具有判别性但被PRN忽略的局部信息。PVEN认为,两张车辆图片中均显示的公共部分携带着更为丰富的判别性局部信息,需要重点关注。为此,采用U-net将两张图片中的车辆分割为具有特定语义的四大区域(车头、车尾、车顶和车侧),并根据两辆车对应区域的占比情况,计算出各区域的可见性分数,使模型重点关注可见性分数较高的局部区域。但是,PVEN在视角多样性方面仅关注了单区域局部特征的对齐与增强,这显然是不够全面的,车辆视角问题应该从整张车辆图片来考虑。

受PVEN[7]中车辆四分割方法的启发,笔者认为,车辆分割后各个区域面积占比在一定程度上反映了该图的拍摄视角。两张车辆图片中对应区域占比的情况越相似,则它们的视角越一致。因此,本文提出基于区域分割的车辆视角一致性算法,并由此设计了新的视角一致性三元组损失。该损失给予视角上挑战性较大的样本更高的权重,并过滤掉视角简单样本,使模型可以学习到更深层的距离度量。实验结果表明,本文的方法在mAP、rank-1、rank-5、rank-10这4项车辆重识别的主要指标上均优于PVEN方法。

2 方法

由于PVEN[7]中提供了较好的车辆分割网络和全局特征与局部特征结合的架构,而局部特征的距离度量极易受到视角的影响,因此,本文选择在PVEN的局部分支中验证视角一致性感知损失的效果。

为了便于说明,引入以下标记:对于数据集X来说,a,p,n是3张车辆图片样本且a,p,n∈X。其中,a代表锚点(anchor);p代表正样本(positive),与a属于同一车辆(id相同);n代表负样本(negative),与a属于不同车辆。(a,p,n)是一个三元组。

2.1 训练网络框架

本文的网络框架如图3所示。该网络框架基于PVEN[7]进行改进,PVEN首先提取全局特征图(Feature Map)和区域分割掩膜,然后采用双分支结构,全局分支用于获得全局特征距离和损失,局部分支用于获得局部特征距离及局部三元组损失。在此基础上加入了一个视角一致性分支,用于获得视角一致性三元组系数,并将该系数与局部分支的三元组损失计算结果相乘,形成局部视角一致性三元组损失,从而引导网络去学习更具视角鲁棒性的车辆图像特征。

(1)

(2)

(3)

(4)

(5)

(6)

(7)

在训练阶段,总损失的计算公式为

(8)

在测试阶段,用于排序和推断的相似性度量由全局特征距离和局部特征距离加权相加获得,计算公式为

(9)

2.2 视角一致性

PVEN提出,由于其刚体和类六面体性质,车辆可以较容易地被语义分割为车头、车尾、车顶和车侧4个区域。笔者认为分割后车辆各区域的面积占比可以体现其拍摄视角,例如,若车头占比最大,说明车辆极有可能是从前往后拍的;若车顶占比较高,说明摄像头安装位置较高。因此,本文用分割掩膜的面积分布估计车辆视角特征,又用两个视角特征的点积估计其视角一致性。视角一致性的计算流程如图4所示。

图4 视角一致性的计算流程

(10)

(11)

2.3 视角一致性三元组损失

为了引导模型学习到更具辨别性的特征,笔者将2.2节提出的视角一致性概念加入三元组筛选的考量中,进而设计出新的视角一致性三元组损失函数。

2.3.1 传统的三元组损失函数

传统的三元组损失函数[4]是一种最常见的损失函数,也是本文的度量学习基准。三元组损失函数的目标是引导模型学习到一种复杂的特征映射,使数据集样本在潜在特征空间中,对于每个三元组(a,p,n),锚点a到负样本n的特征距离Da,n应该比到正样本p的特征距离Da,p更大。这样才能在重识别任务中顺利地根据特征距离召回任何一个查询图的真值(Ground Truth)。为了更好地学习困难样本之间的深度度量,Schroff等[9]根据距离范围将三元组分成以下三类。

① 简单三元组:Da,p

② 半难三元组:Da,n-α

③ 困难三元组:Da,p>Da,n,即会误识别的三元组。

其中,α表示简单三元组的Da,n与Da,p之间应该留有的距离余量。

Schroff[4]等将单个三元组的损失计算函数定义为

LTri(a,p,n)=max{Da,p-Da,n+α,0}

(12)

在式(12)中,简单三元组的损失函数值为0,而困难三元组和半难三元组的损失函数值大于0,因此,神经网络重点学习后面两类三元组的距离度量,实现了参数的有效优化。

在实际实验中,由于计算资源的限制,业界通常分批输入数据对模型进行训练,从而三元组损失及其变体的计算均基于小批量数据。其中,批次困难三元组损失(Batch Hard Triplet Loss)和批次全三元组损失(Batch All Triplet Loss)是两种最常用的方法。批次全三元组损失[4]对每个锚点计算其所有合法三元组的损失的平均值,而批次困难三元组损失[9]对每个锚点计算其所有合法三元组的损失的最大值。

2.3.2 视角一致性三元组损失

上述传统的三元组损失选择距离上较为接近的负样本和距离较远的正样本进行优化。然而,车辆图像的特征距离极易受到视角的干扰。这种仅根据距离选择三元组的方法难以适应图1所示的多视角情况。为了解决这个问题,本文希望将视角一致性因素引入模型的优化过程,即重点选择视角一致性高的负样本与一致性低的正样本进行优化。

根据视角一致性将三元组划分为以下三类。

① 视角简单三元组:ca,n-ca,p<-β,即ca,n比ca,p小足够多,视角上有助于区别正负样本的三元组。

② 视角半难三元组:-β

③ 视角困难三元组:ca,n-ca,p>0,即负样本的视角一致性较小,使正负样本的区分非常困难。

其中,ca,p和ca,n分别为锚点a与正样本p和锚点a与负样本p之间的视角一致性估计,具体计算方式已在2.2节介绍。β是视角简单三元组的ca,p和ca,n之间应该留有的视角一致性余量。由式(10)和式(11)可知,视角一致性cp,q∈[0,1],因此三元组根据视角一致性来筛选的示意图如图5所示。

图5 视角三元组筛选示意图

最终,本文的视角一致性选择系数的计算公式为

CvcT(a,p,n)=max{ca,n-ca,p+β,0}

(13)

该系数过滤掉了视角简单三元组,使网络专注于学习视角半难三元组和视角困难三元组的距离度量。此外,视角上越困难,即ca,n-ca,p越大,CvcT(a,p,n)越高,网络对其“重视”程度也就越高。

最终,模型将视角一致性三元组系数与局部三元组损失相乘,得到局部视角一致性三元组损失:

(14)

该损失使网络在度量学习的过程中加入对视角的考量,其加入系数前后的作用在表1中得到了体现。

3 实验

3.1 实验设置

3.1.1 数据集

在VeRi776数据集上验证本文的方法。VeRi776是车辆重识别任务的一个基准数据集,包含776辆车的50000张图像。该数据集由20个摄像头在不同视角下拍摄,每一辆车都有多视角多摄像头下的丰富图像样本。本文的实验中,训练集和测试集的划分采用官方设置,训练集中有576辆车,测试集中有200辆车。

3.1.2 评价指标

对于每张查询图,模型都能在图库中找到k个与之最相似的图片,从而计算这些k近邻样本中是否有与查询图身份相同的车辆图片。采用mAP(Mean Average Precision)准确率和rank-k准确率两种指标来评估方法的有效性。AP(Average Precision)表示单张查询图的平均精度,mAP表示查询图集中所有图片的AP的平均值。rank-k表示k近邻样本中包含真值(Ground Truth)的命中率。本文的模型评估采用车辆重识别领域的通用评价指标,即mAP、rank-1、rank-5和rank-10。

3.1.3 实验细节

本实验的网络框架参照图3,全局特征提取网络采用resnet-50,参数采用其在ImageNet上预训练的结果。区域分割网络采用Unet,参数与PVEN一致。

3.2 超参数调整

模型的视角一致性三元组损失需要调整两个新的超参数——视角一致性余量β和局部特征距离的权重φ。

3.2.1 视角一致性余量

由图5可知,β越大会保留越多有效三元组,越小会过滤掉越多三元组。当β≤-1时所有三元组都被过滤掉,损失函数永远为0;当β>1时所有三元组都被保留,视角一致性感知损失仍然给予视角困难三元组更高权重,但却会浪费部分算力在视角简单三元组上。由此可知,β的恰当值应在(0,1)区间。实验中,本研究选择了β∈[-0.3,0.8],每隔0.1试验一次,并在mAP出现峰值对应β的±0.05处各增加一次实验。最终,mAP精度随β的变化曲线如图6所示。结果显示,β=0.3时训练效果最好,说明在车辆图像三元组中,00.3时,模型浪费了部分算力在视角简单三元组上;当0<β<0.3时,模型过滤掉了部分视角半难三元组导致模型学习不充分。以上两种情况均导致时间结果轻微下降。而当β<0时,模型不仅过滤掉了全部的视角半难三元组,还过滤掉了部分视角困难三元组,导致训练效果急剧下降。图6中β<0时mAP急剧下降以及β>0时mAP小幅变化的现象均符合本文的理论预期。综合上述结果,在实验中β默认设置为0.3。

图6 mAP随β的变化曲线

不同的数据集和实验设置下mAP出现峰值所对应的β值可能会有小幅平移,但在新数据集下不经过调参直接将β值设为0.3仍能获得极大的效果提升,综合图6与表1结果来看,0<β<0.8范围内的实验效果均好于常用的批次困难三元组损失和批次全三元组损失,可见本文提出的视觉一致性三元组策略具有有效性,即使在非最优β下,仍然能取得不错的训练效果。

3.2.2 局部特征距离的权重

由式(3)可知,φ越大识别结果越依赖于局部特征,φ越小识别结果越依赖于全局特征。当φ=0时,局部特征距离即最终用于排序的相似度。因此,本研究选择φ∈[0,1],每隔0.1测试一次,结果如图7所示。实验结果显示,φ=0.5时模型的识别效果最好。因此,本文在后续实验中均采用φ=0.5的参数设置。

图7 mAP随φ的变化曲线

3.3 消融实验

为了证明本文设计的视角一致性三元组损失(View Consistency Triplet Loss,VCT Loss)的有效性,采用本文方法与经典三元组损失进行了对比实验。

对比损失包括重识别任务中最常见的批次全三元组损失和批次困难三元组损失。需要注意的是,局部分支采用批次困难三元组损失就相当于PVEN方法,采用批次全三元组损失相当于本文的视角一致性三元组损失取消视角一致性三元组系数。实验结果如表1所示。

表1 消融实验结果

表1显示,局部分支用本文的损失函数后4个指标均高于用批次全三元组损失和批次困难三元组损失。批次全三元组损失根据距离筛选困难和半难三元组,批次困难三元组损失根据距离筛选最困难的三元组。本文的方法在批次全三元组损失的基础上加入根据视角筛选三元组的系数,保留的三元组数量在以上两者之间,但是训练出的模型表现比以上两者都好,由此证明了根据视角筛选三元组这一策略的有效性。

本文的方法在mAP和rank-5、rank-10指标上的提高幅度尤其大。mAP比批次全三元组损失高2.0,比批次困难三元组损失高1.8。rank-5比批次全三元组损失高0.48,比批次困难三元组损失高0.72。rank-10比批次困难三元组损失高0.57。这说明本文的损失不仅表现稳定,而且在多视角挑战下表现尤其优异,因为k=1时通常只能召回同视角样本,k较大时才需要召回异视角样本。本实验结果表明,在k较大时,rank-k指标的相对涨幅更大,这进一步印证了本文方法在多视角情况下的优越性。

3.4 与前沿方法比较

将本文的方法与车辆重识别前沿方法进行对比,其结果如表2所示。在表2中,除了PVEN方法和所提出的PVEN+VCT方法外,其余方法的实验结果均来自文献[7]。本文对PVEN进行了复现,结果与文献[7]中一致。

由表2可知,在众多车辆重识别方法中,PRN[6]、PVEN[7]明显表现更优,这主要得益于它们对关键区域的学习。此外,由于PVEN从4个视角分别提取局部信息,覆盖了车辆的全部区域,因此取得了比PRN更好的性能。然而,PVEN仅仅关注了单区域局部特征的对齐与增强,对于视角多样性考虑得不够全面,而车辆整体的视角问题也是十分重要的。VANet[5]针对角度多样性挑战提出了基于角度分类的视角感知损失,尽管该网络只预测了前后两个角度,限制了模型的表现性能,但是其在度量学习中加入对视角考量的思路使笔者受到了启发。实验结果显示,本文的方法相比于PVEN和VANet均取得了较大提升,这是因为视角感知一致性损失能对两张图片中车辆的角度一致性进行预测,从而引导模型学到更具辨别性的特征。由此,本实验证明了所提出方法的优越性。

4 结束语

本文针对车辆重识别任务,为了解决视角多样性带来的影响,引入了视角一致性的概念并设计了视角一致性三元组损失函数。它能引导模型学习到更具辨别性的特征,从而提升所提出的方法在车辆重识别任务上的表现性能。在VeRi776车辆重识别数据集上,通过实验证明了所提出的方法的有效性和优越性,特别是在多视角场景下获得了较大的效果提升。

猜你喜欢

三元组一致性损失
关注减污降碳协同的一致性和整体性
注重教、学、评一致性 提高一轮复习效率
IOl-master 700和Pentacam测量Kappa角一致性分析
胖胖损失了多少元
特征标三元组的本原诱导子
关于余挠三元组的periodic-模
玉米抽穗前倒伏怎么办?怎么减少损失?
一个时态RDF存储系统的设计与实现
基于事件触发的多智能体输入饱和一致性控制
一般自由碰撞的最大动能损失