文章目录
Abstract
本文提出一个Appearance and Motion Enhancement Model(AMEM),通过两个方面的信息加强对行人特征的提取:(1)Appearance Enhancement Module(AEM)利用伪标签进行有监督学习挖掘行人属性特征(2)Motion Enhancement Module(MEM)通过预测未来帧来获取具有身份判别性的行走模式。
1 Introduction
基于单一图像 vs. 基于多帧图像
- 单一图像对姿势变化和遮挡较为敏感,而图像序列提供更多图像可解决该问题
- 单一图像无法获得行人的运动模式
MEM:设计一个能同时获取时序线索(temporal cues)和行走模型(specialty of walking patterns)的模型。
AEM:考虑到目前没有已经标注的视频数据集,因此利用现存的带属性标注的基于单一图像的数据集来辅助学习视频数据集的属性。
2 Approach
Some notations:
S
=
S=
S={
I
1
,
I
2
,
.
.
.
,
I
T
I_1,I_2,...,I_T
I1,I2,...,IT} 输入T帧图像序列
y
y
y 身份标签
BF
=
ϕ
(
S
,
θ
B
)
=\phi(S,\theta_B)
=ϕ(S,θB) 用于提取输入图像的backbone网络,
θ
B
\theta_B
θB是网络参数
Appearance Enhancement Module(AEM)
Pseudo Attribute Labels Generation
在属性数据集PETA上先训练一个可以为视频数据集预测属性标签的ResNet-50模型:
- 采用Conv5_x层作为属性识别的最终特征表示 f ^ A ( 2048 × 16 × 8 ) \hat f_A(2048\times16\times8) f^A(2048×16×8)
- 由于PETA中事先定义好的属性数目较大(N=105),直接用于训练分类器效果不好。因此可以根据不同位置手动将其分成M组,每组包含一个属性特征 a m a_m am和一些属性。
- a m ( 256 维 ) a_m(256维) am(256维)是由 f ^ A \hat f_A f^A经过一个全局平均池化层和一个全连接层之后得到的,用于预测同一组中的属性
- 假定每组有
N
m
N_m
Nm个属性,通过
a
m
a_m
am预测的每个属性出现的概率为
p
^
i
\hat p_i
p^i,那么第m组的属性损失通过二值交叉熵计算如下:
其中 l i m l^m_i lim为第m组的第i个属性的二值标签。 - 所有组的总损失:
将训练好的模型(ARM)用于视频数据集的属性预测: - 将一个图像序列中的每帧图像输给ARM得到它们拥有不同属性的概率
- 对图像序列中每帧图像的预测概率进行平均池化,当平均概率大于0.5时判定该序列具备该属性( l ^ i = 1 \hat l_i=1 l^i=1),否则不具备( l ^ i = 0 \hat l_i=0 l^i=0)。
Appearance Enhancement
利用上述标注的属性标签对视频数据集进行有监督学习,训练AEM。
- 得到 BF 后,将其输入给appearance branch得到一个属性特征map f A ( C × H × W ) f_A(C\times H\times W) fA(C×H×W)
- 同ARM可以得到M个属性特征,和对N种属性的预测
- 属性预测损失如下:
Motion Enhancement Module(MEM)
核心思想:学习一个生成模型用于预测未来帧的运动特征,若能预测成功则说明该模型能捕获具备身份判别性的运动模式。
Texture AutoEncoder
TAE结构如下:
- 以ResNet-18作为编码器,编码器的输入是image,输出为texture feature map f t e x f_{tex} ftex。
- 解码器包含四个反卷积blocks,每个block包含一个反卷积层和一个batch normalization层。除此之外最后一个block还增加一个ReLU层,最终再加上一个Sigmoid层作为输出。
- 在Marke-1501上训练TAE,为了避免重构中出现的模糊问题,增加一个判别器 D T A E D_{TAE} DTAE来判断生成图片的真假。
- TAE训练的总损失:
其中 I ^ \hat I I^是TAE的输入图像, I ~ \tilde I I~是重构得到的图像; G , D , f G,D,f G,D,f是解码器,判别器和 f t e x f_{tex} ftex的简写, p I ^ p_{\hat I} pI^和 p f p_f pf是image和texture feature space的样本分布。
Motion Enhancement through Prediction
用训练好的TAE辅助提取运动特征:
- 随机选取序列中的一帧 I t ( 0 < t < T − c ) I^t(0<t<T-c) It(0<t<T−c),来预测下一帧 I t + 1 I^{t+1} It+1, I t + 1 I^{t+1} It+1可用 f t e x t + 1 f^{t+1}_{tex} ftext+1通过TAE反解码得到。
- f t e x t + 1 f^{t+1}_{tex} ftext+1包含两部分:当前帧的feature map f t e x t f^t_{tex} ftext和两个连续帧之间的运动特征 f M f_M fM。
- f t e x t f^t_{tex} ftext由TAE的编码器获得, f M f_M fM通过backbone网络 ϕ ( S , θ B ) \phi(S,\theta_B) ϕ(S,θB)后经过一个motion branch提取。motion branch和appearance branch结构相同,参数不同。
- 最后将 f t e x t f^t_{tex} ftext和 f M f^M fM连接后,输入到一个texture embedding module(包括一个 3 × 3 3\times3 3×3的卷积层和一个 1 × 1 1\times 1 1×1的卷积层,除每个卷积层后加一个BN层外,第一个卷积层后加一个ReLU层)得到 f t e x t + 1 f^{t+1}_{tex} ftext+1。
为了获取更好的运动特征,重复上述过程预测c次知直到
I
~
t
+
c
\tilde I^{t+c}
I~t+c,同理训练过程中选用MSE损失和对抗损失。MSE损失用于评估预测的
f
~
t
e
x
t
+
1
\tilde f^{t+1}_{tex}
f~text+1和真实的
f
t
e
x
t
+
1
f^{t+1}_{tex}
ftext+1之间的相似度。
训练过程中TAE编码器参数固定,fine-tune解码器参数。
Optimization
将
f
A
f_A
fA,
f
M
f_M
fM ,
f
B
f_B
fB连接构成最终的特征map F ,通过一个全局平均池化层和全连接层后得到整个序列的最终特征表示
f
s
f_s
fs。
总损失: (L个样本,K个三元组)
Experiments
Ablation Study
Baseline comparison
(1) baseline分别与AEM、MEM结合都能提升准确率,MEM的提升比AEM大
(2) 采用本文网络整体结构,但仅仅用
f
B
f_B
fB进行re-id效果也比单纯baseline好,说明AEM、MEM给backbone也带来了提升
Scalability
选取了另外三种backbone网络,实验表明AEM、MEM对其他backbone网络也有提升。
Model Size
比较其他不同设计,本文所提算法在保证appearance和motion均有所提升的前提下,算是一个light-weight model。
The Number of Frames Prediction
比较了c=1,2,3,4的结果,从1-3效果逐步提升,到c=4时突然下降(可能由于梯度消失),因此选择c=3。
Different Components in the Loss Function
** Comparison with the State-of-the-arts**