2022年人体姿态估计——SOTA关键点检测浅析总结【极简压缩篇】

本文总结了2022年人体姿态估计的关键点检测算法,探讨了top-down与bottom-up方法,重点分析了heatmap与regression的设计思路,包括HigherHRnet/DEKR的heatmap+offset技术。此外,还介绍了移动端的Mediapipe设计策略,并提及了实用的3D人体骨骼点检测思路。
摘要由CSDN通过智能技术生成

2022年人体姿态估计——关键点SOTA检测算法核心设计理解



前言

关键点检测是CV任务中非常重要的任务,并且拓展应用丰富,在人体骨骼关键点检测中用来评估姿态和人脸表情等任务,而且也是面捕和动捕的基础算法。今天我们来总结下目前关键点检测设计的思路和应用,以及身体和人脸部分。本文会从2D\3D角度,方法设计角度、具体任务应用等多种角度叙述,帮助读者理清思路和调研方向,提供设计思路。
ps:关于方案和算法很多,我没办法穷举,挑选比较经典和目前比较先进的去分析和总结。


一、人体姿态估计方法逻辑角度评估

这个比较简单提一下,人体关键点检测的方法,广义上来说

  1. Top-down(在姿态估计中,自上而下进行,先检测人目标,得到边界框,再在边界框中检测人体关键点,连接成每个人的姿态,所以一般是用检测器然后进行再分别对检测的BOX----》进行landmarks的检测,这种都是two-stage的并不是端到端),同样也造成了这个方法虽然简单速度也可以,但是一般单次算法只能检测一个人,但是在工业界由于其解耦性和实时性更能达到要求,所以早前很多落地应用都会用。
  2. bottom-up(自底向上,关键点回归(一般都是heat-map,但今年开始并不能这么说了,至于为什么后面会说到) -> 关键点分组(keypoints grouping) 后得到属于每个人的关键点;
    也可以不分组grouping的方法:先用中心点检测 ——>中心点回归 ——>每个人的关键点,故这种方法支持多人,也是科研界一直主流研究的方法。

而在通用目标检测中,也是有这两种说法的,不过目前检测基本都被YOLO这种端到端的模型统治了,早期比如centernet。图像通过网络层得到featuremap,网络先确定目标的边缘极值点或角点,再通过定义这些点是否属于同一个目标,得到目标的边界来确定检测目标,比如CornerNet(左上角点、右下角点)、ExtremeNet(上、下、左、右极值点+中心点)。

推荐了解:
经典的Bottom-up方法:Openpose,higherhrent\DEKR等
传统的top-down:Hrnet、BlazePOSE;posenet等

个人看法:照目前的趋势,Bottom-up的方法越来越占据主导。

个人推荐开源项目学习:

  1. HRNET官方仓库,包含DEKR

  2. YOLO-POSE


二、关键点检测的设计方法思路

这里不针对任意一个模型进行详细解析,因为结构其实大同小异,更重要的是训练中GT匹配的设计和核心思路,那么就是最核心的问题,人体关键点检测的核心分水岭:heat-map还是regression。

1. heat-map

最基本的基于热力图heat-map的方法就是:即针对每个关键点预测一张热力图,预测出每个位置上的置信度,所以有几个关键点就有多少张热力图。这里科普下heat-map的本质,是卷积核在特征图上局部窗口的形式“滑动”,通过求响应最大点索引(Argmax)的方式取得的,这样随之完成了一次”定位“——每一个局部区域是否符合关键点的特征,响应越大越有可能是关键点),最后可能会使用NMS去处理结果。
而GT标签:通过二维高斯核函数去生产heatmap。
那么这段介绍,我们可以发现heat-map本身是一个比较繁琐的过程,即每次都要生产多个热力图,那么heat-map,个人理解的Feature:

  1. 早期研究人员发现heat-map一般往往结合bottom-up的方式开设计模型,所以能应用于多人场景。
  2. heat-map 可以帮助关节点之间建立更准确的响应(也就是关节点之间的链接准确性,这也是heat-map对比直接回归坐标的最大优势)
  3. 前景关键点和背景的区别,利于模型去学习。
  4. 方法复杂度高,且在同样数据量前提下,没有坐标直接回归容易训练
  5. heatmap方法相对关注局部一点得特征,heatmap方法可能因为某个点的精度问题,导致偏差,这样就破坏了结果。
  6. 坐标调整和细化减少了下采样热力图的量化误差,其中NMS用于寻找热力图中的局部最大值。即使经过后处理,热力图也许不够清晰,去区分同一类型的两个靠得很近的关键点(看不懂?其实就是受限于输出特征图的分辨率导致精度下降)。同样,heatmap的自下而上的方法也不能端到端训练,因为后处理步骤是不可微的。

2.regression

所有的关键点计算都是直接且同时完成的,那么意味着更快的推理,并且直接回归使得训练更容易拟合,不过同时也存在过拟合从而导致泛化性不好的现象;另外就是上述提到的表示骨骼关键点之间的相关性比较差。
那么这段介绍,个人理解的Feature:
1. 对结果能保证基本的结构鲁棒,不会因为点过度错位。
2. 通常来说,复杂度低,容易收敛,不依赖于大量数据集,推理更快。
3. 对关节点之间的关系捕捉不如heat-map
4. 对结果能保证基本的结构鲁棒,不会因为点过度错位。
6. 一些重叠的现象仍旧无法准确判断,比如人和人肩并肩。

3.heat-map方法进阶

代表作:HRNET系列全家桶,HRENT贯彻heat-map 的关键点计算方式,从TOP-DOWN到Bottom-up, 演化到现在SOTA级别的DEKR,这里我们先介绍一个谷歌2017年论文(Towards Accurate Multi-person Pose Estimation in the Wild》)的设计思路,模型不只是计算heatmap,额外引入了offset,配合区域内 voting 机制,实现 SOTA,比 2016 COCO keypoints challenge winner(CMU-Pose)的效果还好很多,这也是一个重要的思路,不会过时,所以说一下这个把!

3.1 谷歌—— heatmap+offset 核心思路(可以了解)

综合heatmap和regression的优缺点,设计heatmap+offsetd的机制完成聚合,如下图和图中公式;
hk代表高斯热力图的函数,xi为输入,i 表示区域内当前位置&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值