DeepGaitV2:显式时间建模,CNN和Transformer在步态任务上的影响

news2025/2/21 23:46:50

Exploring Deep Models for Practical Gait Recognition

论文链接:http://arxiv.org/abs/2303.03301

代码链接:https://github.com/ShiqiYu/OpenGait

一、摘要

  文中提出了一个统一的视角,探讨如何构建用于最先进的户外步态识别的深度模型,包括经典的基于CNN的和新兴的基于Transformer的架构。具体而言,探究了浅层步态模型,并展示了显式时间建模深度Transformer结构对于区分性步态表示学习的优越性。因此,所提出的基于CNN的DeepGaitV2系列和基于Transformer的SwinGait系列在Gait3D和GREW上展现出显著的性能提升。至于受限的步态数据集,DeepGaitV2系列在大多数情况下也达到了新的最先进水平,有力地展示了其实用性和普适性。

二、创新点

  1) 强调普适性:为了确保结论的适用性,选择采用广泛接受的block和步态backbone,而非依赖特别设计的框架。这个决定可以增强所提模型的实用性和普遍性。

  2) 深刻的发现和实用的解决方案:本文通过关注深刻的发现和实用的解决方案,而不是花哨的网络设计而脱颖而出。通过直接解决关键挑战,DeepGaitV2 和SwinGait 在步态识别方面取得了显著进展。

在这里插入图片描述

三、原理

Deep Models for Practical Gait Recognition
作者进行了全面的研究,从系统的角度探索深度步态设计的新经验原则。

  图 3(a)所示,文中采用了由 OpenGait [6] 总结的通用步态框架。文中侧重于骨干网络的设计,同时保持其他部分不变。图3(b)展示了用于构建深度步态模型的2D、3D 和伪 3D 残差单元。伪3D 残差单元由一个1D 时间和两个2D 空间卷积层组成。此外,流行的Swin Transformer [12] 及其3D 变体如图3(c)所示也被引入,以构建深度步态变换器。
在这里插入图片描述

3.1. Breaking the Stereotype of Shallow Gait Models

在这里插入图片描述

  如表 1所示,通过堆叠五层,即初始卷积(Conv0)和接下来的四个阶段(Stage 1至4),构建了一个DeepGaitV2-3D系列1。每个阶段堆叠的残差块数量,记为B,决定了网络的深度。例如,如果将B设置为[1,1,1,1],则网络深度应为 2 × ( 1 + 1 + 1 + 1 ) + 2 = 10 2×(1+1+1+1)+2=10 2×(1+1+1+1)+2=10,其中最后的+2表示初始Conv0和最终头层。因此,表1呈现了深度从10到30不等的一系列DeepGaitV2-3D。请注意,DeepGaitV2-3D的第1阶段由2D残差单元组成,以提高计算效率。将所有3D块替换为它们的2D对应物以设计DeepGaitV2-2D。

(说明:将[6]中的GaitBase视为深度ResNet用于步态建模的开创性尝试,并将其称为DeepGaitV1。因此,基于CNN的步态模型被称为DeepGaitV2。)

在这里插入图片描述

  正如图 4所示,受限和真实世界的步态评估之间在性能趋势上存在显著差异。具体来说,应用于Gait3D和GREW的深度模型带来了显著的好处,而在CASIA-BOU-MVLP上观察到了截然不同的结果。

在这里插入图片描述

  图5中更进一步的分析显示了CASIA-BOU-MVLP上的过拟合现象,也就是22层的DeepGaitV2-3D收敛更好但性能不如其10层的对应网络。

  此外,在CVPR2023提出的最新受限步态数据集SUSTech1K和CCPG上也发现了类似的过拟合现象。尽管引入了新的人控挑战,如夜间照明、复杂遮挡和多样化的服装变化,深度模型在这些步态数据集上仍然表现出过拟合行为

  尽管在受限步态数据集上取得了上述成功,作者认为这种刻板印象严重阻碍了步态识别的实际应用。受限步态数据集通常由研究人员控制了有限数量的协变量,这不可避免地简化了步态识别任务。尽管这种数据收集策略在早期步态研究中发挥了重要作用,通过可控的注释和数据分发探索影响识别准确度的关键因素,但也带来了一个缺点。步态模型可能会忽略微妙的行走模式,而是专注于捕捉明显的、不变的与步态无关的特征。例如,CCPG [8]表明,当引入多样化的服装变化协变量时,深度网络往往会集中于脸部和鞋子。因此,过去认为步态识别是浅层模型可以轻松解决的任务

  对于真实世界步态数据集,其全面、多样化和有偏的分布显著增加了步态识别的挑战。正如图 4(c)和(d)所证实的,深度网络的需求变得明显。因此,本文建议未来的研究应该将深度模型作为真实世界步态应用的基础架构。为此,建议将10层和22层的DeepGaitV2模型作为受限和真实世界评估的基准参考

3.2. Superiority of Explicit Temporal Modeling

  捕捉步态过程中的身体变化对于步态描述至关重要。在最近的文献中,一种流行的方法是将步态视为一个无序的轮廓集合[2]。其核心思想源自观察到人们只需看外观就能轻松识别步态循环中某个时间位置的轮廓。这是因为步行过程通常具有周期性。因此,基于集合的方法认为顺序信息是不必要的,往往不会明确利用相邻帧之间的动特征。另一方面,基于序列的方法通常将重点放在设计时间模型上

  DeepGaitV2-2D和3D分别展示了纯粹基于集合和基于序列的DeepGaitV2,前者仅包含2D残差块,而后者主要由3D块组成。图 4 显示,基于序列的DeepGaitV2在各种主流步态数据集上明显超过了基于集合的对应网络结构。为了进一步确认显式时间建模的有效性,进行了以下实验:

  • 在对输入帧进行混洗后,破坏了相邻轮廓之间的依赖关系,明显出现了准确性下降。如图6中的阴影区所示,准确性下降明显:对于CASIA-B、OU-MVLP、Gait3D和GREW分别为-9.6%、-3.7%、-12.7%和-15.8%。这些结果有力地展示了序列特征对步态建模的重要性序列特征对步态建模很重要)。
    在这里插入图片描述

  • 排除3D块的增加参数和计算成本带来的潜在好处,开发了DeepGaitV2的一种轻量级对应称为P3D2。如图6所示,DeepGaitV2-P3D的性能竞争力甚至优于其3D对应网络。此外,在CASIA-B、OU-MVLP、Gait3D和GREW上,显然优于其2D对应网络,即分别为+0.8%、+1.9%、+6.2%、+9.1%

3.3. Superiority of Deep Gait Transformer

  深度Transformer模型通常将输入的RGB图像分成不重叠的块。每个块被视为“token”,其特征被表示为原始RGB像素值的串联。然后,在这些token的线性嵌入上执行自注意机制或其变体。然而,对于步态识别,通过直接分割二值轮廓生成的大量块包括全白或全黑区域。这些块不提供任何边缘或形状特征,因此被称为“无用”块。统计分析显示,在使用 64 × 64 64 ×64 64×64的图像大小和大小为 4 × 4 4 ×4 4×4的块时,GREW数据集中有84.1%的块是这种无用的块。由于无用块内的所有值只能是零或一,这些块使得对底层Transformer层的训练参数进行优化的反向梯度在计算上特征上毫无用处甚至无效。

在这里插入图片描述

  为了解决这个问题,已经考虑了三种直接的解决方案:

  • 通过使用较大的patch尺寸。通过将patch尺寸设置为16 ×16,GREW数据集中无用patch的比例降至46.2%。然而,这意味着轮廓将直接被输入层下采样1/16。这样,只有 64 16 × 64 16 = 16 \frac{64}{16} × \frac{64}{16} = 16 1664×1664=16个token将被馈送到后续的Transformer主干,使得难以层次化地捕获细粒度的步态特征。

  • 复制卷积机制,即通过小步长的滑动窗口对轮廓进行分区。这种策略可以线性地减少无用块的比例。然而,生成无用甚至无效梯度的风险仍会呈二次增长,因为只要查询-键对中的任何单个块属于无用块,则会发生这些冗余情况。

  • 采用图中显示的另一种应对策略,即将前两个阶段实例化为卷积块。得益于分层卷积层的滑动窗口机制和非线性建模能力,Conv0、阶段1和阶段2可以将二进制轮廓数据转换为浮点编码特征图,从而提供密集的低级结构特征。之后的Transformer层,即第3阶段和第4阶段,将利用先进的基于Transformer的模块学习高级识别特征。采用广泛接受的2D和3D Swin Transformer块 [12, 13],如图3 (c) 所示,分别构建SwinGait-2D及其3D对应物。主要原因有两个:(1)在局部时空窗口进行自注意力操作,能够探索局部外观和运动细节,以进行细粒度步态描述。(2)Swin Transformer 有出色的速度-准确度权衡。

