ICCV 2019 Vehicle Re-identification with Viewpoint-aware Metric Learning
文章目录
-
- 摘要
- 1.引言
- 2.相关工作
-
- 2.1 关于重识别
- 2.2 深度度量学习
该系统采用了基于视角感知的角度下的度量学习方法(VANet)。该方法主要包含以下几大模块:首先是对不同类别样本间的内部空间约束条件进行学习;其次是对不同模态数据之间存在的跨空间约束条件进行建模;最后通过整体优化过程实现多模态数据间的语义融合。
* 3.3 网络结构
-
- 实验验证
-
- 4.1 数据集构建与实验环境设置
-
4.2 性能评估及模型优化分析
-
4.3 VANet机制如何有效提升重识别精度
-
4.4 基于距离分布的距离特征可视化分析
-
4.5 视角预测方法探讨
-
4.6 不同视角之间相互作用影响分析
-
其他相关工作的对比研究
- 5.结论
Vehicle Re-identification with Viewpoint-aware Metric Learning
摘要
- 已有的车辆重识别方法存在局限性,在极端视角变化时难以适应。
- 基于人类认知过程的启发我们提出了一种新的度量学习方法:它通过在特征空间中区分不同视角来学习两种不同的度量标准。
- 在训练阶段我们采用了两种约束条件共同优化模型性能;而在测试阶段首先对图像的角度进行估计随后应用相应的度量标准以提高识别精度。
- 实验结果表明VANet在车辆识别准确率方面表现优异特别是在来自不同角度的图像对比对中表现尤为突出。
1.引言
视角变化现象是车辆重识别过程中面临的重点难点问题。
在类似视线下(如图1(a)所示),同一类车辆可能会呈现高度相似性;而在不同视线下(如图1(b)所示),同一类车辆可能会呈现出明显的差异性特征。
其中S_{view}被定义为"相似视点"概念的集合体,
而D_{view}则代表"不一视点"的特征集合体。

