摘要
目前跨模态行人重识别方法主要利用像素或特征对齐来处理类内变化和模态间的变化,缺点是很难在全局和局部表示之间保持语义身份的一致性。针对这个问题,本文提出了一种新的跨模态图推理方法(CGRNet),对模态和上下文之间的关系进行全局建模和推理,并保持全局和局部表示之间的语义一致性。
本文主要贡献:
(1)本文通过建模不同模态和上下文之间的相互依赖,开发了一种新的跨模态全局推理方法。
(2)引入了一个局部模态相似性模块,在保留身份信息的同时减少模态问题。此外,图形推理模块还可以很好的推理RGB图像和IR图像之间的身份相关关系。
(3)在SYSU-MM01和RegDB数据集上取得了很好的效果
具体方法
如上图所示,首先用一个双流特征提取器分别提取RGB的特定特征和IR的特定特征。然后这两种特征通过最小化gram相似度矩阵,从而减少RGB和IR图像之间的模态差异。然后将分布对齐的RGB和IR特征传给分层图推理模块,以建模它们之间的身份和模态关系。
(1)局部模态相似度模块
首先介绍一下Gram矩阵:每个图片经过ResNet提取提取特征之后,特征尺寸为(H,W,C)
上面公式中的G即为Gram矩阵,Gram矩阵的(k,k')表示第k个通道和第k'个通道中对应元素相乘然后累加得到的结果。
然后说一下Gram矩阵的含义:先说一些协方差公式
我们把第k个通道当成X,第k'个通道当成Y,所以Gram矩阵的(k,k')表示的是第k个通道和第k'个通道的偏心协方差(因为没有减去均值)。即表示的是第k个通道和第k'个通道的相关性。
在feature map中,每个数字都来自于一个特定滤波器在特定位置的卷积,因此每个数字代表一个特征的强度,而Gram计算的实际上是两两特征之间的相关性,哪两个特征是同时出现的,哪两个是此消彼长的等等,同时,Gram的对角线元素,还体现了每个特征在图像中出现的量,因此,Gram有助于把握整个图像的大体风格。格拉姆矩阵用于度量各个维度自己的特性以及各个维度之间的关系。内积之后得到的多尺度矩阵中,对角线元素提供了不同特征图各自的信息,其余元素提供了不同特征图之间的相关信息。这样一个矩阵,既能体现出有哪些特征,又能体现出不同特征间的紧密程度。(https://blog.csdn.net/wangyang20170901/article/details/79037867)
作者受风格转换的启发,采用Gram矩阵来减少潜在空间中的模态变化。但是作者并没有直接使用Gram矩阵,而是使用与Gram矩阵非常类似的通道非局部模块(CAM)的亲和矩阵f(xi,xj),其实公式是一样的。
通过引入style损失,从而引导提取的RGB图像特征和IR提取的特征风格相似,从而可以消除模态差异。
同时,作者将非局部模块插入到两个双流提取器中,从而提取全局特征。
非局部模块公式:
非局部模块网络图:
(2)层次图推理模块
节点嵌入:
为了加强RGB和IR特征图中的身份表示,我们的目标是在两个特征中利用RGB-IR全局-局部关系。根据RGB和IR的Feature map,将节点集组合为
Ng是由Feature map经过平均池化压缩得到的,Nl是由Feature map水平划分得来。
图推理:
首先讲一下标准图卷积的简单实现:
,N为节点个数,D为每个节点的特征数。A为邻接矩阵。Wl为l层的权重矩阵。邻接矩阵A与H相乘代表某节点的特征与邻居节点加权相加,权重为两者的相关性。这样得到的
中每个节点的信息就融合了其他节点的信息。
本文将自注意力机制(即前面的非局部模块公式)替换A,所以非局部图推理可以重新表述为:
层次图推理:
为了突出显示分类的相互依赖关系,对local2local (l2l), local2global (l2g) and global2local (g2l) 之间的关系进行了自定义:
从而将像素级对齐扩展到部分级对齐。局部上下文与全局上下文之间的相互依赖性会增强个体关系的身份鉴别能力。在实际学习中,我们分别在l2l、l2g和g2l的情况下,对Grgb和对应的Gir使用三个共享图模块,其中嵌入高斯核用于f(xi,xj)。在图推理中,我们不选择显式地利用模态间的依赖关系,因为两个特征的全局向量之间的关系可以从身份损失Lid和边缘样本挖掘损失LMSML(由于没有代码,从我的理解看,这个损失包括三个共享图模块的输出的LMSML)的监督中学习。
总体损失:
由于大的模态方差,模态间正对的分布总是有异常的距离,而模态内正对的分布可能更接近。因此,我们采用了硬挖掘策略,在整个批次中选择最不相似的正对和最相似的负对,以增强约束能力。
上式损失是一种四重损失,其中A和A' 是正样本对,B和C是A的负对,h是l2归一化特征向量。LMSML使用极值,而不是平均值,将硬样本的嵌入推回。
总损失:
实验结果:
在SYSU-MM01数据集上与其他方法的对比: