目录
-
什么是人体姿态估计?
上游任务:从给定的图像中识别人脸、手部、身体等关键点。
输入: 图像 ;
输出:所有关键点的像素坐标。
下游任务: 行为识别、虚拟人物、人机交互、动物行为分析。
2D姿态估计思路:
(这部分教授先总体带你过一遍,然后再细讲的,耐心听讲哦)
1. 一个基本的思路是基于回归来进行拟合:在图像上定位人体关键点的坐标(关键点通常为人体主要关节),将关键点检测问题建模成一个回归问题,让模型直接回归关键点的坐标。
【给小白看的话:什么是回归问题?这是一个机器学习任务概念,与之对立的是分类问题。而区分这两者的标准是目标额判断是否是一个“连续”的值。例如,判断是猫还是狗,这是一个二分类问题;而让你预测未来房价曲线,这就是一个回归问题~当然这仅仅是让你简单理解一个名词,不至于纠结,更多的讨论请自行知乎~】
考虑到图像到关键点坐标的映射高度非线性,导致回归坐标比回归热力图更难,回归方法的精度也弱于热力图方法,因此 DeepPose 提出之后的很长一段时间内,2D 关键点预测算法主要基于热力图。
本块老师提到了一篇论文:Residual Log-likelihood Estimation (RLE) (2021);感兴趣的同学自行查阅如下可能造成理解障碍的词汇哦(二范数误差、高斯似然估计,矩阵的可逆要求、Jacobian行列式梯度计算、梯度下降优化......)希望大家能够理解教授在18:10处说的“是不是很有意思” (^ ^)
2. 基于热力图:并不直接回归关键点的坐标,而是预测关键点位于每个位置的概率。好处是:热力图可以基于原始关键点坐标生成,作为训练网络的监督信息;也可以通过求极大值等方法得到关键点的坐标。
热力图这部分,教授讲的很详细,其中有一些可能导致学习障碍的词汇我作摘录与解释:高斯模型(6:55处提及,高斯核、高斯过程,还请大家自行知乎百度了解)、期望(即均值)
3.多人姿态估计:自顶向下方法(TOPDOWN),step 1.使用目标检测算法检测出每个人体;Step 2.基于单人图像估计每个人的姿态。
自顶向下的方法教授讲述的是:Hourglass (2016) 这篇论文,其结合了不同尺度的信息,用局部信息检测不同身体组件,用全局信息建模组件之间的关系,在大尺度变形、遮挡时也可以准确推断出姿态。HRNet(2020),在下采样时通过保留原分辨率分支来保持网络全过程特征图的高分辨率与空间位置信息并设计了独特的网络结构实现不同分辨率的多尺度特征融合。
(题外话,SOTA这个大佬们挂在嘴边的词其实就是 state of art ,达到了最先进效果的意思)
与之对应的,另一个思路是自底向上方法,Step 1.使用关键点模型检测出所有人体关键点;Step2.基于位置关系或其他辅助信息将关键点组合成不同的人。
自底向上方法的基本思路是: 基于图像同时预测关节位置和四肢走向,利用肢体走向辅助关键点的聚类即,如果某两个关键点由某段肢体相连,则这两个关键点属于同一人。
单阶段方法:一步实现人体的检测和姿态估计?
(知识补充:单阶段检测方法指的是在检测领域中由YOLO系列算法领衔的一种检测技术,以快著名。)
SPM(2019)首次提出了人体姿态估计的单阶段解决方案,在取得速度优势的同时,也取得了不逊色于二阶段方法的检测率。并且该方法可以直接从2D图像扩展到3D图像的人体姿态估计。
Structured Pose Representation(SPR),为了统一人体实例和身体关节的位置信息,为多人姿势估计提供单阶段解决方案,SPR引入了一个辅助关节,即根关节以表示人员实例位置,它是唯一标识关节。
基于transformer的方法(激动ing):人体姿态估计和物体检测有一定相似性,都涉及对图像内容的定位在 DETR 中 query 通过注意力机制逐渐聚焦到特定物体上姿态估计可模仿 DETR---让 query 逐渐聚焦到特定人体关键点上。
人体检测阶段:使用 DETR 检测出图中的不同的人;
关键点检测阶段: 同样使用 DETR 结构,不同的是query学习关键点信息,最终回归关键点位置。
TokenPose(2021)、PRTR;
tokenpose很有意思,将视觉 token 和 关键点 token 一起送入 encoder 可以同时从图像中学习外观视觉表现和关键点间的约束关系,分类模型 ViT 也使用类似方法,将一个分类 token 和visual token 一起做自注意力。
3D人体姿态估计思路:
通过给定的图像预测人体关键点在三维空间中的坐标,可以在三维空间中还原人体的姿态。
绝对坐标:各关节点在相机坐标系中的坐标;
相对坐标:关键点相对于骨盆点 (pelvis)的坐标。
很神奇的一个事情:3D姿态信息怎么从2D图像信息中恢复出来?
思路:直接基于从 2D 图像回归 3D 坐标,但 2D 图像不包含深度,这是一个病态问题实际上隐式借助了语义特征或人体的刚性实现了 3D 姿态的推理。另一个可行的办法: 既然3D预测需要借助更多的信息,就可以运用视频来获得更多的帧间信息辅助推断。
姿态估计任务的评价指标:
Percentage of Correct Parts (PCP)、Percentage of Detected Joints (PDJ)、Percentage of Correct Key-points (PCK)、Object Keypoint Similarity (OKS) based mAP
DENSEPOSE-人体参数化模型
教授重点讲的densepose---人体参数化模型;基本结构: Mask-RCNN + DenseReg = DensePose-RCNN;先进行前景与背景的预测,再进行人体每一部分的精确回归。
身体表面网格 (Body mesh)是由多边形(通常为三角形或四边形)网格组成构建的人体表面模型,通常由具有3D位置坐标的顶点 (Vertices) 来定义。
更多的本部分内容请大家认真听课啦~
最后是课程中讲到的论文总结,想要学习这个领域的小伙伴这些都是推荐必读论文哦!
教授的讲座链接附上:人体关键点检测与MMPose_哔哩哔哩_bilibili