在这里插入图片描述

  如图7所 示,SwinGait-2D/3D中Conv0、Stage 1和Stage 2的结构继承自DeepGaitV2-2D/3D,以便进行公平比较(在Gait3D数据集上,由于DeepGaitV2-P3D的性能优于其3D对应物,SwinGait-3D继承了DeepGaitV2-P3D)。在这些卷积块之后,特征图的大小为 T × 2 C × 32 × 22 T ×2C ×32 ×22 T×2C×32×22,其中T 是帧数,C是通道数。为了匹配下游Transformer块所需的大小限制,通过双线性插值层逐帧将这些特征图调整为 2 C × 30 × 20 2C ×30 ×20 2C×30×20。然后,将每个大小为 2 C × 2 × 2 2C ×2 ×2 2C×2×2的三维块视为一个token。因此,三维块分割层获得 T × 30 2 × 20 2 T × \frac{30}{2} × \frac{20}{2} T×230×220个三维token,每个块/token包含一个 8 C 8C 8C维特征。然后,应用线性嵌入层将每个token投影到一个 4 C 4C 4C维向量。

在这里插入图片描述

 SwinGait-2D/3D的第3和第4阶段由标准的2D/3D Swin Transformer块组成。具体来说,2D Swin Transformer [12]通过基于偏移窗口的模块替换了标准的多头自注意力模块构建而成。如图 8 (a)所示,2D偏移窗口连接了前一层的窗口,为它们提供了连接。图8 (b)显示的3D Swin Transformer将局部注意力计算的范围从仅空间域扩展到时空域。在实现中,2D和3D Swin Transformer块的3D窗口大小分别设置为(1, 3, 5)和(3, 3, 5)。此外,第3和第4阶段被另一线性嵌入层连接,负责将每个token的特征映射到一个 8 C 8C 8C维向量。

四、实验

Datasets. 使用了六个流行的步态数据集,它们分别是CASIA-B、OU-MVLP、CCPG、SUSTech1K、Gait3D和GREW。它 们分别在2006年、2018年、2023年、2023年、2022年和2021年进行了收集。前四个数据集是在完全受限制的实验室中收集的,后两个来自真实世界的场景。关键的统计指标如表 3 所示。文中的实验严格遵循官方评估协议。
在这里插入图片描述

在这里插入图片描述

Implementation details. 实现细节大多在表2 中呈现。除非另有说明,轮廓图是通过[21]中使用的归一化方法对齐并调整为 64 × 44 64×44 64×44。输入序列对于DeepGaitV2-2D和SwinGait-2D是无序的,对于其他模型是有序的。使用间距为0.2的三元组损失。采用 [6]中提出的空间增强策略。源代码可用。特别是对于SwinGait系列,底部卷积和头层是从相应的经过训练的DeepGaitV2模型初始化的,学习率为 3 × 1 0 − 5 3 ×10^{−5} 3×105。根据[12],采用了0.1的随机dropout

Comparisons with state-of-the-arts. 如表4、表 5和表 6 所示,DeepGaitV2系列在所使用的数据集上明显优于其他最新技术方法,除了CASIA-B。值得注意的是,在真实世界的步态数据集Gait3D和GREW上,DeepGaitV2系列取得了显著的性能提升。此外,DeepGaitV2系列还在一些受限制的步态数据集如OU-MVLP、SUSTech1K和CCPG上取得了新的最新技术,明确表明无论是步态数据的收集场景如何,探索强基线模型用于步态识别仍然有很大挑战。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

 表 4 显 示,相对 于CNN-based的DeepGaitV2模型,在大多数室外数据中,SwinGait系列超越了对应的DeepGaitV2模型,考虑到了速度和准确性的权衡。注意到SwinGait系列在受限制的步态数据集如SUSTech1K和CCPG上表现相对较差,如表5 和 6 所示。这一观察与其他视觉任务相一致,即,变换器对于大型有挑战性的数据集可能会取得显著的改善。总体而言,网络架构的演进始终值得密切关注,而Transformer则因其利用注意力来模拟空间-时间依赖关系而特别引人注目且流行。

