【CV论文笔记】Convolutional Pose Machines(CPM理解)

本文主要用于介绍CMU开源项目OpenPose的前身CPM。本笔记主要为方便初学者快速入门,以及自我回顾。

论文链接:https://arxiv.org/pdf/1712.00726.pdf

基本目录如下:

  1. 摘要
  2. 核心思想
  3. 总结

------------------第一菇 - 摘要------------------

1.1 论文摘要

PM提供了一套用于预测丰富空间信息的框架,在本论文的工作中,我们将卷积网络集成进PM框架中来学习图片特征和图片空间模型并用于人体姿态预测。本论文的主要贡献就在于提出的模型能够清晰的学习到多个变量之间的空间关联关系,因此该模型十分适用于去解决类似姿态关键点预测的问题。我们提出的其实就是一个包含了多个卷积网络的序列框架,该架构使得网络能够直接用上一阶段网络输出的置信图来进一步精确预测每一个关键点的位置。

该网络架构的提出,还天然的用到了中继监督训练的方法(intermediate supervision),而这种训练方法经过实验论证也确实能够在一定程度上消除梯度消失问题。我们在多个数据集上,包括MPII, LSP和FLIC上,利用该模型架构,均取得了不错的结果~

------------------第二菇 - 核心思想------------------

2.1 背景知识介绍 - Pose Machines

姿态识别又可以被视作是结构预测问题,就是我们根据解剖学上的一些关键点(anatomical landmark),对一张图片上的每一个点建模,然后去预测这些关键点。

在深入本文细节之前,我们有必要先来了解一下 Pose Machines

简单来讲,其实Pose Machines就是一种序列化的预测框架,可以学习到丰富的空间信息。借用原论文的描述就是,

Our approach incorporates rich spatial interactions among multiple parts and information across parts of different scales.

这里先约定一下符号表示,Z就是图片上的所有点(u, v)Y = (Y_1, ... Y_P)就是所有的P个关键点的集合,并且Y_p \in Z

一个推理模型包含了一连串的分类器,g_t(\bullet)。它们被训练后用于预测每一个关键点的位置。在每一个阶段t \in \{1 ... T\},分类器都会根据图片特征和上一个分类器预测的结果(主要是Y_p周围点的预测结果),来预测一个位置是属于某一个关键点(Y_p)的置信区间。在每一个阶段,Y_p = z的置信区间计算公式,

b_t(Y_p = z) = g^p_t(x_z;\oplus^p_{i=1}\psi(z, b^i_{t-1}))

其中,

b^p_{t-1} = \{b_{t-1}(Y_p = z) \}_{z \in Z}

就是一连串的前置位的分类器在每一个位置预测的是关键点p的置信区间。

\psi就是特征方程,用于处理前面生成的置信区间;\oplus就是向量相加的操作。

如果还是有点迷糊的同学,我贴一张原论文的图,想必大家对 Pose Machines 就有更深的体会了,

Pose Machines示意图.jpg

其实真的就是一种序列化的预测框架,只不过内部的分类器都是可以自己定义的。

2.2 什么是 Convolutional Pose Machines ?

如名字所示,CPM其实就是将卷积网络集成进Pose Machines框架中,如下图所示,

CPM框架图.jpg

我们分2个阶段来看,首先是第一阶段。

2.2.1 Keypoint Localization Using Local Image Evidence

在第一阶段中,CPM仅仅根据图片的原始信息来提取特征。上图中的c部分应该说是把结构图画的很清楚了,一共包含了5个卷积层,再接2个1*1的卷积层构造出全卷积网络的架构。每一层的感受野都在图上标记清楚了。在实际的训练过程中,输入的图像要求大小是368*368,最后的输出大小是46*46*(P+1),其中P就是关键点的个数,再外加一个背景。部分基础不扎实的同学,可能会对感受野和输出大小犯迷糊,这里我贴一张计算的过程图(外国网站上的一个计算感受野的),方便理解,

计算示意图.jpg
2.2.2 Sequential Prediction with Learned Spatial Context Features

第二阶段设计的初衷就是,在预测一些比较难的部位的时候(比如:手肘),利用一些其它已经预测出的部位,或是该部位周围关键点信息的时候,往往能够帮助预测出这些部分,如下图所示的右手肘,

序列预测示意图.jpg

因此在第二阶段,分类器就会接受2部分的输出,一部分是来自上一阶段的特征输出,另一部分是来自对图片的特征提取,如上图d所示。只不过,在CPM中,我们的分类器依然是卷积神经网络。两部分的输出也是通过向量相连的方式,再传入到后续分类网络中。

然后,在第二阶段,网络为了尽可能的增大感受野,动用了3个11*11的卷积核,最后将感受野增至400*400。作者对此的解释就是

large enough to allow the learning of potentially complex and long-range correlations between parts

意思就是尽可能的去学习关节点内在的一些依赖关联关系。而作者选择通过增大卷积核的方式来增大感受野也是为了控制整体的参数数量(其他方式还包括,采用pooling操作但是牺牲精度;或者增加卷积层个数,但是会增大参数量)。作者也在论文中贴了一张实验结果图,来证明,增大感受野能够提升最后的准确率,

感受野与准确率的关系示意图.jpg

而这种关系也预示,其实网络内部确确实实有在学习各关键点之间的关联关系(This improvement in accuracy with receptive field size suggests that the network does indeed encode long-range interactions between parts and that doing so is beneficial.

至此整套网络架构算是磕磕绊绊的讲清楚了~其实真要理解起来很简单,就是将卷积网络嵌套进Pose Machines框架中。

2.3 CPM训练细节
2.3.1 损失函数

训练深度神经网络的时候经常会面临梯度消失的问题,然而CPM的架构设计却能够很好的解决这个问题。每一个阶段PM都会被重复训练去预测每一个关键点的置信图。用作为标签的真实置信图(ideal belief map),在每一个真实的关键点附近构造高斯分布所产生的,记为b^p_\ast (Y_p = z),然后我们的损失函数就是去最小化,

f_t = \sum^{P+1}_{p=1}\sum_{z \in Z} ||b^p_t (z) - b^p_\ast (z)||^2_2

整体的损失函数就是把各个阶段的损失函数相加,

F = \sum^T_{t=1}f_t

这里也贴一张原论文用于展现梯度的示意图,

训练中的梯度示意图.jpg

其他一些具体的训练过程结果这里就不展示了,比较简单,大家自行品读原论文即可。

------------------第三菇 - 总结------------------

3.1 总结

到这里,整篇论文的核心思想已经说清楚了。本论文主要是提出了卷积神经网络嵌入到PM框架中的CPM网络架构用于人体关键点检测,并实验证明了其可行性,为后续发展奠定了基础

简单总结一下本文就是先罗列了一下该论文的摘要,再具体介绍了一下本文作者的思路,也简单表述了一下,自己对CPM网络架构的理解。希望大家读完本文后能进一步加深对该论文的理解。有说的不对的地方也请大家指出,多多交流,大家一起进步~😁

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,015评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,262评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,727评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,986评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,363评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,610评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,871评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,582评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,297评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,551评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,053评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,385评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,035评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,079评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,841评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,648评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,550评论 2 270

推荐阅读更多精彩内容