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

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

开源代码:https://github.com/michuanhaohao/reid-strong-baseline

摘要

本文探讨了一个简单而有效的行人重新识别基准(ReID)。具有深度神经网络的行人重新识别(ReID)近年来取得了进步并获得了很高的性能。然而,许多最先进的方法设计复杂的网络结构并连接多分支特征。在文献中,一些有效的训练技巧可以在几篇论文或源代码中出现。本文将收集和评估这些有效的培训技巧亲自ReID。通过将这些技巧结合在一起,该模型在Market1501上实现了94.5%rank-1和85.9%的mAP,仅使用了全局特征。

1.简介

具有深度神经网络的人员重新识别(ReID)近年来取得了进步并且获得了很高的性能。然而,许多最先进的方法设计复杂的网络结构并连接多分支特征。在文献中,一些有效的训练技巧或改进可以在几篇论文或源代码中出现。本文将收集和评估这些有效的培训技巧亲自ReID。通过参与所有训练技巧,ResNet50在Market1501上达到94.5%的rank-1和85.9%的mAP [24]。值得一提的是,它通过该模型的全局特征实现了令人惊讶的性能。

为了比较,我们调查了过去一年在ECCV2018和CVPR2018上发表的文章。如图1所示,以前的大多数作品都是在不良基线上扩展的。在Market1501上,23个基线中只有两个基线超过90%的一级精度。四个基线的等级1精度甚至低于80%。在DukeMTMC-reID上,所有基线都没有超过80%的1级准确率或65%的mAP。我们认为强大的基线对于促进研究的发展非常重要。因此,我们通过一些训练技巧修改标准基线以获得强大的基线。我们强大基线的代码已经开源。
Bag of Tricks and A Strong Baseline for Deep Person Re-identification
图1. Market1501和DukeMTMC-reID数据集上不同基线的性能。我们将我们的强基线与CVPR2018和ECCV2018中公布的其他基线进行比较。
此外,我们还发现一些作品与其他最先进的方法相比是不公平的。具体而言,改进主要来自训练技巧而非方法本身。但是文章中的训练技巧被低估了,所以读者忽略了它们。这会使该方法的有效性被夸大。我们建议审稿人在评论学术论文时需要考虑这些技巧。
除了上述原因之外,另一个考虑因素是行业更喜欢简单有效的模型,而不是在推理阶段连接大量的局部特征。为了追求高精度,学术界的研究人员总是结合几个局部特征或利用姿势估计或分割模型中的语义信息。这些方法带来了太多额外的消耗。大功能也大大降低了检索过程的速度。因此,我们希望使用一些技巧来提高ReID模型的能力,并仅使用全局功能来实现高性能。本文的目的总结如下:

我们对在*会议上发表的许多作品进行了调查,发现大多数作品都是基于不良baseline进行了扩展。

对于学术界,我们希望为研究人员提供一个强大的基线,以达到更高的准确性。

对于社区,我们希望为审阅者提供一些参考,说明哪些技巧会影响ReID模型的性能。我们建议,在比较不同方法的表现时,审稿人需要考虑这些技巧。

对于行业而言,我们希望提供一些有效的技巧来获得更好的模型而不需要太多的额外消耗。

幸运的是,一些论文或开源项目中出现了许多有效的培训技巧。我们收集了许多技巧并在ReID数据集上评估每个技巧。经过大量的实验,我们在本文中选择了六个技巧。其中一些是由我们设计或修改的。我们将这些技巧添加到广泛使用的基线中以获得我们的修改基线,其在Market1501上实现了94.5%和85.9%mAP。此外,我们发现不同的作品选择不同的图像大小和批量大小的数量作为补充,我们也探讨了它们对模型性能的影响。总之,本文的贡献总结如下:

我们为人ReID收集了一些有效的培训技巧。其中,我们设计了一种名为BNNeck的新颈部结构。此外,我们评估了两个广泛使用的数据集上每个技巧的改进。

我们提供强大的ReID基准,在Market1501上实现了94.5%和85.9%的mAP。值得的提到结果是通过ResNet50骨干提供的全局特征获得的。据我们所知,它是ReID全球功能获得的最佳性能。
作为补充,我们评估图像大小的影响和批量大小对ReID模型性能的影响。

2. Standard Baseline

我们遵循广泛使用的开源2作为我们的标准基线。标准基线的主干是ResNet50 [5]。在培训阶段,管道包括以下步骤:
1.我们在ImageNet上使用预先训练的参数初始化ResNet50,并将完全连接层的尺寸更改为N.N表示训练数据集中的身份数量。

