GaitMask:基于掩码的步态识别模型
Abstract
步态识别是一项重要的生物识别技术,它通过使用步行姿势来识别一个人。最近,大多数步态识别方法要么将人类步态作为一个整体来生成全局特征表示(GFR),要么将人类步态等效地划分为多个局部区域以建立局部特征表示(LFR)。然而,我们观察到 LFR 或 GFR 并不能充分代表人类步态,因为 LFR 只关注每个局部区域的详细信息,而 GFR 更关注全局上下文信息。另一方面,局部区域的划分方式是固定的,只关注几个特定区域的局部信息。受此观察的启发,我们提出了一种新的基于掩码的网络,名为 GaitMask,用于步态识别。 GaitMask 基于 Maskbased Local Augmentation (MLA) 构建,用于学习更全面的特征表示。 MLA是一个双分支结构,由一个作为backbone的GFR提取模块和一个作为分支的基于掩码的LFR提取模块组成。具体来说,基于掩码的 LFR 提取由一对互补掩码组成,其中一个掩码随机丢弃输入特征图的一个区域,另一个仅保留该区域。互补掩码可用于生成更全面的 LFR,并增强backbone特征表示的鲁棒性。对两个流行数据集的实验表明,我们的方法实现了最先进的结果。具体来说,所提出的方法显著提高了复杂环境中的性能。
1 Introduction
与人脸、指纹和虹膜等传统生物特征识别技术不同,步态识别技术可以在远距离条件下使用,不需要目标之间的合作。因此,它被广泛应用于监控系统和身份认证。然而,步态识别的性能受到许多复杂因素的影响,包括视角、携带和速度等。因此,步态识别仍然是一项具有挑战性的任务。
最近,研究人员提出了不同的基于深度学习的方法来生成判别性特征表示,这些方法大致可分为两类。一种是全局特征表示(GFR),它将人类步态作为一个整体进行特征提取。另一种是局部特征表示(LFR),它从多个局部区域提取步态特征。
然而,我们观察到LFR忽略了不同局部区域的相关性,而GFR没有充分利用细节信息。此外,如图1(b)所示,局部区域以自上而下、大小相等的方式进行划分,其仅关注少数特定局部区域的信息。
为了解决上述问题,本文提出了一种基于掩码的LFR提取器来产生更全面的LFR。具体地说,基于掩码的LFR提取器是包括一对互补掩码的双分支结构。如图1(c)所示,一个掩码随机丢弃步态序列的局部区域,而另一个掩码仅保留该区域。在训练阶段,通过使用互补模板,该提取器随机生成一对互补特征映射,用于从任意局部区域提取局部步态特征。与其他只能利用少数特定区域信息的局部划分模式相比,该抽取器充分利用了来自不同局部区域的信息来训练网络。因此,在测试阶段,该提取器可以产生更全面的LFR。在基于掩码的LFR提取器的基础上,我们提出了一种新的特征提取模块,称为基于掩码的局部增强模块(MLA),以生成更全面的特征表示。MLA包括一个GFR提取器和一个基于掩码的LFR提取器。GFR提取器用作backbone,从整个特征映射生成GFR,而基于掩码的LFR提取器生成LFR,以增强backbone的特征表示。
我们的方法的主要贡献可以总结如下:
-
我们提出了一种新的LFR提取器,它可以通过使用一对互补掩码来产生更全面的LFR。与传统的只从几个固定的局部区域提取特征的分割不同,所提出的LFR提取器有效地利用了来自不同局部区域的步态信息。
-
基于所提出的基于掩码的LFR提取器,我们开发了一种新的基于掩码的局部增强,由backbone和分支组成,以生成更具判别性的特征表示。Backbone关注全局上下文信息,而分支更关注步态序列的详细信息。
-
在两个基准数据集上的实验结果表明,该方法达到了最新水平(SOTA)。具体来说,我们的方法在背包和穿大衣的携带条件下分别比其他方法高出1.7%和5.5%。
2 Related Work
目前,大多数基于深度学习的步态识别方法都是以步态序列的轮廓作为输入,利用二维或三维卷积神经网络(CNN)提取步态特征。这些方法大致可以分为两类,即基于模板的方法和基于序列的方法。
基于模板的方法要么将步态序列的时间信息聚合为步态能量图像(GEI),以提取步态特征,要么提取每个步态图像的特征,然后集成时间信息。例如,Shiraga等人[16]提出了一个名为GEINet的基于模板的网络,以从GEI生成特征表示。具体来说,他们首先通过使用均值函数来聚合步态序列的所有时间信息来生成GEI,然后使用2D CNN提取步态特征。然而,GEI的生成过程会导致大量信息的丢失。为了更好地利用步态序列的信息,一些研究人员[3,5,27]首先使用2D CNN提取每个步态图像的步态特征,然后聚合步态序列的时间信息。例如,Chao等人[3]提出了一个名为GaitSet的新网络来生成判别性特征表示。Gaitset首先提取每个步态图像的步态特征,然后使用max函数聚合时间信息。然而,它们不能充分利用步态序列的时间信息。为了更好地利用这些信息,一些研究人员[5,27]在空间特征提取后对时间关系进行建模。例如,Fan等人[5]提出了一种微动捕捉模块(MCM)来模拟短程时间相关性。Zhang等人[27]使用长-短期记忆(LSTM)单元来模拟时间关系。
基于序列的方法通常以步态序列为单位,利用3D CNN提取时空步态特征。例如,Wolf等人[20]开发了一个3D CNN,从固定长度的步态片段生成时空步态表示。Thapar等人[19]首先将步态序列划分为多个固定长度的步态片段,然后使用3D CNN提取每个片段的步态特征。最后,他们使用LSTM模块学习不同步态片段的时间关系。然而,这些工作是不灵活的,因为他们需要一个固定长度的步态剪辑作为输入来训练他们的网络。为了充分利用3D CNN中的时间信息,Lin等人[12]提出了一种帧池化操作来自适应地聚合整个步态序列的时间信息,该操作充分利用了整个步态序列的时间信息。
3 Proposed Method
在本节首先概述GaitMask方法的框架。然后,介绍了所提出的基于掩码的局部增强(MLA)。最后,我们给出了训练和测试阶段的实现细节。
3.1 Overview
我们的GaitMask方法的概述如图2所示。整个步态识别方法是通过3D卷积建立的,类似于[12]。给定步态序列,我们首先使用3D卷积来提取浅层特征。然后,使用时间卷积来聚合特征图的局部时间信息。接下来,提出了多个MLA模块来学习更全面的步态特征。最后,我们引入时间池化和广义平均池(GeM)来生成特征表示。在训练阶段,我们使用单独的三元组损失来训练提出的网络。
3.2 Mask-based Local Augmentation
如图3所示,MLA包括两个分支:GFR提取和基于掩码的LFR提取。GFR提取直接从输入特征图中提取步态特征,而基于掩码的LFR提取首先生成一对互补的步态特征图,然后从中提取局部步态特征。假设MLA的输入特征图为
X
i
n
∈
R
C
i
n
×
T
i
n
×
H
in
×
W
i
n
X_{i n} \in \mathbb{R}^{C_{i n} \times T_{i n} \times H_{\text {in }} \times W_{i n}}
Xin∈RCin×Tin×Hin ×Win,其中
C
in
C_{\text {in }}
Cin 是通道数,
T
i
n
T_{i n}
Tin是特征图的长度(时间维度),
(
H
i
n
,
W
i
n
)
\left(H_{i n}, W_{i n}\right)
(Hin,Win)是每帧的图像大小。GFR提取可定义为
Y
g
=
c
3
×
3
×
3
(
X
i
n
)
Y_{g}=c^{3 \times 3 \times 3}\left(X_{i n}\right)
Yg=c3×3×3(Xin)
其中,
c
3
×
3
×
3
c^{3 \times 3 \times 3}
c3×3×3表示核大小为3的3D卷积。
Y
g
∈
R
C
o
u
×
T
i
n
×
H
i
n
×
W
i
n
Y_{g} \in \mathbb{R}^{C_{o u} \times T_{i n} \times H_{i n} \times W_{i n}}
Yg∈RCou×Tin×Hin×Win是GFR提取的输出。
另一方面,基于掩码的LFR提取首先生成两个互补掩码
M
0
∈
R
H
i
n
×
W
i
n
M_{0} \in \mathbb{R}^{H_{i n} \times W_{i n}}
M0∈RHin×Win和
M
1
∈
R
H
i
n
×
W
i
n
M_{1} \in \mathbb{R}^{H_{i n} \times W_{i n}}
M1∈RHin×Win,其中
M
0
M_{0}
M0和
M
1
M_{1}
M1的元素分别为0和1。然后,我们随机丢弃掩码
M
1
M_{1}
M1的一个连续的水平区域。同时,我们在掩码
M
0
M_{0}
M0中保留了相应的区域。具体来说,假设
M
0
=
{
h
i
0
∣
i
=
1
,
2
,
…
,
H
in
}
M_{0}=\left\{h_{i}^{0} \mid i=1,2, \ldots, H_{\text {in }}\right\}
M0={hi0∣i=1,2,…,Hin },其中
h
i
0
∈
R
1
×
W
i
n
h_{i}^{0} \in \mathbb{R}^{1 \times W_{i n}}
hi0∈R1×Win是特征图
M
0
M_{0}
M0的第
i
i
i列。
M
1
=
{
h
j
1
∣
j
=
1
,
2
,
…
,
H
in
}
M_{1}=\left\{h_{j}^{1} \mid j=1,2, \ldots, H_{\text {in }}\right\}
M1={hj1∣j=1,2,…,Hin },其中
h
j
1
∈
R
1
×
W
in
h_{j}^{1} \in \mathbb{R}^{1 \times W_{\text {in }}}
hj1∈R1×Win 是特征图
M
1
M_{1}
M1的第
j
j
j列。我们首先随机选择一个区间
(
k
,
k
+
⌊
d
×
H
i
n
⌋
)
\left(k, k+\left\lfloor d \times H_{i n}\right\rfloor\right)
(k,k+⌊d×Hin⌋),其中
d
d
d表示丢弃率。然后,将掩码
M
0
M_{0}
M0中的
{
h
k
0
,
…
,
h
k
+
⌊
d
×
H
in
⌋
0
}
\left\{h_{k}^{0}, \ldots, h_{k+\left\lfloor d \times H_{\text {in }}\right\rfloor}^{0}\right\}
{hk0,…,hk+⌊d×Hin ⌋0}的值设置为1,作为新的掩码
M
0
′
∈
R
H
in
×
W
in
M_{0}^{\prime} \in \mathbb{R}^{H_{\text {in }} \times W_{\text {in }}}
M0′∈RHin ×Win ,而
{
h
k
1
,
…
,
h
k
+
⌊
d
×
H
in
⌋
1
}
\left\{h_{k}^{1}, \ldots, h_{k+\left\lfloor d \times H_{\text {in }}\right\rfloor}^{1}\right\}
{hk1,…,hk+⌊d×Hin ⌋1}的值设置为0,作为新的掩码
M
1
′
∈
R
H
i
n
×
W
i
n
M_{1}^{\prime} \in \mathbb{R}^{H_{i n} \times W_{i n}}
M1′∈RHin×Win。基于掩码的 LFR 提取可以表示为:
Y
m
=
c
3
×
3
×
3
(
∑
k
=
1
C
i
n
∑
q
=
1
T
i
n
(
X
i
n
⊗
M
0
′
)
)
+
c
3
×
3
×
3
(
∑
k
=
1
C
i
n
∑
q
=
1
T
i
n
(
X
i
n
⊗
M
1
′
)
)
,
Y_{m}=c^{3 \times 3 \times 3}\left(\sum_{k=1}^{C_{i n}} \sum_{q=1}^{T_{i n}}\left(X_{i n} \otimes M_{0}^{\prime}\right)\right)+c^{3 \times 3 \times 3}\left(\sum_{k=1}^{C_{i n}} \sum_{q=1}^{T_{i n}}\left(X_{i n} \otimes M_{1}^{\prime}\right)\right),
Ym=c3×3×3(k=1∑Cinq=1∑Tin(Xin⊗M0′))+c3×3×3(k=1∑Cinq=1∑Tin(Xin⊗M1′)),
其中
⊗
\otimes
⊗表示图像维度中的元素乘积。
Y
m
∈
R
C
o
u
×
T
in
×
H
in
×
W
in
Y_{m} \in \mathbb{R}^{C_{o u} \times T_{\text {in }} \times H_{\text {in }} \times W_{\text {in }}}
Ym∈RCou×Tin ×Hin ×Win 是基于掩码的 LFR 提取的输出。
本文提出了两种方法来组合两次提取的输出。一种是逐元素加法(MLA-A),可以表示为
Y
M
L
A
−
A
=
Y
g
+
Y
m
,
Y_{M L A-A}=Y_{g}+Y_{m},
YMLA−A=Yg+Ym,
其中
Y
M
L
A
−
A
∈
R
C
o
u
×
T
in
×
H
in
×
W
in
Y_{M L A-A} \in \mathbb{R}^{C_{o u} \times T_{\text {in }} \times H_{\text {in }} \times W_{\text {in }}}
YMLA−A∈RCou×Tin ×Hin ×Win 是组合特征图。另一种是在水平轴上级联特征图,可以表示为
Y
M
L
A
−
B
=
concat
{
Y
g
Y
m
}
,
Y_{M L A-B}=\text { concat }\left\{\begin{array}{c} Y_{g} \\ Y_{m} \end{array}\right\},
YMLA−B= concat {YgYm},
其中 concat 表示水平轴上的级联操作。
Y
M
L
A
−
B
∈
R
C
o
u
×
T
in
×
(
2
∗
H
in
)
×
W
in
Y_{M L A-B} \in \mathbb{R}^{C_{o u} \times T_{\text {in }} \times\left(2 * H_{\text {in }}\right) \times W_{\text {in }}}
YMLA−B∈RCou×Tin ×(2∗Hin )×Win 是组合特征图。
3.3 Feature Mapping
在特征提取之后,我们引入时间池化和空间池化来生成特征表示。时间池化旨在聚合步态序列的所有时间信息。假设
X
f
m
∈
R
C
f
i
n
×
T
f
i
n
×
H
f
i
n
×
W
f
i
n
X_{f m} \in \mathbb{R}^{C_{f i n} \times T_{f i n} \times H_{f i n} \times W_{f i n}}
Xfm∈RCfin×Tfin×Hfin×Wfin是最后一个 MLA 模块的输出,其中
C
f
i
n
C_{f i n}
Cfin是通道数,
T
f
i
n
T_{f i n}
Tfin是特征图的长度(时间维度),
(
H
f
i
n
,
W
f
i
n
)
\left(H_{f i n}, W_{f i n}\right)
(Hfin,Wfin)是每一帧的图像大小。时间池化可以定义为
Y
t
p
=
F
M
a
x
T
f
i
n
×
1
×
1
(
X
f
m
)
Y_{t p}=F_{M a x}^{T_{f i n} \times 1 \times 1}\left(X_{f m}\right)
Ytp=FMaxTfin×1×1(Xfm)
其中
F
Max
T
f
i
n
×
1
×
1
(
⋅
)
F_{\operatorname{Max}}^{T_{f i n} \times 1 \times 1}(\cdot)
FMaxTfin×1×1(⋅)表示最大池化操作。
Y
t
p
∈
R
C
f
i
n
×
1
×
H
f
i
n
×
W
f
i
n
Y_{t p} \in \mathbb{R}^{C_{f i n} \times 1 \times H_{f i n} \times W_{f i n}}
Ytp∈RCfin×1×Hfin×Wfin是时间池化的输出。
空间池化首先将特征图
Y
t
p
Y_{t p}
Ytp划分为多个水平条,然后使用广义平均池化(GeM)在垂直轴上自适应地聚合每个条带的信息。最后,使用多个单独的全连接层来进一步整合每个条带的通道信息。空间池化可以表示为
Y
s
p
=
F
s
f
c
(
(
F
A
v
g
1
×
1
×
W
f
i
n
(
(
Y
t
p
)
p
)
)
1
p
)
,
Y_{s p}=F_{s f c}\left(\left(F_{A v g}^{1 \times 1 \times W_{f i n}}\left(\left(Y_{t p}\right)^{p}\right)\right)^{\frac{1}{p}}\right),
Ysp=Fsfc((FAvg1×1×Wfin((Ytp)p))p1),
其中
F
Avg
1
×
1
×
W
f
i
n
(
⋅
)
F_{\text {Avg }}^{1 \times 1 \times W_{f i n}}(\cdot)
FAvg 1×1×Wfin(⋅)表示平均池化操作。
F
s
f
c
F_{s f c}
Fsfc表示多个独立的全连接(FC)层。它的大小为
H
f
in
×
C
fin
×
C
fou
H_{f \text { in }} \times C_{\text {fin }} \times C_{\text {fou }}
Hf in ×Cfin ×Cfou ,其中
H
f
i
n
H_{f i n}
Hfin是 FC 层数,
C
f
i
n
C_{f i n}
Cfin和
C
f
o
u
C_{f o u}
Cfou分别是每个 FC 层的输入和输出维度。
Y
t
p
∈
Y_{t p} \in
Ytp∈
R
C
fou
×
1
×
H
fin
×
1
\mathbb{R}^{C_{\text {fou }} \times 1 \times H_{\text {fin }} \times 1}
RCfou ×1×Hfin ×1是空间池化的输出。
3.4 Training Details and Test
训练。在训练阶段,首先随机裁剪一个步态剪辑作为网络的输入。然后,将生成特征表示
Y
t
p
Y_{t p}
Ytp。最后,单独的三元组损失用于独立计算每个条带的损失。三元组损失可以定义为:
L
triplet
=
Max
(
D
(
Y
t
p
α
,
Y
t
p
β
)
−
D
(
Y
t
p
α
,
Y
t
p
γ
)
+
margin
,
0
)
L_{\text {triplet }}=\operatorname{Max}\left(D\left(Y_{t p}^{\alpha}, Y_{t p}^{\beta}\right)-D\left(Y_{t p}^{\alpha}, Y_{t p}^{\gamma}\right)+\operatorname{margin}, 0\right)
Ltriplet =Max(D(Ytpα,Ytpβ)−D(Ytpα,Ytpγ)+margin,0)
其中
α
\alpha
α和
β
\beta
β是来自同一类的样本,而
γ
\gamma
γ代表来自另一类的样本。
D
(
d
i
,
d
j
)
D_{\left(d_{i}, d_{j}\right)}
D(di,dj)是样本
d
i
d_{i}
di和
d
j
d_{j}
dj之间的欧几里得距离。margin是三元组损失的边际。为了更好地训练所提出的网络,我们采用 Batch ALL (BA) 策略作为采样策略。具体来说,每批次的样本数设置为
P
×
K
P \times K
P×K,其中
P
P
P是目标 ID 的数量,
K
K
K是每个目标 ID 的样本数。由于内存大小和计算复杂度的限制,输入步态剪辑的长度设置为
T
T
T帧。
测试。在测试阶段,网络不需要考虑内存大小的限制。因此,整个步态序列可以输入到所提出的 GaitMask 中,以生成特征表示 Y t p ∈ R C fou × 1 × H fin × 1 Y_{t p} \in \mathbb{R}^{C_{\text {fou }} \times 1 \times H_{\text {fin }} \times 1} Ytp∈RCfou ×1×Hfin ×1。然后,我们将特征表示 Y t p Y_{t p} Ytp展平为维度为 C f o u × H f i n C_{f o u} \times H_{f i n} Cfou×Hfin的特征向量。为了评估我们方法的性能,采用gallery-probe 模式来计算 Rank-1 精度。
Result
参考文献
[3] Hanqing Chao, Yiwei He, Junping Zhang, and Jianfeng Feng. Gaitset: Regarding gait as a set for cross-view gait recognition. In AAAI, volume 33, pages 8126–8133, 2019.
[5] Chao Fan, Y unjie Peng, Chunshui Cao, Xu Liu, Saihui Hou, Jiannan Chi, Y ongzhen Huang, Qing Li, and Zhiqiang He. Gaitpart: Temporal part-based model for gait recognition. In CVPR, pages 14225–14233, 2020.
[12] Beibei Lin, Shunli Zhang, and Feng Bao. Gait recognition with multiple-temporalscale 3d convolutional neural network. In ACM MM, pages 3054–3062, 2020.
[16] Kohei Shiraga, Y asushi Makihara, Daigo Muramatsu, Tomio Echigo, and Y asushi Y agi. Geinet: View-invariant gait recognition using a convolutional neural network. In ICB, pages 1–8. IEEE, 2016.
[19] Daksh Thapar, Gaurav Jaswal, Aditya Nigam, and Chetan Arora. Gait metric learning siamese network exploiting dual of spatio-temporal 3d-cnn intra and lstm based inter gait-cycle-segment features. Pattern Recognition Letters, 125:646–653, 2019.
[20] Thomas Wolf, Mohammadreza Babaee, and Gerhard Rigoll. Multi-view gait recognition using 3d convolutional neural networks. In ICIP, pages 4165–4169. IEEE, 2016.
[27] Y uqi Zhang, Y ongzhen Huang, Shiqi Y u, and Liang Wang. Cross-view gait recognition by discriminative feature learning. IEEE TIP, 29:1001–1015, 2019.