目录
Abstract
Text-to-Image Person ReID 旨在通过文本描述匹配对应的行人图像,由于其丰富的模态内变化和显著的模态间间隙,具有很强的挑战性。现有的方法忽略了文本和图像之间特征粒度的差异,即文本特征是粗粒度的,而图像特征是细粒度的,这是造成两种模态间较大间隙的主要原因。
因此,本文提出了一个基于transformer的端到端框架LGUR (learn granularity-unified representations),目的是学习文本模态和图像模态的统一粒度特征。
LGRU包括两个模块:基于字典的粒度对齐(DGA, Dictionary-based Granularity Alignment)和基于原型的粒度统一(PGU, Prototype-based Granularity Unification)。
在DGA中,创建了一个多模态共享词典(MSD, Multi-modality Shared Dictionary),此外,DGA还有两个重要因素,即跨模态引导和以前景为中心的重建,以促进MSD的优化。
在PGU中,采用了一组共享的、可学习的原型作为查询,在粒度统一后的特征空间中为两种模态提取不同但语义一致的特征,进一步提高ReID性能。
在CUHK-PEDES和ICFG-PEDES两个数据集上取得了SOTA性能,代码链接: https://github.com/ZhiyinShao-H/LGUR/.
1. Introduction
因为自然语言描述相比图像更易获得,所以Text-to-Image Person ReID任务引起了人们的广泛关注,又因视觉图像和文本描述之间巨大的模态差距,Text-to-Image Person ReID比普通ReID更具有挑战性。
如图1所示,有几件不同行人穿着的夹克共享相同的描述:“黑白色的夹克”,这些夹克在图像细节上却有所不同,这就是文本模态的粗粒度和图像模态细粒度之间的差异导致的模态间隙,而由这种特征粒度引起的模态间隙往往被现有的工作所忽视。同时,现有的ext-to-Image Person ReID工作中提到的粒度差距(granularity gap)通常指的是一个单词可能对应于大小显著不同的图像块的情况,并没有明确解决模态间隙(modality gap),也就是图像的patch中包含比起对应单词更多的细粒度信息,并且,现有工作的常见解决方案是应用cross-modal attention操作,建立patch与word之间的对应关系,来适应patch大小的变化。
因此,在DGA模块中通过提出的多模态共享词典MSD来重建文本特征和视觉特征。具体来说,在内存字典中存储一组粒度统一的原子(a set of granularity-unified atoms),因为信息瓶颈在于粗糙的文本特征,所以原子的粒度应尽可能接近文本粒度,在进行特征重建时,减少基于这组原子的两种模态之间的特征粒度差距。通过两种以下两种策略来驱动MSD接近文本特征的粒度:
- 使用文本特征来指导MSD参数的学习。再次重建视觉特征,使用其匹配的文本特征作为与上述相同的transformer layer中的值,通过这两种方式缩小重构的视觉特征之间的差距,迫使MSD根据文本特征的粒度进行优化,仅在训练期间采用此策略,因此在推理阶段没有引入额外计算成本。
- 使MSD专注前景行人身体。因为文本描述通常不包含背景,因此更应关注行人图像的前景能显著降低MSD优化难度。
在PGU中,通过一个transformer layer的一组共享和可学习的原型,将文本特征和视觉特征进一步投影到一个统一的格式中,这些原型通过cross-attention架构独立地从两种模态中提取判别性和多样性特征,通过对同一原型提取的成对的文本特征和视觉特征,可以进一步缩小两种模态间的粒度差距。同时,由于使用了共享原型作为查询,LGUR的计算成本大大降低。相比之下,对于采用跨模态注意操作的方法,视觉和文本特征依次被用作查询和值;因此,每个图像和文本都必须配对才能获得检索特征,这导致了沉重的计算成本。
所提出的方法在CUHK-PEDES和ICFG-PEDES两个数据集上都取得了SOTA性能,与现有的方法相比,LGUR在测试阶段不需要在每个Image-Text pair之间进行跨模态注意力操作,而且LGUR在域泛化中同样表现良好,所提出的方法的主要贡献可概括如下:
- 确定视觉模态和文本模态之间的特征粒度差异导致了模态间隙,这是Text-to-Image Person ReID研究中很少考虑到的一个方面;
- 提出了LGUR框架可以有效地从两种模态中提取粒度化特征;
- 所提出的方法在CUHK-PEDES和ICFG-PEDES两个数据集上都取得了SOTA性能。
2. Related Works
3. Method
3.1 Backbone
采用DeiT-Small或ResNet-50作为提取视觉特征的主干网络,对于文本特征,先使用预训练的BERT模型初步处理得到embeddings,再输入到Bi-LSTM提取文本特征。
3.2 DGA
MDA, Multi-modality shared dictionary: 将MSD构造为一组原子,其形状为
D
∈
R
s
×
d
D\in \mathbb{R} ^{s\times d}
D∈Rs×d,即MDA中有s个d-维特征向量的原子D,D与V和T的维度是相同的,期望D具有与文本特征更相似的特征粒度。
Textual feature reconstruction: 使用D来重建文本特征,重建前后的文本特征应该是相似的,为此,使用ranking loss来最小化重建前和重建后这两个文本特征的相似性,这使得D具有与文本相似的粒度。形式上,使用transformer中的cross-attention来重建文本损失,其中T作为query,D作为key和value,重建后的文本特征
T
r
e
T_{re}
Tre表示如下:
T
r
e
=
M
H
A
1
(
T
,
D
,
D
)
T_{re} =MHA_{1}\left ( T,D,D \right )
Tre=MHA1(T,D,D)
M
H
A
1
(
⋅
)
MHA_{1}\left ( \cdot \right )
MHA1(⋅)表示一个由一个多头自注意力和一个前馈网络构成的transformer block。
Visual feature reconstruction: 同样通过
M
H
A
1
(
⋅
)
MHA_{1}\left ( \cdot \right )
MHA1(⋅)重建视觉特征,V作为query,D作为key和value,重建后的视觉特征表示为
V
r
e
∈
R
H
W
×
d
V_{re} \in \mathbb{R} ^{HW\times d}
Vre∈RHW×d. 与重建文本特征不同的是,作者在视觉特征重建时应用了两种策略来进一步缩小
T
r
e
T_{re}
Tre和
V
r
e
V_{re}
Vre之间的模态差距。
第一种策略是使MDA能够专注于图像前景即行人身体的重建,来忽略背景噪声,因此,通过空间注意机制1生成前景掩码
M
∈
R
H
W
×
1
M \in \mathbb{R} ^{HW\times 1}
M∈RHW×1,具体来说,将V输入到一个1×1卷积和一个sigmoid激活函数得到M,公式表示为
T
r
e
=
M
H
A
1
(
V
,
D
,
D
)
⊗
M
T_{re} =MHA_{1}\left ( V,D,D \right )\otimes \mathrm {} \textbf{M}
Tre=MHA1(V,D,D)⊗M
第二种策略是使用与输入图像配对的文本描述T再次重构V,T同时作为key和value,公式表示为
V
g
=
M
H
A
1
(
V
,
T
,
T
)
⊗
M
V_{g} =MHA_{1}\left ( V,T,T \right )\otimes \mathrm {} \textbf{M}
Vg=MHA1(V,T,T)⊗M
其中
V
g
∈
R
H
W
×
d
V_{g} \in \mathbb{R} ^{HW\times d}
Vg∈RHW×d. 与
V
r
e
V_{re}
Vre不同的是,
V
g
V_{g}
Vg的粒度更接近文本特征的粒度,因此需要使用ranking loss来惩罚
V
r
e
V_{re}
Vre和
V
g
V_{g}
Vg之间的差异。
3.3 PGU
在3.2节中,通过MSD对齐图像和文本之间的粒度。尽管如此,该模型准确匹配特定身份的文本和图像的能力仍然有限。事实上,D学到的是一般语义知识,因此需要通过基于原型的粒度统一模块PGU来为ReID提取更强大的特征。
PGU将PGU 将文本特征和视觉特征投射到统一的格式中,这进一步调整了两种模态的粒度。首先设置一组随机初始化的原型
P
=
[
p
1
,
p
2
,
.
.
.
,
p
K
]
∈
R
d
×
K
P=\left [ p_{1},p_{2},...,p_{K} \right ] \in \mathbb{R} ^{d\times K}
P=[p1,p2,...,pK]∈Rd×K,K个原型包含不同的语义信息,为了使这些原型能够捕获文本和视觉特征,令每个原型充当transformer layer中的query,而文本特征或视觉特征作为key和value,则经过PGU提炼后的细化特征
F
~
∈
R
K
×
d
′
\tilde{F} \in \mathbb{R } ^{K\times d'}
F~∈RK×d′可以表示为
F
~
=
P
G
U
(
P,F
)
=
C
o
n
c
a
t
(
f
1
(
p
1
,
F
)
,
.
.
.
,
f
K
(
p
K
,
F
)
)
,
f
i
(
p
i
,
F
)
=
W
k
(
M
H
A
2
(
p
i
,
F
,
F
)
)
\tilde{F} = PGU\left ( \textbf{P,F} \right ) =Concat\left ( f_{1 }\left ( p_{1} ,\textbf{F} \right ),..., f_{K }\left ( p_{K} ,\textbf{F} \right ) \right ) , f_{i }\left ( p_{i} ,\textbf{F} \right )=W_{k} \left ( MHA_{2} \left ( p_{i}, \textbf{F},\textbf{F} \right ) \right )
F~=PGU(P,F)=Concat(f1(p1,F),...,fK(pK,F)),fi(pi,F)=Wk(MHA2(pi,F,F))
其中
W
k
∈
R
d
′
×
d
W_{k} \in \mathbb{R} ^{d'\times d}
Wk∈Rd′×d表示第k个query p的FC层,为每个query应用独立的FC层,以产生多样化特征。同时,每个query对两种模态都采用相同的 FC 层,这进一步调整了它们的特征粒度,
d
′
d'
d′是FC后的输出维度,Concat表示串联操作。于是,可以获得粒度统一的特征:
3.4 Optimization & Inference
Optimization: 对于特征
F
~
\tilde{F}
F~,第k个原型预测的身份概率表示为
y
^
k
\hat{y} _{k}
y^k,则对其应用交叉熵损失可表示为:
对于一对匹配的图像文本特征,其ranking loss可表示为:
那么,存储字典的总损失可表示为:
此外,为了实现更严格的粒度对齐,对引导特征
V
~
g
\tilde{V} _{g}
V~g和
T
~
\tilde{T}
T~同样使用ranking loss,公式表示为:
总损失即为:
Inference: 分别提取文本特征
T
~
r
e
\tilde{T} _{re}
T~re和图像特征
V
~
r
e
\tilde{V} _{re}
V~re用于文本到图像的检索,在推理过程中,引导特征
T
~
\tilde{T}
T~和
V
~
g
\tilde{V} _{g}
V~g被丢弃,采用余弦相似度作为检索的度量标准。
Chunfeng Song, Yan Huang, Wanli Ouyang, and Liang Wang. 2018. Mask-guided contrastive attention model for person re-identification. In Proceedings of the IEEE conference on computer vision and pattern recognition. 1179–1188. ↩︎