行人重识别中常用的损失函数
一 表征学习损失函数
表征学习主要关注如何提取各个行人身份的特征,忽略行人身份间相似度的考虑
1.交叉熵损失
主要应用于将特征向量映射至所属类别的概率
在具体的操作过程中,将网络f最后输出的特征向量再经过一个全连接层,该全连接层的输出向量长度是当前数据集中行人身份的个数N,此处将全连接的输出向量记为a=[a1,a2,…an],然后使用 softmax 函数
对上述向量计算分类概率,公式如下:
其中p(n)指的是输入图像x属于第n(n∈[1,N],n∈Z)个行人身份的概率值。
2.ID损失
ID损失一般是交叉熵损失结合行人的身份标签来训练网络。
公式如下:
其中q(i)指的是图像的真实标签,(每一样本属于且仅属于一个类别的概率为1,属于其它类别的概率为0)若图像x的真实标签为i,则q(i)= 1,反之则q(i)=0。
3.属性损失
属性损失一般是交叉熵损失结合行人的属性标签来训练网络。
具体来说,对于某一类属性,设该属性有m(m∈ [1,M], m∈Z)种取值,则这类属性可以同上述 ID损失的计算步骤一样,先计算经过全连接层后的 softmax 分类得分P(m),然后计算属性损失LAtt(f,x)
4.身份标签和属性标签的联合表征学习法
公式如下:
其中λID为 ID 损失的权重因子,
λ
i
λ^{i}
λiAtt为第i类属性的属性损失权重因子。
优点:结合行人身份标签和属性标签的联合表征学习法不仅可以提取更好的
行人特征表达,还可以判断出行人图像中的一些属性信息。
二 度量学习损失函数
度量学习主要关注优化网络f的度量损失,让同一身份的行人图像对(正样本对)的相似度最高,让不同身份的行人图像对(负样本对)的相似度最低。
优点:在特征空间中较好的优化正负样本对的距离,不受到行人身份数量的限制,可以较好地应用到大尺度的数据集中
缺点:对于行人表征层面的信息挖掘能力较为有限
常见优化方法:对比损失,三元组损失,四元组损失
对于两个图像相似度计算,使用余弦距离,或者欧氏距离作为两个图像的相似度值。
对于两张图像x1, x2,他们的相似度值记为dx1, dx2
1.对比损失
这里网络f接收成对的图像输入,设输入的图像分别为xa, xb,标签y表
示输入的图像是否来自同一行人,若是,则y = 1,反之y = 0,公式如下:
其中α指的是边界阈值参数,即相似度大于该值的负样本对不再需要优化。
理解:1,同一人,Lc=
d
2
d^{2}
d2xa,xb 输入图像之间的距离
0,不同人,Lc=max{
(
α
−
d
x
a
,
x
b
)
2
(α - d~xa,xb~)^{2}
(α−d xa,xb )2,0} 输入图像与边缘阈值的距离
2.三元组损失
目标:使具有相同标签的输入样本在 Embedding 空间尽量接近,而使不同标签的样本在 Embedding 空间尽量远离。
即拉近正样本对之间的距离并增大负样本对之间距离,来满足模型所期望特征空间分布。
这里网络f接收三张图像,这三张图像分别是锚样本Anchor(xa)、正样本Positive(xp与锚样本属于同一ID)和负样本Negative(xn),其中正样本和锚点构成正样本对,负样本和锚点构成负样本
对,公示如下:
其中α指的是边界阈值参数,用于控制优化的力度;dxa,dxp表示样本对之间的距离。
当正样本对趋近于0且负样本对趋近于α时,损失Lt最小化。
思想:拉近正样本对之间的相似度,推开负样本对之间的相似度
3.难样本挖掘三元组损失
搜索当前训练批次图像中最不相似的正样本对和最相似的负样本对(挑选难度最大的正样本和负样本来组成样本对)来进行优化。