在这里插入图片描述

Ablation study. 已考虑直接确定骨干容量的控制设置,即网络深度和宽度。在此,进一步扩展了DeepGaitV2系列,即将C从32扩大到128,如表7所示。结果显示,准确度稳步提高,但模型大小和计算成本大幅增加。为了提高效率,建议将 C = 64 C=64 C=64的DeepGaitV2-P3D作为DeepGaitV2系列的基准模型,以实现良好的平衡。至于SwinGait系列,表7显示,适当加深骨干也能带来性能提升。

五、总结

  这项研究除了在真实世界数据集上取得性能突破外,还通过简单直接的解决方案,基于广泛的实验分析和讨论,总结了深度步态模型构建的关键经验原则。考虑到实用性和普适性,打破了浅层步态模型的固有印象,展示了显式时间建模和深度步态Transformer的优越性。所提方法在GREW数据集上取得了令人瞩目的81.6%的Top-1准确率。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2127629.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

二层交换机如何工作

在学习之前,先提出几个问题: 二层交换机在哪里?二层交换机是怎么转发数据的?二层交换机如何生成mac地址表?二层交换机怎么去维护mac地址表? 二层交换机:二层交换机是工作在ISO/OSI模型第二层—…

力扣最热一百题——相交链表

题目链接:160. 相交链表 - 力扣(LeetCode) 注:下述题目描述和示例均来自力扣 题目描述 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返…

【LabVIEW学习篇 - 23】:简单状态机

文章目录 简单状态机状态机的创建和了解状态机实现红绿灯 简单状态机 一个优秀的应用程序离不开好的程序框架,不仅要很好满足用户的功能需求,还要考虑到系统的稳定性、实时性、可扩展性、可维护性,执行效率等方面。借用一些成熟的设计框架&a…

Jmeter终极线程组“Ultimate Thread Group“如何使用?

1、安装,点击"选项",再点击"Plugins Manager",下载"Custom Thread Groups" 2、添加"jpgc - Ultimate Thread Group" 3、"jpgc - Ultimate Thread Group"使用

HarmonyOS开发5.0【骨架屏】 app界面制作

实现原理 1.定义组件和状态变量: 使用 Entry 和 Component 装饰器定义了一个名为 IvSkeleton 的组件。 定义了一个状态变量 translageX,初始值为 -100%,用于控制闪电效果的位置。 定义了两个数值变量 widthValue 和 heightValue,…

wangeditor——cdn引入的形式创建一个简易版编辑器——js技能提升

昨天同事那边有个需求,就是要实现聊天功能,需要用到一个富文本编辑器,参考如下: 上面的这个效果图是博客园的评论输入框 最终使用wangEditor编辑器实现的效果如下: 只保留了个别的菜单: 默认模式的wangE…

/bin/bash的作用

1、为啥使用不了很多命令? 我刚进入一个新系统: 我当时蒙蔽了,这是啥意思,为啥没命令? 原因是:当时进入的shell并没有初始化这些路径环境,所以正确的方法是: 2、/bin/bash运行的过程中执行…

Android12_13左上角状态栏数字时间显示右移动

文章目录 问题场景解决问题 一、基础资料二、代码追踪三、解决方案布局的角度解决更改paddingStart 的默认值设置marginLeft 值 硬编码的角度解决 问题场景 1)早期一般屏幕都是方形的,但是曲面屏,比如:好多车机Android产品、魔镜…

9月11号作业

头文件 #include <cmath> #include <QApplication> #include <QMainWindow> #include <QLabel> #include <QTimer> #include <QVBoxLayout> #include <QRandomGenerator> #include <QTimerEvent> #include <QTextT…

如何在 Ubuntu 系统上部署 Laravel 项目 ?

