【论文笔记】Margin Sample Mining Loss: A Deep Learning Based Method for Person Re-identification

摘要

Person re-identification (ReID) is an important task in computer vision. Recently, deep learning with a metric learning loss has become a common framework for ReID. In this paper, we propose a new metric learning loss with hard sample mining called margin smaple mining loss (MSML) which can achieve better accuracy compared with other metric learning losses, such as triplet loss. In experiments, our proposed methods outperforms most of the state-ofthe-art algorithms on Market1501, MARS, CUHK03 and CUHK-SYSU.

行人重识别是一个计算机视觉领域非常重要的一个任务。基于度量学习方法的深度学习技术如今成为了ReID的主流方法。在本论文中,我们提出了一种新的引入难样本采样的度量学习方法,这种方法叫做MSML。实验表明,我们提出的方法击败了目前大多数的方法,在Market1501,MARS,CUHK03和CUHK-SYSU数据集上取得了state-of-the-arts的结果。

方法

Triplet loss是一种非常常用的度量学习方法,而Quadruplet loss和TriHard loss是它的两个改进版本。Quadruplet loss相对于Triplet loss考虑了正负样本对之间的绝对距离,而TriHard loss则是引入了hard sample mining的思想,MSML则吸收了这两个优点。

度量学习的目标是学习一个函数g(x):RF→RD” role=”presentation” style=”position: relative;”>g(x):FDg(x):RF→RD空间的距离上。
通常我们需要定义一个距离度量函数D(x,y):RD×RD→R” role=”presentation” style=”position: relative;”>D(x,y):D×DD(x,y):RD×RD→R来表示嵌入空间(Embedding space)的距离,而这个距离也用来重识别行人图片。

在国内外研究现状里面介绍的三元组损失、四元组损失和TriHard损失都是典型度量学习方法。给定一个三元组{a,p,n}” role=”presentation” style=”position: relative;”>{a,p,n}{a,p,n},三元组损失表示为:

Lt=(da,p−da,n+α)+” role=”presentation” style=”text-align: center; position: relative;”>Lt=(da,pda,n+α)+Lt=(da,p−da,n+α)+
L_t = (d_{a,p}-d_{a,n}+\alpha)_+
三元组损失只考虑了正负样本对之间的相对距离。为了引入正负样本对之间的绝对距离,四元组损失加入一张负样本组成了四元组 {a,p,n1,n2}” role=”presentation” style=”position: relative;”>{a,p,n1,n2}{a,p,n1,n2},而四元组损失也定义为:
Lq=(da,p−da,n1+α)++(da,p−dn1,n2+β)+” role=”presentation” style=”text-align: center; position: relative;”>Lq=(da,pda,n1+α)++(da,pdn1,n2+β)+Lq=(da,p−da,n1+α)++(da,p−dn1,n2+β)+

假如我们忽视参数 α” role=”presentation” style=”position: relative;”>αα的影响,我们可以用一种更加通用的形式表示四元组损失:
Lq′=(da,p−dm,n+α)+” role=”presentation” style=”text-align: center; position: relative;”>Lq=(da,pdm,n+α)+Lq′=(da,p−dm,n+α)+
L_{q^\prime} = (d_{a,p}-d_{m,n}+\alpha)_+
其中 m” role=”presentation” style=”position: relative;”>mm,则TriHard损失表示为:
Lth=1P×K∑a∈batch(maxp∈Ada,p−minn∈Bda,n+α)+” role=”presentation” style=”text-align: center; position: relative;”>Lth=1P×Kabatch(maxpAda,pminnBda,n+α)+Lth=1P×K∑a∈batch(maxp∈Ada,p−minn∈Bda,n+α)+
L_{th} = \frac{1}{P \times K}\sum_{a \in batch}(\max_{p \in A} d_{a,p}-\min_{n \in B} d_{a,n}+\alpha)_+
而TriHard损失同样只考虑了正负样本对之间的相对距离,而没有考虑它们之间的绝对距离。于是我们把这种难样本采样的思想引入到 Lq′” role=”presentation” style=”position: relative;”>LqLq′,可以得到:
Lmsml=(maxa,pda,p−minm,ndm,n+α)+” role=”presentation” style=”text-align: center; position: relative;”>Lmsml=(maxa,pda,pminm,ndm,n+α)+Lmsml=(maxa,pda,p−minm,ndm,n+α)+
L_{msml} = (\max_{a,p} d_{a,p}-\min_{m,n} d_{m,n}+\alpha)_+
其中 a,p,m,n” role=”presentation” style=”position: relative;”>a,p,m,na,p,m,n可以看作是负样本对的下界。MSML是为了把正负样本对的边界给推开,因此命名为边界样本挖掘损失。MSML只用了两对样本对计算损失,看上去浪费了很多训练数据。但是这两对样本对是根据整个batch的结果挑选出来了,所以batch中的其他图片也间接影响了最终的损失。并且随着训练周期的增加,几乎所有的数据都会参与损失的计算。总的概括,MSML是同时兼顾相对距离和绝对距离并引入了难样本采样思想的度量学习方法。
图片

如果用一张图概括这几个loss之间的关系的话,可以表示为下图。

图片

结果

论文里在Market1501,MARS,CUHK03和CUHK-SYSU数据集都进行了对比实验,为了减少实验数量,并没有在每个数据集上都做一次实验,而是用所有数据集的训练集训练一个模型。为了增加结果的可信度,使用了Resnet50、inception-v2、Resnet-Xecption三个在ImageNet上pre-trained的网络作为base model,和classification、Triplet loss、Quadruplet loss、TriHard loss四个损失函数进行了对比。结果如下表,可以看出MSML的结果还是很不错的。

图片

简评

MSML是一种新的度量学习方法,吸收了目前已有的一些度量学习方法的优点,能过进一步提升模型的泛化能力。本文在行人重识别问题上发表了这个损失函数,但是这是一个在图像检索领域可以通用的度量学习方法。

猜你喜欢

转载自blog.csdn.net/weixin_36411839/article/details/81808889