该问题早在目标识别领域就已获得广泛的关注,并且已有多个相关研究实例如行人重识别和面部识别等领域的实例进行深入探讨。然而,在特征提取方面仍面临诸多挑战尤其是针对车辆类目标物的极端角度(如180°)这一特殊情形而言
评估了一个基于深度度量学习的基础模型...
- 总结如下:
- 本研究引入了VANet架构,在分别处理S-view与D-view数据时实现了两者的性能提升。该网络通过创新性的设计实现了对两组关键问题的有效求解。
- 针对文章提出的两组关键问题设计了以下两种新型约束方案:一种是针对跨视图匹配问题设计了一种鲁棒性更强的空间外相关性模型;另一种则是通过优化同一视图内部的数据特征提取流程来进一步完善整体框架。其中,在跨视图匹配问题上特别注重算法在S_view干扰下的鲁棒性保障能力。
- 通过系统性的实验验证,在两个典型应用场景中(如大规模重识别任务),(实验结果表明)在两个典型应用场景中(如大规模重识别任务)均达到了显著的效果。(实验结果表明)在两个典型应用场景中(如大规模重识别任务)均达到了显著的效果。
2.相关工作
2.1 关于重识别
在一项规模较大的项目中涉及大量工作内容的情况下
我们还进一步对比了关于视角变化问题的研究工作。一些研究则通过显式或隐式的方式将方位信息融入特征表示中,在增强角度感知能力的同时提升了模型性能。其中一项方法是利用方向向量在特征图中嵌入以增强角度感知能力;另一些研究则针对不同车辆的方向分别构建特征集,并在匹配过程中充分考虑各方向上的可见性。此外,在实现视觉变换方面也存在基于生成对抗网络(GAN)的方法,在生成所需角度图像的过程中实现了视角对齐。相比之下,VANet采取了一种不同的策略,它不进行统一视图配准,而是将重识别任务划分为S-视图比对、D-视图比对以及综合学习深度度量三种形式 。实验结果表明这一方法在区分S-视图负样本与D-视图正样本方面表现出色。
2.2 深度度量学习
深度度量学习作为计算机视觉领域常用的技术手段,在图像检索、行人与车辆识别以及面部识别等多个场景中得到广泛应用。一般来说,在进行深度度量学习时会构建一个能将同类样本映射至相近区域而异类样本远离这一区域的特征空间。其主要采用两个核心损失函数:对比损失和三元组_loss. 研究表明,在面部识别及行人再识别等任务中, 三元组_loss的表现往往优于对比_loss. 我们研究团队同样倾向于采用三元组_loss作为其模型的设计依据。
VANet包含两个卷积分支,分别对应着S-view和D-view这两个视角。实验结果表明,相较于仅采用单一度量方法建立的基准模型,基于视角感知的学习方法显著提升了车辆再识别的效果。此外还表明,这一提升主要得益于VANet在区分D-view正样本与S-view负样本方面的卓越能力,这些细节将在4.3节中进行详细阐述
3.VANet
为了分别从S-view和D-view两个视角学习各自的空间深度度量,在经过所设计的双路网络处理后将输入图像映射至两个独立的特征空间中。其中,在这两个特征空间中对应的点对之间的距离计算采用了欧氏距离作为基准
- 3.1 概述度量学习中的基准模型(Baseline)
- 3.2 展述视角感知框架下的度量学习目标及其对应的损失函数
- 3.3 通过深度神经网络架构来实现对视角感知的度量学习
3.1 度量学习baseline
采用常用的三元损失函数来构建度量学习baseline。
我们定义X为数据集,在其中选取一对样本(x_i, x_j)作为图像对比关系;
映射函数f: X → F将原始图像转换为其对应的特征向量;
对于同一类别样本x, x^+和不同类别样本x^-(分别来自同一车辆与不同车辆),我们构造正对比对(x, x^+)与负对比对(x, x^-);
在此基础上定义三元对比损失函数如下:
L_{T r i .}\left(x, x^{+}, x^{-}\right)=\max \left\{D\left(P^{+}\right)-D\left(P^{-}\right)+\alpha, 0\right\} \tag{1}
其中α代表两个欧氏距离D(P⁺)和D(P⁻)之间的最小差距。通常情况下,(1)式会迫使同一辆车的目标样本彼此更近,而不同辆车的目标样本彼此更远。然而,如图1(c)所示,由于存在强烈的视角变化倾向, 基线无法有效地区分大部分D-view正样本与S-view负样本
3.2 视角感知的度量学习
根据图1(c),我们可以认为在存在S-view和D-view时的车辆重识别任务中,单一一种相似性度量可能无法充分满足需求。为此,我们提出了一种基于特定视角的框架,在这种框架下可以通过为S-view和D-view样本分别学习两种不同的深度度量来提升性能。具体而言,在S-view和D-view样本之间引入两种独立的距离度量模型:一种用于S-view样本间的对比学习(S-difference),另一种用于D-view样本间的对比学习(D-difference)。
对于视角感知的度量学习方法而言,涉及两种不同的约束机制:
内部约束:旨在确保在两个特征空间中D(P^+)始终小于D(P^-);
跨空间约束:同时要求当两对样本分布在不同空间时,同样满足D(P^+) < D(P^-}的关系。需特别注意的是这两者如何协同工作以实现有效的视角感知
3.2.1 空间内约束
对于每个特征空间而言,在该空间中正样本与目标点之间的距离应小于其与负样本之间的距离。因此,在S-view和D-view两个视角下(分别对应于各自的视角框架),我们引入了两个三元损失函数以确保各子空间内的约束条件得到满足。在S-view特征空间:
L_{s}=\max \left\{D_{s}\left(P_{s}^{+}\right)-D_{s}\left(P_{s}^{-}\right)+\alpha, 0\right\} \tag{2}
在D-view特征空间中,差异的最大值减去最小值加上α与零的最大值即为式(3)。
对于每一个特定视角所定义的特征空间,在其对应的三元损失函数下仅被该视角的数据所影响。值得注意的是,在这种设计下,在S-view特征空间中仅能区分同一视角下的不同车辆;而在D-view特征空间中则能有效捕捉来自不同视角的同一辆车物图像之间的紧密关联关系
3.2.2 跨空间约束
由于空间内的约束显得较为不足,在实际应用中车辆重识别系统往往会遇到两组不同的视角对:S-view pairs和D-view pairs。因此,在仅考虑空间内约束时实际上未能充分反映视角变化带来的影响(即该种方式无法全面捕捉到不同视角下的特征差异),这直接导致重识别系统的准确率出现下降(如4.2节所述)。
我们再次提出,在两个特定视角之间施加的空间约束关系,并采用三元损失函数进行表示。(4)
需要注意的是,在本研究中所定义的损失函数L_{loss}主要关注的是正样本与负样本之间的关系。不涉及同一辆车(正样本)在S-view下的两次观测图像之间的关系。其原因在于不同车辆(作为负样本)在D-view下的两次观测图像之间的距离会远大于同一辆车(作为正样本)在S-view下的两次观测图像之间的距离(这与常识一致)。换句话说,在这种设定下,我们假设不同视角下对应的真实示例间的相对距离关系应满足以下条件:即在同一视角下正类示例间的相对距离要小于异类示例间的相对距离:即对于任意两个来自不同类别且处于相同视图中的实例i和j来说,
\text{dist}(f(i), f(j)) \leq \epsilon
其中\epsilon是一个很小的正常数。
3.2.3 联合优化
联合三元损失函数:
L=L_{s}+L_{d}+L_{c r o s s} \tag{5}
如图2所示绘制了多个独立的损失函数变化曲线及其组合形式。通过综合考虑三元损失函数这一方案,在模型中不仅能够有效地学习到两个相对简单的场景(S-视图正样本与S-视图负样本之间的对比关系;D-视图正样本与D-视图负样本之间的差异特征),还能够深入探索一个较为复杂的交互模式(即D-视图正样本与S-视图负样本之间的关系)。这种多维度的学习策略有助于提升整体性能。
观察下图:直观上来说,VANet能够更加容易地区分正样本(绿色)和负样本(红色)。这是什么意思呢?

3.3 网络结构
如图3,包含两个学习分支。

VANet旨在识别输入图像对之间的视点关系(分为S-view和D-view两种类型)。该方法首先利用一个预设的视点分类器来推断每张图片所对应的绝对视点位置,并将这些信息用于区分不同视点下的图像配对关系。具体而言,在构建模型时我们采用了交叉熵损失函数并基于GoogLeNet设计了相应的网络架构。为了确保模型的有效性我们从VehicleID和Veri-776两个数据集共计选取了5,000幅图片用于模型训练,并将这些图片的真实视点标签分享给用户以便参考获取视点标签。值得注意的是我们的实验表明该方法中的视点分类器是独立训练完成并在后续特征提取与测试阶段始终保持独立性以避免引入额外的学习过程
然后VANet将输入的一系列共享卷积层后接两个结构相同的卷积网络分支(尽管不共享参数),每个分支均构成独立的特征提取模块(分别对应第3.2节中所述的f_s和f_d函数)。每张图像经此过程会被映射至两个不同的特征空间中并生成两条线路的特征表示:分别为f_s(x)和f_d(x)
在训练阶段中, 给定一批包含N张图像的小批量数据, VANet会并行构建并展示该数据集在S-view和D-view空间中的距离矩阵. 每个视图的空间都包含N×N个独立的距离值. 对于任意一个来自D-view的数据对, VANet仍然会在其对应的S-space特征空间中计算它们之间的相似度值, 即D_s(P_d), 而同样地, S-space空间中的情况也是类似的. 如图3所示, 这些不参与计算的距离值将被用灰色网格进行标注. 参考方程(2)或(3), 它们分别从S-space和D-space视角出发进行分析,因此在每一批次训练中, D_s(P_s)与D_d(P_d)将作用于各自的损失函数L_s与L_d, 而D_s(P_d)与D_d(P_s)则不在当前计算范围内. 此外,VANet会从S-space中提取所有的D_s(P_s)值以及从D-space中提取所有的D_d(P_d)值, 并将它们整合到一个新的综合距离矩阵中. 如图3所示, 这个综合矩阵采用绿色标记表示来自S-space的距离值, 红色标记则代表来自 D-space的距离值. 基于此综合矩阵,VANet会通过 triplet损失函数L_{cross} (如方程4所示)施加跨空间约束条件以优化模型性能
在测试阶段,基于一张查询图像,在VANet系统中将对该图像进行特定视角关系的比较操作。具体而言,在以下两种情况下执行不同处理逻辑:首先,在测试阶段中将基于一张查询图像,在VANet系统中将对该图像进行特定视角关系的比较操作。具体而言,在以下两种情况下执行不同处理逻辑:首先,在测试阶段中将基于一张查询图像,在VANet系统中将对该图像进行特定视角关系的比较操作。具体而言,在以下两种情况下执行不同处理逻辑:当待比较对象属于同一S-view类别时,则采用S-view分支模块来计算两者的距离D_s(P_s);而若来自不同视图空间(即D-view),则采用对应的D-view分支模块来计算两者的距离D_d(P_d)。
4.实验
4.1 数据集和设置
在两个公开的车辆重识别基准数据集VehicleID 和VeRi-776 进行实验。
实现细节 :
基于GoogLeNet构建主干网络,在其Inception(4a)层之前的各层设计为共享卷积模块(shared convolution blocks),随后从Inception(4a)至全局平均池化阶段构建分支卷积模块(branch convolution streams)。
在训练过程中基于 batch hard mining 策略进行推导以建立三元损失模型。
除了采用三元损失之外,在特征嵌入层上还加入了ID分类器这一重要组件。该ID分类器通过将全连接层与连续应用一个softmax层相结合的方式得以构建。值得注意的是,在此过程中所使用的softmax层输出结果是基于训练图像ID标签通过监督学习机制(采用交叉熵损失函数)得到的。值得注意的是,在传统方法中[1,35]也采用了类似的交叉熵损失设计策略以提升重识别模型性能
对于视角分类器 :
- VehicleID:数据只能来自前方位或后方位采集,并包含(前-前)、(后-后)作为S-type view pairs以及前-后、后-前配对作为D-type view pairs。
- Veri-776:图像大致可划分为三个不同的视角:前视图、侧视图和后视图。其定义包括(前-前)、(后-后)属于S-type view pairs,并结合(前-侧)、(侧-后)、(侧-前)形成D-type view pairs。
4.2 评估和模型简化测试
通过对比VANet与基准模型(采用相同的参数配置),我们可以评估该模型的效果表现;此外又进行了模型简化实验(依次去除交叉域损失项L_cross以及域内损失项L_within——其中涉及两次提及的L_s),以此检验区域内部约束与区域间约束的关键作用;具体结果可见于表1中。从中可以看出:

