摘要
车辆再识别(ReID)的目的是在不重叠的视角下在不同的摄像机下识别目标车辆,在车牌识别不可用或不可靠的情况下发挥重要作用。与人脸识别和人的ReID任务相比,很难训练出一个有效的vehicle ReID模型,原因有二:不同的视图对车辆的视觉外观有很大的影响,当从一个统一的单一视图捕捉不同车辆的图像时,车辆的视觉外观可能非常相似。为了解决这些训练困难,我们引入了几个潜在组来表示多个视图。然后,将车辆重识别建模为两个子任务,包括匹配同一视图中的车辆和跨不同视图的车辆。对每个任务分别提出了细粒度排序损失和相对粗粒度排序损失。大量的实验分析和对两个基准的评估表明,提出的方法可以达到最先进的性能。
索引词-车辆重新识别,多颗粒损失,多视图学习。
1 简介
车辆再识别的目的是在不重叠视角的不同摄像头下识别目标车辆,在当前的交通控制、安全等公共交通系统中发挥着重要作用。由于车牌能够提供唯一的身份信息,因此直接的方法借助于健壮的车牌识别[1]。然而,这种方法往往局限于现实的监测环境。一方面,识别精度对图像质量如光照和分辨率很敏感。另一方面,在许多困难的情况下,可疑车辆的车牌实际上被遮挡,拆除或伪造,这些情况始终是视频监控的关键任务。因此,根据目标车辆的视觉外观匹配目标车辆具有重要的意义。
特征表示是图像匹配问题的核心。较早的作品使用手工特征[2],例如SIFT [3]和Color Name[4]。 近年来,由于深度学习的成功[5],越来越多的方法采用深度卷积神经网络(CNN)来提取特征。为了使特征具有区别性,使用了多种损失函数,例如ID softmax损失[6],对比损失[7],三元组损失[8,9],中心损失[10],大边际余弦损失[11]和OIM损失[ [12]被提议来训练网络,其中具有相同ID的目标图像的特征被期望具有比不同ID的图像具有更小的距离。这些方法在人脸识别[10]和person ReID[6]等任务中取得了巨大的成功。然而,与这些任务相比,vehicle ReID面临着两大挑战:(1)车辆往往在不同的相机方向观看,这些不同的视角极大地影响了视觉外观(图1(a));(2)当从一个统一的单一视角捕捉车辆图像时(图1(b)),不同车辆的视觉外观可能非常相似。前者增加了类内方差,后者降低了类间方差,这使得很难训练出有效的vehicle ReID模型。
图1所示 说明vehicle ReID的类内差异和类间相似性的例子;(a)同一车辆在不同视角上的视觉差异较大(b)同一视角上不同车辆的细微视觉差异
为了解决不同摄像头视角造成的训练困难,现有的一些作品在vehicle ReID模型中加入了多个视角线索,通过额外的注释来学习视角,如关键点[13]或视角信息(14、15)。但是,在实际应用中,标记数据的成本将过高。 幸运的是,候选视图的数量可以通过先验知识或摄像机位置轻松地预定义[13],并且对由各种视图引起的视觉外观变化进行建模比预测语义视图(例如正面或侧面)更为重要。因此,引入多个潜在组来表示多个视图,并将这些多个潜在视图进行合并,以方便网络训练。具体地说,给出车辆的几张训练图像,通过将图像聚类到多组中来推断多视图信息。虽然视图是潜在的,没有语义意义,但可以用来判断车辆图像是否从一个统一的单一视图捕获。然后将车辆ReID问题建模为两个不同粒度的子任务,包括在同一视图中匹配车辆和跨不同视图匹配车辆。为了共同学习vehicle ReID模型,对每个子任务分别提出了单视图排序损失(细粒度)和跨视图排序损失(相对粗粒度),如图2所示。
图2.使用我们提出的方法进行距离度量优化过程的图示。(a)原始特征空间中的车辆图像。(b)对单视图排序损失进行优化。©对跨视图排序损失进行优化。(d)单视图和跨视图的排序损失联合优化。
与现有的vehicle ReID工作相比,本文方法的主要贡献如下:
- 为了解决不同摄像头视图给训练带来的困难,提出了一种新的车辆ReID多视角学习方法。
- 车辆的视图被表示为潜在组,除了id之外不需要任何额外的注释。
- 将车辆ReID建模为在同一视图和跨不同视图匹配车辆,并提出了不同粒度的两种损失函数。
2 相关工作
车辆ReID问题是要关联从多个非重叠摄像机捕获的监控车辆图像。 它在大规模车辆识别,智能交通和视频监控中起着重要作用,尤其是在汽车牌照识别不可用或不可靠时。 车辆ReID的关键是提取判别特征。
早期的工作[16]通过手工制作的特征解决vehicle ReID的任务,比如颜色直方图和定向梯度直方图。然而,手工制作的特征并没有足够的区分能力来解决复杂的车辆图像的类间相似性和类内差异。Liu等人[2]评估了手工制作的特征,比如SIFT[3]和 Color Name[4]以及从CNN模型中提取的车辆ReID的深度特征,显示深度特征比手工制作的特征更具识别力。
目前,训练网络提取鉴别特征的损失函数有ID softmax损失[6]、对比损失[7]、三元组损失[8,9]、中心损失[10]、大边际余弦损失[11]、OIM损失[12]。根据这一思路,提出了几种车辆重识别方法来改善这些损失函数。例如,提出了耦合簇损失[17]来加速三元组损失的收敛速度,Zhang等[18]结合softmax损失和三元组损失来获得更高的性能。
此外,一些工作[19,20]将车辆ReID建模为多颗粒学习问题,并采用了额外的注释来促进网络训练,例如汽车属性和类型(例如,奥迪Q5或宝马X1)。 但是,这些方法忽略了由各种视图引起的车辆ReID的训练困难,即:不同的视图极大地影响了车辆的视觉外观,并且当从一个统一的单个视图中捕获其图像时,不同的车辆可能表现出相当相似的视觉外观。
为了解决这些困难,在[13]中选择了20个车辆关键点,并将其聚集到四个基于方向的区域(例如,前,后,左和右)中,以提取不同视图中的方向不变特征向量。Zhou等[14]提出了一种VAMI模型,该模型采用视角感知注意模型在不同区域选择显著区域,通过对抗性训练架构实现多视图特征推断。此外,Zhou等[15]利用SCCN和CLBL从单视图输入中推断出多视图特性。然而,所有这些方法都使用了额外的注释,这在大规模车辆数据集中是很昂贵的。
Bai等人[21]将样本和车辆id之间的中间表示“组”(view)纳入特征度量学习中。然后,将多组作为不同的类,提出了类内缺失ICV,使同一组目标图像的特征比不同组目标图像的特征更接近。但是,这将鼓励增加不同组的车辆图像的距离,而忽略来自不同组的图像可能属于同一车辆ID。考虑到在某些车辆图像中仅存在一个视图的特殊情况,仍然可以对多个潜在组进行聚类,并且来自同一车辆的不同组将在特征空间中非常接近。 即使在通常情况下(存在各种视图),来自不同组但属于同一ID的样本也应尽可能接近以应对由各种摄像机视图引起的极端视觉变化。 ICV类内损失[21]与所提出的方法之间的差异如图3所示,实验(第4节)证明了我们所提出的方法更为有效。
图3 ICV内部类丢失(左)[21]与所提出的跨视图排序丢失(右)在跨视图处理不同图像上的差异。
3. 该方法
3.1 问题定义
给定来自非重叠相机视图捕获的来自不同车辆的一些训练图像{I}以及相应的标识(ID)标签为{yI},我们旨在学习针对车辆匹配优化的深度特征表示模型。 利用学习到的特征表示,通过计算探测车辆图像的深层特征与图库车辆图像之间的距离,可以实现车辆再识别的相似性。
众所周知,由于两个原因,难以训练有效的车辆ReID模型:不同的视图极大地影响了车辆的视觉外观,并且当从一个统一的单一视图中捕获其图像时,不同的车辆可能呈现出相当相似的视觉外观。 因此,有必要对多视图信息进行建模以促进网络训练。虽然视图注释总是不可用,但视图的数量可以通过先验知识或相机位置轻松预定义[13,14,15]。因此,我们预先定义了N个视图,并分别用k-means将每辆车的训练图像聚类为N组。然后,一个训练图像I包含两个标签,ID标签yI和视图标签vI。注意vI是潜在的,它用于判断是否从一个统一的单一视图捕捉到一个车辆的两个图像。
3.2 多视图排序损失
基于多个潜在视图,车辆ReID可以建模为两个不同粒度的子任务:在同一视图中匹配车辆和跨不同视图匹配车辆。图2(b)是细粒度的,因为车辆的图像在同一视图是相似的,而图2©是粗粒度的,因为车辆的外观在不同的视图中可能会发生显著变化。因此,针对这两个子任务分别提出了单视图排序损失和跨视图排序损失。
单视图排序损失 首先,我们旨在识别同一视图中的目标车辆。 给定训练样本图像I,令f(I)表示深度网络特征表示。类内方差可以通过计算f(I)与相应聚类中心CyI,vI之间的距离来定义:
聚类中心CyI,vI计算公式为:
其中GyI,vI是车辆ID为yI且视图标签为vI的图像组。
对于类间方差,我们主要考虑聚类中心CyI,vI与其中yIn≠yI的任何训练样本之间的距离,即:
受[8]启发,我们只考虑每个小批中最难的类间方差,即:
其中B表示一个小批量。 为了区分不同的车辆,一个直接的约束是减小类内方差Ds(CyI,vI,I)和增加类间方差Ds(CyI,vI,I ∗ n)。那是:
其中αs> 0是可以更清楚地区分不同车辆的边距。在(5)的基础上,提出了一个排序损失函数来匹配同一视角下的车辆:
通过该公式的优化,如图2(b)所示,一个统一的单一视图中的车辆训练样本将变得更近。
跨视图排序损失损失函数(6)旨在匹配同一视图中的车辆。 但是,从不同角度识别车辆也至关重要。 在这种情况下,给定一个锚图像Ia,通过计算锚和任何正样本Ip的距离来定义类内方差,其中Ia和Ip来自不同的视图:
其中yIa = yIp, vIa = vIp。与(4)相似,用每个批次中最难的类内方差替换(7):
注意,在交叉视图中,负样本In具有不同的ID标签yIn,但视图标签vIn与Ia相同。 即yIa ≠ yIn和vIa = vIn。 类似于单视图情况,最难的跨视图类间方差Dc(Ia,I * n)与(4)相同。因此,在不同视图下匹配车辆的排序损失函数建模为:
其中0≤αc<αs且这个边距表示损失函数的粒度。 即,单视图等级损失(6)是细粒度的,而交叉视图等级损失(9)是相对粗粒度的。
最后,结合单视图排序损失(6)和跨视图排序损失(9)计算多视图排序损失(MRL):
关于超参数,ω= 0.25效果很好,并在我们的实验中使用。
3.3 多重损失联合优化
与其他等级损失(如对比损失[7]和三元组损失[8,9])相似,所提出的多视图排序损失侧重于给定特征空间中的相似度距离学习,而不是超平面决策。因此,单靠多视图排序损失的优化并不能充分有效地学习鲁棒车辆ReID模型,该模型在我们的实验中也得到了验证。因此,我们利用softmax损失进行分类作为一种辅助损失,以进一步提高车辆ReID的性能。softmax损失广泛用于各种深度ReID方法中,其中将不同的ID视为不同的类别[6,20]。 通过组合softmax损失,最终损失函数可以表示为:
最后,训练算法如Alg.1所示。
4. 实验
4.1 数据集
我们使用两个现有的车辆数据集来训练我们的模型,包括VehicleID[17]和VeRi-776[22]。VehicleID数据集由26,267辆汽车(约250辆车型)的221,763幅图像组成,每张图像中的车辆从头部或尾部捕获。VeRi-776数据集在真实交通监控环境中使用20个摄像头采集,包含776辆不同车辆的约50,000张图像。每一辆车都在不同的视角、光照和遮挡下被捕获。图4是来自VehicleID和VeRi-776数据集的一些典型样本。
图4所示 来自VehicleID数据集(上)和VeRi776数据集(下)的样本。
4.2 参数设置
我们的方法建立在PyTorch框架上。基本网络是imagenet上预先训练好的ResNet-50[23],从大小为256×256的图像输入到conv5_x的输出,然后是全局最大池化层。在训练阶段,我们从最后的最大池化层中提取特征来计算softmax loss和MRL(11)。采用ADAM优化器以初始学习率为0.0005和权重衰减为0.0005训练我们的模型。学习率在epoch41处开始呈指数衰减。对于VehicleID数据集,在MRL项中,N设置为2,αs= 0.5,αc= 0。 至于其他数据集,N设置为4,αs= 0.7和αc= 0.2。(N为视图数量)
考虑到不同的基础网络对vehicle ReID性能的影响,我们重新实现了一些方法[9,17,6,18,21],使用完全相同的设置,包括统一的基础网络(ResNet-50)。选择原始报告的结果与重新实现的结果之间的更好性能,以与提出的方法进行比较(请参见表1和表2)。
表1 在VehicleID数据集上进行性能比较,其中*表示使用相同的基网络
表2 VeRi-776数据集上的性能比较,其中*表示使用了相同的基网络
4.3 VehicleID数据集的结果
对于VehicleID数据集,采用累积匹配特征(CMC)和平均平均精度(mAP)来评估我们的方法。 紧接着[17],我们使用三个具有不同车辆ID的测试子集,即800个车辆的“小”子集,1600个车辆的“中”子集和2400个车辆的“大”子集。 同时,从一个身份中随机选择一个图像以获得gallery集,然后将其余图像全部用作每个子集中的查询图像。
表1说明了我们的方法和其他比较方法在车辆数据集上的CMC1、CMC5和mAP。首先,该方法明显优于以往利用额外注释的多视图学习方法[13,14],表明该方法能够更有效地处理车辆ReID的多视图挑战。同时,我们的性能也优于基于多颗粒的方法[19],它使用了额外的车辆模型注释。其次,在使用相同的基网(ResNet-50)时,所提出的方法(MRL)优于常用的三元组损失[9]和CCL[17]等等级损失。这是因为所提出的排序损失MRL模型采用了多视图信息,更适合于车辆重识别问题。第三,我们报告了使用单视图排序损失(SRL)或跨视图排序损失(CRL)的性能,以验证每项在多视图排序损失(MRL)中的有效性。实验结果表明,“SRL”和“CRL”是互补的。此外,结合软最大损失项,提出了softmax损失项
“MRL+Softmax Loss”进一步提高了大子集CMC1的性能12%,CMC5的性能5%,mAP的性能13%,验证了在vehicle ReID中使用Softmax Loss的有效性,这一点也通过比较“Triplet Loss”"[9]与" Triplet+Softmax损失"[18]得到了证明。此外,请注意,“MRL+Softmax Loss”在所有子集中都优于最先进的“ICV+Softmax Loss”[21]方法。以上结果说明了该方法的优势。
4.4 对VeRi-776数据集的结果
遵循[22]中所述的评估设置,采用HIT1,HIT5和mAP评估整体性能。 表2列出了VeRi-776数据集上车辆ReID任务的性能比较。与VehicleID数据集上的结果相似,我们提出的“ CRL”在相同的基础网络上优于[9]中的“Triplet Loss”和[17]中的“ CCL”。需要注意的是,SRL的性能很差,因为在VeRi-776数据集中视图的变化更加剧烈和多样化(图4(b)),并且很难在同一个视图中训练出一个有效的vehicle ReID模型。然而,“SRL”和“CRL”的组合甚至比在所有度量中使用任何一个都要好,这表明它们是互补的。结合softmax损失项,该方法在HIT1和mAP中均可获得约7%的性能增益。请注意,提议的“MRL+Softmax损失”略差(1.9%)“ICV+Softmax损失”[21]在HIT1,但它在mAP指标上实现了重大改进,提高了近19%的性能。结果表明,我们提出的方法从同一车辆ID的不同视图中识别不同样本更有效。
5. 结论
在本文中,我们提出了一种有效的多视点度量学习来解决车辆重识别由于不同的摄像机视点而造成的训练困难。与其他方法的主要区别在于,我们提出的方法通过不添加额外注释的聚类方式获取多个潜在视图信息。在VehicleID和VeRi-776上的大量实验表明,我们的方法可以取得显著的性能,并优于目前最先进的vehicle ReID方法。