《Going Beyond Real Data: A Robust Visual Representation for Vehicle Re-identification》
这是AI City Challenge 2020 Track2(Vehicle ReID)第一名郑哲东大佬的解决方案!!!
Zhedong Zheng,Minyue Jiang,Zhigang Wang,Jian Wang,Zechen Bai,Xuanmeng Zhang,Xin Yu,Xiao Tan,Yi Yang,Shilei Wen,Errui Ding
Baidu Inc.,University of Technology Sydney,Zhejiang University
Abstract
在这份报告中,我们介绍了百度UTS向CVPR 2020 AICity Challenge提交的方案。这是vehicle re-identification(re-id)track的成功解决方案。我们专注于为现实场景开发强大的vehicle re-id系统。特别是,我们旨在充分利用合成数据的优点,同时利用真实图像,来学习车辆在不同视角和光照条件下的鲁棒表示。通过对各种数据增强( data augmentation)方法和流行的strong baselines,的综合研究和评估,我们分析了制约vehicle re-id性能的瓶颈。基于我们的分析,我们设计了一种具有更好的数据增强、训练和后处理策略的vehicle re-id方法。我们提出的方法在41个团队中获得了第一名,在私有测试集上获得了84.13%的mAP。我们希望我们的实践能够为有效地利用合成数据和真实数据训练深层reid网络提供一些启发,并为现实世界中的vehicle re-id系统铺平道路。
1. Introduction
在人工智能技术的推动下,智能交通系统(ITS)引起了学术界和工业界越来越多的兴趣[25],并极大地提高了其在现代城市中解决实际问题的水平。例如,它通过估计交通流特性并自适应地调整交通信号灯来最大化运输能力,从而优化运输设计。此外,它还通过检测车辆和行人以及估计他们的运动来提供有关道路和周围环境的全面信息,从而为自动驾驶系统生成驾驶策略。
…
2. Related Work
3. Method
我们首先在第3.1节探讨数据生成方法,然后在第3.2节探讨表示学习(representation learning)。在推理时,我们从训练好的模型中提取视觉表示,并进行第3.3节中的后处理方法。
3.1. Synthetic Data
Style Transform.
与典型的vehicle re-id数据集不同,AICity-Flow由真实数据和合成数据组成。我们观察到,虽然合成数据中的ID来自真实世界,但合成图像与真实图像仍然存在明显的风格差异,这就是众所周知的域差距(domain gap)。为了解决这个问题,我们采用了图像迁移image translation技术。具体地说,一个类似CycleGAN的框架,即UNIT[15],使用真实数据和合成数据作为两个不同的来源进行训练。 在训练期间,要求输入图像在两个源之间进行迁移。训练完成后,对所有合成图像进行合成→真实方向的迁移,以获得更真实的样本,从而减少了分布差距。(见图1左侧)
Content Manipulation.
我们注意到,上述style transfer方法不会更改图像内容。因此,生成的数据在视觉外观方面仍然接近原始输入,这可能限制从合成数据中学习。为此,我们还尝试通过内容操作生成新数据。DGNet[39]是一个新的框架,可以生成具有不同视觉外观的样本,这对于re-id任务特别有效。它采用两个编码器,分别负责图像的外观和结构信息,而解码器则根据外观和结构信息生成图像。在我们的任务中,DG-Net是在 AICity Challenge组织者提供的vehicle re-id数据集上进行训练的。然后利用训练后的模型生成新的ID。如图1的右侧所示,给定两个不同颜色的ID的图像,DG-Net将生成具有目标外观的新图像。为了避免由相似ID引起的歧义,以及由于低分辨率图像导致的故障情况,我们将生成应用于数据集的高分辨率子集。此外,为了使生成的数据具有一致的外观,我们仅选择一个目标图像为整个源图像提供外观embedding。生成的数据仅用在微调阶段,我们将在3.2节中提供更多详细信息。
Copy & Paste.
此外,我们还探索了比较直接的方法,即复制和粘贴,以增加训练数据,让模型“看到”更多背景变量。我们通过将真实图像的前景与合成图像的背景相结合来生成新样本。特别是对于前景提取,我们通过实例分割方法,即MaskRCNN[8],从真实图像中分割出车辆。对于背景,我们应用DeepFill v2[36]在去除前景的空白区域进行图像修复。整个过程如图2所示。最后,我们应用无缝图像克隆技术对前景图像和背景图像进行融合。
3.2. Representation Learning
Network Structure.
跟随现有的re-id工作[40,37],我们将在ImageNet[2]上预训练的最新网络作为主干模块,包括ResNeXt101[32],ResNeXt101_32x8l_wsl[19]和ResNet50_IBN_a[33]。具体来说,我们按如下所示部署开源网络结构变体:
- 通常re-id baseline用一个新的分类器模块替换ImageNet的原始分类层。新的分类器模块包含一个全连接层 f c 1 \ fc1 fc1,一个batch normalization层和一个全连接层 f c 2 \ fc2 fc2。 f c 1 \ fc1 fc1将学习到的特征压缩到512维, f c 2 \ fc2 fc2作为线性分类器输出分类预测。在推理时,提取 f c 2 \ fc2 fc2层之前的512维特征作为视觉表示(visual representation)。
- …
Optimization Functions.
Negative Mining.
为了提高学习模型的可分辨性,我们采用离线负样本挖掘步骤对模型进行微调。它包括两个阶段,negative mining和 regular training。在negative mining阶段,我们从mini-batch图像中随机抽取50%的图像,然后选择最相似的negative对组成hard-negative训练三元组。因此,我们可以得到接近决策边界的具有挑战性的训练样本,以帮助模型学习。第二阶段是照常利用ranking loss来训练模型。
Auxiliary Information Learning.
我们发现,vehicle re-id模型容易被方向相似的不同样本所混淆。为了克服这个缺点,我们采用方向分类模型来预测每个车辆的方向,并在后处理阶段根据它们的方向相似性来压低一些车辆对。该网络和相应的标注扩展训练集已经在AICity Challenge 2019发布。方向分类模型简单但有效,它遵循标准分类网络体系结构。ResNet50[9]被选为主干网络,随后是全局平均池化层。采用dropout操作以避免过拟合。然后,将卷积层和 batch normalization层进行叠加以降低特征维数。最后,全连接层将特征映射到预定义方向的数字。在测试阶段,将每个图像通过方向分类模型,以获得方向概率向量。最后,使用两个方向概率向量的点积来表示一对图像的方向相似度。此外,我们还训练了一个相机识别模型。相机感知模型与方向感知模型相结合,实现了后处理中的相机相机验证。详见3.3节。
Implementation Details.
Fine-tuning Model.
3.3. Post-Processing
此外,我们还部署了一些后处理技术来提升最终的检索结果(见图4)。具体来说,这些方法包括 image alignment,model ensemble,query expansion,re-ranking,camera verification和group distance。
Image Alignment.
我们注意到,比赛数据集提供了一个相对宽松的边界框,这可能会引入额外的背景[41]。因此,我们使用MaskRCNN[8]重新检测车辆。为了得到最终结果,在原始图像和裁剪图像之间对车辆表示进行平均,以获得更鲁棒的车辆表示。
Model Ensemble.
我们采用[38]中的类似策略进行特征级ensemble。将来自12个不同模型的归一化特征concatenate起来作为最终的视觉表示。
Query Expansion & Re-ranking.
我们采用无监督聚类方法,即DBSCAN[5]来寻找最相似的样本。query特征更新为同一cluter中其它query的平均特征。我们注意到,低分辨率图像可能会损害特征的可分辨性。因此,我们不会将低分辨率图像的特征纳入平均特征的计算中。
此外,我们采用 re-ranking方法[42]来优化最终结果,其中考虑了高置信度的候选图像。在这项工作中,我们的方法不修改重新排序过程。取而代之的是,该方法从“看到”各种各样的汽车中提取出有区别的汽车特征。有了更好的特性, re-ranking更有效。
Camera Verification.
我们利用相机验证进一步去除一些hard-negative样本。我们训练了几个识别相机的CNN模型。在测试时,使用模型提取相机预测和相机感知特征,然后对这些特征进行聚类。基于query和目标图像来自不同相机的假设。给定一个query,从候选图像(gallery)中减少相同相机预测或相同相机聚类中心的图像的相似度。此外,如[25]所示,我们观察到摄像头#6,#7,#8,#9位于十字路口,车辆的方向大多不同。我们注意到,训练数据只包含场景1、3和4中的真实图像,没有摄像头#6,#7,#8和#9。因此,在推理时,我们假设相机预测置信度低的图像来自#6、#7、#8、#9。我们不对测试数据使用任何额外的相机标注。我们进一步添加了一个方向约束,即query图像和目标图像也应具有不同的方向预测。
Group Distance.
比赛提供了车辆的tracklet跟踪信息,这与实际情况很接近。在实际应用中,在同一摄像头下,可以通过车辆检测和跟踪算法来获得tracklet。为了充分利用这些信息,我们引入两个假设:
- 1)来自同一tracklet的图像属于同一车辆,并且可以共享视觉表示,以增强单个图像的表示可伸缩性;
- 2)同一相机下的不同tracklet是不同的车辆。
基于第一个假设,我们采用gallery expansion,它将gallery特征更新为同一tracklet中其他图像的均值特征。相反,基于第二个假设,我们引入了一种积极的策略来减少hard negative样本的相似性。给定从摄像机C检索到的高置信度图像,我们降低了来自同一摄像机C的不同tracklet的相似性得分。
4. Experiment
4.1. Dataset Analysis
比赛基于CityFlow数据集[25],该数据集包含333辆车的36935训练图像。 专用测试集包含1052个query图像和18290个gallery图像。今年,组织者还提供了[35]的合成数据,包括136150辆车的192150张图像。未提供验证集,因此我们从训练集中拆分了一个验证集。我们遵循[38]中的拆分,该拆分将最后的78个车辆ID保留为验证集。
4.2. Quantitative Results
Comparison with Other Teams.
如表1所示,所提出的方法的mAP达到了state-of-the-art,即84.13%,远远优于第二名团队,并验证了所提出的re-id方法的有效性。
Effect of the Synthetic Data.
首先,我们在验证集上评估合成数据的有效性。我们分别在有和没有合成数据的情况下对模型进行了训练和评估。如表2所示,用合成数据训练的模型达到80.86%的Rank-1和46.90%的mAP,优于无合成数据训练的模型。
Effect of the Post-processing.
此外,我们在验证集上评估了提出的后处理方法。我们逐渐添加了后处理技术(见表3),获得了优异的性能。在验证集上,使用 re-ranking之后,vanilla baseline的mAP从46.90%提高到了61.26%。
4.3. Qualitative Results
Visualization of Retrieval Results.
我们分别展示了使用和不使用后处理的排名列表(见图5和图6)。我们在测试集中选择一些hard-negative样本。从排名列表的变化中,我们观察到尽管模型已经非常强大,但是仍然存在很多query,由于具有相似姿态的hard-negatives,无法找到正确的匹配项。借助后处理,可以纠正许多这样的情况。
Visualization of Feature Maps.
我们进一步可视化学习模型的热图(见图7)。给定输入图像,我们按照[40]中的可视化方法计算最终池层之前激活的总和。我们观察到,学习到的模型将注意力更多地集中在判别性区域,如车灯,这与人类的经验是一致的。因此,车辆表示对由于视点变化较大而引起的视觉外观变化具有鲁棒性。
5. Conclusion
在本文中,我们开发了一个鲁棒的vehicle re-id系统,在AICity Challenge 2020的re-id track获得了第一名。我们验证了合成数据在学习鲁棒视觉表示中的有效性,并在车辆表示学习的背景下探索了不同的流行baselines和生成模型。在未来,我们将继续研究3D vehicle模型和其他相关技术,以促进vehicle re-id在现实世界中的应用。