A Strong Baseline and Batch Normalization Neck for Deep Person Re-identification(论文笔记)(2019CVPR)

论文链接:A Strong Baseline and Batch Normalization Neck for Deep Person Re-identification

Abstract

    本研究提出了一个简单而有力的深层人再识别(ReID)baseline。Deep person ReID近年来取得了很大的进步和高性能。然而,许多先进的方法设计复杂的网络结构和连接多分支的特点。在文献中,一些有效的训练技巧简要地出现在几篇论文或源代码中。本研究收集并评估了这些有效的训练技巧。通过结合这些技巧,仅使用ResNet50的global features,该模型在Market1501上就达到了94.5%的rank-1和85.9%的mAP。这一表现超过了所有现有的基于global和part的baselines。同时我们也提出了一种新的瓶颈结构,称为批归一化瓶颈(BNNeck)。BNNeck在global pooling layer之后增加了一个batch normalization neck,将度量和分类损失分离到两个不同的特征空间中,因为我们观察到它们在一个嵌入空间中不一致。扩展实验表明,BNNeck可以提高baseline,而我们的基线可以提高现有的最先进的方法的性能。我们的代码和模型可以在以下网址获得:https://github.com/michuanhaohao/reidstrongbaseline

1. INTRODUCTION

    人的再识别(ReID)广泛应用于视频监控和刑侦应用[2]中。Person ReID具有深度神经网络[3]-[5],近年来取得了较好的进展和表现。除了提出了许多新颖有效的想法外,baseline model的改进起到了关键作用。如Jian等[6]、[7]提出的基线极大地促进了水下显著性检测的发展。基线模型的重要性不容忽视。然而,很少有作品[5]、[8]、[9]集中于有效基线的设计。由于人的快速发展,这样的绩效基准已经逐渐过时。在文献中,一些有效的训练技巧或改进简要地出现在几篇论文或源代码中。在本研究中,我们通过收集和评估这些有效的训练技巧,为person ReID设计了一个强大而有效的baseline。

图1. 不同baseline在Market1501数据集上的性能。我们将我们的强baseline与发表在CVPR2018和ECCV2018上的其他baseline进行比较。  

    本研究有三个动机。首先,我们调查了2018年在ECCV和CVPR上发表的论文。如图1所示,以前的工作大多是在较差的基线上展开的。在Market1501上,23个baselines中只有两个baselines的准确度超过了90% rakn-1。四个baseline的rank-1精度甚至低于80%。在较差的基线上取得改进并不能严格证明某些方法的有效性。因此,一个强有力的基线对于促进研究发展至关重要。

    其次,我们也发现一些作品与其他最好的算法相比是不公平的。具体来说,这些改进主要来自训练技巧,而不是算法本身。但论文中对训练技巧的描述过低,以至于读者忽略了它们。这将使该算法的有效性被夸大。我们建议审稿人在评论学术论文时要考虑这些技巧。。

    第三,在推理阶段,业界更喜欢简单而有效的模型,而不是将许多本地特征串联起来。为了取得更好的效果,学术界的研究人员往往结合多个局部特征或使用姿态估计或分割模型中的语义信息。然而,这些方法带来了额外的消耗。大的特征也大大降低了检索过程的速度。因此,我们使用一些技巧来提高ReID模型的性能,只使用模型提取的全局特征。

    本文的研究目的如下:
* 对于学术界,我们调查了许多在顶级会议上发表的作品,发现其中大多数都是在较差的baseline上扩展的。我们希望为研究人员提供一个强大的baseline,以实现更高的准确性的行人ReID。
* 对于社区,我们希望向审阅人员提供一些参考资料,了解哪些技巧会影响ReID模型的性能。我们建议,在比较不同方法的性能时,审阅人员需要考虑这些技巧。
* 对于行业,我们希望提供一些有效的技巧,以获得更好的模型,而不需要太多的额外计算。

    许多有效的培训技巧已经在论文或开源项目中出现。我们收集技巧并在ReID数据集上评估每一个技巧。经过大量的实验,我们选择了6个技巧来介绍这个研究提出了一种新的neck结构,即批处理归一化neck(BNNeck)。由于在同一嵌入空间中分类损失和度量损失不一致,BNNeck在两个不同的嵌入空间中对这两种损失进行了优化。此外,person ReID任务主要关注于性能排序,如cumulative match characteristic (CMC) curve和mAP,而忽略了类内紧凑性、类间可分性等聚类效果。但在目标跟踪等特殊任务中,聚类效果非常重要,需要确定一个距离阈值来分离正样本和负样本。克服这一问题的一个简单方法是对具有center loss的模型进行训练。最后,我们将这些技巧添加到一个广泛使用的基线中,以获得我们修改的基线(主干是ResNet50),它在Market1501上实现了94.5%和85.9%的mAP。

    为了确定这些技巧是否普遍有用,我们从三个方面设计了扩展实验。首先,我们采用跨域ReID设置,在该设置中,模型在不同的数据集上进行训练和评估。跨域实验可以证明这些技巧是提高了模型,还是仅仅抑制了训练数据集的过拟合。其次,我们评估所有具有不同主干的技巧,如ResNet18、SeResNet50和IBNNet-50。所有的脊骨都能从我们的训练技巧中得到改善。第三,我们在修改后的基线上重现了一些最先进的方法。实验结果表明,我们的基线比已发表的论文有更好的性能。虽然我们的基线达到了令人惊讶的性能,但是一些方法在我们的基线上仍然有效。因此,我们的基线可以成为一个强大的ReID社区基线。

    原文与本文有四个主要区别。1)我们增加了一个新的章节来介绍ReID的发展。我们做了许多扩展实验来解释BNNeck的有效性。3)解释了引入center loss的原因,并进行了一些扩展实验来分析center loss的影响。我们在基线上评估不同的脊骨和一些最新的方法。

    本研究的贡献总结如下:

我们为ReID收集有效的训练技巧。每个技巧的改进在两个广泛使用的数据集上进行评估。

我们观察到ID loss和triplet loss之间的不一致性,并提出了一种新的颈部结构,即BNNeck。

我们观察到ReID任务忽略了类内紧性和类间可分性,并声称center loss可以弥补这一点。

我们提出了一个强大的ReID baseline。与ResNet50 bone,它在Market1501达到94.5%和85.9%的mAP。据我们所知,这一结果是gobal feature在ReID获得的最佳性能。

我们设计了扩展实验来证明我们的基线可以成为ReID社区的强大基线。

2. RELATED WORKS

    本节重点介绍了ReID的深度学习基线。此外,基于ReID的强大的baseline与现有方法的比较进行了介绍。

A. Baseline for Deep Persion ReID

    最近关于person ReID的研究主要集中在构建深度卷积神经网络(CNNs),以端到端学习的方式表征人物图像的特征。

GoogleNet[10]、ResNet[11]、DenseNet[12]等是应用广泛的骨干网。根据损失函数可以将基线划分为分类损失和度量损失两大类。对于分类丢失,Zheng等人[8]提出了ID-discriminative embedding (IDE),把reid模型训练成图像分类,这个分类是对ImageNet[13]预训练模型进行微调后得到的。分类损失又称ID loss,因为IDE是通过分类丢失进行训练的。但是,ID loss需要一个额外的完全连接(FC)层来预测培训阶段人员ID的日志。在推理阶段,去掉FC层,使用最后一个池化层的特征作为人物图像的表示向量。

    与ID loss不同,度量丢失将ReID任务视为一个聚类或排序问题。最广泛使用的基于度量学习的基线是triplet loss[14]训练模型。一个三重值包括这些图像,即锚点、正样本和负样本。锚点和正样本属于同一个人ID,而负样本属于不同的人ID。triplet loss使锚点样本与正样本的距离最小,使锚点样本与负样本的距离最大。然而,三重态的损耗受样品三重态的影响很大。Hermans等人受到FaceNet[15]的启发,提出了一种在线的triplet loss (TriHard loss)硬例挖掘方法。目前大多数方法都是在TriHard基线上扩展的。结合ID loss和TriHard loss也是获得强基线[3]的一种流行方式。

    除了设计不同的损失外,还有一些作品专注于为deep person ReID建立有效的基线模型。在[9]中,我们提出了三个好的做法来构建一个有效的CNN对ReID的基线。他们最重要的实践是在全局池化层之后添加一个批处理标准化(BN)层。与这些模型相似,基线使用全局特征来表示图像。Sun等人[5]提出了基于部分的卷积基线(PCB)。给定一个图像输入,PCB输出一个卷积描述符,由几个部分级特征组成。两个基线在ReID上都取得了良好的表现。

