Towards a Unified Middle Modality Learning for Visible-Infrared Person Re-Identification论文笔记
Towards a Unified Middle Modality Learning for Visible-Infrared Person Re-Identification论文笔记
摘要
可见-红外行人重识别(VI-ReID)旨在通过不同光谱搜索行人的身份。在这项任务中,主要挑战之一是可见光(VIS)和红外(IR)图像之间的模态差异。一些最先进的方法试图设计复杂的网络或生成(GAN)的方法来减轻模态差异,而忽略了VIS和IR两种模态之间的高度非线性关系。本文提出了一种非线性中间模态生成器(MMG),以减少模态差异。我们的MMG可以有效地将VIS和IR图像投影到统一的中模态图像(UMMI)空间中,生成中间模态图像(M-modality)。将生成的M-模态图像与原始图像送入骨干网络,以减小模态差异。
此外,为了将VIS和IR图像生成的两种M模态图像在UMMI空间中拉到一起,我们提出了一种分布一致性损失(DCL)方法,使生成的M模态图像的模态分布尽可能一致。最后,我们提出了一种中间模态网络(MMN),以显式的方式进一步增强特征的识别和丰富度。在两个具有挑战性的数据集上,已经进行了大量的实验来验证MMN在VI-ReID中的优越性。即使与SYSU-MM01数据集上最新的最先进的方法相比,MMN在Rank-1和mAP方面的增益分别超过11.1%和8.4%
出发点
在本文中,从以下两个方面解决了这一问题:
(a)引入非线性网络来缓解VIS和IR图像之间的模态差异
(b)将VIS和IR图像投影到统一的中间模态图像(UMMI)空间,以帮助减少它们之间的模态差异。
主要贡献
本文的主要贡献如下:
(1)提出了一种非线性中间模态生成器来生成中间模态图像,以辅助VI-ReID任务。特别地,所提出的中间模态生成器可以有效地将VIS和IR图像投影到统一的中间模态图像空间中。
(2)提出了一种有效的分布一致性损失方法,使VIS和IR图像得到的两类中间模态图像在UMMI空间中的模态分布一致,进一步提高了改方法的性能。
(3)大量的实验表明,该方法在SYSU-MM01和RegDB数据集上都显著优于其他竞争方法。
相关工作
单模态行人重识别
近年来,一些研究[6,8,28,30,47]侧重于发现不受光照、分辨率、人体姿态、遮挡等干扰因素影响的判别表征。在VIS下进行ReID任务。为此,几种基于局部分块的方法(如PCB[30]、MGN[33]和Pyramid[48])利用部分级线索,将输入图像或特征图水平划分为几个部分。然而,这种策略通常需要身体部位相对整齐。因此,需要设计一个复杂的网络来包含不同层次的特征。与水平划分特征映射的基于部位的方法相比,还有一些方法利用人的结构先验,如语义解析知识[17,51]、人的属性[15,32]和姿态估计[9,21,26],对人体部位进行对齐,从人体部位提取准确、鲁棒的部分级特征。然而,这些方法容易由于错误的语义分析和姿态估计而引入一些额外的噪声。此外,受GAN强大的生成能力[11]的启发,其他一些方法[10,23,37,49,52]利用GAN生成新图像来缓解数据集不足的问题。
虽然上述方法已经达到了最先进的性能,但它们并不适用于VI-ReID。
可见光-红外行人重识别
最近,VI-ReID已经成为一个重要的话题。VI-ReID的目的是将VIS和IR摄像机捕捉到的不同形态的人进行匹配。该方向主要有两大类:一类是提取VIS-IR图像之间的模态不变特征;另一种是基于生成的方法(GAN),旨在探索一种有效的转换,以减少模态差异。
前一类方法试图设计一个网络来找到一个模态共享的特征空间,其中模态差异最小。例如,Wu等人[40]提出了一种面向自动进化模态特定节点的深度零填充网络。Feng等人[7]利用与模态相关的信息,通过为每个模态构建单独的网络来提取模态特定的表示。受对抗性学习的启发,Dai等人[3]设计了一种基于生成式对抗性训练的前沿判别器,以学习来自不同模态的判别特征表示。Ye等人[45]通过挖掘VI-ReID的模态内和跨模态上下文线索,提出了一种新的动态双注意聚合学习方法。Wu等[39]利用模态内相似度来指导跨模态相似度的学习,同时减轻了模态特定信息。Lu等人[24]尝试在邻近亲和力模型的交叉模态基础上引入模态特征。Pu等人[29]采用变分自编码器分离身份相关和身份无关的交叉模态特征子空间。然而,这些方法大多侧重于通过特征对齐来减小模态差异,而忽略了图像空间的巨大变化。
第二种方法是通过将一种模态转换为另一种模态来减少模态差异。例如,Wang等人[36]提出将IR图像转换成VIS图像,再将VIS图像转换成IR图像。AlignGAN[34]提出将VIS图像转换为IR图像,对图像和特征对齐都有有效的约束,并取得了显著的性能提升。JSIA-ReID [35]提出了一种生成跨模态配对图像并同时执行全局集合级和细粒度实例级对齐的方法。Hi-CMD[2]引入了一种有效的生成器来提取姿态和光照不变性特征,并保持特定人物的身份特征。最近,Li等人[20]提出从VIS图像中生成一种新的X-模态,将VIS- IR双模态学习视为三模态学习问题。虽然X-模态网络是一个轻量级网络,但X-模态与IR模态之间仍然存在较大的模态差异。与这些方法不同的是,本文的方法不仅采用轻量级网络作为X模态,而且有效地将VIS和IR模态投影到UMMI空间中,从而实现了显著的改进。
本文的方法
模型架构
图2提供了提议的MMN方法的概述。MMN的输入是一对VIS-IR图像。将VIS和IR图像输入到MMG模块中生成中模态(M-模态)图像。与原始VIS和IR图像一起生成的M模态图像被馈送到两个流的ResNet50[13,45]主干中以提取模态不变特征,其中每个流中的第一个卷积块是相互独立的,以捕获模态特定的低级表示,而中间和深度卷积块是参数共享,以学习模态共享的中、深层表示。受PCB[30]在提取判别特征方面工作的启发,该方法将特征映射水平划分为若干部分,并将每个部分馈送到分类器中学习局部线索,我们也使用它来提高所提出模型的性能,PCB分块数量设置为4。我们进一步修改最后一个卷积块的步长为1,以保留更多的空间信息[30]。
在具有平均池化(AP)层的卷积层之后,我们增加了一个批处理归一化(BN)层,该层在所有模态图像中参数共享,使损失函数更容易收敛[25]。最后,将BN层前后的特征馈送到不同的损失函数中,共同优化网络。
中间模态生成器(MMG)
为方便起见,我们首先定义VI-ReID任务。我们的MMG取两个模态的图像对作为输入。设
I
=
{
I
VIS
,
I
IR
∣
I
VIS
,
I
IR
∈
R
3×H×W
}
I = \{ I_\text{VIS},I_\text{IR}|I_\text{VIS},I_\text{IR}\in\mathbb{R}^\text{3×H×W}\}
I={IVIS,IIR∣IVIS,IIR∈R3×H×W}分别表示来自数据集的VIS和IR图像对。
I
I
I是一组图像对。
3
×
H
×
W
3×H×W
3×H×W分别对应通道、高度和宽度。所有输入图像都被调整为3×384×192,因此我们可以将红外图像视为三通道图像。实际上,它是一个只有一个通道的灰度图像。我们设置
I
m
=
{
I
VtM
,
I
ItM
∣
I
VtM
,
I
ItM
∈
R
3×H×W
}
I_\text{m} = \{ I_\text{VtM},I_\text{ItM}|I_\text{VtM},I_\text{ItM}\in\mathbb{R}^\text{3×H×W}\}
Im={IVtM,IItM∣IVtM,IItM∈R3×H×W}作为从
I
VIS
I_\text{VIS}
IVIS和
I
IR
I_\text{IR}
IIR图像生成的M-模态
V
t
M
VtM
VtM和
I
t
M
ItM
ItM图像。
MMG包括模态信息编码器(MIE)和模态信息解码器(MID),前者用两个不共享参数的编码器编码不同的模态信息,后者用两个共享参数的解码器将VIS和IR图像投影到UMMI空间中。图3提供了建议的MMG模块的概述。
模态信息编码器
由于红外图像具有一个包含红外光信息的通道,而VIS图像具有三个包含VIS光颜色信息的通道,因此我们首先在通道级别上将VIS图像和IR图像对齐。根据[34],VIS到IR的转换比IR到VIS的转换更容易。
基于以上分析,我们提出两个独立的MIEs:
F
VtC
\mathcal{F_\text{VtC}}
FVtC和
F
ItC
\mathcal{F_\text{ItC}}
FItC分别对这两个模态进行编码。
对于VIS模态,我们有:
I
VtC
=
F
VtC
(
I
VIS
)
,
(
1
)
I_\text{VtC}=\mathcal{F_\text{VtC}}(I_\text{VIS}), (1)
IVtC=FVtC(IVIS),(1)
对于IR模态,我们有:
I
ItC
=
F
ItC
(
I
IR
)
,
(
2
)
I_\text{ItC}=\mathcal{F_\text{ItC}}(I_\text{IR}), (2)
IItC=FItC(IIR),(2)
由于VIS和IR模态之间的模态差异主要来自通道水平[20],因此本文提出的MIEs:
F
VtC
\mathcal{F_\text{VtC}}
FVtC和
F
ItC
\mathcal{F_\text{ItC}}
FItC首先利用两个3×1全连接层在通道级别将三通道图像
I
VIS
I_\text{VIS}
IVIS和
I
IR
I_\text{IR}
IIR编码到一个通道数据
I
C
=
{
I
VtC
,
I
ItC
∣
I
VtC
,
I
ItC
∈
R
1×H×W
}
I_\text{C} = \{ I_\text{VtC},I_\text{ItC}|I_\text{VtC},I_\text{ItC}\in\mathbb{R}^\text{1×H×W}\}
IC={IVtC,IItC∣IVtC,IItC∈R1×H×W},然后,由于VIS和IR图像之间的关系是高度非线性的,因此使用ReLU激活层[18]来增加网络的非线性能力。最后,使用两个1×1的全连接层进一步调整
I
C
I_\text{C}
IC。
通过以上操作,我们得到VIS和IR图像的特征,并在通道级对VIS图像和IR图像进行对齐。
模态信息解码器
该方法用于将编码为一个通道的数据投影到统一的三通道图像空间中。在这个统一的图像空间中,VIS和IR图像之间的距离变得更近,从而可以减少模态差异。
在这里,我们采用两个参数共享的MIDs:
F
CtM
\mathcal{F_\text{CtM}}
FCtM将单通道图像
I
C
I_\text{C}
IC解码为三通道图像
I
m
=
{
I
VtM
,
I
ItM
∣
I
VtM
,
I
ItM
∈
R
3×H×W
}
I_\text{m} = \{ I_\text{VtM},I_\text{ItM}|I_\text{VtM},I_\text{ItM}\in\mathbb{R}^\text{3×H×W}\}
Im={IVtM,IItM∣IVtM,IItM∈R3×H×W}那就是:
I
VtM
=
F
CtM
(
I
VtC
)
,
I
ItM
=
F
CtM
(
I
ItC
)
,
(
3
)
I_\text{VtM}=\mathcal{F_\text{CtM}}(I_\text{VtC}), I_\text{ItM}=\mathcal{F_\text{CtM}}(I_\text{ItC}), (3)
IVtM=FCtM(IVtC),IItM=FCtM(IItC),(3)
提出的MID包括通道级的1×3全连接层,然后是ReLU激活层,以获得三通道中间模态图像
I
m
I_\text{m}
Im。ReLU激活层用于进一步增加非线性关系。通过以上操作,我们可以生成M-模态图像。
生成的M-模态图像与VIS图像和IR图像具有相同的标签。最后,将M-模态、VIS和IR模态图像一起输入主干网络,辅助VI-ReID任务,减少模态差异。通过考虑VIS和IR图像之间的非线性关系,并将其投影到UMMI空间中,所提出的MMG模块可以促进骨干网络的优化过程。同时,对骨干网络的优化可以有效地促进MMG的学习,进一步提高生成的M-模态图像的质量。因此,提出的端到端MMN方案可以使这两个网络相互受益。
分布一致性损失(DCL)
为了进一步将
I
VIS
I_\text{VIS}
IVIS和
I
IR
I_\text{IR}
IIR生成的两种M-模态图像结合在一起,我们提出了一种分布一致性损失(DCL)方法。DCL的计算公式为:
L
dcl
=
1
N
∑
i=1
N
m
e
a
n
[
f
(
I
VtM
i
)
−
f
(
I
ItM
i
)
]
,
(
4
)
\mathcal{L_\text{dcl}}=\frac{1}{N}\sum\limits_\text{i=1}^Nmean[f(I_\text{VtM}^i)-f(I_\text{ItM}^i)],(4)
Ldcl=N1i=1∑Nmean[f(IVtMi)−f(IItMi)],(4)
其中
N
N
N是在训练阶段的一批图像中
I
VtM
I_\text{VtM}
IVtM和
I
ItM
I_\text{ItM}
IItM的数量,
f
(
⋅
)
f(·)
f(⋅)是所提出的网络的输出,后面是两个完全连接的层。
m
e
a
n
[
A
−
B
]
mean[A-B]
mean[A−B]为A与B之差的均值运算。很明显,DCL的优化会使两类m -模态特征趋于相似
联合优化
生成的M-模态图像与原始VIS和IR图像一起馈送到两流ResNet50骨干网中[13,45],以辅助网络优化。在提出的MMN中,除了提出的DCL外,我们还结合了标签平滑交叉熵损失[25]和三元组损失[14]来共同优化MMN。
标签平滑交叉熵损失可以防止估计模型过拟合[25],这是一种广泛使用的分类任务方法。标记平滑交叉熵损失表示为:
L
id
=
∑
i
=
1
N
(
−
q
i
log
(
p
i
)
)
,
q
i
=
{
1
−
C
−
1
C
ε
,
i
=
y
ε
C
,
i
≠
y
,
(
5
)
\mathcal{L_\text{id}} = \sum\limits_{i=1}^N \left(-q_i \log(p_i)\right), \quad q_i = \begin{cases} 1 - \frac{C-1}{C}\varepsilon, & i = y\\ \frac{\varepsilon}{C}, & i \neq y \end{cases}, (5)
Lid=i=1∑N(−qilog(pi)),qi={1−CC−1ε,Cε,i=yi=y,(5)
其中
C
C
C为训练集中的人ID个数,
y
y
y为人ID标签,
p
i
p_i
pi为类
i
i
i的ID预测逻辑,
ε
\varepsilon
ε为一个小常数,用于鼓励模型对训练集的置信度降低[25,31]。根据前面的工作[25],将
ε
\varepsilon
ε设为0.1。
然后,我们利用三元组损失[14],这有助于最小化类内相似度,最大化类间相似度进行度量学习。由于三元祖损失可以减小正样本之间的距离,增加负样本之间的距离,因此可以将其用于VI-ReID任务,大大减小模态差异。由于我们将M-模态图像与原始VIS和IR图像一起使用来辅助MMN的训练,因此我们形成一个大小为4M的批处理,其中M表示每个模态的输入图像数量。我们为
I
VIS
I_\text{VIS}
IVIS设置第一个M,为
I
VtM
I_\text{VtM}
IVtM设置第二个M,为
I
ItM
I_\text{ItM}
IItM设置第三个M,为
I
IR
I_\text{IR}
IIR设置第四个M。对于
I
VIS
I_\text{VIS}
IVIS和
I
IR
I_\text{IR}
IIR,
I
VIS
I_\text{VIS}
IVIS和
I
IR
I_\text{IR}
IIR之间的跨模态三元组损失表示为:
L
tri
(V,I)
=
L
tri
(
V
,
I
)
+
L
tri
(
I
,
V
)
,
(
6
)
\mathcal{L}_\text{tri}^\text{(V,I)}=\mathcal{L_\text{tri}}(V,I)+\mathcal{L}_\text{tri}(I,V), \quad (6)
Ltri(V,I)=Ltri(V,I)+Ltri(I,V),(6)
其中
L
tri
(
V
,
I
)
\mathcal{L_\text{tri}}(V,I)
Ltri(V,I)表示正样本对来自VIS和IR模态,负样本对来自VIS模态。然后我们有:
L
tri
(
V
,
I
)
=
∑
i=1
M
[
ξ
+
max
j=3M+1,...,4M
y
i
=
y
j
D
(
V
i
,
I
j
)
−
min
k
=
3
M
+
1
,
.
.
.
,
4
M
y
i
≠
y
k
D
(
V
i
,
I
k
)
]
+
,
(
7
)
\mathcal{L_\text{tri}}(V,I)=\sum\limits_\text{i=1}^M[\xi+\max\limits_{\substack{\text{j=3M+1,...,4M} \\ y_i=y_j}}D(V_i, I_j)-\min\limits_{\substack{k=3M+1,...,4M \\ y_i\neq y_k}}D(V_i,I_k)]_+,\quad (7)
Ltri(V,I)=i=1∑M[ξ+j=3M+1,...,4Myi=yjmaxD(Vi,Ij)−k=3M+1,...,4Myi=ykminD(Vi,Ik)]+,(7)
D
(
V
i
,
I
k
)
D(V_i,I_k)
D(Vi,Ik)表示VIS图像和IR图像之间的欧氏距离,
ξ
\xi
ξ是一个边距参数,
[
z
]
+
max
(
z
,
0
)
[z]_+\max(z,0)
[z]+max(z,0),
i
i
i和
j
j
j是同一身份但是与
k
k
k身份不同。同样,
L
tri
\mathcal{L_\text{tri}}
Ltri表示正样本对来自IR和VIS模态,负样本对来自IR模态。那就是:
L
tri
(
I
,
V
)
=
∑
i=3M+1
4M
[
ξ
+
max
j=1,...,M
y
i
=
y
j
D
(
I
i
,
V
j
)
−
min
k
=
1
,
.
.
.
,
M
y
i
≠
y
k
D
(
I
i
,
V
k
)
]
+
,
(
8
)
\mathcal{L_\text{tri}}(I,V)=\sum\limits_\text{i=3M+1}^\text{4M}[\xi+\max\limits_{\substack{\text{j=1,...,M} \\ y_i=y_j}}D(I_i, V_j)-\min\limits_{\substack{k=1,...,M \\ y_i\neq y_k}}D(I_i,V_k)]_+,\quad (8)
Ltri(I,V)=i=3M+1∑4M[ξ+j=1,...,Myi=yjmaxD(Ii,Vj)−k=1,...,Myi=ykminD(Ii,Vk)]+,(8)
其他三元组的损失与这个相似。最终的跨模态三元组损失函数计算为:
L
tri
=
L
tri
(V,I)
+
L
tri
(V,ItM)
+
L
tri
(I,VtM)
+
L
tri
(VtM,ItM)
(
9
)
\mathcal{L_\text{tri}}=\mathcal{L_\text{tri}^\text{(V,I)}}+\mathcal{L_\text{tri}^\text{(V,ItM)}}+\mathcal{L_\text{tri}^\text{(I,VtM)}}+\mathcal{L_\text{tri}^\text{(VtM,ItM)}} \quad (9)
Ltri=Ltri(V,I)+Ltri(V,ItM)+Ltri(I,VtM)+Ltri(VtM,ItM)(9)
本文提出的MMN可以通过最小化联合损失L进行端到端优化,联合损失
L
\mathcal{L}
L由身份损失
L
id
\mathcal{L_\text{id}}
Lid、跨模态三元组损失
L
tri
\mathcal{L_\text{tri}}
Ltri和分布一致性损失
L
dcl
\mathcal{L_\text{dcl}}
Ldcl组成:
L
=
L
id
+
λ
1
L
tri
+
λ
2
L
dcl
,
(
10
)
\mathcal{L}=\mathcal{L_\text{id}}+\lambda_1\mathcal{L_\text{tri}}+\lambda_2\mathcal{L_\text{dcl}},\quad (10)
L=Lid+λ1Ltri+λ2Ldcl,(10)
其中
λ
1
\lambda_1
λ1和
λ
2
\lambda_2
λ2是
L
tri
\mathcal{L_\text{tri}}
Ltri和
L
dcl
\mathcal{L_\text{dcl}}
Ldcl的权重
实验结果