2.我们随机抽取每人的P身份和K图像构成训练批次。最后批量大小等于B=P*K。在本文中,我们设置了P=16和k=4。

3.我们将每个图像的大小调整为256128像素,并将调整大小的图像填充为零值的10个像素。然后将其随机裁剪为256128矩形图像。

4.每个图像以0.5概率水平打印。

5.每个图像在【0,1】中被解码为32位浮点原始像素值。然后我们通过减去0.485,0.456,0.406并分别减去0.229,0.224,0.225来标准化RGB通道。

6.模型输出ReID特征f和ID预测log。

7.ReID特征f用于计算三重态损失[6]。ID预测对数p用于计算交叉熵损失。三重态损失的余量m设定为0.3。

采用Adam方法优化模型。初始学习率设定为0.00035,并且分别在第40个时期和第70个时期减少0.1。共有120个训练时期。

3.训练技巧

本节将介绍一些有效的培训技巧ReID。大多数此类技巧可以在标准基线上扩展,而无需更改模型架构。图2(b)显示了本节中出现的训练策略和模型架构。
Bag of Tricks and A Strong Baseline for Deep Person Re-identification
图2.标准基线和修改基线的管道。

3.1. Warmup Learning Rate

学习率对ReID模型的性能有很大影响。最初训练标准基线具有大且恒定的学习率。在[2]中,应用预热策略来引导网络以获得更好的性能。在实践中,如图3所示,我们花了10个时期线性地将学习速率从3.510-5增加到3.510-4。然后,学习速率分别在第40纪元和第70纪元衰减到3.510-5和3.510-6。在时期t的学习速率计算为;
Bag of Tricks and A Strong Baseline for Deep Person Re-identification

3.2 随机擦除增强

Bag of Tricks and A Strong Baseline for Deep Person Re-identification
Bag of Tricks and A Strong Baseline for Deep Person Re-identification
图3.学习率表的比较。通过预热策略,学习率在前10个时期呈线性增长。
Bag of Tricks and A Strong Baseline for Deep Person Re-identification
图4.随机擦除增强的示例示例。第一行显示五个原始训练图像。处理后的图像以第二低的形式呈现。
在本研究中,我们分别将超参数设置为p=0.5,0.02<se<0.4,r1=0.3,r2=3.33一些例子如图4所示。

3.3 标签平滑

D嵌入(IDE)[25]网络是亲自ReID的基本基线。输出图像的ID预测对数的IDE的最后一层是完全连接的层,其隐藏大小等于人数N.给定一个图像,我们将y表示为真值ID标签,将表示为类i的ID预测logits。交叉熵损失计算如下:
Bag of Tricks and A Strong Baseline for Deep Person Re-identification
由于分类的类别由人ID确定,因此本文将这种损失称为ID损失。
然而,人ReID可以被视为一次性学习任务,因为测试集的人ID没有出现在训练集中。因此,防止ReID模型过度训练ID非常重要。[17]中提出的标签平滑(LS)是一种广泛使用的方法,用于防止分类任务的过度配置。它将的构造更改为:
Bag of Tricks and A Strong Baseline for Deep Person Re-identification
其中ε是一个小常数,以鼓励模型对训练集的影响较小。在该研究中,ε设定为0.1。当训练集不是很大时,LS可以显着提高模型的性能。

3.4. Last Stride

更高的空间分辨率总是丰富了特征的粒度。在[16],Sun等人。删除了骨干网络中的最后一个空间下采样操作,以增加特征映射的大小。为方便起见,我们将骨干网络中的最后一次空间下采样操作表示为最后一步。 ResNet50的最后一步将设置为

.当输入尺寸256128的图像时,ResNet50的主干输出84一个空间大小为的特征图。如果将最后一步从2改为1,我们可以获得具有更高空间大小的特征映射(16*4)。这种操作仅增加非常轻的计算成本并且不涉及额外的训练参数。然而,更高的空间分辨率带来了显着的改善。

3.5. BNNeck

大多数工作将ID损失和三重损失结合起来训练ReID模型。如图5(a)所示,在标准基线中,ID损失和三重态损失约束相同的特征f。然而,这两种损失的目标在嵌入空间中是不一致的。