B. Some Existing Approaches for Deep person ReID

    在上述基线的基础上,过去几年提出了许多方法。我们将这些作品分为striped-based, pose-guided, mask-guided, attention-based,GAN-based, 和re-ranking 的方法。

    Striped-based methods. 基于条纹的方法将图像分割成多条条纹,并对每条条纹提取局部特征,在person ReID中发挥着重要作用。受PCB的启发,典型的方法有AlignedReID++[3]、MGN[16]、SCPNet[17]等。基于条带的局部特征可以有效地提高ReID模型的性能。然而,他们经常遇到姿态错位的问题。

    Pose-guided methods[18]-[21]利用额外的姿态/骨架估计模型获取人体姿态信息。位姿信息可以准确地对齐两个人图像的对应部分。但是,一个额外的模型会带来额外的计算消耗。在性能和速度之间的权衡是很重要的。

    Mask-guided models[22]-[24]使用面罩作为外部线索,以像素级去除背景杂波,并包含人体形状信息。例如Song等[22]提出了一种基于面具的对比注意模型,该模型利用二值分割面具分别从身体区域和背景区域学习特征。Kalayeh等人[23]提议

SPReID,它使用人类的语义解析来驾驭局部的视觉线索。面罩引导模型非常依赖于精确的行人分割模型。

    Attention-based methods[25]-[28]涉及一个注意机制来提取额外的区别特征。与像素级遮罩相比,注意区域可以被重新划分为一个自动学习的高级遮罩。目前比较流行的模型是Li等[26]提出的和谐关注CNN (HA-CNN)模型。HA-CNN结合软像素学习和硬区域关注,同时优化特征表示。基于注意力的模型的一个优点是不需要分割模型来获取遮罩信息。

    GAN-based methods[29]-[34]为person ReID定位有限的数据。Zheng等[29]首先使用GAN[35]生成图像,丰富ReID数据集。GAN模型随机生成未标记和不清楚的图像。在[29]的基础上,分别提出PTGAN[30]和CamStyle[31]作为person ReID的桥域和摄像机间隙。Qian等人[32]提出了PNGAN,用于获取新的行人特征并将人转化为标准化姿态。将姿态无关特征与原始ReID特征结合得到最终的特征。随着GAN的发展,人们提出了许多基于GAN的方法来生成高质量的有监督和无监督人员的ReID任务。赵等人[34]集成氮化镓与广泛使用的triplet loss方法。

    Re-ranking methods[36]-[39]是图像检索的后处理策略。一般来说,person ReID只是在检索阶段使用欧几里得距离或余弦距离。钟等[36]采用k-倒数编码方法,利用probe和gallery的图像的Jaccard距离对ReID结果进行重新排序。为了在训练和测试过程中充分利用gallery图像之间的亲和力信息,Shen等[37]提出了一种深度群变换随机游走(DGRW)网络。在检索阶段,DGRW可以看作是一种重新排序方法。重新排序是提高检索准确性的一个关键步骤。

3.  OUR STRONG BASELINE AND TRAINING TRICKS

图 2. 标准baseline 和我们修改的baseline pipelines

    图2a是学术界和工业界广泛使用的基线。为方便起见,这种基线称为标准基线。由于我们已经在[1]中引入了它,在[1]和我们的开放源代码中可以找到这种标准基线的细节。

    此外,本节还介绍了一些有效的训练技巧。文中详细讨论了我们提出的BNNeck结构。提出了person ReID的类内紧性和类间可分性问题。在不改变模型架构的情况下,可以在标准基线上扩展大多数技巧。与之前的papaer[1]相比,本文没有为前四个技巧添加任何新的内容。因此,我们将简单介绍它们,并重点介绍我们提出的BNNeck和center loss。图2b展示了培训策略和模型架构。

A. Warmup Learning Rate

    学习率对ReID模型的性能有很大的影响。标准baseline最初以较大且恒定的学习率进行训练。在[40]中,为了获得更好的性能,使用warmup策略提升网络。在实践中,如图3所示,我们设置10个epoch线性增加学习速率,从3.5*10^-5到 3.5*10^-4。然后,学习速率分别在第40个epoch和第70个epoch,从3.5*10^-5 衰减到3.5*10^-6。在epoch t  处的学习速率lr(t)计算为:

B. Random Erasing Augmentation

    在ReID中,图像中的人物有时会被其他物体遮挡。为了解决遮挡问题,提高ReID模型的泛化能力,Zhong等人提出了一种新的数据增强方法,即随机擦除增强(REA)。REA随机对训练图像的矩形区域进行掩模,人工设置概率p,所有超参数与[41]和[1]设置相同。一些例子如图3所示。

 图3. 随机擦除增强的抽样例子。第一行显示了五个原始训练图像。处理后的图像显示在第二行。  

C. Label Smoothing

    IDE[8]网络是person ReID的基本baseline。IDE的最后一层是一个全连接层,输出图像的 ID 预测logits。隐藏神经元大小等于行人数N 。给定一个图像,我们定义 y 为ground-truth ID标签, 为类别 i 的ID 行人logits。ID loss损失计算为:

    然而,由于测试集的人id没有出现在训练集中,所以可以将ReID看作是一次性的学习任务,因此防止ReID模型对训练 id 进行过拟合非常重要。在[42]中提出的标签平滑(LS)是一种广泛用于防止分类任务过拟合的方法。它将结构改为:

    其中为一个小常数,鼓励模型不要太相信训练集。在本研究中,设为0.1。当训练集不是很大时,LS可以显著提高模型的性能。

D.Last Stride

    更高的空间分辨率总是丰富了特征的粒度。在PCB[5]中,删除了主干网络中的最后一次空间下采样操作,以增加feature map的大小。为了方便起见,我们将骨干网络中的最后一个空间下采样操作表示为最后一步(last  stride)。ResNet50的最后一步设置为2。当输入256*128幅图像时,ResNet50的主干输出空间大小为8*4的feature map。如果将最后一步由2步变为1步,我们可以得到一个空间更大的feature map(16*8),这种操作只会增加非常小的计算成本,并且不需要额外的训练参数。然而,更高的空间分辨率带来了显著的改善。

E. BNNeck

   

图4. 标准neck和我们设计的BNneck之间的比较 

    如图4(a)所示,许多先进的方法结合ID和triplet损失来约束相同的特征f。结合这两种损失总是可以使模型获得更好的性能。但是,更好的性能让我们忽略了这两种损失的目标在嵌入空间上是不一致的。

图5. 不同loss和neck结构监督下的嵌入空间内样本分布的二维可视化。(a~g) 对应于 图8(a~g)。不同颜色的点代表不同id的嵌入特征。黄色虚线代表决策面。为了更好地理解,我们在图9做了一些超表达式的比较。

    如图5(a)所示,ID loss构造了几个超平面将嵌入空间分离为不同的子空间。每一类的特征都是仿射分布在不同的子空间中。因此,在推理阶段,余弦距离比欧氏距离更适合丢失ID优化后的模型。利用欧氏距离计算triplet loss,提高了欧氏空间中的类内紧性和类间可分性。如5(b)所示,triplet loss特征呈现簇状分布。如果我们同时使用两种损失来优化特征空间,那么他们的目标可能是不一致的。在训练过程中,一个可能的问题是,一个损失减少了,而另一个损失振荡甚至增加,如图7所示。最后,triplet loss会影响ID loss的清晰决策面,ID loss会降低triplet loss的类内紧性。特征分布为蝌蚪状。因此,直接结合这两种损失可以提高性能,但这不是最好的方法。

图7. Market1501和DukeMTMC-reID数据集上不同型号的ID和triplet损失曲线。我们分别用Neck3、BNNeck3和我们提出的BNNeck来训练模型。黑色椭圆标记ID和triplet损失之间的不一致。我们表明BNNeck抑制了不一致性,并平滑了三重损失曲线。

   