到目前为止&#xff0c;Laravel 是 PHP 开发人员构建 api 和 web 应用程序的首选。如果你是新手的话&#xff0c;将 Laravel 应用程序部署到线上服务器上可能有点棘手。 在本指南中&#xff0c;我们将向您展示在 Ubuntu 系统中部署 Laravel 应用程序的全过程。 Step 1: Updat…

SprinBoot+Vue教务管理系统的设计与实现

目录 1 项目介绍2 项目截图3 核心代码3.1 Controller3.2 Service3.3 Dao3.4 application.yml3.5 SpringbootApplication3.5 Vue 4 数据库表设计5 文档参考6 计算机毕设选题推荐7 源码获取 1 项目介绍 博主个人介绍&#xff1a;CSDN认证博客专家&#xff0c;CSDN平台Java领域优质…

【深度学习】搞懂卷积神经网络(一)

卷积神经网络是一种具有局部连接&#xff0c;权重共享等特性的深层前馈神经网络。一般是由卷积层&#xff0c;池化层&#xff0c;全连接层交叉堆叠而成&#xff0c;使用反向传播算法进行训练。卷积神经网络具有一定程度上的平移&#xff0c;缩放和旋转不变性&#xff0c;较前馈…

【目标检测数据集】工具扳手数据集1000张VOC+YOLO格式

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;1003 标注数量(xml文件个数)&#xff1a;1003 标注数量(txt文件个数)&#xff1a;1003 标注…

Mac M芯片上安装统信UOS 1070arm64虚拟机

原文链接&#xff1a;Mac M芯片上安装统信UOS 1070 arm64虚拟机 Hello&#xff0c;大家好啊&#xff01;今天给大家带来一篇关于如何在苹果M系列芯片的Mac电脑上&#xff0c;通过VMware安装ARM64版统信UOS 1070桌面操作系统的文章。随着苹果M1和M2芯片的推出&#xff0c;越来越…

MATLAB中swapbytes函数用法

目录 语法 说明 示例 交换标量的字节顺序 交换向量的字节顺序 交换三维数组的字节顺序 swapbytes函数的功能交换字节顺序。 语法 Y swapbytes(X) 说明 Y swapbytes(X) 将数组 X 中每个元素的字节排序从 little endian 转换为 big endian&#xff08;或相反&#xff…

解决:Vue3 - defineProps 设置默认值报错问题

目录 1&#xff0c;问题2&#xff0c;分析2.1&#xff0c;按报错提示信息测试2.2&#xff0c;测试 vue-i18n 3&#xff0c;解决 1&#xff0c;问题 使用 defineProps 指定默认值时报错&#xff0c;代码如下&#xff1a; <template><input type"text" :pla…

1分钟从出差申请到自动入账,用友BIP超级版超级快!

在当今的商业战场&#xff0c;时间就是金钱&#xff0c;效率决定成败。对于频繁出差的商务精英而言&#xff0c;繁琐的差旅申请与报销流程无疑是巨大的时间浪费。现在&#xff0c;用友BIP超级版商旅费控一体化解决方案&#xff0c;将彻底改变这一现状&#xff0c;操作仅需1分钟…

【无人机设计与控制】固定翼四旋翼无人机UAV俯仰姿态飞行模糊自整定PID控制Simulink建模

摘要 本研究设计了一种基于模糊自整定PID控制的固定翼四旋翼无人机俯仰姿态控制系统。利用Simulink建立了无人机俯仰控制系统模型&#xff0c;通过模糊控制器自适应调节PID参数&#xff0c;实现了对无人机俯仰角度的精确控制。实验结果表明&#xff0c;该控制策略在不同飞行状…

机器学习-特征工层

机器学习-特征工层 仅个人笔记使用&#xff0c;感谢点赞关注 目前仅专注于 NLP 大模型 机器学习和前后端的技术学习和分享 感谢大家的关注与支持&#xff01;

【 html+css 绚丽Loading 】000047 玄武流转盘

前言&#xff1a;哈喽&#xff0c;大家好&#xff0c;今天给大家分享htmlcss 绚丽Loading&#xff01;并提供具体代码帮助大家深入理解&#xff0c;彻底掌握&#xff01;创作不易&#xff0c;如果能帮助到大家或者给大家一些灵感和启发&#xff0c;欢迎收藏关注哦 &#x1f495…