- 相对于baseline而言,VANet较大地提升了多个关键指标。
- 跨空间约束的重要性不可小觑。
- 空间内约束能够带来逐步有限程度的改进。
4.3 VANet是怎样提升重识别准确率的
通过将S-view与D-view分离用于重识别场景的研究中,探讨了VANet如何提高重识别准确率的方法.为了简化分析,我们基于VehicleID数据集进行实验,由于该数据集每个查询图像只有一个正确的匹配结果,因此选择其作为研究基础.主要解决以下两个关键问题:
- Q1 当正确的匹配分别基于S-/D-视图(指查询图像与对应正确匹配源自同一视角或不同视角)进行分析时,网络的表现如何?
- 假设正确匹配基于S-/D-视图的观察得出这样的前提条件,则当数据库中的所有图像均基于S-/D-视图的观察时,网络的表现如何?
对于Q1而言,在查询图像与真实匹配均源自同一S-view的前提下进行rank-1匹配正确率计算,并将其记作top1_s;类似地,在此基础之上将D-view图像排除并重新计算,则可得到对应的指标值top1_d。在Q2中,则基于真实匹配限定于S-view的情况(即排除了D-view的真实配对),通过移除所有D-view图像从候选集合中来重新计算rank-1匹配正确率,并将这一指标命名为top1_s^*;同理可得相应的指标值top1_d^*。值得注意的是,在这种情况下(即仅考虑S-view数据的情形),由于去除了潜在干扰因素的影响(即排除了来自不同视图的数据配对),因此该指标值相较于原始情况具有一定的提升空间。
那么,类似之前的模型简化测试,这儿的测试结果见表2,可以看到:

基于baseline的方法,在相同视角下进行的负样本实例对比(如相似视角中的不同车辆图像)往往也具有较高的相似度,并可能导致误判。
- 对比结果显示,在S-视图场景中的准确率达到92.23%,而D-视图仅达到33.53%,这表明在D-视图匹配中面临较大的挑战;
- 通过去除图像库中的S-视图数据后,在D-视图中的准确率提升至56.09%。这一变化凸显了在S-视图中负样本对重识别的重要性。
2、VANet在处理来自S视图的干扰方面表现出色,并且尤其在真实匹配结果对应于D视图时能够有效抑制这些干扰。
- 对比(d)与(a),观察到关键指标均实现了显著提升。具体而言,在top1_d方面相较于基准模型实现了26.32%的显著提升;即使在去除S-view干扰的情况下(即top1_d^*),仍保持了11.58%的显著进步。
- 进一步比较表明,在top1_s和top1_s^*方面的提升相对有限。
- 综上所述,VANet较基准模型的核心竞争力体现在其在检索D-view匹配能力方面的显著优势。
3、跨空间约束是网络能够对抗S-view干扰的重要原因
通过将对比实验结果进行分析可以看出,在不考虑跨空间约束的情况下,VANet在测试集上的mAP_S指标值相较于b_0降低了约2.7个百分点(从84.2%降至81.5%),这一现象表明即使不引入跨空间注意力机制也难以实现对目标检测任务的支撑效果。具体而言,在b_0设置下模型仅能捕捉到部分具有明显特征的目标实例而无法有效识别其余大部分目标实例这表明mAP_S这一评估指标较难准确反映模型在复杂场景下的检测性能/
从上述分析来看,
baseline的主要缺陷在于不具备识别D-视图真实匹配的能力,
尤其在遇到S-视图干扰的情况下。
VANet不仅能在
**保持其他方面良好表现的基础上,
还能进一步提高对于D-视图匹配检索的能力。
4.4 距离分布可视化
对VANet和baseline分别进行了特征空间的学习研究;随后计算了特征空间中样本之间的距离,并绘制了相应的直方图(如图1(c)和(d)所示)。观察结果显示,在baseline方法中D-view pos与S-view neg之间的距离分布高度重叠(如图1(c)),这表明该方法难以区分这两种情况;而在VANet方法中(如图1(d)),D-view pos样本的距离分布在更为狭窄的区域,并呈现出更为紧凑的分布模式与S-view neg之间显著区分开来(如图1(d))。因此可以看出该模型表现出在对抗极端视角变化方面的卓越能力
4.5 视角预测研究
视角预测器是VANet的关键组成部分,并且其预测能力对重识别性能发挥着关键作用。为了进一步验证这一点,在实验阶段我们引入了误标数据集来训练多个不同级别的视角预测器,并在测试用例中取得了令人满意的成果(如图4所示)。

研究表明, 精确训练有效的视角预测网络将提升VANet的重识别准确率。当错误样本的比例σ达到0.1时, 其重识别精度随之降低了约5.63%.由此可见, 在实际应用中精确训练有效的视角预测网络至关重要。
在我们的实现方案中,我们采用了以GoogLeNet和Xception[4]为架构设计出两种不同的视角预测器:从VehicleID数据集中抽取2000张图像时能达到99.4%的准确率,在Veri776测试集上则可获得98.9%的结果;相比之下,在参数规模仅占前者10%的情况下,Xception架构依然能提供与之接近的性能表现。从计算效率的角度来看, 我们更倾向于选择后者作为推荐方案。
4.6 视角关系的影响
在上述分析中,我们仅限于将视角关系划分为两种类型:S-view和D-view。在探究不同视角划分对其重识别精度的影响时,我们采用了更为细致的分类方法。在此基础上构建了一个三分支与四分支的网络架构:其中三分支网络通过结构设计来实现三种不同的深度度量(包括front-front、rear-rear以及front/rear);而四分支网络则通过类似的结构设计来实现四种度量(front-front、rear-rear、front-rear和rear-front)。具体数据表明表3中的结果。

可以看到,在粒度划分上采用更加细致的方式实际上会导致精度有所降低
这种现象有两个原因:
- 数据集中包含固定数量的图像样本,在实施精细粒度划分时可能会导致每个分支的数据样本数量减少,并可能加剧过拟合风险。
- 如图4所示,粗粒度视角预测器可能会影响VANet的整体性能,并且采用细粒度划分类别的视知觉预测可能出现一定比例误差,在这种情况下结果的质量可能会进一步下降。
与其他工作的比较
基于该数据集的对比实验结果可见于表4。基于OIFE [31]的方法采用了补充的数据样本,在这种情况下与其他方法相比具有显著优势;而与GSTE[1]不同的是,其他方法均采用了补充的标签信息,其中本研究采用身份标识标签(ID label)进行建模作为对照组分析.

Veri-776数据集上的比较见表5。比较的描述见原论文 -_-

计算消耗:
基于GoogLeNet架构,在此基础上增添一个分支模块会使模型参数总量增长至5.1 million(比原有增加了约87%),同时运算资源消耗提升至675 MFlops(比 baseline提升了44%)。然而,在表4和表5中对比结果显示,VANet依然保持着较高的效率水平,其参数规模略高于其他方法(约为10.9 million)。值得注意的是,GSTE [1]在参数规模上达到了最小值(大约6 million),但其性能表现稍逊于VANet,特别是在VehicleID识别任务中准确率降低了约6.06%,并在Veri-776测试集上的mAP指标也下降了约6.94%。
5.结论

可以看看这个简介。。。
