2019 ArXiv之ReID:Hetero-Center Loss for Cross-Modality Person Re-Identification

Fidelia ·
更新时间:2024-11-14
· 563 次阅读

Hetero-Center Loss for Cross-Modality Person Re-Identification

当前的问题及概述
目前所有的框架都在解决跨模态差异问题,很少有研究探讨改进类内跨模态相似性。
本文提出了一个新的损失函数,称为异中心损失(HC损失),以减少类内交叉模态的变化。具体来说,HC损失可以通过约束两个异质模态之间的类内中心距离来监督网络学习的跨模态不变信息。在交叉熵损失和HC损失的联合监督下,训练网络尽可能多地实现类间差异和类内交叉模态相似性这两个重要目标。
并且,本文提出一个简单且高性能的网路架构来学习跨模态人再辨识的局部特征表示。
模型及loss
1.传统loss的缺点:
传统的loss函数,如CE loss(交叉熵损失):
在这里插入图片描述
在该loss中,x为第i个样本的y类的特征,可以看到,交叉熵损失函数是为了提取特定身份信息进而进行分类,然而,该loss并没有约束网络有效地提取模态共享信息来形成特征描述符,因为一些模态特定的信息也是引导网络正确预测身份的身份特定信息。也就是说一些身份的特定信息,如颜色信息也会很大程度的影响该loss对正确身份预测的准确性,所以很多传统loss并不是适合跨模态问题。
在这里插入图片描述
不同颜色的点表示不同ID,不同形状的点表示不同模态,其中红色的点表示同一模态同一ID的中心,图中可以看出,交叉熵损失可以大致的将不同ID分类开来,但是不同模态的同一ID的图像的距离也被分开,甚至有的不同ID同一模态图像的距离大于同一ID不同模态的距离。
2.Hetero-Center Loss
我们提出了改进类内跨模态相似性的损失函数。直观地说,本文是为了缩小每个类中两个模态特征分布之间的距离。由于计算两个特征分布之间的距离比较困难,因此我们用两个模态分布之间的中心距离来代替两个模态分布之间的距离。Hetero-Center (HC) loss:
在这里插入图片描述
其中,在这里插入图片描述代表RGB模态和红外th模态在i类中的特征分布的中心,U为类数,M和N为类i中RGB图像和th红外图像的数量。Xi1j,和xi2j表示第i类中的第j个RGB图像和红外图像。
但是,当模型的权值在每个epoch中更新时,应该更新每个类中两个模式的中心。在这种情况下,我们需要考虑每个样本来了解每个迭代中每个类的两个中心,这需要大量的和不切实际的计算成本。
为解决这个问题,首先,我们选取的是两个模态在一个minibatch的每个类别的中心,而不是整个训练集的每个类别的中心,其次,为了使得约束在不同范围内等价,本文选用了Visible thermal person re-identification via dual-constrained top-ranking的小批量抽样策略,即在每次迭代中,我们从训练集中随机选择L 个identity,然后随机选择每个被选identity的T 张RGB图像和T张红外图像组成一个mini-batch,其大小为2L T= K,使得每一个样本量时相同的,这对于避免类不平衡引起的扰动是很重要的,同时,由于是多次迭代的随机抽样,所以小批处理中的局部约束与整个训练集全局约束具有相同的效果。
本文的identity loss选用将交叉熵损失和HC损失加权求和:
在这里插入图片描述
从下图可以看到,通过将交叉熵损失与HC损失通过不同权重λ进行求和,可以看到,图中红色圆形和红色三角形的距离大幅降低,也就是说缩短了跨模态之间的距离,使得不同ID无论是同一模态内部还是不同模态之间的样本更加紧凑,和不同ID之间的距离更大,区分更加明显。
在这里插入图片描述
同时HC loss通过反向梯度求导后的结果如下:
在这里插入图片描述
3.Two-Stream Local Feature Network(TSLFM)
在这里插入图片描述
本文提出的TSLFM网络结构,首先将通过RGB和IR图像通过two-stream结构分别提取各自的特征,特征提取器的目的是从异构图像中捕获信息,形成最终的特征描述符,将提取到的给模态的特征通过传统的平均池层将从主干输出的特征图分割为P个stripes。对于每个stripes都被平均成一个局部特征向量,然后采用全连通(FC)层来减少每个局部特征向量的维数,此时为了给两个模态搭起桥梁,在两个分支中相应的全连接层权重共享,对于每个FC层,采用了一个Leaky ReLU激活层和一个批处理归一化层来解决内部协变量移位问题。再将降维特征输入l2 -范数层和FC层,计算HC损失和CE损失,采用HC损耗和CE损耗来监督网络的培训的原因是进行特征嵌入,特征嵌入的目的是为了监督网络学习特征表示,从而达到两个目的:扩大类间差异和尽可能提高类内跨模态相似性。

实验
不同框架的测试结果:
在这里插入图片描述


作者:matlabLKL



center CROSS for

需要 登录 后方可回复, 如果你还没有账号请 注册新账号
相关文章