Title: OpenGait: Revisiting Gait Recognition Toward Better Practicality
导读
今天为大家介绍的
OpenGait
便是一套基于
Pytorch
构建的步态识别(
Gait Recognition
)框架,其涵盖了一系列最先进的步态识别算法,同时提供了一个结构简单但强大的基线模型
GaitBas
,致力于启发研究人员开发更先进的步态识别方法并将其投入到实际生产应用中。
步态识别
步态识别同样是生物特征识别技术的一种,其核心思想是通过分析一个人行走的姿态来对比出数据库中人物的身份。大家知道,诸如人脸、指纹、掌纹、虹膜等生物特征在人体中都具备唯一性,为什么步态识别可以作为识别一个人身份的特征呢?这是由于人在行走时其腿部肌肉力量,甚至包括人体的骨骼密度和身体重心等均有所差异,因此完全可以通过分析出这些差异来唯一的辨识出一个人的身份。
此外,与基于其他生物识别技术相比,步态识别的优势在于非接触式、非侵犯性、且具备易于感知、难与隐蔽和伪装等特点。简单点理解便是,步态识别系统压根无需人为主动的配合(例如虹膜、指纹和掌纹等)以及无惧各种遮挡(人脸)和换装(ReID)。因此,步态识别技术在安防监控、门禁系统、医疗诊断等相关领域具备广泛的应用前景和经济价值。
方法
现如今,基于步态识别的算法中大致可以分为两类,一类是基于外观的方法,另一类是基于模型的方法。下面就让我们简单介绍下本文提到的一些相关工作。
Model-based methods
基于模型的方法相对来说比较鲁邦,但如何准确的建模是个难题,实现起来也比较困难且准确率也不高。
<,,>
以
GaitGraph
为代表的的一些方法倾向于将估计的人体底层结构作为输入,例如
2D/3D pose
和
SMPL
模型。虽然这种方法对一些噪声因素具有天然的鲁棒性,例如携带和穿着,但遇到分辨率不够清晰的情况特别容易失效,缺乏实用性。
注:
SMPL
出自《A Skinned Multi-Person Linear Model》一文中,这是一种基于
skinned vertex
的模型,可准确表示自然人体姿势中的各种体型,可用于从数据中学习出人体的各种形状和姿势的相关变化。
Appearance-based methods
基于外观的方法直接从视频中学习目标的形状特征,低分辨率条件下也能正常工作,因此准确率更高且实现起来更加方便,但对外观(如姿态、角度、装备)变化较为敏感。随着深度学习的蓬勃发展,目前大多数基于外观的工作都集中在空间特征提取和步态时间建模上。
GaitSet
算是近年来最具影响力的步态识别作品之一,于2019发表在AAAI上,其创新地将步态序列视为一个集合,并利用最大函数来压缩帧级空间特征序列,极具简单性和有效性。
GaitPart
则是发表在
CVPR'2020
上的方法,其详细探索了输入
silhouette
的局部细节,并通过微动捕捉模块对时间依赖性进行建模。
GaitGL
发表于
ICCV 2021
,其认为基于空间全局信息的步态表示通常会忽略细节,同时基于局部区域的描述符无法捕获相邻部分之间的关系,从而开发了全局和局部卷积层来获取更详细的步态信息。
CSTL
发表于
ICCV 2021
,但其侧重于三个尺度的时间特征,以根据时间上下文信息获得运动表示。
不局限于2D空间限制,同样发表在
ICCV 2021
上的
3DLocal
方法则通过自适应尺度的 3D 局部操作来提取肢体特征。
,
,
其中
GaitEdge
被
ECCV'2022
收录,其旨在设计一种可用于边缘特征训练的中间模态来构建端到端的步态识别框架。而
GaitSSB
和
BiFusion
则分别用于构建数百万个未标记的步态序列和整合骨骼和轮廓信息以捕捉丰富的步态时空特征。
最后,便是今天介绍的主角之一
GaitBase
,这是一个基于轮廓的模型,其结构简单,效果鲁邦,无论是在室内还是室外拍摄的测试步行视频均表现优异,可作为进一步研究的新基线(
Baseline
)。
如图所示,GaitBase 采用类
ResNet
网络作为
Backbone
,通过将每个输入轮廓帧转换为具有高度、宽度和通道尺寸的 3D 特征图;然后,采用时间池化模块将通过沿时间维度执行最大化来聚合获得的特征图序列,输出对输入步态序列的集合级理解,即 3D 特征图。随后,将得到的特征图水平分割成几个部分,每个部分经过池化操作展成一个特征向量并进一步使用一个单独的全连接层将它们映射到度量空间中。最后,再采用广泛使用的 BNNeck 来调整特征空间,并利用单独的三元组和交叉熵损失来监督整个训练过程。
数据集
步态数据集对于步态识别研究也是必不可少的和关键的。具体来说,
CASIA
和
OU-ISIR
是两个使用最广泛的室内步态数据集。随着面临更多的实际应用,与之相对的,
GREW
和
Gait3D
则是两个大型的室外步态数据集。下面详细介绍下这四个数据集。
CASIA
CASIA
是中科院自动化所开源的步态数据集,目前主要收录三个类型:
- Dataset-A,小规模数据集
- Dataset-B,多视角数据集
- Dataset-C,红外场景数据
其中,
CASIA-B
包含三种步行条件,即正常步行、背着包步行和穿大衣步行,获取的视频由11个不同拍摄视角的固定摄像机拍摄,并通过旧的背景减法算法进行预处理,生成对应的步态剪影。
详细的数据集介绍可参考官网:http://www.cbsr.ia.ac.cn/china/Gait%20Databases%20CH.asp,该网站还开源了其他生物识别数据集,如虹膜、人脸、指纹、掌纹、笔迹和行为分析,有需要的小伙伴可自行填写协议索取。
OU-ISIR
OU-ISIR
是目前最大的室内公共步态数据集之一。OU-ISIR 步态数据库、具有姿势序列的多视图大型人口数据库,旨在帮助开发、测试和评估基于模型的步态识别算法的一般领域的研究工作。该数据集建立在
OU-MVLP
之上,其包含由七个网络摄像机以 15° 的间隔捕获的 10,307 个往返行走序列的主题(考虑到在同一步行路线上的往返,这总计为 14 个视图),图像大小为 1,280 x 980 像素,帧率为 25 FPS。
GREW
GREW
则是迄今为止最大的户外步态数据集。它的原始视频是从一个大型公共区域的 882 个摄像机收集的,包含近 3,500 小时的 1,080×1,920 流。除了数以万计的 ID 之外,还有许多其他的人类属性被标注出来,例如,2 种性别、14 种年龄段、5 种携带条件和 6 种穿衣风格。
Gait3D
Gait3D
同样也是一个大规模的户外步态数据集。它是在一家超市收集的,包含 1,090 小时的视频,分辨率为 1,920×1,080,帧率为 25 FPS。
OpenGait
OpenGait
是一个基于
Python
语言和
Pytorch
深度学习框架构建的新一代开源的步态识别框架,主打模块化设计,代码高效且可复用,可帮助大家轻松复现顶会论文,动动手指,调调超参,一键炼丹!
目前
OpenGait
也在不断更新,主要包含以下四大特性:
- 支持多数据集:囊括四大主流步态数据集,即
CASIA-B
、OUMVLP
、HID
和GREW
; - 支持多个算法:
OpenGait
复现了几种步态识别SOTA
方法,都达到了相同甚至更好的性能; - 支持分布式训练:训练和测试阶段均使用官方推荐的分布式数据并行(
DDP
)模式; - 支持半精度混合训练:可根据自身需要开启
AMP
,加速训练过程; - 支持漂亮的日志记录:采用
tensorboard
和logging
来更好的记录和呈现结果,同时可自定义添加可视化内容。
此外,OpenGait 还支持通过配置文件便捷构建优化器,调度器和采样器等,同时支持组合损失函数。
写在最后
如果您也对人工智能和计算机视觉全栈领域感兴趣,强烈推荐您关注有料、有趣、有爱的公众号『CVHub』,每日为大家带来精品原创、多领域、有深度的前沿科技论文解读及工业成熟解决方案!
同时欢迎添加小编微信: cv_huber,备注CSDN,加入官方学术|技术|招聘交流群,一起探讨更多有趣的话题!
版权归原作者 CVHub 所有, 如有侵权,请联系我们删除。