基于深度学习的人体姿态估计研究综述
摘要: 人体姿态估计的目的是定位人体部位,并从图像和视频等输入数据中建立人体表示(如人体骨架)。近十年,人体姿态估计越来越受关注,并被广泛应用于人机交互、运动分析、增强现实和虚拟现实等领域。尽管基于深度学习的解决方案在人体姿态估计方面取得了很高的性能,但由于 训练数据不足、深度模糊和遮挡 使人体姿态估计仍存在挑战。本文通过系统性分析和比较姿态估计方案的输入数据和推理过程,全面回顾基于深度学习的 2D 和 3D 姿态估计解决方案。本次调查涵盖2014年以来的240多篇研究论文。此外,本文还包括 2D 和 3D 人体姿态估计数据集和评估指标。本文总结并讨论了常用数据集上已评估方法的定量性能比较。最后,本文总结了姿态估计所面临的挑战、应用和未来的研究方向。我们还提供定期更新的项目页面:https://github.com/ZCW/DL-HPE
文章目录
- 基于深度学习的人体姿态估计研究综述
- 1. Introduction
- 2. Human body modeling 人体建模
- 3. 2D Human pose eatimation
- 4. 3D Human pose estimation
- 5 Datasets and evaluation metrics 数据集和评估指标
- 6 APPLICATIONS
- 7 CONCLUSION AND FUTURE DIRECTIONS 结论及未来方向
1. Introduction
人体姿态估计(Human Pose Estimation: HPE)涉及从传感器,特别是图像和视频捕获的输入数据中估计人体部位的结构,它在计算机视觉领域被广泛研究。HPE提供人体的几何和运动信息,已被广泛应用于各种应用(如人机交互、运动分析、增强现实(AR)、虚拟现实(VR)、医疗保健等)。近年来,深度学习在图像分类、语义分割和目标检测等任务中的表现都优于经典的计算机视觉方法。虽然在HPE任务中采用深度学习技术已经取得了显著的进步和成绩,但仍然存在遮挡、训练数据不足和深度模糊等挑战。从带有2D姿态标注的图像和视频中提取2D HPE是很容易实现的,并且基于深度学习的单人姿态估计已达到了很高的性能。 目前,大多研究关注复杂场景下遮挡的多人姿态估计。 相比之下,对于3D HPE而言,获得精确的 3D 姿态标注要比2D困难得多,运动捕捉系统可以在受控的实验室环境中收集3D姿态标注,但它们在野外环境会受到局限。基于单目RGB图像和视频的 3D HPE 的主要挑战是深度模糊。 在多视图设置中,需要解决的关键问题是视点关联。一些工程使用深度传感器、惯性测量单元(inertial measurement units: IMUs)和射频设备进行 3D HPE,但这些方法通常成本较高,且需要特殊用途的硬件。
鉴于 HPE 研究的快速发展,本文试图追踪最新进展并总结其成果,以便清晰了解当前基于深度学习的 2D 和 3D HPE 研究进展。
1.1 Previous surveys and our contributions 先前的调查与我们的贡献
表1列出了先前的HPE survey。
其中,[4] [5] [6] [7] 主要研究基于视觉的人体运动捕捉方法及其实现,包括姿态估计、姿态跟踪和动作识别,因此,姿势估计只是这些调查中涉及的主题之一。[8] 回顾了2012年之前的3D人体姿态估计研究工作。[9] 报告了基于身体部位解析方法的单视图和多视图 HPE。2001-2015年间发布的这些调查主要关注传统而非基于深度学习的视觉方法。[10] 介绍了传统的HPE方法和基于深度学习的HPE方法,但介绍的基于深度学习的方法较少。[11] 调查了涵盖 RGB 输入的3D HPE方法。[13] 仅仅回顾 2D HPE 方法以及分析模型解释。[12] 总结了从经典到最新的基于深度学习方法(直到2019年)的单目HPE,但它仅涵盖单目图像/视频中的2D HPE和3D单视图HPE,也没有给出广泛的性能比较。
本 survey 旨在解决之前 survey 的不足:系统回顾了最近基于深度学习的2D和3D HPE解决方案,其在主流的2D、3D数据集上的性能评估,其应用和综合讨论。本 survey 与先前 survey 的主要区别如下:
- 通过根据2D或3D场景、单视图或多视图、单目图像/视频或其他来源以及学习范式对最近的基于深度学习的2D和3D HPE方法(截至2020年)进行分类,对其进行全面回顾。
- 2D 和 3D HPE方法的广泛性能评估。我们总结并比较了 promising 方法在常用数据集上的性能。比较结果为不同方法的优缺点提供了线索,揭示了 HPE 的研究趋势和未来方向。
- 概述了各种HPE应用,如游戏、监控、AR/VR和医疗保健。
- 针对 HPE 面临的主要挑战,对 2D 和 3D HPE 进行了深入的讨论,指出了未来提高性能的潜在研究方向。
这些贡献使本 survey 比以前的 survey 更全面、更新和更深入。
1.2 Organization 全文组织
在以下几节中,我们将介绍 HPE 与深度学习的最新进展。
首先,我们在 §2 中概述了人体建模技术。然后,我们将 HPE 分为两大类:2D HPE (§3) 和3D HPE (§4) 。图1展示了深度学习 HPE 方法的分类。2D HPE方法分为 2D 单人 HPE和 3D 多人 HPE。
基于深度学习的 2D 单人 HPE 方法 (§3.1) 可分为两类:
- 回归法: 使用基于深度学习的回归器,直接建立从输入图像到身体关节的坐标映射;
- 身体部位检测法: 包括两个步骤:(1) 生成用于定位身体部位的关键点(即关节)热图;(2) 将检测到的关键点组装成全身姿态或骨架。
基于深度学习的 2D 多人HPE 方法 (§3.2) 也分为两类:
- top-down 法: 先检测人,然后利用单人HPE预测每个人的关键点来构造人体姿态。
- bottom-up法: 在人数未知的前提下,先检测所有人体关键点,然后将关键点分组为每个人的姿态。
根据输入源类型将 3D HPE 分成单目RGB图像和视频法 (§4.1) 或其他传感器法(例如惯性测量单元传感器,§4.2)。这些方法大多使用单目 RGB 图像和视频,并进一步分为单视图法和多视图法,然后将单视图法按单人与多人分开,多视图主要用于多人姿态估计,因此,该类别未指定单人或多人。
接下来,根据 2D 和 3D HPE pipeline,本文总结常用的数据集和评估指标,然后比较优越方法的结果 (§5) 。此外,本问还提到了HPE的各种应用,如AR/VR(§6),最后,本文对未来的研究方向进行了深入讨论(§7)。
2. Human body modeling 人体建模
人体建模能够表示从输入数据中提取的关键点和特征,是 HPE 重要的一部分。例如,大多数 HPE 方法使用 N-关节刚体运动学模型。人体是一个具有关节和四肢的复杂实体,包含身体运动学结构和身体形状信息。典型的方法使用基于模型的方法来描述和推断人体姿态,并渲染二维和三维姿态。如图2所示,人体建模通常有三种模型:kinematic model 运动学模型(用于2D/3D HPE);planar model 平面模型(用于2D HPE)和 volumetric model 体积模型(用于3D HPE)。在以下章节中,将介绍这些模型的不同表示形式。
2.1 Kinematic model 运动学模型
如图2(a) 所示,运动学模型也称为基于骨架的模型或运动学链模型,以一组关节位置和肢体方向来表示人体结构。运动学模型能捕捉不同身体部位之间的关系。图形结构模型(pictorial structure model PSM),也叫树结构模型,是一种使用广泛的图形模型。这种灵活直观的人体模型已成功应用于 2D HPE 和 3D HPE。虽然运动学模型具有灵活的图形表示的优点,但它在表示纹理和形状信息方面受限。
2.2 Planar model 平面模型
如图2(b) 所示,平面模型用于表示人体的形状和外观。在平面模型中,身体部位通常由近似人体轮廓的矩形表示。一个例子是纸板模型 (cardboard model),它由表示人四肢的身体部分矩形组成。另一个例子是 Active Shape Model (ASM),它广泛用于通过主成分分析(PCA)捕捉完整的人体图和轮廓变形。
2.3 Volumetric models 体积模型
体积模型表示如图2(c)所示。随着人们对三维人体重建越来越感兴趣的,许多人体模型被提出用于各种各样的人体形状。我们简要讨论了几种常用的三维人体模型,这些模型用于基于深度学习的 3D HPE方法来恢复 3D 人体网格。
SMPL: Skinned Multi-Person Linear model 表皮多人线性模型 是一种基于表皮顶点的模型,代表了广泛的人体形状,用表现自然姿态变形的软组织动力学来建模SMPL。为了了解人体如何随姿态变形,SMPL中有1786个高分辨率3D扫描,使用模板网格对不同姿态进行扫描来优化混合权重、姿态相关的混合形状、平均模板形状,以及从顶点到关节位置的回归器。SMPL易于部署,并能与现有的渲染引擎兼容,因此在 3D HPE 中应用广泛。
DYNA: Dynamic Human Shape in Motion 动态人体形状: 该模型试图表示各种人体形状的真实软组织活动。低维线性子空间用于近似运动相关的软组织变形,软组织运动的低维线性系数用全身的速度和加速度、身体部位的角速度和加速度以及软组织形状系数来预测。此外,DYNA利用体重指数(BMI)为不同体型的人产生不同的变形。
Stitched Puppet Model 缝合木偶模型: 缝合木偶模型是一种基于部位的图形模型,与真实的身体模型相结合。不同的 3D 人体形状和姿态相关的形状变化可以转换为相应的图形节点表示,每个身体部位都由自己的低维状态空间表示。身体各部位通过图中节点之间的成对潜在连接被 “缝合” 在一起,通常,用于部位连接的 potential 函数是通过消息传递算法,如 Belief Propagation (BP) 来执行的。每个部位的状态空间不易离散化导致离散BP应用困难,因此采用基于粒子的 D-PMP 模型的最大乘积BP。
Frankenstein & Adam: The Frankenstein model: Frankenstein 模型不仅为身体运动,而且为面部表情和手势生成人体运动参数。该模型是通过混合各个组件网格的模型生成的:SMPL 用于身体,FaceWarehouse 用于面部,以及一个艺术装配用于手部。所有变换骨骼都合并到单个骨骼层次中,而每个组件原有的参数化保持不变,以表达 identity (猜测指的是 身体、脸、手)和运动变化。Adam 模型是由 Frankenstein 模型优化的,该模型使用了对人们衣服的大规模捕捉。Adam能够表示人类头发和衣服的几何图形,因此更适合在真实世界条件下表示人类。
GHUM & GHUML(ite): 一篇论文提出了一种完全可训练的端到端深度学习pipeline,用于对统计和关节式三维人体形状和姿态进行建模。GHUM是中等分辨率版本,GHUML是低分辨率版本。GHUM和GHUML通过高分辨率全身扫描(其数据集中超过60000种不同的人体配置)在深度可变自动编码器框架中进行训练,他们能够推断出一系列组件,例如非线性形状空间、姿态空间变形修正、骨骼关节中心估计器和混合蒙皮功能
3. 2D Human pose eatimation
2D HPE 是从图像或视频中估计人体关键点的2D位置或空间位置。传统的2D HPE法对身体部位采用不同的手工特征提取技术,这些早期工作将人体描述为一个棒状图(stick figure)来获得全局姿态结构。最近,基于深度学习的方法显著提高了 HPE 的性能,取得了重大突破。下文回顾了基于深度学习的2D HPE方法在单人和多人场景中的应用。
3.1 2D single-person pose estimation 2D单人姿态估计
当输入为单人图像时,2D 单人姿态估计用于定位人体关节位置。如果有多个人,则先裁剪输入图像,使每个裁剪的patch(或子图像)中只有一个人,这个过程可以通过上身检测器 (upper-body detector) 或全身检测器 (full-body detector) 自动实现。一般来说,深度学习技术 2D 单人 HPE pipeline 可分为两类:回归法和身体部位检测法。回归法应用端到端框架来学习从输入图像到人体关节或人体模型参数的映射;身体部位检测法的目标是预测身体部位和关节的大致位置,通常由热图表示进行监督。现在的2D HPE任务广泛应用基于热图的框架。2D单人HPE法的一般框架如图3所示。
图3: 单人2D HPE框架。(a) 回归方法直接学习(通过深度神经网络)从原始图像到运动学身体模型的映射,并生成关节坐标。(b) 身体部位检测方法使用热图监督来预测身体关节位置。
3.1.1 Regression methods 回归法
有许多基于回归框架的工作利用图3(a)所示的 pipeline 预测关节坐标。以AlexNet 为 backbone,Toshev 和 Szegedy 提出级联深层神经网络回归器 DeepPose ,用于从图像中学习关键点。由于 DeepPose 优越的性能,HPE的研究范式开始从经典方法转向深度学习,尤其是卷积神经网 CNN。Carreira等人基于 GoogLeNet 上提出了一种迭代误差反馈网络( Iterative Error Feedback IEF),这是一种自校正模型,通过将预测误差注入输入空间来逐步改变初始解。Sun等人介绍了一种基于 ResNet-50 的结构感知回归(structure-aware regression)方法:合成姿态回归(compositional pose regression),该方法采用了一种包含人体信息和姿态结构的重新参数化和基于骨骼的表示,而非传统的基于关节的表示。Luvizon 等人提出了一种用于 HPE 的端到端回归方法,使用 soft argmax 函数在完全可微框架中将特征映射转换为关节坐标。
对基于回归的方法来说,编码丰富的姿态信息至关重要。学习更好的特征表示的一种流行策略是多任务学习,通过在相关任务(如姿态估计和基于姿态的动作识别)之间共享表示,模型可以更好地概括原始任务(姿态估计)。按照这个思路,Li 等人提出了一个异构多任务框架 (heterogeneous multi-task framework),该框架由两个任务组成:① 构建从完整图像中预测关节坐标的回归器;② 使用滑动窗口从图像 patch 中检测身体部位。Fan 等人提出了一种双源(即图像 patch 和完整图像)深度卷积神经网络(Dual-Source Deep Convolutional Neural Network DS-CNN),包含两项任务:①关节检测:确定patch是否包含身体关节;②关节定位:确定关节在patch中的确切位置。每项任务对应一个损失函数,组合这两项任务能产生更好的结果。Luvizon等人研究了一个多任务网络,以联合处理来自视频序列的2D/3D姿态估计和动作识别。
3.1.2 Body part detection methods 身体部位检测法
HPE的身体部位检测法旨在训练身体部位检测器来预测身体关节的位置。最近的检测方法将姿态估计作为热图预测问题来处理, 具体而言,其目标是估计出 K 张关键点的热图 { H 1 , H 2 , … , H K } \{H_1, H_2, …, H_K\} { H1,H2,…,HK},每张关键点热图中的像素值 H i ( x , y ) H_i(x, y) Hi(x,y)表示关键点位于位置 (x, y) 的概率(参见图3(b))。目标热图(即 ground truth热图