图8. 不同neck结构的消融研究。(ac) 是标准 neck structures, (df) 添加额外BN layer。不同的损耗包括LID、LTri和LID + LTri。(g)是我们提出的将triplet loss和ID loss分离到不同特征空间的BNNeck。

    Xiong等[9]在feature和ID loss之间增加了一个BN层[43],如图8(d)所示。作者声称BN层克服了过拟合,提高了IDE基线的性能。但是,我们认为BN层可以平滑嵌入空间中的特征分布。对于ID loss(图5(a)), BN层将增强类内紧致性。由于靠近仿射中心的特征缺乏清晰的决策面且难以区分,BN层可以提高ID loss的性能。然而,该层增加了类内特征的聚类半径,导致triplet loss降低。因此,图5(e)(f)的决策面比图5(b)(c)的决策面更严格。

    为了解决这个问题,我们设计了一种结构,即BNNeck,如图4(b)所示。BNNeck在feature之后和classifier FC层之前增加了BN层。BN层和FC层通过[44]中提出的开明初始化进行初始化。在BN层之前的特征记为ft,我们让ft通过一个BN层得到特征fi。在训练阶段,分别使用ft和fi计算triplet和ID loss。从图5(g)可以看出ft不仅可以保持一个紧凑的分布,而且可以从ID loss中获得ID知识。受BN层和ID loss的影响,fi呈蝌蚪状分布。与图5(c)相比,由于triplet loss的影响较弱,fi具有清晰的决策面。第四- c节介绍更多细节。

    在推理阶段,我们选择fi执行person ReID任务。余弦距离度量比欧氏距离度量具有更好的性能。实验结果见表1。我证明BNNeck可以大幅度提高ReID模型的性能。

 表1. 在Market1501和DukeMTMC-reid数据集上对不同模型的性能进行了评估。Baseline-S代表标准baseline。

F. Center Loss

    Person ReID通常被看作是一个检索/排序任务。评价方案CMC曲线和mAP由排序结果决定,而忽略了聚类效应。但是对于一些ReID应用,比如跟踪任务,一个重要的步骤是确定一个距离阈值来分离正、负物体。如图6所示,两种情况下可以得到相同的排序结果,但是probe2的类内正对紧致性使得跟踪任务比较容易完成。

图8. 任务排序忽略正对的类内紧凑性的可视化演示。蓝色的圆圈和红色的叉分别代表正样本和负样本。在箭头方向上,两个样本的特征距离逐渐增大。虽然两种情况可以获得相同的排序结果,但是probe2对于必须决定一个阈值来分离正样本和负样本的跟踪任务来说很容易。

    以相对距离为中心,计算triplet loss为:

    其中为positive pair和negative pair的特征距离。为triplet loss的margin,[z]+ = max(z,0)。在本文中,设为0.3。但是triplet loss只考虑的差值,忽略了它们的绝对值。例如,当dp = 0.3;dn = 0.5,triplet为0.1。另一种情况下,dp = 1.3;dn = 1.5,triplet loss也是0.1。triplet loss由随机采样的两个人id确定。在整个训练数据集中,很难保证dp < dn。

    为了弥补triplet loss的不足,我们在训练中引入center loss[45],同时学习每个类的深度特征中心,并对深度特征与其对应的类中心之间的距离进行惩罚。中心损失函数公式如下:

    其中 是mini-batch中的第 j 个图像的标签。为深度特征的第个类中心。B是batch-size的数量。这个公式有效地描述了类内的变化。将center loss最小化可以增加类内紧凑性。我们的模型总共包括以下三个损失:

 

     

是center loss的平衡权重,在我们的实验中设置为0.0005。

4. EXPERIMENT

A. Datasets 

    我们评估我们的模型在Market1501[46]和DukeMTMC-reID[47]数据集,因为这两个数据集被广泛使用和大规模。在前面的工作之后,我们使用rank-1精度和mAP对两个数据集进行评估。

    Market1501包含了32,217张图片,其中有1,501张被贴上标签的人,有6个摄像头视图。训练集有12936张来自751个ID的图像,测试集有19732张来自750个ID的图像。在测试中,使用750个ID的3368幅手绘图像作为查询,检索数据库中匹配的人物。本研究使用单一查询评估。

    DukeMTMC-reID是一个新的大规模的person ReID数据集,从8个摄像头视图的1404个ID中收集36411张图像。训练集有来自702个ID的16,522张图像,测试集有来自其他702个ID的19,889张图像。本研究使用单一查询评估。

B. Influences of Each Trick

    从表1中可以看到,Baseline-S在Market1501和DukeMTMC-reID上分别只有87.7%和79.7%的rank-1准确性。标准基线的性能与其他论文中报道的大多数基线相似。warm-up、REA、LS、stride change、BNNeck和center loss分别添加到模型训练过程中。设计的BNNeck大大提高了性能,尤其是在DukeMTMC-reID上。最后,通过这些训练技巧,基线在Market1501上获得了94.5%的rank-1精度和85.9%的mAP。在DukeMTMC-reID上,基线达到了86.4%的rank-1的和76.4%的mAP。因此,这些训练技巧可以将标准基线的性能提高10%以上。为了达到这样的改善,我们的强基线只涉及额外的BN层,而不增加训练时间。

