论文:Cross-modality Person re-identification with Shared-Specific Feature Transfer(基于共享特征和具体特征转移的跨模态行人重识别)
出处:CVPR2020
以往大部分跨模态行人重识别算法一般都只关注shared feature learning,而很少关注Specific feature。因为Specific feature在对面模态中是不存在的。例如在红外线图片中是没有彩色颜色信息的。反之在彩图中也不会有热度信息。而实际上做过ReID的都知道,传统ReID之所以性能很高,很大程度上就是有些“过拟合”到了这些specific信息上。比如衣服颜色一直是传统ReID的一个重要的cue。于是从这个角度出发,作者试图利用specific特征。
主要思路是利用近邻信息。思路(motivation)是这样:给定一红外线query,当搜索彩色target时,我们可以先找到一些简单的置信度高的彩色样本(这些样本大概率是红外线query的positive样本),把这些彩色样本的颜色特异特征给与红外线query。做了这件事后,红外线query样本可以利用这些彩色信息再去搜索更难的彩色样本。
双流特征提取器包括RGB特定模态分支、共享模态分支、IR特定模态分支。使用ResNet50作为backbone,每个输入图像X都通过卷积层和特征块,生成共享特征和特定特征。为了获得更好的性能,我们在浅卷积层上分离共享的和特定的流,而不是更深的完全连接层。即:
为了确保这两种特征都具有区别性,分别在每种特征上加上了分类损失Lc,确保了特征能够区分输入的 身份。
为了获得更好的可鉴别性,在特定特征上添加了单模态三元组损失(LsmT),在共享特征上添加了跨模态三态损失(LcmT):
为了统一特征表示,我们用一个三段形式来表示每个模态的特征: [RGB-specific; shared; Infrared-specific],0表示填充的零向量。然后;表示在柱维度上的连接。对于跨模态检索,我们需要将特定的特征( specific features)从一种模态转移到另一种模态来补偿这些零填充向量。
即认为每一个样本都有RGB特异特征,shared特征和红外线特异特征三段。只是对于RGB样本,其红外线特异部分是0。同样对于红外线样本,RGB特异部分是零。这种表示会便利于矩阵运算。
受图卷积网络(GCN)的启发,我们利用近邻来传播信息。SSTN首先根据这两种特征对样本的亲和力(affinity)进行建模。然后用亲和模型传播模态内信息和模态间信息。最后,在特征学习阶段使用分类和三元组损失来指导整个过程的优化。
① Affinity modeling
采用具体的特征来计算模态内的亲和力,采用共享特征计算模态间的亲和力。其中d是标准化的欧几里得距离度量函数。求得的A每个元素代表i和j的距离,从上图可以看出,模态内的亲和力矩阵A应该是一个对称阵。
类内相似性表示每个样本和相同模态的其他样本之间的关系,类间相似性表示每个样本和另一模态的样本之间的关系。可以将最终的亲和力矩阵定义为:
其中T是近邻选择的函数,它能够保持一个矩阵每行的top-k的值,将其他数值设为0。
② Shared and specific information propagation
整体的思路就是利用近邻关系进行信息传递。会补全每个样本缺失的对面模态的specific feature,而且GCN的平滑特性也会使得shared feature鲁棒性有所提高。最后三段式feature会被fusion进行训练。
亲和性矩阵 A 表示了不同样本之间的相似性,SSTN利用这个矩阵来传播特征。在这之前,首先将RGB和红外模式的特征向量在行维度上进行连接,每一行存储一个样本的特征。
然后,采用GCN方法,得到了亲和矩阵A的对角矩阵D。被填充的特征首先用近邻结构来传播,然后通过一个可学习的非线性变换进行融合。最后,传播的特征将包括这两种模式的共享特征和特定特征。传播后的特征:(其中σ是激活函数,它是我们实现中的ReLU。W是SSTN的可学习参数)
这些传传播的特征最终被输入到一个特征学习阶段,以优化整个学习过程,得到的特征T表示为:
遵循共同的特征学习原则,我们使用分类损失进行特征学习:
因为传输的特征包括共享特征和两种模式的特定特征。我们同时增加了跨模态三元组损失LcmT(T)和单模态三元组损失LsmT(T),以获得更好的鉴别能力:
虽然SSTN探索了一种新的方式,利用共享特征和具体特征去生成具有辨别性的表示。然而,总体性能仍可能存在共享功能和特定功能之间的信息重叠问题。
为了缓解这两个问题,我们利用模态自适应从共享特征中过滤出特定模态的信息。我们还提出了一个项目对抗策略和重建增强,为互补的具体模态的特征学习。
① Modality adaptation for shared features
为了净化共享特征,使之与模态无关,我们利用具有三个全连接层的模态鉴别器对每个共享特征的模态进行分类:
其中,ΘD表示模态鉴别器的参数。p(m|Hmi)是特征Hmi属于模态m的的预测概率。在识别阶段,模态鉴别器将尝试对每个共享特征的模式进行分类。在生成阶段,主干网络将产生欺骗鉴别器的特征。这个 min-max game 使共享特征不包含任何与模态相关的信息。
② Project adversarial learning for specific features
为了使具体特征与共享特征不相关,我们提出了项目对抗策略。在训练阶段,我们将特定特征投影到相同样本的共享特征中。投影误差用作损失函数
其中,Θmp表示模态m的投影矩阵。在区分阶段,Θmp的优化将尝试将特定特征投射到相应的共享特征中。在生成阶段,主干网络将生成的specific特征与共享特征不相关,以欺骗投影。这种对抗性训练可以使这两种特征的特征空间呈线性无关。
③ Reconstruction enhancement
以上两个措施可以保证共享特征和具体特征之间没有重叠信息。为了增强这两个特征的互补,我们使用每个模态特征后的解码器网络来重建输入。我们连接了共享的和特定的特性,并将其提供给解码器De:
L2损失用于评估重建图像的质量:
重构任务对整体信息损失进行了约束。结合项目模式适应和对抗性学习,引导共享和特定特征进行自我识别和多重互补性。
我们提出的算法是基于对抗的最小最大对策以端到端的方式进行训练的。
各部分的特征学习损失(身份损失和三元组损失)如下:
此外,我们认为主干特征提取器和SSTN具有同样的重要性。因此,总体特征学习损失如下:
因此,各部分的最小和最大的总体损失函数如下:
优化过程包括两个子过程:(1)固定每个鉴别器,最小化Lmin。(2)固定了除三个鉴别器之外的所有模块,最大化Lmax。