概念
人体姿态识别(Pose Estimation)是检测图像或者视频中人体关键点的位置、构建人体骨架图的过程。利用人体姿态信息可以进一步进行动作识别、人机信息交互、异常行为检测等任务。然而,人的肢体比较灵活,姿态特征在视觉上变化比较大,并且容易受到视角和服饰变化的影响。
2D人体姿态识别
自底向上算法
自底向上算法也称为 part-based 方法,它首先检测出图像或视频中人体的关键点,然后对不同关键点进行匹配,将属于一个人的关键点连接起来。这类方法的识别速度不会受图像或视频中人数的影响,并能有较小的模型来实现。但在人体关键点的连接过程中,对于距离较近或者存在遮挡的人体,准确率较低。
- 关键点回归。关键点回归方法期望得到精确的坐标值(x,y)。典型方法是DeepPose。
- 关键点检测。关键点检测方法通常希望获得图像的heatmap,并将heatmap中响应值较大的区域视为人体关键点,每个关键点对应一个heatmap,每一个heatmap是对特定感兴趣的关键点的响应。典型方法是PAFs、DensePose、Associative Embedding。
自顶向下算法
自顶向下算法将人体姿态识别任务拆分成人体检测与关键点检测两个步骤。首先设计人体检测器,在图像或视频中找到目标人体,然后针对每个人体分别做关键点检测。这类方法准确度较高,但是运算时间会随着图像中人体数量的增多大致呈线性增长。典型方法是G-RMI、RMPE和Mask R-CNN。
自顶向下算法通常设计为多任务框架,框架中多个任务往往相互关联并相互促进,通常采用联合优化或者交替优化的优化策略。
3D人体姿态识别
3D人体姿态识别是在2D人体姿态信息的基础上,加入深度信息,需要得到三维的关键点坐标(x,y,z)。借助2D人体姿态信息,可以较为明显地提升3D人体关键点检测的性能。使用预训练的2D关键点识别网络来初始化3D回归模型可以显著改善3D人体姿态识别的性能。