表 2. 在跨域数据集上评估不同模型的性能。M->D表示我们在Market1501上训练模型,并在DukeMTMC-reid上进行评估。 

    我们也探讨了这些技巧在跨域ReID的有效性,结果可以在表2中提出。总的来说,除了REA之外,大多数这些技巧对于跨域ReID也是有效的。通过对训练图像的区域进行掩蔽,我们推断模型在源域学习了额外的知识,而在目标域表现较差。

C. Analysis of BNNNeck

    1)Different neck structures:为了讨论我们的BNNeck的有效性,我们设计了几种不同的Neck结构,如图8所示。另外,表3也分析了一些消融研究。Neck3性能优于Neck1和Neck2。另外,BNNeck2比Neck2差,但BNNeck1比Neck1好。我们的BNNeck在两个基准测试中取得了最好的性能。总之,我们提出以下观察/结论。1)没有BN层,合用ID loss和triplet  loss比只使用一个loss好。2) BN层对于ID loss有效,对于triplet loss无效。3)我们的BNNeck在BN层之前设置triplet loss是一个合理的neck结构。

   

图8. 不同neck结构的消融研究。(ac) 是标准 neck structures, (df) 添加额外BN layer。不同的损耗包括LID、LTri和LID + LTri。(g)是我们提出的将triplet loss和ID loss分离到不同特征空间的BNNeck。

表3. 不同neck结构的消融研究见图8。 

    2)Inconsistency between ID loss and Triplet loss:为了验证ID和triplet loss在相同的特征空间中是不一致的,我们用Neck3、BNNeck3和我们提出的BNNeck训练模型。图8显示,这三个neck结构使用ID loss和triplet loss来优化相同的特征。图7为500次迭代的训练损失曲线。在图7a和7d中,在以黑色椭圆形为标志的损失曲线中,triplet loss先是增加,然后衰减,显示出triplet loss和ID loss之间的明显对抗。在图7b和7e中,BN层减弱但并没有消除不一致性。而对于图7c和图7f中的BNNeck,不一致性得到了抑制,triplet loss曲线得到了平滑处理。综上所述,BN层可以弱化损失之间的不一致性,并且将它们分离到两个不同的特征空间是很重要的。

图7. Market1501和DukeMTMC-reID数据集上不同型号的ID和triplet损失曲线。我们分别用Neck3、BNNeck3和我们提出的BNNeck来训练模型。黑色椭圆标记ID和triplet损失之间的不一致。我们表明BNNeck抑制了不一致性,并平滑了三重损失曲线。

    3)Visualization of feature distribution:为了分析图8中不同特征的分布,我们在MNIST数据集中训练模型。由于ReID基准测试中person ID的数量较大,而每个person ID对应的图像数量较小,使得可视化存在较大的噪声。而MNIST只有10个类别,每个类别由数千个样本组成,使得特征分布清晰、稳健。结果如图9所示。ID和triplet损失有两种不同的特征分布。在图9c中对这两种损失进行联合时,聚集分布延伸为蝌蚪状。由于BN效应,(dsimf)的分布比(asimc)的分布更具高斯性。图9g和9h表明,我们的BNNeck将triplet loss和ID loss分离到两个不同的特征空间。如图9a和9b相似,triplet loss的特征分布仍然是聚集的,ID loss的特征分布具有清晰的决策面。

图9. 在MNIST数据集上不同损失和neck结构监督下的嵌入空间特征分布的二维可视化。(af) 对应于图8中的(af) ,(g)、(h)与图8(g)有关。为获得最佳视图,特征维数设置为2。BN层将特征平滑。 

    我们的结论或观察如下:1)ID loss和triplet loss的特征分布是仿射和聚集的,即它们是不一致的。2) ID loss + triplet loss 特征分布呈蝌蚪状。3) BN层可以平滑/正态化特征分布,提高ID loss的类内紧性,降低triplet loss的类内紧性。4)我们将triplet loss和ID loss分离到两个不同的、合适的特征空间。

    4)Two feature space of BNNeck:虽然图9 MNIST上的结果可以有效地支持我们的结论,但是图像分类和person ReID是两种不同的任务。我们对Market1501数据集在BNNeck上的的范数分布进行统计分析。特征范数的平均值和 标准方差已经被计算出来。为了分析特征分布的可分性,我们提出了变更系数。如图10所示,fi和ft在特征空间中的分布是不同的。ft是紧致的,高斯分布在环形空间,因为它是直接由triplet loss优化的。然而,我们认为fi呈蝌蚪状分布,因为ID loss延伸了类内分布。fi 的最大值为 48.70 , 而为18.62。ft的为0.043,而fi的为0.98,说明fi比ft分布更离散。综上所述,BNNeck为triplet loss和ID loss提供了两个不同的、适用的特征空间。

