文章目录
A Dual-Path Model With Adaptive Attention For Vehicle Re-Identification
摘要
- 近几年注意力机制广泛应用在行人、车辆重识别任务中
- 很多重识别手段都考虑了关键点定位,但是每个关键点的贡献值随着他们的方位不同而不同(关键点集合内部有“贵贱”之分)
- 提出一种双路自适应的注意力模型AAVER:
全局外观path捕获车辆宏观特征
定向约束的局部外观path学习捕获局部差异化特征(把注意力集中在信息最有用的关键点上)
- 大量实验证明,AAVER能够在无约束交通场景中准确地重识别车辆,并在VeRi-776数据集上达到了目前的best。
- 同时,提出的model在车辆关键点预测上同样达到了best(7%提升)。
- github:Vehicle_Key_Point_Orientation_Estimation:
1.引言
- 车辆重识别:在检索图像库中对某个特定车辆的图像进行检索,其中图像库由摄像机在不同方位、相机、时间以及地点拍摄而来。
- 应用:城市监控、情报工作。
- 不同于车辆识别,重识别任务中不同车辆实例可能外观极度相似,同一车辆由于视角变化可能外观差异很大。
- AAVER并不需要使用时间或者定位信息(区别于其他使用时空信息的方法,比如ECCV 2016 A Deep Learning-Based Approach to Progressive Vehicle Re-identification)。
- 相似的任务:行人重识别中,旨在寻找不同相机中出现的同一个行人,基于视觉外观的模型有显著的效果。但是因为车辆实例缺少易识别的特征(比如外观几乎相同却是两个实例),相同的技术却不能用在车辆重识别上。同时,行人重识别也不需要严重依赖面部特征,因为衣物、配饰等易于区分的特征更容易学习和区分。
- 但是车辆重识别却有一系列的挑战:
(1)不同车辆可以有相同的颜色、外形
(2)而细微的差异比如轮胎纹理或者logo之类的又难以从全局特征中获取获取
所以,车辆重识别模型的识别过程中需要学会把注意力集中在那些差异化的部分(把好刚用在刀刃上)。
然而,并非所有的关键点都提供了可以区分的有用信息,他们的贡献又区别于车辆的方位。比如图1(a),所以pay attention to 所有的关键点是不合适的。那怎么处理这种错误地分配注意力的问题呢?文章的方法是基于车辆的方位,自适应地选择关键点去focus on,以此来对全局特征提供互补信息。包含cannotation、path、stream和branch(这里不知道怎么翻译)的term均被可交换地应用。
AVVER中:
- 第一个stream,一个训练来提取车辆显著外观特征地DCNN(对提取相似车辆地细微特征并不怎么work)。
- 第二个path,限定方位的关键点选择和局部特征提取模块并行,用于对来自第一条path的特征进行补充。通过使用方位作为自适应关键点选择的限制因素,模型会学习去focus on 最有用的关键点。
- 详细架构在第三部分讨论。
2.相关工作
这个建议细看,对各种数据有一定的了解。
bla bla。。。。
本方法和之前的都不同,采用方向来自适应地选取attention的区域。
3.AAVER
主要包含三个模块:
- Global Feature Extraction:提取宏观特征 f g f_g fg, f g f_g fg与局部特征提取模块提取的微观特征 f l f_l fl组合(通过自适应注意力策略:使用提供的关键点和方向估计网络(图2左下))。
- Vehicle Key-Point and Viewpoint Estimation:关键点的估计灵感来源于面部关键点检测和人体姿态估计。采用一个two-stage模型来预测车辆方向和标志(由粗略到精细渐近)。DCNN提取的粗特征图经由一个浅层网络进行refine。
- Adaptive Key-Point Selection and Feature Extraction:自适应关键点选择模块,选出最具重要信息的关键点子集,pool 来自全局特征提取模块的前面几层(见图)提取的特征(目的是提取选出来的关键点的局部特征,浅层网络包含更多的细节信息)
最后再跟一个后处理的重排序,如图2,来自两个path的特征用一个多层感知机进行融合。整个模型可以使用任何可微的损失函数端到端训练,文中使用了 L 2 L_2 L2 softmax loss。推论过程中,使用倒数第二个全连接层的输出作为给定车辆的特征表示。除此之外,还在后续处理中加了重排序。
3.1 全局特征提取
backbone:ResNet-50和ResNet-101,同时也作为baseline models,在CompCars数据集上预训练,将来自最后一个卷积层的2048维的特征向量输入到浅层的多层感知机里面。该感知机使用使用了 L 2 L_2 L2 softmax loss训练(为了约束提取的特征向量分布在一个半径为 α \alpha α的超球面上),这样可以使同一车辆的特征聚在一起,而不同车辆的特征会被隔离开,数学表达如下:
L S = − log exp ( W y T ( α x ∥ x ∥ 2 ) + b y ) ∑ j = 1 N exp ( W j T ( α x ∥ x ∥ 2 ) + b j ) (1) \mathcal{L}_{S}=-\log \frac{\exp \left(\mathbf{W}_{y}^{T}\left(\frac{\alpha \mathbf{x}}{\|\mathbf{x}\|_{2}}\right)+b_{y}\right)}{\sum_{j=1}^{N} \exp \left(\mathbf{W}_{j}^{T}\left(\frac{\alpha \mathbf{x}}{\|\mathbf{x}\|_{2}}\right)+b_{j}\right)} \tag{1} LS=−log∑j=1Nexp(WjT(∥x∥2αx)+bj<