Human Pose Estimation:Learning Specific Features for Related Parts笔记

Learning Specific Features for Related Parts 为相关的parts学习具体特征

在这里插入图片描述
文章指出,人体姿态估计(HPE)本质上是一个同构的多任务学习问题,人体每个部位的定位是一个不同的任务。之前所有基于cnn的HPE方法都想当然地认为所有身体部位的特征都应该完全共享。如:最近的HPE方法普遍地学习了所有部件的共享表示,从该表示中线性回归所有部位的位置。

作者进行统计分析,表明并不是所有的部位都是相互关联的related to each other。在相关任务之间共享一个表示可以产生更紧凑的模型和更好的泛化能力。而对于那些不相关或弱关联的任务,共享特征则会降低其性能(也称为negative transfer)。

作者首先提出一种数据驱动的方法,根据相关部位共享的信息的多少来对它们进行分组。然后引入了基于部位的分支网络来学习每个组的特定表示。
图1。Top:之前的方法利用cnn充分学习所有身体部位的共享特征,并将它们的位置以空间坐标或热图的形式进行线性回归。中间:右脚踝的位置与各部分位置的相互信息。下图:我们的统计分析(3.1节)表明,并不是所有的部分都是相互关联的。由于对不相关的任务共享一个表示会降低它们的性能,因此本文试图识别出相关的部位,并研究为它们学习特定的特征是否有助于提高姿态估计。
图1。Top:之前的方法利用cnn充分学习所有身体部位的共享特征,并将它们的位置以空间坐标或热图的形式进行线性回归。
中间:右脚踝的位置与各部分位置的相互信息。
下图:我们的统计分析(3.1节)表明,并不是所有的部分都是相互关联的。由于对不相关的任务共享一个表示会降低它们的性能,因此本文试图识别出相关的部位,并研究为它们学习特定的特征是否有助于提高姿态估计。

1.Introduction

具体来说,cnn的前几层学习低层次的特征,如Gabor filter和颜色斑点,这是许多数据集和任务[54]通用general的,因此可以安全地分享给所有的parts。更高层次的语义,出现在更深的层次(如身体部位)。一些部位(如膝盖)的提示,为定位其他相关部位(如脚踝)提供了重要信息和约束条件。

怎么识别相关的parts并对其进行分组?
作者提出两种策略:

  1. 基于人体结构,手工制作的[41,38,59]。直觉上来说,自然连接着的部位是相关的。
  2. data driven,它将每个部位的位置视为一个随机变量。我们从公共数据集[1]估计它们的概率分布,并根据它们的相互信息对相关部位进行分组。
    (作者证明了第二种策略更优)

然后介绍了一种part-based分支网络PBN。它包括一个来学习对所有身体部位通用的共享表示的主干trunk网络,以及一些后续branch来学习特定于每组相关部位的高级特特征。如图一。

3.Our Approach
3.1. Related body parts

识别相关部位的第二种策略,也是最重要的策略,是将各part的位置视为随机变量lm∈L, m∈{1,…, M},(其中L为空间域,M为感兴趣的身体部位总数)。衡量两个随机变量之间的相关性的自然的方法是计算它们的相互信息(mutual information):
式中,p(·)和p(·,·)分别表示边缘概率和联合概率。
式中,p(·)和p(·,·)分别表示边缘概率和联合概率(eg. p(lm)指part m在位置lm∈R2的概率,p(lm,ln)指part m在位置lm的同时,part n在位置ln的概率)。I(lm, ln)量化了一个随机变量通过观察另一个随机变量而获得的信息量。 I(lm, ln)的高值表明与part m强相关的特征也提供了关于part n的信息线索(即两个part强相关),反之亦然。
(MI指标同时考虑了线性和非线性关联,当且仅当两个随机变量是独立的时,相互信息为零。)

作者估计part位置的分布,采用的是MPII人体姿态数据集(有高质量的注释,例如人体姿态、尺度和中心)。

具体方法:用标注scale对pose进行缩放,并将其集中在一个标准化的空间域内,即一个16×16格点。这个低分辨率是必要的,因为(1)它使统计估计对小姿态扰动具有鲁棒性,(2)样本总数是有限的。而且极大的减小了算两个part的MI时的计算量。计算空间:(16x16)2个概率相加,原来的是(HxW)^2

Then用直方图估计p(lm, ln),这样就能算I(lm,ln)了。即可得到每对body parts的相关性了。最后,每对身体部位之间的所有相互信息(也称为affinity亲和矩阵16x16)可视化如下图:
图2。(a)标准化的相互信息of每对身体部位。(b)对(a)中的affinity亲和矩阵进行谱聚类得到的五组相关parts。
图2。(a)标准化的相互信息of每对身体部位。(b)对(a)中的affinity亲和矩阵进行谱聚类得到的五组相关parts。

总之,它的Mutual Information(即related parts)是由数据库中的label根据概率统计的方法统计出来的,跟deeplearning无关。

思考:
我们要用神经网络对每个新进来的图片/数据库实时学习他们part之间的相关性。

问题:一定要根据标注的Keypoint groundtruth来学习这种Mutual information吗?

它的分组是只看了MPII这一个数据库的Keypoint groundtruth计算的part之间的相关性,然后分了5组(实验发现分5组性能表现最好),拿这5组的固定分组规则去做后面的事情了。

分组感觉只关注了静态static的人体结构这一方面,是否也可以关注一下别的方面?比如motion feature?

Laoshi强调说不同的动作,不同的part有着不同的关系。要能灵活的组合关节点。

所以是想每张图用一个分组规则,而不是一个数据库通用一个分组规则。

或者我们干脆让网络去学习怎么分组(人体有16个关节),有C(16,n)种分组方式,看哪种分组方式的关键点定位结果是最好的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值