概述
- CPM
2D关键点检测之CPM:Convolutional Pose Machines - 知乎
- 思想:
Cpm 包含了一些列的卷积网络,这些卷积网络顺序的重复的生成2D belief maps(用于定位每个关节的关节点)。
CPM的每个阶段将上一阶段生成的图像特征和belief maps作为输入,belief maps为后续阶段提供各个parts位置的空间空间不确定性的非参数编码表达。这使得CPM可以学习包含各关节间关系的丰富空间模型。
本文使用卷积网络直接操作这些中间的belief maps,为每张图像隐式的学习各关节间的空间模型。Belief maps所包含的空间上下文信息会为之后的阶段提供明确的线索(cues),因此CPM的每个阶段会产生越来越好的maps,来对关节进行越来越准确的定位。
整个多阶段的结构都是可微分的,因此可以直接使用反向传播进行端到端的训练。
- 第一阶段
2.1 使用局部信息定位关键点
- 第一阶段,从局部图像信息中,预测part beliefs/heapmaps。第一个阶段的感受野限制在了输出像素周围一个很小的区域中。使用5层卷积层后接两个1*1卷积层的全卷机网络。
- 在实际处理中,为了达到一定的精度,我们把输入的裁剪图像归一化到368×368大小,整个网络的感受野大小为160×160。
- 可以将网络有效地视为,在图像上滑动深层网络,然后从每个160*160图像块中回归出长度为P+1的输出向量,表示该图像位置上式每个part(关键点)的得分。
- 带有空间上下文信息的级联预测
第一阶段,对于具有外观一致性的关键点(例如:头和肩膀)的检测率还不错,但是对于在人体骨骼运动链中,处于较低位置的关键点来说,精度要低很多。这是因为他们的外观变化很大。
关键点周围的heatmaps,虽然噪声很大,但是信息量也很大。
如图3所示,当检测具有挑战性的关键点(例如右肘)时,右肩的heatmaps具有尖峰(右肩检测的比较好),这可以作为右肘检测的强有力信息。
利用“各个关键点以一致的几何配置出现”这一事实,后续阶段的预测器可以使用图像上位置z周围区域的带噪heatmaps生成上下文信息,来提高预测结果。
在传统的姿态机的第二阶段,先使用特征函数计算上一阶段各个关键点的上下文信息,然后结合图像在z处的特征,一起作为预测器的输入。其中,特征函数用于在不同关键点部位z处周围对前一阶段的heatmap进行编码。
在CPM中,我们不需要现实的函数来计算上下文特征,取而代之的式,我们将特征函数定义为在前一阶段heatmaps上进行预测时所具有的感受野。
- 算法框架
- 输入原图,经过VGG提取图像卷积特征X,后接两个1*1卷积输出heatmaps(shape为h * w * (P+1)),P+1通道表示heatmaps上每个像素位置是P个关键点和1个背景的的得分。
- 输入包含三部分,原图;stage1输出的heatmap;每个目标的中心约束map。输出是P+1通道的heatmaps。
- 训练数据
- 数据标注
(2)中间监督
最后
以上就是苹果枕头为你收集整理的关节点检测-CPM的全部内容,希望文章能够帮你解决关节点检测-CPM所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复