如图6(a)所示,ID丢失构造了几个超平面以将嵌入空间分成不同的子空间。每个类的特征分布在不同的子空间中。在这种情况下,对于在推理阶段通过ID损失优化的模型,余弦距离比欧几里德距离更合适。另一方面,如图6(b),(b)所示,我们设计了BNNeck。在推理阶段,我们选择在BN层之后的fi进行检索。
Bag of Tricks and A Strong Baseline for Deep Person Re-identification
图5.标准颈部和我们设计的BNNeck之间的比较
Bag of Tricks and A Strong Baseline for Deep Person Re-identification
图6.嵌入空间中样本分布的二维可视化,由(a)ID丢失,(b)三联体丢失,(c)ID +三联体丢失和(d)ID +三联体丢失+ BNNeck监督。不同颜色的点表示来自不同类的嵌入特征。黄色虚线代表假定的分类超平面。

三重态损失增强了欧氏空间中的类内紧致性和类间可分离性。由于三胞胎损失不能提供全局最优约束,因此类间距离有时小于类内距离。一种广泛使用的方法是结合ID损失和三重态损失来一起训练模型。这种方法让模型学习更多的辨别特征。然而,对于嵌入空间中的图像对,ID损失主要优化余弦距离,而三重态损失主要集中在欧几里德距离上。如果我们使用这两个损失来同时优化特征向量,他们的目标可能会不一致。在训练过程中,一种可能的现象是一种损失减少,而另一种损失则在振荡甚至增加。

为了克服上述问题,我们设计了一个名为BNNeck的结构,如图5(b)所示。BNNeck仅在功能之后(以及在分类FC层之前)添加批量标准化(BN)层。BN层之前的特征表示为ft。我们ft让通过BN层来获取规范化特征fi。在训练阶段,ft和fi分别用于计算三重态丢失和ID丢失。规范化会平衡fi的每个维度。这些特征高度分布在超球面附近。这种分布使ID丢失更容易收敛。此外,BNNeck还减少了ft上ID丢失的限制。来自ID丢失的较少约束导致三重态损失更容易同时收敛。第三,规范化保持了属于同一个人的特征的紧凑分布。

由于超球面几乎与坐标轴的原点对称,BNNeck的另一个技巧是消除了分类FC层的偏差。它限制分类超平面穿过坐标轴的原点。我们用[4]中提出的Kaiming初始化来初始化FC层。

在推理阶段,我们选择来执行人员ReID任务。余弦距离度量可以实现比欧几里德距离度量更好的性能。实验结果见表。图1显示BNNeck可以大幅提高ReID模型的性能。

3.6. Center Loss

三联体损失计算如下:
Bag of Tricks and A Strong Baseline for Deep Person Re-identification
Bag of Tricks and A Strong Baseline for Deep Person Re-identification
中心损失[20]同时学习每个类的深层特征的中心并且惩罚深层特征与其相应的类中心之间的距离,弥补了三重态损失的缺点。中心损失函数表示为:
Bag of Tricks and A Strong Baseline for Deep Person Re-identification
其中yj是迷你批次中第j个图像的标签。cyj表示yi深级功能的中心。 B是批量大小的数量。该公式有效地表征了阶级内的变化。最小化中心损失可提高类内紧凑性。我们的模型完全包括三个损失如下:
Bag of Tricks and A Strong Baseline for Deep Person Re-identification
β是中心损失的平衡重量。在我们的实验中,β设定为0.0005。

4.实验结果

在本节中,我们将在Market1501和DukeMTMC-reID [11]数据集上评估我们的模型。Rank1准确度和平均平均精度(mAP)报告为评估指标。我们先后在标准基线上添加技巧,不要更改任何训练设置。消融研究的结果表明每个技巧的性能提升。为了防止被过度配置误导,我们还展示了跨域实验的结果。

4.1. Influences of Each Trick (Same domain)

Bag of Tricks and A Strong Baseline for Deep Person Re-identification
表1.在Market1501和DukeMTMC-reID数据集上评估不同模型的性能。基线-S代表第2节中介绍的标准基线。

第2节中介绍的标准基线分别在Market1501和DukeMTMC-reID上达到87.7%和79.7%的1级准确度。标准基线的表现与其他论文中报道的大多数基线相似。然后,我们逐一将热身策略,随机擦除增强,标签平滑,步幅变化,BNNeck和中心损失添加到模型训练过程中。我们设计的BNNeck比其他技巧提升了更多性能,特别是在DukeMTMC-reID上。最后,这些技巧使得基线在Market1501上获得94.5%的一级准确率和85.9%的mAP。在DukeMTMC-reID上,它达到了86.4%的秩-1准确率和76.4%的mAP。在其他工作中,这些训练技巧将标准基线的性能提高了10%以上。此外,为了获得这样的改进,我们只涉及额外的BN层,并且不会增加训练时间。

