行人重识别算法优化技巧:Bags of Tricks and A Strong Baseline

2019 年 3 月 26 日 极市平台

极市计划做CVPR2019的专题直播分享会邀请CVPR2019的论文作者进行线上直播,分享优秀的科研工作和技术干货,也欢迎各位小伙伴自荐或推荐优秀的CVPR论文作者到极市进行技术分享~

本周四(3月28日)晚,澳大利亚阿德莱德大学博士生王鑫龙,将为我们分享联合点云分割中的实例和语义(CVPR2019),公众号回复“39”即可获取直播详情。

作者简介

TeddyZhang:上海大学研究生在读,研究方向是图像分类、目标检测以及人脸检测与识别


本文主要收集并介绍行人重识别(PersonReID)算法中的一些训练技巧,随着深度卷积神经网络的不断改进,行人重识别领域也有了很大的进步,但大多数的SOTA的算法都是设计了很复杂的网络结构和融合了多支路的特征。作者首先设计了一个强力的baseline, 然后尝试使用一个简单的全局特征,并融合了很多有效的训练技巧,使得模型在Market1501数据集上达到了94.5%rank-1以及85.9% mAP。


论文:Bags of Tricks and A Strong Baseline for Deep Person Re-identification

论文链接:https://arxiv.org/abs/1903.07071

开源代码:

https://github.com/michuanhaohao/reid-strong-baseline


首先作者在Maket1501数据集上对比了ECCV2018和CVPR2018的一些baseline的性能,并与自己提出的baseline作对比,这些baseline大部分都是通过一些训练技巧来提升的,由于在论文中轻描淡写易被忽视,因此作者也建议评价一篇学术论文一定要把训练技巧考虑在内,这样才会更加客观。



StandardBaseline



上图为作者所提出的StandardBaseline,其大致流程如下:

  1. 使用一个带有ImageNet预训练参数的ResNet50,并改变FC的输出为N,也就是训练集中行人的ID。

  2. 随机采样P个身份以及每个人的K幅图片,构成一个batch,并设置P=16, K=4,接着将其resize到256x128,并进行10个像素的zero-padding,接着进行random crop(数据增强)

  3. 进行概率0.5的随机翻转,并进行归一化处理(Normalize)

  4. 模型输出ReID特征 f 用于计算triplet loss,预测的ID分类p用于计算交叉熵损失,其中triplet loss的margin设置为0.3

  5. 使用Adam方法进行优化,一开始学习率为3.5e-4,在40和70个epoch分别降低为原来的10%,共训练120个epoch


TrainingTricks

接下来我们要介绍一些在ReID中十分有效的训练策略,用于提升我们的baseline的精度,让我们一起来看看作者都使用了哪些Trick。



学习率变化策略(Warm up)

参考论文:https://arxiv.org/abs/1608.03983


学习率对ReID的模型有非常大得影响,对于baseline的学习率一开始是一个很大的常量,而经过其他论文提出,Warmup的策略对于行人重识别的模型更加有效,具体是一开始从一个小的学习率经过几个epoch后慢慢上升,如下图红色曲线部分:



具体公式为:


数据增强 Random Erasing

参考论文:https://arxiv.org/abs/1708.04896


这是进行分类问题常见的数据增强方式,对行人检测十分有效!在行人重识别中特别是现实生活中,大部分人体会存在遮挡的情况,为了使模型更具有鲁棒性,我们对每个mini-batch使用REA(RandomErasing Augmentation),REA随机选择一个大小为)的正方形区域,然后对这个区域的像素用一些随机值代替。其中擦除区域面积占比,擦除区域长宽比,,随机概率为0.5,具体算法如下:




Label Smoothing

 

这也是从分类问题借鉴的一种trick,假设我们网络最后的分类为N,也就是ID的数量。且y为真实的ID标签,而pi为预测的ID分类。则其交叉熵损失为:

我们在这篇文章中把最后的分类loss叫做ID loss,上面为最常用的Softmaxloss,但是由于标签的形式为One-hot编码的形式,也就是qi只有0和1两个取值,当我们使用Softmax loss进行优化时,模型会不断的优化使得pi为1,但却非常容易造成过拟合。因此label smoothing的思想是对真实标签进行改造,使其不再是One-hot编码。

假设N=5,=0.1,假设原来的label为[1, 0,0, 0, 0],经过平滑后变成了[0.92,0.02, 0.02, 0.02, 0.02],这样进行优化时始终与真实标签存在损失,不会使得pi非常接近1,从而降低了过拟合的风险。这么做的原因主要是ReID的测试集的ID并没有在训练集中出现,因此我们需要提高模型的泛化性能,而LabelSmoothing就是一个十分有效的手段。


Last Stride


相关的论文发现在backbone中移除最后一个将采样的操作可以丰富特征的细粒度,作者为了简单方便,直接把ResNet-50的最后一个卷积层的Stride由2变成了1,当输入图片为256x128时,最后一层输出的feature map的尺寸为16x8,而不是原来的8x4。


