paper题目:GaitEdge: Beyond Plain End-to-end Gait Recognition for Better Practicality
paper是南科大发表在ECCV 2022的工作
paper链接:地址
Code:链接
步态是远距离识别个体的最有前途的生物识别技术之一。尽管以前的大多数方法都专注于识别轮廓,但一些直接从 RGB 图像中提取步态特征的端到端方法表现更好。然而,我们证明这些端到端方法可能不可避免地受到与步态无关的噪声的影响,即低级纹理和彩色信息。在实验上,我们设计了跨域评估来支持这一观点。在这项工作中,我们提出了一种名为 GaitEdge 的新型端到端框架,它可以有效地阻止与步态无关的信息并释放端到端的训练潜力。具体来说,GaitEdge 合成行人分割网络的输出,然后将其馈送到后续识别网络,其中合成轮廓由可训练的身体边缘和固定内部组成,以限制识别网络接收的信息。此外,用于对齐轮廓的 GaitAlign 嵌入到 GaitEdge 中而不会失去可微性。 CASIA-B 和我们新建的 TTG-200 的实验结果表明,GaitEdge 明显优于以前的方法,并提供了更实用的端到端范例。
关键词:步态识别;端到端;步态对齐;跨域
近年来,通过步行模式即步态进行人体识别已成为研究热点。与其他生物特征(例如面部、指纹和虹膜)相比,人的步态可以在没有受试者合作的情况下轻松远距离捕获,这意味着步态在现实世界不受控制的条件下可以用于犯罪调查和嫌疑人追踪。值得注意的是,大多数研究将步态识别视为两步方法,包括从 RGB 图像中提取中间模态,例如轮廓蒙版或骨架关键点,并将它们放入下游步态识别网络。
然而,一些研究[4,5,7,16]表明,这些多步骤的管道通常会导致效率和有效性的弱点;越来越多的工作倾向于直接在端到端[30,20,14]中推断最终结果。
据我们所知,最近的文献中有三种典型的端到端步态识别方法。如图 1 (a) 所示,Li 等人。 [14,13] 利用时尚人体网格恢复模型 [11] 以skinned multi-person linear (SMPL) [17] 模型的参数作为输入来重建三维人体并训练识别网络。Zhang等人提出的另一种典型方法。 [30] 引入了一个自动编码器框架,以明确地从顺序 RGB 图像中分离出与运动相关的步态模式和与运动无关的外观特征,如图 1(b)所示。此外,Song等人。提出 GaitNet [20],它集成了两个任务,即行人分割和步态识别,如图 1(c)所示。它直接从中间浮动掩码中提取步态特征,而不是从经典的二进制轮廓中提取步态特征。
图1. 三种典型的端到端方法:(a)基于模型的端到端[14,13],(b)Zhang的GaitNet[30],(c)Song的GaitNet[20],(d)我们的GaitEdge。阴影区域的浮点数从0到1不等
虽然取得了比那些两步法更高的性能,但我们认为这些端到端方法不能保证学到的人类识别特征只包括行走模式。因为以前的端到端框架的中间模式,例如[14,13]中的SMPL重建,[30]中的姿势特征分解,以及[20]中的行人分割监督,都是浮动编码,它们可能引入一些背景和纹理信息。此外,虽然以前的方法都试图排除与步态无关的特征,但它们缺乏有说服力的实验来验证。
为了缓解这些问题,我们注意到步态特征通常比其他与步态无关的噪声(即纹理和颜色)对相机视角、携带物和衣服的协整性更强,这意味着如果这些不相关的特征在提取的步态表征中占主导地位,当模型在未见过的领域(新数据集)直接利用时,识别性能将下降很多[8]。因此,在本文中,我们引入了跨域评估,以暴露RGB信息的副作用。更重要的是,我们提出了一个简明而有说服力的端到端框架,名为GaitEdge,以处理这一具有挑战性的评价。如图1(d)所示,GaitEdge的中间模式是一个新颖的合成剪影,而它的边缘是由可训练的浮动掩码组成,其他区域是经典的二进制剪影。两个直观的现象启发了这种设计。首先,RGB信息的噪声主要分布在非边缘区域,如人体和背景。因此,将这些区域作为二进制剪影处理可以有效地防止步态无关噪声的泄漏。其次,边缘区域在描述人体的形状方面起着至关重要的作用。因此,让唯一的边缘区域成为可训练的区域,就足以解放端到端训练策略的潜力。此外,我们观察到,尺寸正常化对齐[9]对于剪影预处理来说是必要的,以保持人体的长宽比。不幸的是,这种操作曾经是离线的,因此是不可区分的,这意味着它不能直接应用于对齐合成剪影。为了解决这个问题,受RoIAlign[6]的启发,我们提出了GaitAlign模块来完成GaitEdge的框架,它可以被看作是[9]提出的对齐方法的一个可微分版本。
综上所述,我们做出了以下三个主要贡献:(1)我们指出了对步态无关噪声混入最终步态表征的担忧,并引入了跨域测试来验证RGB信息噪声的泄漏。此外,由于缺乏提供RGB视频的步态数据集,我们收集了Ten Thousand Gaits(TTG-200),其规模与流行的CASIA-B[26]大致相当。(2) 我们提出了GaitEdge,一个简明而引人注目的端到端步态识别框架。在CASIA-B和TTG-200上的实验表明,GaitEdge达到了新的最先进的性能,并且我们宣布GaitEdge可以有效地防止不相关的RGB信息噪音。(3) 我们为基于剪影的端到端步态识别提出了一个名为GaitAlign的模块,它可以被认为是尺寸标准化的一个可微分版本[9]。
作为一种生物识别技术,早期研究 [23] 将步态定义为特定人将以相当可重复和具有特征的方式执行的步行模式。另一方面,另一个类似的任务,即行人重识别[31],旨在通过另一个摄像头在另一个地方找到一个摄像头中呈现的人。尽管有相似之处,但它们仍然有根本的不同:第一个任务侧重于步行模式,而第二个任务主要使用服装进行识别。因此,值得强调的是,我们不能让步态识别网络获取步态模式以外的信息,例如 RGB 通知的纹理和颜色。
目前主流的基于视觉的步态识别方法大致可以分为基于模型和基于外观的步态识别。前一种基于模型的方法 [15,2,14,22] 通常首先提取人体的底层结构,例如 2D 或 3D 骨骼关键点,然后对人体行走模式进行建模。一般来说,这样的方法可以更好地减轻衣服的影响,更准确地描述身体的姿势。尽管如此,由于视频质量低,它们都难以在实际监控场景下对人体结构进行建模。
越来越多的基于外观的步态识别方法 [24,28,4,29,5,7,16] 目前正在抛弃基于模型的方法。最近,GaitSet [4] 将一系列轮廓作为输入并取得了很大进展。随后,Fan等人。 [5] 提出了一个焦点卷积层来学习部分级特征,并利用微动捕捉模块对短程时间模式进行建模。此外,Lin等人。 [16] 提出了一个基于 3D CNN 的全局和局部特征提取器模块,用于从帧中提取有区别的全局和局部表示,其性能明显优于其他方法。
端到端学习是指以可区分的方式集成几个独立的基于梯度的深度学习模块。这种训练范式具有天然的优势,因为系统优化了组件的整体性能,而不是优化人工选择的中间体 [3]。
最近,一些优秀的研究受益于端到端学习范式。Amodei等人。 [1] 用神经网络替换整个手工工程组件管道,以通过端到端学习克服各种语音。另一个值得注意的工作 [3] 是 Nvidia 的自动驾驶系统端到端训练。它只为系统提供人类转向角度作为训练信号。尽管如此,系统仍可以自动学习必要处理步骤的内部表示,例如检测车道线。
随着端到端哲学变得越来越流行,一些研究 [30,14,20] 已将其应用于步态识别。首先,Zhang等人。 [30] 提出了一种自动编码器来解开外观和步态信息,而无需明确的外观和步态标签进行监督。其次,Li等人。 [14,13] 使用新开发的 3D 人体网格模型 [17] 作为中间模态,并使神经 3D 网格渲染器 [12] 生成的轮廓与从 RGB 图像分割的轮廓一致。因为 3D 网格模型提供的信息比轮廓更有用,所以这种方法可以实现最先进的结果。然而,使用 3D 网格模型需要更高分辨率的输入 RGB 图像,这在实际监控场景中是不可行的。与前两者不同的是,Song等人。 [20] 提出了另一种端到端的步态识别框架。它是通过直接连接行人分割和步态识别网络形成的,由一个联合损失监督,即分割损失和识别损失。这种方法看起来相对更适用,但由于没有明确的限制,它也可能导致与步态无关的噪声泄漏到识别网络中。在这种考虑下,Our GaitEdge 主要提出并解决了两个关键问题:跨域评估和轮廓错位。
从前面的角度来看,我们认为虽然现有的端到端方法 [30,20,14,13] 大大提高了准确率,但很自然地怀疑 RGB 信息的引入是提高的原因。为了验证我们的猜想,我们引入了两种步态识别范式并进行了实验比较。
首先,采用性能最佳的两步步态识别方法之一,即 GaitGL [16] 作为基线。此外,还介绍了一个简单直接的端到端模型,名为 GaitGL-E2E,可提供公平的比较。如图 2 (a) 和 (b) 所示,这两种方法都使用相同的模块,只是 GaitGL-E2E 通过可训练的分割网络(即 U-Net [18])用浮点编码轮廓替换二进制掩码。在实验上,我们将单域评估定义为对 CASIA-B* [26] 的训练和测试。相应地,跨域评估定义为在另一个数据集(即 TTG-200)上进行训练,但在 CASIA-B* 上测试训练后的模型。更多的实现细节将在第 5 节中详述。
如图 2 (d) 的单域部分所示,GaitGL-E2E 轻松优于 GaitGL,因为它具有更多可训练参数,并且浮点掩码中包含的信息比二进制掩码更多。然而,不可避免地会怀疑流入识别网络的浮点数会带来 RGB 图像的纹理和颜色,这使得识别网络学习到与步态无关的信息并导致跨域性能下降。另一方面,图 2(d)的跨域部分显示 GaitGL-E2E 没有达到与单域相同的优势,甚至比 GaitGL 低很多(GaitGL:40.34%,GaitGLE2E:27.18 %)在最具挑战性的情况下,即 CL(换衣行走)。这种现象表明端到端模型更容易学习易于识别的粗粒度 RGB 信息,而不是细粒度的难以察觉的步态模式。
上述两个实验表明,GaitGL-E2E 确实吸收了 RGB 噪声,因此对于具有实际跨域要求的步态识别不再可靠。因此,我们提出了一个由我们精心设计的 Gait Synthesis 模块和可微的 GaitAlign 模块组成的新框架 GaitEdge,如图 2(c)所示。 GaitEdge 和 GaitGL-E2E 最显著的区别是我们通过手动轮廓合成来控制 RGB 信息的传输。
图 2. (a)、(b) 和 © 是三个不同的框架。 (d) CASIA-B* 的 rank-1 准确度 (%),不包括相同视角的情况。 NM 正常行走,BG 背包行走,CL 换衣行走
我们通常认为边缘(轮廓的轮廓)包含轮廓图像中最具判别力的信息[25]。剪影的内部可以看作是信息较少的低频内容,而如果我们去掉内部,信息将过于紧凑而无法训练识别网络。因此,设计的模块,名为 Gait Synthesis,专注于通过掩模操作将可训练的边缘与固定的内部相结合。它只训练轮廓图像的边缘部分,从冻结的分割网络中提取边缘以外的区域。如图 3 所示,为了阐明我们的框架是如何工作的,我们使用黄色表示可训练模块并说明梯度传递的流程,其中橙色虚线代表反向传播,蓝色实线代表前向传播。边缘和内部的掩码表示为
M
e
M_{e}
Me和
M
i
M_{i}
Mi。分割网络的输出概率记为
P
P
P。然后,表示为
M
s
M_{s}
Ms的步态合成的输出可以通过几个元素操作获得:
M
s
=
M
e
×
P
+
M
i
(
1
)
M_{s}=M_{e} \times P+M_{i} \quad(1)
Ms=Me×P+Mi(1)
如等式 1 所示,我们明确地将
P
s
P_{s}
Ps乘以
M
e
M_{e}
Me,然后将其添加到
M
i
M_{i}
Mi,这会阻止大多数信息,包括步态相关和步态无关。但是,我们仍然可以微调轮廓的边缘,使其自动优化以进行识别。
图 3. GaitEdge 示意图, ⊕ \oplus ⊕表示元素相加, ⊗ \otimes ⊗表示元素相乘,以及从 0 到 1 的浮点数的阴影区域。有关预处理模块的更多详细信息可以在图 4 中找到。
预处理。我们设计了一个不可训练的预处理操作来得到
M
e
M_{e}
Me和
M
i
M_{i}
Mi,如图 4 所示。具体来说,我们将其分为三个步骤。首先,我们用训练好的分割模型对输入的 RGB 图像进行分割,得到轮廓
M
M
M。然后,在第二步中,我们使用经典的形态学算法得到具有
3
×
3
3 \times 3
3×3平面结构元素的膨胀和侵蚀轮廓
(
M
i
)
\left(M_{i}\right)
(Mi) .最后,我们通过元素互斥或
∨
‾
\underline{\vee}
∨得到
M
e
M_{e}
Me。形式上:
M
i
=
erode
(
M
)
M
e
=
M
i
∨
‾
dilate
(
M
)
Mi=erode(M)Me=Mi∨_dilate(M)
总体而言,Gait Synthesis 采用最直观的方法,通过限制可调节区域来保留最有价值的轮廓特征,同时消除大部分低级 RGB-informed噪音。值得一提的是,由于设计简单,Gait Synthesis 可以可拆卸地集成到以前基于轮廓的端到端方法中。
图 4 GaitEdge 中的预处理模块
对齐对于所有基于轮廓的步态识别方法都非常重要。由于轮廓的尺寸归一化首次在 OUISIR 步态数据库 [9] 上使用,几乎所有基于轮廓的方法都通过尺寸归一化对轮廓输入进行预处理,从而消除了噪声并有利于识别。然而,之前的端到端方法,即 GaitNet [20],将分割后的轮廓直接输入识别网络,几乎无法处理上述情况。因此,我们提出了一种称为 GaitAlign 的可微步态对齐模块,以使身体成为图像的中心,并垂直填充整个图像。
我们首先回顾尺寸归一化 [9] 过程,因为 GaitAlign 可以被视为可微分版本。在尺寸标准化中,通过计算主体的顶部、底部和水平中心,我们可以将主体按纵横比缩放到目标高度,然后用零填充 x 轴以达到目标宽度。在我们的例子中,算法 1 中的伪代码描述了 GaitAlign 的过程。我们首先需要用一半宽度的零填充左右两侧,这样可以确保裁剪操作不会超出边界。根据纵横比和目标大小,我们计算四个定期采样位置的精确值。最后,将 RoIAlign [6] 应用于上一步给出的位置。结果,我们得到了标准尺寸、图像填充的轮廓,其纵横比保持不变(参见图 3 中 GaitAlign 的输出)。另一个值得注意的一点是,GaitAlign 模块仍然是可微的,使我们的端到端训练变得可行。