4.2. Analysis of BNNeck

Bag of Tricks and A Strong Baseline for Deep Person Re-identification
Bag of Tricks and A Strong Baseline for Deep Person Re-identification
表2. BNNeck的消融研究。 f(没有BNNeck)是没有BNNeck的基线。BNNeck包括两个功能ft和fi。我们分别用欧几里德距离和余弦距离来评估它们的性能。

4.3. Influences of Each Trick (Cross domain)

为了进一步探索有效性,我们还在表中提供了跨域实验的结果。 3。总的来说,包括预热策略,标签平滑和BNNeck在内的三个技巧显着提升了ReID模型的跨域性能。步伐变化和中心损失似乎对性能没有太大影响。但是,REA会对跨域ReID任务中的模型造成损害。特别是,当我们的修改基线在没有REA的情况下进行训练时,它分别在Market1501和DukeMTMC-reID数据集上达到41.4%和54.3%的秩-1准确度。它的性能大大超过了标准基线的性能。我们推断,REA掩盖训练图像的区域可以让模型在训练领域中学到更多知识。它会导致模型在测试域中表现更差。
Bag of Tricks and A Strong Baseline for Deep Person Re-identification
表3.在跨域数据集上评估不同模型的性能。M→D表示我们在Market1501上训练模型并在DukeMTMC-reID上对其进行评估。
Bag of Tricks and A Strong Baseline for Deep Person Re-identification
表4.状态或艺术方法的比较。 是推理阶段使用的功能数量。 RK代表kreciprocal重新排名方法[26]

4.4. Comparison of State-of-the-Arts

我们将强基线与表中的最新技术方法进行比较。 4。所有方法都分为不同的类型。Pyramid [22]在两个数据集上实现了令人惊讶的性能。然而,它连接了不同规模的21个局部特征。如果仅使用全局特征,它在Market1501上获得92.8%的秩-1准确度和82.1%的mAP。在Market1501上,我们的强基线可以达到94.5%rank1准确率和85.9%mAP。BFE [1]与我们强大的基线获得了类似的表现。但它结合了两个分支的功能。在所有仅使用全局特征的方法中,我们的强基线在Market1501和DukeMTMC-reID上击败AWTL [12]超过10%mAP。使用k-reciprocal重新排名方法来提高性能,我们的方法分别在Market1501和DukeMTMC-reID上达到94.1%mAP和89.1%mAP。据我们所知,在仅使用全局功能的情况下,我们的基线可实现最佳性能。

5. Supplementary Experiments

我们观察到一些以前的工作是使用不同的批量大小或图像大小来完成的。在本节中,作为补充,我们将探讨它们对模型性能的影响。
Bag of Tricks and A Strong Baseline for Deep Person Re-identification

表5.具有不同批量大小的ReID模型的性能。

5.1. Influences of the Number of Batch Size

小批量三重损失包括B=P*K图像。P和K分别表示不同人的数量和每人的不同图像的数量。小批量在一个GPU中最多只能包含128个图像,因此我们无法使用p=32,k=6或P=32,K=8进行实验。我们删除了中心损失,以清楚地找到三重损失和批量大小之间的关系。结果列于表中。但是,没有具体的结论来证明B对性能的影响。我们观察到的一个小趋势是,较大的批量大小对于模型性能是有益的。我们推断大K有助于挖掘硬正对,而大P有助于挖掘硬负对。

5.2. Influences of Image Size

Bag of Tricks and A Strong Baseline for Deep Person Re-identification
表6.具有不同图像大小的ReID模型的性能。

我们训练了没有中心损失的模型,并设置了P=16,K=4 。如表所示。如图6所示,四个模型在两个数据集上实现相似的性能我们认为,图像尺寸对于ReID模型的性能来说并不是一个非常重要的因素。

6. Conclusions and Outlooks

在本文中,我们收集了一些有效的训练技巧,并为人ReID设计了一个强大的基线。为了演示每个技巧对ReID模型性能的影响,我们在相同域和跨域ReID任务上进行了大量实验。最后,仅使用全局特征,我们的强基线在Market1501上达到94.5%的rank-1准确率和85.9%的mAP。我们希望这项工作能够促进学术界和工业界的ReID研究。
但是,我们工作的目的不是粗略地提高性能。与人脸识别相比,人ReID还有很长的路要探索。我们认为一些训练技巧可以加快探索速度,并且有很多有效的技巧没有被发现。我们欢迎研究人员与我们分享其他一些有效的技巧。我们将在未来根据这项工作对它们进行评估。