BNNeck


在行人重识别模型中,有很多工作都是融合了ID loss和Triplet loss来进行训练的,但是这种loss函数的目标并不协调,对于ID loss,特别在行人重检测,consine距离比欧氏距离更加适合作为优化标准,而Triplet loss更加注重在欧式空间提高类内紧凑性和类间可分性。因此两者关注的度量空间不一致,这就会导致一个可能现象就是当一个loss减小时另外一个在震荡或增大。因此作者设计了BNNeck用于解决这个问题,如下图:



通过神经网络提取特征ft用于Triplet loss,然后通过一个BN层变成了fi,在训练时,分别使用ft和fi来优化这个网络,由于BN层的加入,ID loss就更容易收敛,另外,BNNeck也减少了ID loss对于ft优化的限制,从而使得Triplet loss也变得容易收敛了。因为超球体几乎是对称的坐标轴的原点,BNNECK的另一个技巧是去除分类器fc层的偏差,这个偏差会限制分类的超球面。在测试时,使用fi作为ReID的特征提取结果,这是由于Cosine距离相比欧氏距离更加有效的原因。


Center loss

为了使类内更加的紧凑,作者又加入了人脸识别中提出的CenterLoss, 它在学习到一个类中心的同时会惩罚深度特征和其类中心的距离,这样就弥补了TripletLoss的缺点,我们可以从下图看出,其类间更加紧凑了!



其公式为:


然后我们把三种loss函数进行相加,一起去优化整个网络!


对比试验

作者首先在同一个数据域下进行试验,分别在Markert1501和DukeMTMC这两个数据集进行训练与测试,结果为


为了展示其鲁棒性,作者又在不同的数据域上进行测试,即使用Market1501训练好的模型在DukeMTMC数据集上验证,得到了如下结果:

 

最后与其他模型进行对比:






*延伸阅读




点击左下角阅读原文”,即可申请加入极市目标跟踪、目标检测、工业检测、人脸方向、视觉竞赛等技术交流群,更有每月大咖直播分享、真实项目需求对接、干货资讯汇总,行业技术交流,一起来让思想之光照的更远吧~



觉得有用麻烦给个好看啦~  

登录查看更多
4

相关内容

行人重识别(Person re-identification)也称行人再识别,是利用计算机视觉技术判断图像或者视频序列中是否存在特定行人的技术。广泛被认为是一个图像检索的子问题。给定一个监控行人图像,检索跨设备下的该行人图像。旨在弥补目前固定的摄像头的视觉局限,并可与行人检测/行人跟踪技术相结合,可广泛应用于智能视频监控、智能安保等领域。 由于不同摄像设备之间的差异,同时行人兼具刚性和柔性的特性 ,外观易受穿着、尺

知识荟萃

精品入门和进阶教程、论文和代码整理等

更多

查看相关VIP内容、论文、资讯等
【UAI 2019 Tutorials】深度学习数学(Mathematics of Deep Learning)
小目标检测相关技巧总结
极市平台
28+阅读 · 2019年8月15日
视频目标检测:Flow-based
极市平台
22+阅读 · 2019年5月27日
神经网络训练tricks
极市平台
6+阅读 · 2019年4月15日
图像分类算法优化技巧:Bag of Tricks for Image Classification
人工智能前沿讲习班
8+阅读 · 2019年1月2日
基于深度学习的目标检测算法剖析与实现【附PPT与视频资料】
人工智能前沿讲习班
12+阅读 · 2018年12月25日
CosFace: Large Margin Cosine Loss for Deep Face Recognition论文笔记
统计学习与视觉计算组
44+阅读 · 2018年4月25日
Focal Loss for Dense Object Detection
统计学习与视觉计算组
11+阅读 · 2018年3月15日
Arxiv
24+阅读 · 2020年3月11日
Arxiv
7+阅读 · 2020年3月1日
VIP会员
相关资讯
小目标检测相关技巧总结
极市平台
28+阅读 · 2019年8月15日
视频目标检测:Flow-based
极市平台
22+阅读 · 2019年5月27日
神经网络训练tricks
极市平台
6+阅读 · 2019年4月15日
图像分类算法优化技巧:Bag of Tricks for Image Classification
人工智能前沿讲习班
8+阅读 · 2019年1月2日
基于深度学习的目标检测算法剖析与实现【附PPT与视频资料】
人工智能前沿讲习班
12+阅读 · 2018年12月25日
CosFace: Large Margin Cosine Loss for Deep Face Recognition论文笔记
统计学习与视觉计算组
44+阅读 · 2018年4月25日
Focal Loss for Dense Object Detection
统计学习与视觉计算组
11+阅读 · 2018年3月15日
Top
微信扫码咨询专知VIP会员