图10. 在Market1501的BNNeck上ft和fi的特征规范直方图。意味着均值,标准方差和变异系数。

    5)Metric space for BNNeck:我们评估两个不同的特征(ft和fi)的性能与欧几里得距离和余弦距离度量。所有的模型都在表4中(训练没有center loss)。在表4中我们观察到,对于ft,余弦距离度量优于欧几里得距离度量。由于ID loss直接约束了遵循BN层的特征,fi可以通过几个超平面清晰地分离出来。余弦距离可以测量特征向量之间的夹角;因此,余弦距离度量比欧氏距离度量更适合于fi。然而,ft同时接近triplet loss,并受到ID loss的约束。这两种度量方法在ft中实现了相似的性能。

表4. BNNeck的消融研究。f (w/o BNNeck)是baseline,没有BNNeck。BNNeck包括两个特征。我们分别用欧氏距离和余弦距离来评价它们的性能。   

    总的来说,BNNeck显著提高了ReID模型的性能。在推理阶段,我们选择余弦距离度量的fi进行检索。

D. Analysis of Center Loss

    讨论了center loss对类内紧性的影响。我们认为平均类内距离忽略了类间距离,不能完全表示类内紧凑性。为方便起见,类内平均距离和类间平均距离分别表示为Dp和Dn。受[48]启发,采用Dp与Dn的比值来衡量特征分布的聚类效果。该比值计算为R = Dp/Dn。我们设置不同的值,并对模型的rank-1、mAP和R进行评估。表5给出了结果。

表5. 用不同的center loss权重进行评估。R为类内平均距离与类间平均距离之比。 

    对于直接受center loss约束的特征ft, R随增大而减小。随着R从0增加到0.5,Market1501上的R从0.407减少0.311,DukeMTMC-reID上的R从0.424减少到0.363。因此,center loss可以提高类内紧性和类间可分性,从而使正样本和负样本之间的边界清晰。当设为0.5时,ft聚类效果最好,但rank-1和mAP准确率较差。但是BN层破坏了这种聚类效果。对于特征fi, R的值几乎不受。基于这些观察,我们得出以下结论:(1)center loss增强了类内紧致性和类间可分离性。(2)BN层可以破坏center loss的影响。(3)增加center loss的权重会降低排序性能。 (自己理解:center loss 不是越大越好)

E. Comparison to Other Baselines

    我们将我们的强基线与其他有效基线进行比较,如IDE[8]、TriNet[49]、AWTL[50]和PCB[5]。PCB是一种基于部分的person ReID基线。表6展示了这些基线的性能。实验结果表明,我们的基线性能大大优于IDE、TriNet和AWTL。PCB集成了多部分特性,GP采用了有效的技巧,两者都取得了很好的性能。然而,我们的基线在两个数据集中都超过了他们7.1%。据我们所知,我们的基线是最强的基线。

表6. Market1501和DUKEMTMC-REID数据集不同基线的比较。ID和TRI分别代表ID loss和Triplet loss。 

F. Comparison to State-of-the-Arts

    我们在表7中将我们的强基线与一些最新的方法进行了比较。所有的方法都被划分为不同的类型。Pyramid[51]在两个数据集上取得了令人惊讶的性能,但它连接了21个不同尺度的局部特征。当只使用全局特征时,Pyramid在Market1501上获得92.8%的rank-1精度和82.1%的mAP。我们强大的基线在Market1501上可以达到94.5%的tank-1精度和85.9%的mAP。BFE[52]获得了与我们的强基线相似的性能,但是它结合了两个分支的特性。在所有只使用全球特性的方法中,我们的强基线在Market1501和DukeMTMC-reID上的表现都比AWTL[50]高出10%以上。据我们所知,当只使用全局特征时,我们的基线达到了最佳性能。我们的方法不需要人的语义信息,局部特征或注意模块,比其他先进的方法更简单。

 表7. 先进方法的比较。Nf是推理阶段使用的特征数量。

