OpenMMLab AI实战训练营day2-人体关键点检测与MMpose
姿态估计的定义
姿态估计:从给定的图像中识别人脸,手部,身体等关键点
输入:图像 I
输出:所有关键点的像素坐标(
x
1
x_1
x1,
y
1
y_1
y1)(
x
2
x_2
x2,
y
2
y_2
y2)(
x
J
x_J
xJ,
y
J
y_J
yJ),这里J为关键点的总数,取决于具体的关键点模型
如下图所示:
一.2D姿态估计
在图像上定位人体关键点的坐标
基于回归的自顶向下方法
将关键点检测问题建模成一个回归问题,让模型直接回归关键点的坐标即:
存在的问题:深度模型直接回归坐标有些困难,精度不是最优
基于热力图的自顶向下方法
并不直接回归关键点的坐标,而是预测关键点位于每个位置的概率,即:
H
j
(
x
j
,
y
j
)
H_j(x_j,y_j)
Hj(xj,yj)=1表示关键点j位于(
x
j
x_j
xj,
y
j
y_j
yj)的概率为1,H称为热力图,尺寸与原图I相同或按比例缩小
—热力图可以基于原始关键点坐标生成,作为训练网络的监督信息
—网络预测的热力图也可以通过求极大值等方法得到关键点的坐标
优势与问题:模型预测热力图比直接回归坐标相对容易,模型精度相对更高,因此主流算法更多基于热力图,但预测热力图的计算消耗大于直接回归
自底向上方法
基本思路:基于图像同时预测关节位置和四肢走向,利用肢体走向辅助关键点的聚类:即,如果某两个关键点由某段肢体相连,则这两个关键点属于同一人
OpenPose
单阶段 方法
SPM
SPM首次提出了人体此台估计的单阶段解决方案,在取得速度优势的同时,也取得了不逊色与二阶段方法的检测率。并且该方法可以直接从2D图像扩展到3D图像的人体姿态估计
基于Transformer的方法
PRTR
人体姿态估计和目标检测有一定相似性,都涉及对图像内容的定位
在DETR中query通过注意力机制逐渐聚焦到特定物体上
姿态估计可以模仿DETR:让query逐渐聚焦到特定人体关键点上
TokenPose
二.3D姿态估计
预测人体关键点在三维空间中的坐标,可以在三维空间中还原人体的姿态
通过给定的图像预测人体关键点在三维空间中的坐标,可以在三维空间中还原人体的姿态
输入:图像
输出:所有人的所有关键点的空间坐标,这里N为图中总人数,J为关键点总数
直接预测
直接基于从2D图像回归3D坐标,但2D图像不包含深度,这是一个病态问题
实际上隐式借助了语义特征或人体的刚性实现了3D姿态的推理
利用视频信息
另一种可行的办法:既然3D预测需要借助更多的信息,就可以运用视频来获取更多的帧间信息辅助推断
利用多角度图像
直接运用同一对象的多视角的图片来预测和还原3D信息
三.DensePose
四.人体参数化模型
从图像或者视频中恢复出运动的3D人体模型
姿态估计下游任务
姿态估计输出的关键点信息可以用来做行为识别,这部分内容可以关注openmmlab的mmaction2库。
也可以做CG,动画
人机交互,例如手势识别
动物行为分析