面向复杂场景的精准高效车辆重识别算法研究
2021-04-05金晓峰黄彦杰徐天适黄宇恒黄跃珍
金晓峰 黄彦杰 徐天适 黄宇恒 黄跃珍
摘 要:在视频监控场景中,由于车辆外观的多样性、车辆间的相似性以及应用场景的复杂性,导致算法难以区分不同的车辆目标;同时,实际应用对车辆重识别算法的实时性也提出了要求。为兼顾精度和速度,进行了以下工作:首先,构建了一个场景复杂、含有近百万张车辆图片的数据集;其次,对车辆重识别算法的数据预处理、网络结构、后处理三个方面进行详细实验;最后,对模型进行蒸馏与量化,在保证模型精度的情况下提高模型速度。最终在自研测试集上的重识别精度达到了93.35% Rank1和76.30% mAP,推理速度达到了400.6 FPS,满足了实际应用需求。
关键词:视频监控;车辆重识别;模型设计
中图分类号:TP391.4 文献标识码:A 文章编号:2096-4706(2021)17-0095-05
Abstract: In the video surveillance scene, due to the diversity of vehicle appearance, the similarity between vehicles and the complexity of application scene, it is difficult for the algorithm to distinguish different vehicle targets; at the same time, the real-time performance of vehicle re-recognition algorithm is also required in practical application. In order to give consideration to accuracy and speed, the following work is carried out: firstly, a data set with complex scenes and nearly one million vehicle images is constructed; secondly, detailed experiments on data preprocessing, network structure and post-processing of vehicle re-recognition algorithm are carried out; finally, the model is distilled and quantified to improve the model speed while ensuring the accuracy of the model. Eventually, the re-recognition accuracy on the self-developed test set reaches 93.35% Rank1 and 76.30% mAP, and the reasoning speed reaches 400.6 FPS, which meets the needs of practical application.
Keywords: video surveillance; vehicle re-recognition; model design
0 引 言
车辆重识别技术是一种基于图像的车辆检索技术,其旨在搜索到不同视频监控场景下的相同车辆。在交通监管、刑侦追查等场景下,由于违法人员对车辆进行篡改和遮挡,从而导致基于车牌信息的车辆识别方式失效;而基于车辆特征的车辆重识别技术能通过目标车辆的整体和局部特征信息,有效地识别、检索和追踪目标车辆。
传统的车辆重识别方法基于手工构建的特征,利用特征算子提取车辆外观特征,而后进行编码来获取用于描述该车辆的特征向量,如Liu等人[1]采用的SIFT-BOW法,在提取了车辆外观的SIFT特征后,采用词袋法(Bag of Words,BoW)[2]对SIFT[3]特征进行编码。此类方法的性能依赖于手工设计特征的可靠性及参数选择的合理性,泛化能力差。
目前普遍采用深度卷积神经网络(Convolutional Neural Network, CNN)[4,5]提取车辆特征用于车辆重识别[6]。Liu等人[1]将CNN提取的特征与传统描述子的特征相融合;He等人[7]通過提取车辆局部特征,如车窗、车灯、年检标等,作为辅助判断,获取较基于全局特征方法更高的精度。但是,车辆局部区域特征的获取一方面需要对数据集进行额外标注,增加训练成本;另一方面网络需要包含检测部件,导致推理时间变长、算法的实时性能降低,无法满足实际应用需求。
为有效地训练和评估车辆重识别算法的性能,研究人员构建了多个包含大量车辆图像、身份及摄像头信息的公开数据集,如VeRi[1,8]、VehicleID[9]、Veri-Wild[10]等;但由于采集地点、视频录制时长等限制导致数据集欠缺丰富性,对现实场景拟合不佳。
后处理方法作为车辆重识别任务中重要的一环,研究人员也进行了大量的研究。如Zhong等[11]提出的K倒序重排方法被广泛运用,但其计算量较大。部分工作[12,13]使用车辆轨迹、车牌信息、摄像头位置等信息进行后处理,但是这类方法的局限性在于需要额外的辅助信息。平均查询扩展(Average Query Expansion, AQE)[14,15]也是图像检索领域常用的后处理手段之一。
针对上述问题,本文分别从车辆重识别的数据集构建及处理、网络结构的构建、网络加速方法及后处理方法进行了探索和改进:
数据集:对公开数据集和私有数据集进行整合处理,构建一个包含多种复杂场景,具有近百万数据的大型数据集;
网络结构:对多个主干网络以及组件进行对比实验,最终采用ResNet-101-IBN-NL作为网络结构;
加速方法:对模型蒸馏和模型量化方案进行实验,最终采用蒸馏后的ResNet 34-IBN作为网络结构,并对其进行FP16量化;
后处理方法:对多种后处理方案进行对比实验,最终采用AQE作为后处理方法。
实验结果表明,该车辆重识别方案在自研测试集上Rank1达到93.35%,mAP达到76.30%,推理速度达到400.6 FPS,满足了实际应用需求。
1 算法流程
整体算法流程如图1所示,包括五个模块:数据集构建、图像预处理、网络结构、模型加速和后处理。
1.1 数据集构建
目前,车辆重识别领域的公开数据集[1,8-10]有的具有上万ID、几十万的数据量,但由于采集环境通常是某一城市的固定区域,且时间跨度有限,导致天气、光照、车型等方面的数据多样性受到了限制。此外,在单一数据集上进行训练易使网络过拟合,在面对复杂的现实场景时表现不佳。
因此,为保证车辆重识别模型对现实场景的鲁棒性,本文将部分车辆重识别数据集进行抽取组合,并加入部分私有数据形成新数据集;为减轻长尾效应对网络造成的影响,新数据集中剔除了含5张以下样本的类别,对含100张样本以上的头部类别进行随机抽取,使得这些类别最终样本数在50到100之间,最终的数据集包含44 390个类别,994 463张样本。
1.2 网络结构
1.2.1 ResNet网络
ResNet网络是一种由He等人[16]提出的网络结构,其创新性地提出残差连接结构(如图2所示),使网络浅层的信息得以更完整地传送到深层,从而解决了先前的网络结构在深层时易发生梯度消失或梯度爆炸的缺陷。通过残差连接结构,网络可以达到较大的规模,从而能更好地拟合复杂的现实场景。
1.2.2 组件
IBN组件[17]在网络中将实例归一化(Instance Normalization, IN)和批归一化(Batch Normalization, BN)结合,以提升网络的跨域性能,降低识别的错误率;SE(Squeeze Excitation)[18]组件采用可训练的权重系数以学习不同特征通道相对于任务的重要程度,增强有用特征并削弱对当前任务用处不大的特征;Non-local[19]组件通过建立卷积核与图像其他位置的关联信息,从而达到扩大卷积核感受野的效果。
本文采用ResNet网络作为主干网络,并将其原有的BN层替换为IBN组件,同时加入注意力机制组件以提升网络的识别性能。
1.3 模型加速
在实际的应用场景中,速度是一项重要的指标。大模型的精度较小模型高,但是小模型在速度上更有优势;知识蒸馏是一种让小模型获得接近大模型精度效果,同时保持其本身推理速度优势的方法。本文采用Hinton等[20]提出的方法,用大模型指导小模型,从而使小模型的预测方式向大模型靠拢。
模型的参数量化[21]是加速的另一种途径。为了保证模型精度,训练通常采用32位浮点数(FP32)存储模型参数;在推理时,为兼顾精度与速度,采用16位浮点数(FP16)或8位整型(INT8)存储模型参数,以求尽可能保留FP32的推理精度的同时,达到减少计算量、提高运算速度、节约运算数据存储空间的效果。
1.4 后处理
在检索阶段,提取待查询图像目标(query)和数据库图像(gallery)特征,将待查询图像目标特征与所有数据库图像特征进行比对,确定查询样本的检索结果,但此时并不是最优排序,可通过后处理进一步优化特征检索结果,目前常用的后处理方法有翻转、K倒序重排[10]、平均查询扩展(Average Query Expansion, AQE)[16,17]等。翻转指的是将原始query图像特征及其翻转图像特征进行加权作为最终的查询特征进行检索;K倒序重排的方法通过求取query与其对应的检索结果的近邻关系以优化排序结果;AQE是一种在初次检索排序后,取前K个检索结果的特征与query特征进行融合、再作检索的方法。
2 实验
实验采用上文中提到的自建数据集进行训练和测试,抽取该数据集其中70%作为训练集,30%作为测试集,以探索该网络对多域车辆图像的重识别能力。
2.1 配置说明
数据方面:图片的尺寸被统一为256×256;数据增广方面,Baseline默认开启随机水平翻转、随机擦除[22]。圖像将采用ImageNet数据集[23]的均值和标准差进行归一化。
训练策略:采用4张V100-16 GB显卡进行训练,图像大小为256×256,batch size设置为512。数据载入时用PK采样器,设定每个ID抽取4张图片。为加快模型收敛速度,优化器选择带预热的ADAM优化器,初始学习率为2.5e-5,经过5 000次迭代后达到基础学习率2.5e-4;采用阶梯下降的策略在第30、70、90个epoch将学习率衰减至前一个epoch的1/10,整个训练过程为120个epoch。损失函数选择交叉熵和三元组损失。此外,所有的模型均采用ImageNet预训练权值。
测试环境:1×V100-16 GB显卡,160 GB RAM。图像大小为256×256,batch size为128。
2.2 数据增广实验
在机器学习领域,有效的数据增广可以提高模型对新数据的判别能力;而过度的数据增广则可能使模型关注错误的特征,损害模型的鲁棒性,使输出结果不可靠。为了加快实验速度,我们采用ResNet 34-IBN作为该实验的骨干网络。在Baseline的基础上,测试了随机颜色抖动、随机仿射变换、自动增强[24]、混合增强(Augmix)[25]四种增广手段,实验结果如表1所示。实验表明,这四种方法均可提高模型在测试集上的准确率。当它们全部被使用时,Rank1提升了4.7%,mAP提升了9.76%。
2.3 網络结构实验
本文对主干网络及增强组件的选取进行实验。在主干网络方面,采用ResNet 34-IBN、ResNet 50-IBN及ResNet 101-IBN进行对比实验,实验结果如表2,ResNet101-IBN在两项精度指标上均优于其他两种网络。在组件方面,对注意力组件SE[18]和Non-local(NL)[19]进行实验,实验结果如表3所示,Non-local组件在精度与速度两项指标上的综合效果最优。因此,本文采用ResNet101-IBN作为主干网络,并加入Non-local组件。
2.4 后处理方法实验
本文对重排序(Rerank)[10]、翻转(Flip)及平均查询扩展(Average Query Expansion, AQE)[16,17]三种方法进行实验,实验结果如表4所示。单独使用重排序使Rank1下降1.55%,mAP提升5.04%;单独使用AQE的Rank1提升0.42%,mAP提升5.69%;单独使用翻转的Rank1与mAP均有明显下降;此外,实际应用中,还需考虑后处理所需的时间。从表4也可看出,AQE所需时间远远低于重排序所用时间。因此,综合考虑精度与速度,本文采用AQE作为后处理方法。
2.5 模型加速
本文采用模型蒸馏与量化进行模型加速。模型蒸馏方面,采用3.3小节的ResNet 101-IBN-NL作为教师网络,并选取ResNet 34-IBN作为学生网络,实验结果如表5所示。相较于直接训练的ResNet34-IBN模型,蒸馏后的学生网络保持推理速度的同时,Rank1与mAP分别提高3.54%与2.43%。量化方面,采用3.2小节中的ResNet 34-IBN进行实验,实验结果见表6。相较于FP32精度方案,FP16精度模型大小减少67%,显存占用减少20%,推理速度提高1.49倍,且精度相当。而INT8模型虽然在模型大小、显存占用及推理速度上领先,但精度损失较多。因此,本文采用FP16量化方案。
2.6 实验总结
综上所述,本文采取的车辆重识别方案为:(1)数据预处理采用随机翻转、随机擦除、随机颜色抖动、随机仿射变换、自动增强、混合增强的增广组合;(2)模型采用经ResNet 101-IBN-NL蒸馏后的ResNet 34-IBN网络,并对网络进行FP16模型量化;(3)后处理阶段采用AQE方法进一步改善排序结果。最终,该方案在自研测试集上的Rank1和mAP分别为93.35%和76.30%,推理速度为400.6 FPS。
3 结 论
针对车辆重识别算法在复杂现实场景中的精度与速度需求,本文首先通过构建丰富的多域数据集,以尽可能涵盖现实场景的情况;其次,本文通过详尽的实验对数据的增广方式、网络结构与组件、训练策略、后处理方法进行了优化选择,提高模型在复杂数据上的表现;最后,采用模型蒸馏和模型量化,使模型的速度得到了很大的提升,从而满足了现实应用的要求。在未来的研究中,我们会对数据集和模型结构等方面进行进一步的探索,以期达到更好的效果。
参考文献:
[1] LIU X C,LIU W,MA H D,et al. Large-scale vehicle re-identification in urban surveillance videos [C]//2016 IEEE International Conference on Multimedia and Expo (ICME).Seattle:IEEE,2016:1-6.
[2] CSURKA G,DANCE C,FAN L,et al. Visual Categorization with Bags of Keypoints [C]//Workshop on statistical learning in computer vision,ECCV.2004:1-2.
[3] LOWE D G. Distinctive Image Features from Scale-Invariant Keypoints [J].International journal of computer vision,2004,60(2):91-110.
[4] LECUN Y,BOTTOU L,BENGIO Y,et al. Gradient-based learning applied to document recognition [J].Proceedings of the IEEE,1998,86(11):2278-2324.
[5] KRIZHEVSKY A,SUTSKEVER I,HINTON G E. Imagenet Classification with Deep Convolutional Neural Networks [J].Communications of the ACM,2017,60(6):84-90.
[6] ZHENG Z D,RUAN T,WEI Y C,et al. VehicleNet:Learning Robust Visual Representation for Vehicle Re-Identification [J].IEEE Transactions on Multimedia,2020,23:2683-2693.
[7] HE B,LI J,ZHAO Y,et al. Part-Regularized Near-Duplicate Vehicle Re-Identification [C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition.Long Beach:IEEE,2019:3997-4005.
[8] LIU X,LIU W,MEI T,et al. Provid:Progressive and Multimodal Vehicle Reidentification for Large-scale Urban Surveillance [J].IEEE Transactions on Multimedia,2017,20(3):645-658.
[9] LIU H,TIAN Y,YANG Y,et al. Deep Relative Distance Learning:Tell the Difference Between Similar Vehicles [C]//Proceedings of the IEEE conference on computer vision and pattern recognition.Las Vegas:IEEE,2016:2167-2175.
[10] LOU Y,BAI Y,LIU J,et al. Veri-wild:A Large Dataset and a New Method for Vehicle Re-Identification in the Wild [C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition.Long Beach:IEEE,2019:3235-3243.
[11] ZHONG Z,ZHENG L,CAO D,et al. Re-Ranking Person Re-Identification With K-Reciprocal Encoding [C]//Proceedings of the IEEE conference on computer vision and pattern recognition.Honolulu:IEEE,2017:1318-1327.
[12] LUO H,CHEN W,XU X,et al. An Empirical Study of Vehicle Re-Identification on the AI City Challenge [C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition.Nashville:IEEE,2021:4095-4102.
[13] ZHENG Z,JIANG M,WANG Z,et al. Going Beyond Real Data:A Robust Visual Representation for Vehicle Re-Identification [C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops.Seattle:IEEE,2020:598-599.
[14] BABENKO A,LEMPITSKY V. Aggregating Local Deep Features for Image Retrieval [C]//Proceedings of the IEEE international conference on computer vision. Santiago:IEEE,2015:1269-1277.
[15] KALANTIDIS Y,MELLINA C,OSINDERO S. Cross-Dimensional Weighting for Aggregated Deep Convolutional Features [C]//European conference on computer vision. Cham:Springer,2016:685-701.
[16] HE K,ZHANG X,REN S,et al. Deep Residual Learning for Image Recognition [C]//Proceedings of the IEEE conference on computer vision and pattern recognition.Las Vegas:IEEE,2016:770-778.
[17] PAN X,LUO P,SHI J,et al. Two at once:Enhancing Learning and Generalization Capacities via IBN-Net [C]//Proceedings of the European Conference on Computer Vision (ECCV).2018:464-479.
[18] HU J,SHEN L,SUN G. Squeeze-and-Excitation Networks [C]//Proceedings of the IEEE conference on computer vision and pattern recognition.Salt Lake City:IEEE,2018:7132-7141.
[19] WANG X,GIRSHICK R,GUPTA A,et al. Non-Local Neural Networks [C]//Proceedings of the IEEE conference on computer vision and pattern recognition. Salt Lake City,IEEE:2018:7794-7803.
[20] HINTON G,VINYALS O,DEAN J. Distilling the Knowledge in a Neural Network [J/OL].arXiv:1503.02531 [stat.ML].(2015-05-09).https://arxiv.org/abs/1503.02531.
[21] NVIDIA. NVIDIA TensorRT [EB/OL].[2021-07-25].https://developer.nvidia.com/zh-cn/tensorrt.
[22] ZHONG Z,ZHENG L,KANG G,et al. Random Erasing Data Augmentation [J/OL].arXiv:1708.04896 [cs.CV].(2017-08-16).https://arxiv.org/abs/1708.04896v2.
[23] DENG J,DONG W,SOCHER R,et al. Imagenet:A Large-Scale Hierarchical Image Database [C]//2009 IEEE Conference on Computer Vision and Pattern Recognition.Miami:IEEE,2009:248-255.
[24] CUBUK E D,ZOPH B,MANE D,et al. Autoaugment:Learning Augmentation Strategies from Data [C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition.Long Beach:IEEE,2019:113-123.
[25] HENDRYCKS D,MU N,CUBUK E D,et al. Augmix:A Simple Data Processing Method to Improve Robustness and Uncertainty [J].arXiv:1912.02781 [stat.ML].(2019-12-05).https://arxiv.org/abs/1912.02781.
作者簡介:金晓峰(1985—),男,汉族,山东潍坊人,广电运通智能安全研究院副院长,高级工程师,博士研究生,研究方向:计算机视觉、视频大数据。