关节点检测-CPM

  • CPM

2D关键点检测之CPM:Convolutional Pose Machines - 知乎

  1. 思想:

Cpm 包含了一些列的卷积网络,这些卷积网络顺序的重复的生成2D belief maps(用于定位每个关节的关节点)。

CPM的每个阶段将上一阶段生成的图像特征和belief maps作为输入,belief maps为后续阶段提供各个parts位置的空间空间不确定性的非参数编码表达。这使得CPM可以学习包含各关节间关系的丰富空间模型。

本文使用卷积网络直接操作这些中间的belief maps,为每张图像隐式的学习各关节间的空间模型。Belief maps所包含的空间上下文信息会为之后的阶段提供明确的线索(cues),因此CPM的每个阶段会产生越来越好的maps,来对关节进行越来越准确的定位。

整个多阶段的结构都是可微分的,因此可以直接使用反向传播进行端到端的训练。

  1. 第一阶段

2.1 使用局部信息定位关键点

  1. 第一阶段,从局部图像信息中,预测part beliefs/heapmaps。第一个阶段的感受野限制在了输出像素周围一个很小的区域中。使用5层卷积层后接两个1*1卷积层的全卷机网络。
  2. 在实际处理中,为了达到一定的精度,我们把输入的裁剪图像归一化到368×368大小,整个网络的感受野大小为160×160。
  3. 可以将网络有效地视为,在图像上滑动深层网络,然后从每个160*160图像块中回归出长度为P+1的输出向量,表示该图像位置上式每个part(关键点)的得分。
    1. 带有空间上下文信息的级联预测

第一阶段,对于具有外观一致性的关键点(例如:头和肩膀)的检测率还不错,但是对于在人体骨骼运动链中,处于较低位置的关键点来说,精度要低很多。这是因为他们的外观变化很大。

关键点周围的heatmaps,虽然噪声很大,但是信息量也很大。

如图3所示,当检测具有挑战性的关键点(例如右肘)时,右肩的heatmaps具有尖峰(右肩检测的比较好),这可以作为右肘检测的强有力信息。

       利用“各个关键点以一致的几何配置出现”这一事实,后续阶段的预测器可以使用图像上位置z周围区域的带噪heatmaps生成上下文信息,来提高预测结果。

       在传统的姿态机的第二阶段,先使用特征函数计算上一阶段各个关键点的上下文信息,然后结合图像在z处的特征,一起作为预测器的输入。其中,特征函数用于在不同关键点部位z处周围对前一阶段的heatmap进行编码。

       在CPM中,我们不需要现实的函数来计算上下文特征,取而代之的式,我们将特征函数定义为在前一阶段heatmaps上进行预测时所具有的感受野。

  1. 算法框架

  1. 输入原图,经过VGG提取图像卷积特征X,后接两个1*1卷积输出heatmaps(shape为h * w * (P+1)),P+1通道表示heatmaps上每个像素位置是P个关键点和1个背景的的得分。
  2. 输入包含三部分,原图;stage1输出的heatmap;每个目标的中心约束map。输出是P+1通道的heatmaps。

  1. 训练数据
  1. 数据标注

(2)中间监督

猜你喜欢

转载自blog.csdn.net/gaotihong/article/details/125142687