目录
前言
本文主要对姿态估计进行简单的综述。
(尊重版权,本文图像和内容来源:人体关键点检测与MMPose_哔哩哔哩_bilibili)
一、姿态估计是什么?
姿态估计(Pose Estimation)是指检测图像和视频中的人物形象的计算机视觉技术,可以确定某人的某个身体部位出现在图像中的位置,也就是在图像和视频中对人体关节的定位问题,也可以理解为在所有关节姿势的空间中搜索特定姿势。人体姿态估计(Human Pose Estimation)是计算机视觉领域中的一个重要研究方向,也是计算机理解人类动作、行为必不可少的一步,人体姿态估计是指通过计算机算法在图像或视频中定位人体关键点,目前被广泛应用于动作检测、虚拟现实、人机交互、视频监控等诸多领域。
姿态估计可简单理解为从给定图像中识别提取人脸、手部、身体等部位的关键点。
二、姿态估计的应用
1.3D姿态估计
预测人体关键点在三维中的坐标,可在三维中还原人体的姿态
2.行为识别
基于人体的姿态进行动作的识别。下图中识别结果表明两人动作处于拥抱。
3.CG动画
通过姿态估计获取人脸动作,驱动动画人物做和人一样的动作。
4.手势识别
捕获手势关键点,获取手势动作姿势,去控制物体实现人机交互。
5.动物动作识别
三、2D姿态估计
1.2D姿态估计描述
给定一张图像,估计图像中关键点的坐标。基本思想可通过回归精确坐标点和基于热力图两者方法实现。
通过回归精确坐标点的方式较为简单,优势是易于实现且运算成本较小(对比基于热力图的方法);缺点是难以训练。
通过基于热力图的方式预测关键点,优势是网络收敛较快,相对容易且精度相对更高;缺点是计算消耗大。
- 首先从数据标记生成热力图,用高斯分布进行生成。
- 利用生成热力图进行训练
2D姿态估计方法可大致分为4种,分别为自顶向下方法、自底向上方法、单阶段方法、基于Transformer的方法。下面对每种方法进行简单介绍。
2.自顶向下方法
多人姿态估计多用自顶向下方法进行姿态估计。该方法分为两步实现,首先利用目标检测算法识别出每个个体;后对每个个体进行单人的姿态估计。该算法的特点如下图所示:所限于检测精度、计算量与人数成正比。
(1)基于回归的自顶向下方法
- DeepPose 2014
DeepPose 2014将分类网络AlexNet的最后一层改为全连接层,进行回归。(理解较为简单)
- RLE 2021
RLE 2021对关键点位置进行准确建模,以提高精度。基于热力图的方式简单将关键点建模成高斯分布,RLE基于标准流(标准流模型较为复杂,可自行了解)给出位置分布,通过最大似然法拟合最优位置。
(2)基于热力图的自顶向下方法
- Hourglass 2016
局部信息上,结合多尺度进行姿态估计(类似于残差网络)。
全局信息上,可以进行级联(一般级联8层),对比全局信息,达到更好的效果。
- simple baseline 2018
simple baseline 2018 引入残差网络ResNet和反卷积进行回归。
- HRNet 2020
HRNet 2020创新点在于设计了独特网络结构实现不同分辨率的多尺度特征的融合,效果更好。
3.自底向上方法
不同于自顶向下方法后做关键点检测,自底向上方法先做关键点检测,后根据聚类算法组成不同的人。该算法则避免了速度和人数相关,同时省去了目标检测的过程。
- Part Affinity Fields & OpenPose 2016
Part Affinity Fields & OpenPose 利用肢体走向辅助关键点聚类。
Part Affinity Fields & OpenPose网络框架如下图 ,定义了关键点亲和度用于预测全部关键点的热力图。
4.单阶段方法
上述方法都分为两个步骤进行处理,单阶段方法则进行了端到端的直接实现。
- SPM 2019
SPM 首次提出人体姿态估计的单阶段方法。
4.基于Transformer方法
- PRTR
人体姿态估计和物体检测有一定相似性,都涉及对图像内容的定位在DETR中query
通过注意力机制逐渐聚焦到特定物体上姿态估计可模仿 DETR:让query 逐渐聚焦到特定人体关键点上
- TokenPose
将视觉 token 和 关键点 token 一起送入 encoder 可以同时从图像中学习外观视觉表现和关键点间的约束关系
四、3D估计姿态
3D估计姿态通过给定的图像预测人体关键点在三维空间中的坐标,可以在三维空间中还原人体的姿态。
- Coarse-to-Fine Volumetric Prediction
基本思路: 单张图像输入卷积网络,预测 3D热力图。
模型为Hourglass级联,每级直接预测关键点的3D热力图对于每个关节点,预测目标为 64 x 64 x d 的3D热力图。
其他3D估计姿态包括Simple Baseline 3D、VideoPose3D 、VoxelPose等。
五、人体姿态估计评估
- Percentage of Correct Parts (PCP)
PCP 用于测量肢体的正确检测。如果两个预测关节位置与真实肢体关节位置之间的距离几乎小于肢体长度的一半,则认为肢体被检测到。然而,有时它会惩罚较短的肢体,例如下臂。
- Percentage of Detected Joints (PDJ)
为了解决 PCP 提出的问题,提出了一个新的度量标准。它在躯干直径的一定比例内测量预测关节与真实关节之间的距离,称为检测关节百分比 (PDJ)。
PDJ 有助于实现定位精度,这缓解了 PCP 的缺点,因为所有关节的检测标准都基于相同的距离阈值。
- Percentage of Correct Key-points (PCK)
PCK 被用作衡量预测关键点和真实关节是否在某个距离阈值内的准确度指标。PCK 通常是相对于被包围在边界框内的对象的比例来设置的。
- Object Keypoint Similarity (OKS) based mAP
OKS based mAP以关键点相似度(OKS)作为评价指标计算mAP,OKS为MS COCO竞赛指定的关键点评价指标
总结
以上就是姿态估计综述的全部内容:姿态估计简介、2D姿态估计的4种方法、3D姿态估计和人体姿态估计的评估指标。
课堂笔记较为简单,希望能对你有所帮助。