CPM:Convolutional Pose Machines

人体关节之间是存在一定的关系的,传统做法是使用马尔科夫模型构建他们之间的关联。CPM 没有使用该方法,而是使用卷积去提取关节之间的关系。主要思路是将网络结构分为多个 stage,其中第一个 stage 会产生初步的关键点的检测效果,接下来的几个 stage 均以前一个 stage 的预测输出和从原图提取的特征作为输入,最后使用多 satge 监督网络训练

什么是 CPM ?

  • 人体关节之间是存在一定的关系的,传统做法是使用马尔科夫模型构建他们之间的关联。CPM 没有使用该方法,而是使用卷积去提取关节之间的关系。主要思路是将网络结构分为多个 stage,其中第一个 stage 会产生初步的关键点的检测效果,接下来的几个 stage 均以前一个 stage 的预测输出和从原图提取的特征作为输入,最后使用多 satge 监督网络训练

CPM 的网络结构?

  • 从第二个 stage 开始,其输入包括两部分,前一 stage 的输出+原图重新提取的特征,上图红框、蓝框分别是第 1、2 个 satge 的原图提取的特征
  • 随着 stage 的堆叠,其感受野越来越大,可以从整体上感知关节之间的关系

CPM 的多 stage 的作用?

  • 容易检测的关节点可以为难以检测的关节点提供有用信息. (shouler, neck, head) 关节点,对于 (right elbow) 后续 stages 的 belief maps 来说,有助于消除其错误的估计(red),并提升其正确估计(green)

CPM 的多 stage 监督?

  • CPM 每个 stage 都会输出关节点的预测结果,重复地输出每个关节点位置的 belief maps,以渐进精细化的方式估计关节点. 故,在每个 stage 输出后均计算 loss,作为中间监督 loss,避免梯度消失问题
  • 上图黑线是增加多 stage 监督的梯度,红线是没有多 stage 监督的梯度,可以看出没有多 stage 监督的网络,在 Layer12 就出现梯度消失,而多 stage 监督没有此现象

参考:

  1. 论文阅读理解 - Convolutional Pose Machines - 腾讯云开发者社区-腾讯云