通过有效的时空特征融合进行多模态步态识别
paper题目:Multi-modal Gait Recognition via Effective Spatial-Temporal Feature Fusion
paper是北航发表在CVPR 2023的工作
paper地址
Abstract
步态识别是一种生物识别技术,通过步行模式识别人。基于剪影的方法和基于骨架的方法是两种最流行的方法。但是剪影数据容易受到衣服遮挡的影响,骨架数据缺乏体型信息。为了获得更稳健、更全面的步态识别表示,我们提出了一种基于 transformer 的步态识别框架,称为 MMGaitFormer,它有效地融合和聚合了来自骨架和轮廓的时空信息。具体来说,空间融合模块(SFM)和时间融合模块(TFM)分别被提出用于有效的空间级和时间级特征融合。 SFM进行细粒度的身体部位空间融合,通过attention机制引导轮廓各部位、骨架各关节对齐。 TFM 通过循环位置嵌入 (CPE) 执行时间建模,并融合两种模式的时间信息。实验表明,我们的 MMGaitFormer 在流行的步态数据集上实现了最先进的性能。对于 CASIAB 中最具挑战性的“CL”(即穿着不同衣服行走)条件,我们的方法达到了 94.8% 的 rank-1 准确率,大大优于最先进的单模态方法。
1. Introduction
步态识别是一种通过步行模式识别人的生物识别技术,是远距离识别系统中最有前途的基于视频的生物识别技术之一。然而,执行可靠的步态识别仍然具有挑战性,因为它的性能受到许多复杂因素的严重影响,包括服装、携带条件、交叉视图等。为了缓解这些问题,已经提出了各种方法。基于外观和基于模型的方法是基于视频的步态识别的两种最流行的方法。基于外观(即基于轮廓)的方法 [5、9、14、19、27] 依赖于从原始视频帧中分割出来的二进制人体轮廓图像,以消除外部因素的影响。他们利用卷积神经网络 (CNN) 提取时空特征并实现了最先进的性能。基于模型的方法 [2,16,17,23] 考虑身体的基本物理结构,并以更易于理解的模型表达步态。最近的基于模型的方法是基于骨架的,其中它们用通过姿势估计模型从视频中获得的骨架来表示步态。凭借清晰而稳健的骨架表示,与基于外观的方法相比,最近的基于骨架的方法甚至可以显示出有竞争力的结果。
尽管基于剪影和基于骨架的方法都有其优点,但我们认为步态信息的两种输入表示的不完整性限制了这些方法的进一步改进。如图1(a)所示,虽然轮廓保留了大部分身体形状信息,但当身体区域重叠时会出现自遮蔽问题。此外,当服装条件发生变化时,如图1(b)所示,服装遮蔽会显着改变外部身体形状。然而,骨架仅保留内部身体结构信息,有效解决了服装遮挡和自遮挡问题,但完全忽略了可区分的身体形状信息,导致性能不佳。因此,我们可以观察到轮廓保留了外部身体形状信息并省略了一些身体结构线索,而骨骼保留了内部身体结构信息。两种数据模态互为补充,它们的结合有望更全面地表征步态。
图 1. CASIA-B 步态数据集中受试者在正常行走 (a) 和穿着不同衣服行走 (b) 的不同时间步长的不同步态表示的比较。每行从上到下分别描绘了与剪影图像相同的帧,以及 2D 骨架姿势,即骨架和剪影的组合。结合剪影和骨骼的互补优势,有望成为更全面的步态表征。
受上述观察的启发,为了获得用于识别的稳健和全面的步态表示,我们提出了一种基于 transformer 的步态识别框架,称为 MMGaitFormer,它有效地融合和聚合了来自骨架和轮廓的时空信息。准确地说,拟议的框架由三个阶段的四个主要模块组成。首先,分别通过分割和姿态估计方法从原始RGB视频中提取剪影序列和骨架序列。之后,我们将轮廓和骨架输入到独立的编码模块中,为每个模态提取独特的时空特征图。最后,我们分别提出了用于空间和时间特征融合的空间融合模块(SFM)和时间融合模块(TFM)。作为基于视频的识别任务,如何有效地从时空信息中提取具有鉴别力的步态特征是最关键的问题。在这项工作中,我们考虑了空间级别的细粒度融合和时间级别的精细对齐融合。在 SFM 中,我们设计了一个共同注意模块来实现轮廓和骨架之间的交互。具体来说,我们构建了称为细粒度身体部位融合 (FBPF) 的策略,以根据骨骼中的关节与轮廓中相应部位之间的先验位置关系,指导 SFM 进行细粒度特征融合学习。在 TFM 中,我们引入了用于精细对齐时间建模的嵌入建模操作,我们在其中设计了周期位置嵌入 (CPE) 以有效捕获步态周期特征并更好地为步态序列的时间信息建模。
所提出方法的主要贡献总结如下:(1)我们提出了一种有效且新颖的多模态步态识别框架,称为 MMGaitFormer,它利用由轮廓和骨架构建的更全面的步态表示,以实现更好的识别。 (2) 提出了一种基于共同注意的空间融合模块,利用每个骨架关节和每个轮廓部分的先验位置关系,对空间步态特征进行细粒度身体部位融合 (FBPF)。(3) 我们提出了一种用于时间级特征融合的新型时间融合模块,其中我们设计了循环位置嵌入 (CPE) 来模拟任意长度步态序列的时间关系。实验表明,我们的 MMGaitFormer 在流行的步态数据集上实现了最先进的性能。对于 CASIAB [26] 中最具挑战性的条件(即穿着不同的衣服行走),我们的方法达到了 94.8% 的 rank-1 准确率,大大优于最先进的单模态方法( +11.2% 准确度提升)。
2. Related work
基于外观的方法依赖于从原始图像中提取的二进制人体轮廓图像。大多数最近的方法直接将步态视为一系列轮廓。这些方法 [5、6、9、18、20] 遵循类似的管道,即在帧级别使用设计良好的网络提取空间特征,然后使用时空聚合模块获得步态表示。例如,GaitPart [9] 设计了一个微动捕捉模块(MCM)模块来模拟局部微动特征。 GaitGL [20] 提出了一个 3D CNN 网络来同时聚合局部时空信息。 GaitTransformer [6] 提出了用于步态时间建模的多时间尺度转换器 (MTST)。尽管基于剪影的方法取得了最先进的性能,但剪影数据不可避免地会遇到服装遮挡和自遮挡的问题,限制了其进一步改进。
基于模型的方法考虑身体的基本物理结构,并在更易于理解的模型中表达步态 [2、16、17]。最近基于模型的方法通常将骨架作为原始输入数据,从带有姿势估计模型的原始视频中提取。 PoseGait [17] 利用人类先验知识设计姿势特征,并使用 CNN 提取特征表示以进行识别。 GaitGraph [23] 基于图卷积网络(GCN)从人体二维关节中提取步态信息,并取得了有竞争力的结果。虽然基于骨架的方法对视图和外观变化具有鲁棒性,但骨架数据包含的身体形状信息少于剪影图像。
集成深度、多传感器和视频数据的多模态步态识别 [4、7、13] 方法在早期研究中显示出识别性能的改进。然而,完全依赖视频数据的同质多模态方法尚未得到充分探索,现有方法 [15, 21, 25] 仍然存在关键问题:(1)简单地连接两种模态的最终全局特征不能有效捕获细粒度的空间信息。 (2) 两种模态序列的时间信息没有得到充分利用,如何有效融合它们的时间特征仍然是一个悬而未决的问题。受 Transformer [24] 在多模式学习中取得的显着成功的启发,我们提出了一种基于 Transformer 的方法,该方法利用两种互补的数据模式,即轮廓和骨架,进行全面的步态识别。
3. Method
在本节中,我们将描述 MMGaitFormer 的技术细节。在第 3.1 节中,我们概述了我们的方法。在第 3.2 节中,我们讨论了 SiEM 和 SkEM 的设计动机。在第 3.3 节中,我们介绍了我们提出的空间融合模块,介绍如何通过细粒度身体部位融合 (FBPF) 来整合骨架信息和轮廓信息。在第 3.4 节中,我们详细阐述了我们提出的时间融合模块,介绍如何使用循环位置嵌入 (CPE) 来建模和融合两种模态序列的时间信息。
3.1. Pipeline
图 2. 我们的 MMGaitFormer 的管道。在预处理阶段,分别通过分割方法和姿态估计方法从原始RGB视频中提取轮廓序列和骨架序列。在编码阶段,我们将输入的轮廓和骨架分别输入到轮廓编码模块 (SiEM) 和骨架编码模块 (SkEM) 中,以学习时空特征图。在融合阶段,提出了空间融合模块(SFM)和时间融合模块(TFM),分别用于有效的细粒度空间和精细对齐的时间特征融合。 ATT表示cross-attention block,两个ATT形成一个co-attention结构进行特征融合。 TFM 中的嵌入建模 (EM) 用于时间建模。单独的全连接层 (SFC) 用于编码和融合阶段的特征映射。
为了有效地获取、处理和融合两种模态的步态表示,我们提出了一个有效且新颖的框架,称为 MMGaitFormer,它有效地融合了两种模态的互补时空信息,同时保留了每种模态的独特辨别特征。所提出的多模态步态识别框架的流程如图 2 所示。
在预处理阶段,将从原始步态视频中离线获得两种类型的步态表示。一种是通过分割方法提取的剪影序列 S ∈ R C 1 s × T 1 s × H 1 × W 1 S \in \mathbb{R}^{C_1^s \times T_1^s \times H_1 \times W_1} S∈RC1s×T1s×H1×W1,其中 C 1 C_1 C1为通道数, T 1 s T_1^s T1s为剪影序列的长度, ( H 1 , W 1 ) \left(H_1, W_1\right) (H1,W1)为图像每个帧的大小。另一个输入是由姿势估计模型 [10, 22] 提取的骨架序列。骨架序列在结构上可以用 A ∈ R N 1 × N 1 A \in \mathbb{R}^{N_1 \times N_1} A∈RN1×N1描述,在特征上可以用 K ∈ R C 1 k × T 1 k × N 1 K \in \mathbb{R}^{C_1^k \times T_1^k \times N_1} K∈RC1k×T1k×N1描述,其中 C 1 k C_1^k C1k是通道数, T 1 k T_1^k T1k是序列的长度 N 1 N_1 N1为关节数。
在编码阶段,给定轮廓 S S S和骨架 K K K的序列,然后从轮廓编码模块(SiEM)中提取特征映射 F s ∈ R C 2 s × T 2 s × H 2 F_s \in \mathbb{R}^{C_2^s \times T_2^s \times H_2} Fs∈RC2s×T2s×H2和 F k ∈ R C 2 k × T 2 k × N 2 F_k \in \mathbb{R}^{C_2^k \times T_2^k \times N_2} Fk∈RC2k×T2k×N2和骨架编码模块(SkEM),分别为了学习每个步态表示的独特时空信息.
在融合阶段,这些特征图被送入两个分支:(1)空间融合模块使用共同注意结构以细粒度融合每个轮廓部分和每个骨架节点,并获得空间特征表示 Y s Y_s Ys。 (2) Temporal Fusion Module通过Embedding Modeling对时态关系进行建模,融合每个模态的长时特征信息用于时态特征表示 Y t Y_t Yt。我们连接 Y s Y_s Ys和 Y t Y_t Yt作为步态序列的最终特征表示 Y Y Y。
最后,我们选择一个组合损失来训练所提出的网络,包括融合损失 L fuse L_{\text {fuse }} Lfuse 、轮廓损失 L sil L_{\text {sil }} Lsil 和骨架损失 L ske L_{\text {ske }} Lske 。总损失定义为 L = L fuse + L sil + L ske L=L_{\text {fuse }}+L_{\text {sil }}+L_{\text {ske }} L=Lfuse +Lsil +Lske 。我们使用单独的 Batch All 三元组损失 [12] 作为损失函数。
3.2. Silhouette and Skeleton Encoding Module
动机。两种模态表示的数据结构差异太大,很难在数据层面直接融合。因此,我们设计了独立的编码模块来捕获每个模态的独特判别信息,并增强后续融合的时空特征表示。为了加快模型收敛速度,我们专门进行了剪影损失 L s i l L_{s i l} Lsil和骨架损失 L s k e L_{s k e} Lske来分别监督每个模态特征的学习。
操作。受 GaitGL [19] 和 GaitGraph [23] 的启发,我们设计了 SiEM 网络和 SkEM 网络。 SiEM 网络由 3D CNN 块 [20]、最大池化层和微动捕捉模块 (MCM) [9] 组成。对于 SkEM,我们引入了图卷积网络 (GCN) 以从骨架图序列中提取时空步态特征。最后一个block的输出通道设置为128,与SiEM的输出相同,方便后续的融合处理。我们框架中的 SiEM 和 SkEM 也可以替换为任何步态识别网络。 SiEM 和 SkEM 的更复杂架构可能会带来更可观的性能提升,但这不是所提出方法的优先考虑。因此,SiEM 和 SkEM 可以被视为我们方法的基线。
3.3. Spatial Fusion Module
动机。在这项工作的同时,个别方法 [21、25] 也开始通过融合多种步态模式来探索更强大的特征。然而,如图3(a)所示,这些方法具有相对简单的融合方式,并通过级联操作专注于全局特征级别的融合[25]。这种融合操作缺乏可解释性和灵活性,也缺乏对人体先验空间信息的利用。此外,这些方法通常依赖于每个模态的预训练模型,这使得它们更像是集成模型而不是多模态模型。为了解决这些问题,我们提出了一种基于共同注意的融合模块,如图 5(a)所示,它采用注意机制(即 Fine-grained Body Parts Fusion),如图3(b)所示。基于注意力的学习结构也使该方法更加灵活,允许端到端训练而不依赖于每个模态的预训练模型。
精细的身体部位融合。如图4(a)所示,人体区域可分为头部、躯干和腿部三部分,人体步态的不同身体部位在行走过程中具有不同的形状和运动模式。受上述观察的启发,我们认为空间特征融合应该是细粒度的,并提出了一种简单但有效的策略,以利用人类先验知识实现更全面的细粒度空间特征融合。我们通过构造注意力掩码 m s S m_s^S msS和 m k S m_k^S mkS来限制轮廓和骨架特征以仅计算与相应身体部位的交叉注意力,如图 4(b)所示。一方面,各个身体部位之间的融合有效地利用了人体的先验知识,因此更具可解释性。另一方面,受限注意力计算可以将计算复杂度降低一半,有效降低过拟合的风险。
在这项工作中,我们在轮廓和骨架之间建立了一个简单的映射关系,以构建如图 4 (b) 所示的预定义注意掩码。特征嵌入 f s S f_s^S fsS的上四分之一 (0-1/4)、中半部分 (1/4-3/4) 和下四分之一 (3/41) 代表头部、躯干和腿部的轮廓特征分别。同理,骨骼节点向量也同样分为头部( f k S f_k^S fkS中鼻子、眼睛、耳朵的节点特征)、躯干(肩、肘、腕、臀)、腿(膝、踝)三个区域). m s S m_s^S msS和 m k S m_k^S mkS互为转置。
空间共同注意聚合。 co-attention fusion 模块使轮廓和骨骼之间的交互成为可能,它在轮廓部分和骨骼关节之间建立各种空间关系,以利用两种数据模式的互补优势,为识别提供更稳健和全面的步态特征表示。相较于单独的crossattention modules,co-attention structure可以更好的整合skeleton和silhouette的互补优势。并且通过为受限的注意力计算构造注意力掩码,在提高可解释性的同时,降低了基于 Transforbased 方法的过度拟合风险。
操作。如图 5 (a) 所示,共同注意模块包括交错的多头交叉注意块。在这项工作中,我们的交叉注意块遵循 ViT 的 [8] 多头注意结构。对于特征映射 F s ∈ R C 2 s × T 2 s × H 2 F_s \in \mathbb{R}^{C_2^s \times T_2^s \times H_2} Fs∈RC2s×T2s×H2和 F k ∈ R C 2 k × T 2 k × N 2 F_k \in \mathbb{R}^{C_2^k \times T_2^k \times N_2} Fk∈RC2k×T2k×N2,在时间轴上使用最大池化得到空间特征嵌入 f s S ∈ R C 3 × H 2 f_s^S \in \mathbb{R}^{C_3 \times H_2} fsS∈RC3×H2和 f k S ∈ R C 3 × N 2 f_k^S \in \mathbb{R}^{C_3 \times N_2} fkS∈RC3×N2。然后将这些特征嵌入输入到注意结构中以进行互补信息融合,随后是前馈网络 (FFN) 层以生成空间特征表示 Y s Y_s Ys。
3.4. Temporal Fusion Module
动机。作为基于视频的识别任务,步态帧之间的时间关系包含对识别至关重要的独特生物信息。为了更好地利用两种模态的步态序列的时间信息,我们提出了一种基于注意力的时间融合模块 (TFM) 来聚合两种模态的时间特征。此外,如图 4(a) 所示,步态是一个周期性的对称过程。因此,我们提出了循环位置嵌入来更好地建模和对齐两个模态序列的时间信息。
循环位置嵌入。注意机制无法区分输入特征序列的位置信息。如图6所示,对于现有的视觉转换器方法[8],使用与输入序列相同长度的位置嵌入来指示输入标记的顺序。然而,这种方法限制了 transformer 只能从固定长度的步态序列中提取时空信息。针对这个缺点,我们提出了Cycle Position Embedding (CPE),表示为 P s = { p i ∣ i = 1 , … , s } P_s=\left\{p_i \mid i=1, \ldots, s\right\} Ps={pi∣i=1,…,s}, s s s是位置嵌入的循环大小。我们重复位置嵌入,直到它与特征嵌入的长度相同,以处理任何大小的序列。一方面,位置嵌入的重复过程模拟了步态周期过程,这是一种更有效的顺序建模步态周期的方法。并且可以根据步态周期中的帧数可解释地设置周期 s s s的大小。另一方面,通过限制可学习参数的数量进一步降低了过度拟合的风险,有助于所提出的基于 Transformer 的模型更好地收敛。
此外,两个序列中的相同帧都使用相同的位置嵌入来执行,以进行精细对齐的时间建模。我们为每个模态添加了一系列特征嵌入,其中包含可学习的类嵌入(表示为 C L S s T C L S_s^T CLSsT和 C L S k T C L S_k^T CLSkT),其在注意块输出处的状态用作相应模态的时间特征表示。
时间共同注意聚合。 TFM 的网络结构如图 5(b)所示。与 SFM 类似,我们还设计了一个共同注意模块来融合和聚合两个模态的时间信息。具体来说,两种模态的时间特征差异很大,因此我们使用两个独立的 FFN 层来分别映射两种模态的独特时间特征。
操作 对于特征映射 F s ∈ R C 2 s × T 2 s × H 2 F_s \in \mathbb{R}^{C_2^s \times T_2^s \times H_2} Fs∈RC2s×T2s×H2和 F k ∈ R C 2 k × T 2 k × N 2 F_k \in \mathbb{R}^{C_2^k \times T_2^k \times N_2} Fk∈RC2k×T2k×N2,在空间轴上使用均值池化得到时间特征嵌入 f s T ∈ R C 3 × T 2 s f_s^T \in \mathbb{R}^{C_3 \times T_2^s} fsT∈RC3×T2s和 f k T ∈ R C 3 × T 2 k f_k^T \in \mathbb{R}^{C_3 \times T_2^k} fkT∈RC3×T2k。嵌入建模操作应用于这些特征嵌入以进行时间建模。然后将这些特征嵌入输入到共同注意结构中进行特征融合和增强,并获得时间融合特征表示 Y t Y_t Yt。