【ReID】Bag of Tricks and A Strong Baseline for Deep Person Re-identification

2019 CVPR,Bag of Tricks and A Strong Baseline for Deep Person Re-identification[1]。文章通过集合所有过往文献中使用过的行之有效的技巧(tricks),来使得基础backbone的ResNet50来达到新的SOTA,本身也是一个strong baseline。

论文一览:

在这里插入图片描述

痛点

文章解决的痛点有:

1)很多的文献提出的SOTA设计的网络结构太复杂,或者concatenate了太多分支,虽然有提高,但代价也比较大。

2)很多文献提出的模型中使用了一些tricks,但描述时弱化了这些tricks带来的提升,可能会诱导读者将这些提升归因于模型本身(但实际上是tricks的功劳),从而带来与baseline之间不公平的对比。

3)一些tricks其实能够在训练时非常有效的提高模型表现,而且几乎没有副作用(不会引入更多参数等等)。

4)很多模型都是在一些较差的baseline中进行,随着ReID的发展,学界需要有一个strong baseline来提高整体的研究基准。

5)产业界需要的是简单高效的方法,而不是复杂的低效的方法——堆叠一堆local features啊,引入语义分割(重新训练语义分割的网络)啊,引入姿态估计(重新训练姿态估计网路)啊等等.

他们反过来也是文章的亮点,by the way,这bag of tricks以轻巧的配置达到了global feature当时的新SOTA,这本身就非常棒(๑•̀ㅂ•́)و✧

模型

1)预热(warmup)学习率

一般baseline是直接以比较大的常数学习率训练,即没有预热学习率。预热学习率与不预热学习率区别如下图:

其中实线(蓝色)是平常的学习率策略,虚线(红色)是预热了的学习率,可以看到所谓的预热其实是在前10个epoch将learning rate线性地从0.000035(3.5e-5)随时间上调到0.00035(3.5e-4)。

2)随机擦除图像增强(Random Erasing Augmentation)

随机擦除最初由[2]提出,用于解决ReID存在的带遮挡问题。如下图:

随机擦除在图像上随机选一个起始点,在这个起始点(一定范围内)随机取要擦除的方形区域的长和宽,这个长和宽如果不超过图像边界,则将这个长和宽的方形区域擦除。否则继续随机取。

3)标签平滑(Label Smoothing)

我们知道算ID loss时求交叉熵有:

为了防止过拟合,有标签平滑:

N为id数量,ε为常数,一般为0.1,来鼓励模型不要太依赖training set。

4)最后的步长

ResNet50的最后一个spatial downsample操作的步长设置为2,trick就是将其改为1。最后model输出的feature size会从(8,4)变为(16,8)。这个调整带来的提高是显著的。

5)BNNeck

很多模型会同时算ID loss和Triplet loss,一般这两个loss用的是同一个feature f,如下图:

作者指出,这两个loss的目标在特征空间中并不一致,如下图:

ID loss是构建很多个超平面在特征空间中,不同的类被分在了不同的子空间中。此时cosine其实要比欧氏距离更合适。而三元组损失增强了欧几里得空间内的类内紧实度和类间可分离性。此时两种loss优化的距离不同,而使用这两个损失来同时优化特征向量,则它们的目标可能不一致。具体表现在一个loss
在下降的时候,另一个loss可能会震荡或者甚至上升。

文章提出的BNNeck就为了解决这个问题,如下图所示:

即在FC层之前加入BN层,在训练的时候,未经过BN层的feature用于triplet loss训练。而经过BN层和FC层的feature用于ID loss。BN归一化平衡了ID feaeture的每个维度,这些特征在超球面附近呈高斯分布。使得ID loss更容易收敛,也减少了triplet feature收到ID loss的约束。另外BNNeck还要去掉FC的bias。限制超平面使之穿过坐标系的原点。在test阶段,使用BN之后的feature来测试。

Center loss

Triplet Loss如下:

Triplet Loss只考虑正样本和负样本之间的相对差距,设dp(anchor到正样本距离)=0.3,dn(anchor到负样本距离)=0.5,设margin为0.3,则Triplet Loss为0.1。那如果dp=1.3,dn=1.5,triplet Loss还是0.1。这说明Triplet Loss只是才抽样的Batch中做正负样本分离,没法保证整个数据集内正负样本的聚类。引入center loss就显得很必要。

center loss同时学习了每个类别的深层特征的中心,并惩罚了深层特征与其对应的类中心之间的距离,弥补了三重态损失的缺点。如下:

yj是batch中第j个类,cyj是feature的yj类的中心,B是batch size。最小化center loss提高了类内的聚拢。

总的loss如下式:

β是center loss的比重,取0.0005。

实验

文章实验在Market1501和DukeMTMC-reID进行。

每一个trick的分离试验如下:

可以看到随机擦除(REA)和BNNeck提升非常大。center loss也有提升但提升比较小。

对BNNeck的分离试验如下:

可以看到inference阶段,使用经过BNNeck的fi,使用余弦距离度量表现最好。

每一个trcick的跨域分离试验如下:

注意最后去掉了REA才得到了最高的表现。可见REA不太适合跨域的场景。

单域SOTA表现如下:

文章还讨论了batch size影响:

P是batch中不同人的数量,K是单个行人图像个数,总得来说batch size影响不大。作者认为,大的K有助于挖掘难正样本对,而大P帮助挖掘难负样本对。

文章对Image size的影响如下:

可以看到image size其实影响不大,且不同dataset的规律也不是很统一。

写作

文章写作文笔一般,但观点很好。注意到一个(我自己)比较不常见的点,作者在总结前写的:

“(Abstract)However, many state-of-the-arts methods design complex network structure and concatenate multi-branch features.”

“(Introduction)However, many state-of-the-arts methods design complex network structure and concatenate multibranch features.”

“(Introduction)In addition, we also found that some works were unfairly compared with other state-of-the-arts methods. Specifically, the improvements were mainly from training tricks rather than methods themselves.”

最后作者还.

"The purposes of this paper are summarized as follow:

We surveyed many works published on top conferences and found most of them were expanded on poor baselines.

For the academia, we hope to provide a strong baseline for researchers to achieve higher accuracies in person ReID.

For the community, we hope to give reviewers some references that what tricks will affect the performance of the ReID model. We suggest that when comparing the performance of the different methods, reviewers need to take these tricks into account.

For the industry, we hope to provide some effective tricks to acquire better models without too much extra consumption.

"

这四点是刚刚几段的总结,基本是重复,但是因为是观点,是本文解决的痛点,所以不要怕重复,就是要反复强调,要一直说,变着法的说(只是我读文章少,还第一次见这么直接总结说的)。

问题

Figure 3.是不是画错了。文章提到warmup是从3.5e-5上升到3.5e-4,图的起点是3.5e-6 。

测的数据集其实可以更多一点,比如CUHK03和MSMT17。

参考文献

[1] Luo H, Gu Y, Liao X, et al. Bag of tricks and a strong baseline for deep person re-identification[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition Workshops. 2019: 0-0.

[2] Zhun Zhong, Liang Zheng, Guoliang Kang, Shaozi Li, and
Yi Yang. Random erasing data augmentation. arXiv preprint
arXiv:1708.04896, 2017.

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

锥栗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值