引言
ReID是计算机视觉中重要任务之一。面临的挑战是大尺度动作变化,光照变化,视角不同,背景干扰,不同身份也会相似等。目前,监督学习的ReID方法分为两种, representation learning and metric learning 。前者看作确认与识别问题verification or identification problem,确认指两个图片是否为同一身份,识别方法中,将每个身份视为一个类,最小化Softmax损失。representation learning 方法性能优异,容易训练 ,可复写,但不关注不同对的相似性,导致难以区分相同行人与不同行人。
本文提出新的难例挖掘的度量学习损失计算方法,可以最小化相同身份对间距,同时最大化不同身份对间距。将P个人,每人K张图片作为一个batch ,计算N
×
\times
×N距离矩阵,选择距离最大的相同身份对,与最小的不同身份对(难例,难以区分)来计算最终损失。贡献:1.新的难例挖掘的度量学习损失计算方法。2.实验
三元损失样本来自两个身份,一个正样本对,与负样本对,加强相同身份聚集。四元损失增加一对负样本对,样本来自三个身份。
本文方法
目标是学习一个函数
g
(
x
)
g(x)
g(x)将流形数据
R
F
R^F
RF映秀至低维
R
D
R^D
RD中,并定义一个距离度量函数
D
(
x
,
y
)
:
R
D
×
R
D
→
R
D(x,y):R^D \times R^D \rightarrow R
D(x,y):RD×RD→R用于重识别。
三元损失度量学习。一个样本由三个图片
{
I
A
,
I
A
,
,
I
B
}
\{I_A,I_{A^,},I_B\}
{IA,IA,,IB}组成,
{
I
A
,
I
A
,
}
\{I_A,I_{A^,}\}
{IA,IA,}为正样本对,来自同一个身份A,
{
I
A
,
I
B
}
\{I_A,I_B\}
{IA,IB}为负样本对,来自两个身份A与B。三元损失为
算子
(
⋅
)
+
=
m
a
x
(
⋅
,
0
)
(\cdot )_+=max(\cdot,0)
(⋅)+=max(⋅,0) f为身份特征,函数身份使得相同身份度量距离拉近,不同身份距离拉远。
四元损失度量增加不同身份C
{
I
A
,
I
A
,
,
I
B
,
I
C
}
\{I_A,I_{A^,},I_B,I_C\}
{IA,IA,,IB,IC}
第一项与三元损失一样,关注包括相同待识别图片正负样本对间距离,第二项关注不包括相同图片正负样本对间距离。
β
<
α
\beta < \alpha
β<α减少第二项影响,上式可以统一为
直接应用四元损失并不能得到预期效果。因为随着数据量的上升,可能四元组组合数量急剧上升,尤其是负样本对。绝大部分样本对都是比较简单(也就容易区分)的,这限制了模型的性能。为了解决这个问题,利用难样本采样思想。对于n个身份,每个身份m个样本的batch中,对于batch中的每一张图片a,我们可以挑选一个最难的正样本(距离最远的相同身份)和一个最难的负样本(距离最近的不同身份)和a组成一个三元组。我们定义和a为相同ID的图片集为A,剩下不同ID的图片图片集为B,则三元损失表示为:
将该思想引入到四元损失中,则表示为
C,B可以与A身份相同,若有一个身份为A则与三元损失相同,对应图a,若都不同则与原四元损失相同,对应图b。
此外第一项可以看作是正样本对距离的上界,第二项可以看作是负样本对的下界。MSML是为了把正负样本对的边界给推开,因此命名为边界样本挖掘损失。MSML只用了两对样本对计算损失,看上去浪费了很多训练数据。但是这两对样本对是根据整个batch的结果挑选出来了,所以batch中的其他图片也间接影响了最终的损失。并且随着训练周期的增加,几乎所有的数据都会参与损失的计算。总的概括,MSML是同时兼顾相对距离和绝对距离并引入了难样本采样思想的度量学习方法。
参考
【论文笔记】Margin Sample Mining Loss: A Deep Learning Based Method for Person Re-identification