G. Baseline Meets State-of-the-Arts

    我们用强大的基线重现了一些流行的最先进的方法。由于有很多优秀的方法可供选择,我们不能尝试所有的方法,只选择几个典型的模型,如re-ranking[36],PCB [5],AligedReID++ [3], CamStyle [31], MGN[16]。为了进行公平的比较,我们使用与论文报道相同的损失来训练模型。例如,AlignedReID++只使用ID loss和triplet loss,而不使用center loss来重现它。但re-ranking是全局特征的后处理方法,因此我们采用了三种损失来提高其性能。表8给出了详细信息和结果,括号中的值为作者在论文中报告的结果。此外,我们提出了基准的性能(与BNNeck)训练不同的损失作为参考。我们的基线大大提高了re-ranking、PCB、AligedReID++和CamStyle的性能。另外,我们的MGN取得了与[16]相似的性能,因为它的精度太高,无法改进,而[16]采用的是BNNeck1结构。集成多个零件特性可以降低整体特性的影响,限制PCB和MGN基线的有效性。但PCB和MGN的性能仍优于Baseline2,即基于部分的方法对于我们的基线是有效的。

 表8. 在我们强大的基线的基础上结合最先进的方法。括号中的值是作者报告的结果。

    然而,CamStyle(我们的)优于CamStyle[31],而不是Baseline1。我们的基线对于ReID社区来说是一个强大的基线,因为它可以提高一些方法的性能,而基于它的其他方法可能无效。在某种程度上,我们的基线有效地过滤了有效的方法。

H. Performance of Different Backbones

    上述模型均采用ResNet50作为backbone进行清晰消融研究并与其他方法进行比较。对具有不同骨架(如ResNet、SeResNet、SeResNeXt和IBNNet)的模型进行评估,因为骨架对它们的性能有很大的影响。如表9所示,深度较大的backbone可以实现高性能。例如,在Market1501上,ResNet101的rank-1和mAP分别比ResNet18高出2.8%和9.3%。另外,SeNet的信道关注和ResNeXt的群卷积可以略微提高性能。将ResNet50的BN层替换为实例BN层的IBN-Net50[54]对于我们的基线也是有效的。其中IBN-Net50-a适用于标准的ReID任务,在Market1501和DukeMTMC-reID上分别获得95.0%和90.1%的rank-1准确率。然而,在Market1501->DukeMTMCReID (M->D)上IBN-Net50-b实现50.1%的rank-1和29.8%mAP,在DukeMTMCReID1501->Market1501
(D->M)上实现61.7%rank-1和32.0%mAP。

 表9. 我们的基准与不同的主干的性能。

    作为比较,在M->D上IBN-Net50-a实现了40.0%的rank-1和25.1%的mAP,在D->M上实现了52.9%的rank-1和25.1%的mAP。总之,IBN-Net-a和IBN-Net50-b分别适用于相同域任务和跨域任务。

5. CONCLUSIONS AND OUTLOOKS

    在这项研究中,我们为ReID提出了一个强基线,只增加一个额外的BN层为标准基线。我们强大的基线在Market1501上达到了94.5%的rank-1的精度和85.9%的mAP。据我们所知,这个结果是单骨干的全球特性所取得的最佳性能。我们评估相同域和跨域的ReID任务的基线的每一个技巧。此外,一些最先进的方法可以在我们的基线上有效地扩展。我们希望这项工作能够在学术界和学术界推动ReID的研究行业。

    我们观察到ID loss和之前的ReID基线中的triplet loss之间的不一致。为了解决这个问题,我们提出了一个BNNeck,以分离两个损失到两个不同的特征空间。扩展实验表明,BN层可以增强类内紧性和降低类内紧性。此外,ID loss适用于特征优化。

    我们强调ReID任务的评价忽略了表征特征的聚类效应。然而,聚类效应在一些ReID应用中很重要,比如跟踪任务,其中重要的一步是确定一个距离阈值来分离正、负对象。解决这个问题的一个简单方法是使用center loss来训练模型。center loss可以提高特征的聚类效果,但可能会降低ReID模型的排序性能。

    在将来,我们将在这个强大的基础上探索更多的技巧和有效的方法。与人脸识别相比,person ReID还有进一步探索的空间。此外,一些混淆仍然存在,比如REA为什么会降低我们基线中的跨域性能。结论不明确的地方值得研究。

  • 5
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值