欢迎关注我的公众号 [极智视界],获取我的更多经验分享
大家好,我是极智视界,本文来介绍一下 Whole-Body Multi-Person人体姿态估计之AlphaPose。
邀您加入我的知识星球「极智视界」,星球内有超多好玩的项目实战源码下载,链接:t.zsxq.com/0aiNxERDq
Whole-Body、Multi-Person 人体姿态估计增加了挑战,那么 AlphaPose 的解法到底是什么样的呢?一图胜千言,如下,
这张图很好介绍了 AlphaPose 对于 Multi-Person、Whole-Body 人体姿态估计和追踪的解法流程,图下部分的 i、ii、iii 是 AlphaPose 的三个阶段,分别是目标检测、姿态估计 和 跟踪。从这三个阶段其实就可以看出,AlphaPose 是属于 Top-down 方法,所谓的 Top-down 方法也就是前面先用一个检测器先把人给框出来,然后再分别送入人体姿态估计网络,也就是所谓的两阶段的姿态估计方法。
- i => Human Detections ==> 直接采用现成的、成熟的目标检测器就行,比如 YoloV3、比如 EfficientDet;
- ii => Human Pose Estimation ==> 是 AlphaPose 最为核心的地方,也是创新点最多的地方,基本上每个 a、b、c、d、e 都会有创新在里面,是需要后面着重介绍的地方;
- iii => Human Pose Tracking ==> 是将行人 re-ID 和 形体姿态估计相结合用于人体的跟踪;
下面来介绍重点的 a、b、c、d、e。
- a => SIKR ( Symmetric Integral Keypoint Regression ) ==> (1) 为了解决 heatmap soft-argmax 操作 (integral regression) 的不对称性,直接计算的话,里面的梯度振幅由像素坐标的绝对值决定,是不对称的,这会导致 CNN 网络在训练的时候出现震荡,不利于网络的收敛。这里是提出了一种反向传播中的梯度对称函数 (ASG) 来解决这个问题;(2) 为了解决与 size 相关的 keypoints 的估计问题,什么意思呢?多人的姿态估计不同于单人的姿态估计,不仅需要关节位置,还需要姿态 NMS 的联合置信度来计算 mAP。在以往的方法中,采用 heatmap 的最大值作为联合置信度,而这是和 size 相关的,是不准确的,所以这里采用了一种 Two-step heatmap normalization 的方法来解耦置信度预测和积分回归,以消除 size 的影响;
- b => P-NMS (Parametric Pose Non-Maximum-Suppression) ==> 对于 Top-down 的方法来说,主要的缺点是一旦前面的目标检测器失败了,那么对于后面的形体姿态估计就很难了。之前的一些 Top-down 方法为了解决这个问题,通常是需要把前面检测器的置信度阈值设置得很高以避免冗余姿态。而这里的做法是相反的,把前面检测器的置信度阈值设置得很低 (只是设置为 0.1),这样检测的召回率就会高。当然这也会造成冗余的检测框增加,从而带来冗余的形体姿态,而 P-NMS 就是用来消除这些冗余的;
- c => PGA (Pose-Guided Alignment) ==> PGA 是采用 Pose-Guided Attention 机制来预测人体 re-ID 特征,获得姿态对齐的人体 re-ID 特征。形体 re-ID 特征能够用来从众多的形体 proposals 中识别同一个人,对于多人的场景,检测框中还可能包含其他人的关节,而这里是只是想提取感兴趣的形体。做法是使用预测的形体姿态来构造一个人体集中的区域,然后 PGA 来强制只提取特征集中于感兴趣区域的形体,从而忽略背景的影响;
- d => MSIM (Multi-stage Identity Matching) ==> 多阶段的身份匹配用于最终的人体跟踪,包括考虑形体姿态、re-ID 特征和检测框。形体的跟踪通常是针对于视频序列,对于形体姿态、re-ID 特征、检测框,它们其实每一个都能够用于行人跟踪,但综合考虑三者,明显能够提高跟踪的鲁棒性;
- e => Proposal Generator / Knowledge Distillation ==> 在训练阶段,采用 proposal生成器 和 知识蒸馏来提高网络的泛化能力;
下面的图再一次展示了 AlphaPose 整体架构,整个系统可以分为五个模块:Data Loader -> Detection -> Data Transform -> Pose Estimation -> Post Processing,
在 Whole-Body Multi-Person 人体姿态估计和跟踪领域,训练数据集是比较匮乏的,之前比较多的是 Only-Person 人体姿态估计的数据集。在 AlphaPose 的训练中,也提出了一个新的称为 Halpe-FullBody 的数据集用于训练这种任务,标注的关键点包括 body & foot、face、hand,如下,
下面是 AlphaPose 一些姿态估计的检测效果图展示,
下面是 AlphaPose 人体跟踪的效果展示,
好了,以上分享了 Whole-Body Multi-Person人体姿态估计之AlphaPose,希望我的分享能对你的学习有一点帮助。
【公众号传送】
畅享人工智能的科技魅力,让好玩的AI项目不难玩。邀请您加入我的知识星球, 星球内我精心整备了大量好玩的AI项目,皆以工程源码形式开放使用,涵盖人脸、检测、分割、多模态、AIGC、自动驾驶、工业等。不敢说会对你学习有所帮助,但一定非常好玩,并持续更新更加有趣的项目。 t.zsxq.com/0aiNxERDq