训练营第二课人体关键点检测
1. 整体概要
2. 具体内容
2.1 2D姿态估计
主要任务目标为计算图片中人体的2d关键点坐标;
两种思路:
基于回归 | 基于热力图 | |
---|---|---|
算法 | 网络输出直接回归关键点的坐标值 | 根据关键点标注生成热力图作为监督 |
优点 | 直接输出期望结果,计算消耗小 | 网络学习压力小 |
缺点 | 直接回归坐标值难度较大不好学 | 涉及热力图与坐标值的转换,计算消耗大 |
其中热力图到关键点的生成可以采用argmax或者求期望得到,但是取极大值不可导,而求期望可以求导,可以设计为端到端输出的形式;
2.1.1 自顶向下
基本做法是先在图像中用检测模型分出人物实例,然后在实例检测框的基础上做关键点检测。特点是与检测强相关,速度受到图片中人物数量的影响,而精度受到检测精度影响。
基于回归
经典做法为直接计算回归的关键点和真值之间的二范数损失,但是这样的计算方法隐含了关键点符合高斯分布的假设,但是实际的关键点分布可能并不符合这样的假设,所以RLE对先验分布做了显式建模:
基于热力图
多尺度融合残差连接,输出为热力图形式;
2.1.2 自底向上
基本思路就是先计算所有的关键点,然后对所有关键点做聚类,属于相同肢体或者人体实例的聚类在一起构建连接关系;
预测了所有的关键点和方向信息;
根据亲和力计算公式以及K部图匹配进行聚类;
2.1.3 单阶段
基本思路就是直接输出多个向量,通过预测一个关键点以及其它节点与之的向量来实现;主要难点在于人体不同位置关键点的分布差异较大,不好训练,所以会有工作将人体分区域定义多个根节点以及周围参考点与之的相对向量分别预测。最终损失函数对应多个关键位置以及位移图损失的加权和。
2.1.4 基于Transformer
初始化关键点作为查询单位,在图像中查询特征回归关键点;当然也可以类似TransPose同时设计视觉和pose的token交互一起做任务。
2.2 3D关键点检测
主要难点在于2D图像中缺失深度信息,解决方式可以是直接估计深度进行计算或者利用视频进行计算;
2.3 人体表面mesh重建
引入人体表面建模的参数化模型然后分别用网络拟合各部分参数;
2.4 评估指标
。。。