当前位置: 代码迷 >> 综合 >> 论文阅读6 | Bag of Tricks and A Strong Baseline for Deep Person Re-identification
  详细解决方案

论文阅读6 | Bag of Tricks and A Strong Baseline for Deep Person Re-identification

热度:15   发布时间:2023-12-14 22:01:14.0

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

行人reid的tricks和一个strong baseline

出处:CVPR2019

文章目录

  • 1. Motivation
  • 2. Tricks
  • 3. Baseline
  • 4. Conclusion

1. Motivation

(1)设计一个strong baseline

一个合适的baseline是很重要的。在2019年常用的baseline如下图所示:
在这里插入图片描述
一个batch里面会有 P X K 张图像(P个ID,每个ID有K张图片);ResNet50作为backbone,得到feature map;经过pooling得到 P X K 个特征;对每一个特征计算度量学习损失Triplet loss和表征学习损失ID loss;利用两个损失共同优化网络。

(2)解决ID loss和Triplet loss的结合矛盾问题,提出了BNNeck
在这里插入图片描述

(3)精准判断模型好坏,原模型忽视了类内的紧凑性和类间的差异度,提出了center loss。
在这里插入图片描述

2. Tricks

常用的方法模块:

Warmup learning rate、Random erasing augmentation(REA)、Label smoothing、Last stride = 1、BNNeck、Center loss

(1)Warmup learning rate(缓慢增长的学习率)

以前训练模型的时候,学习率的设置一般就是阶梯型的下降。但是,在训练初期,模型初期性能比较差,loss和grad都非常大置信度不高,如果学习率比较大容易陷入不好的情况中,可以使用Warmup learning rate慢慢增加学习率。例如:

在这里插入图片描述
学习率lr的公式如下:
在这里插入图片描述

(2)Random erasing augmentation(随即擦除)

给图像添加一些噪声,人工的添加一些遮挡。防止网络偷懒,使得网络学到更多的特征,看到的范围更广。代价小,提升性能较大。
在这里插入图片描述

(3)Label smoothing

将one-hot的硬标签转变为软标签。使用硬标签训练网络非常容易overfit,转变为软标签。[0,1,0,0,0,0] ->[0.02,0.9,0.02,0.02,0.02,]

在这里插入图片描述

(4)Last stride = 1

最早在PCB中提出,最后一层下采样,Last stride=2,feature map缩小为原来的一半。将2改为1,不进行下采样,feature map大了,网络看到的细节就更加充分。

(5)BNNeck

标准的Neck和本文提出的Neck对比。在标准Neck中,从loss曲线中可以看出,两个loss会存在不一致性;BNNeck使用一个BN层将两个loss分到不同的特征空间,BN前的ft用来训练Triplet loss,BN后的fi训练ID loss,并在推理阶段用来推理。
在这里插入图片描述在这里插入图片描述
实验验证:

  • 没有BN层,结合ID loss 和 triplet loss 要比单独使用一个loss性能要好。
  • BN层更有利于ID loss,对Triplet loss是不利的。使用BN层归一化,以前瘦一些的特征会胖一些,胖一些的特征会瘦一些,会破坏一些聚类的特性,但是不改变特征的分布。
  • BNNeck可以消除两种loss的不一致性。

(6)Center loss

Center loss就是把特征到类别中心的距离当成loss,乘上一个权重加到ID loss和Triplet loss上。可以更加考虑类内的紧凑度和类间的差异度;BN层会破坏center loss的聚类效应。
在这里插入图片描述
在这里插入图片描述

3. Baseline

小狗狗
同时加入了6种tricks(Warmup learning rate、REA、Label smoothing、Last stride = 1、BNNeck、Center loss),构成了一个新的性能强大的Baseline。

4. Conclusion

和其他的Baseline相比:
在这里插入图片描述
本文提出了一个强大的baseline;使用BNNeck将ID loss和Triplet loss分到两个特征空间,解决不一致性问题;提出了center loss,考虑类内紧凑性和类间差异性。

  相关解决方案