目录:

1.前言

2.相关数据集

3.研究方向分类

4.单人关键点检测的发展(2016-2019)

5.Ground Truth的构建

6.自上而下的人体关键点检测算法

一.前言

人体骨骼关键点检测是诸多计算机视觉任务的基础,例如动作分类,行为识别,以及无人驾驶等等。2012年,Hinton课题组为了证明深度学习的潜力,首次参加ImageNet图像识别比赛,其通过构建的CNN网络AlexNet一举夺得冠军,且碾压第二名(SVM方法)的分类性能。也正是由于该比赛,CNN吸引到了众多研究者的注意。深度学习开始迎来超级发展时期,人体骨骼关键点检测效果也不断提升。

由于人体具有柔韧性,会出现各种姿态,人体任何部位的变化都会产生新的姿态,同时关键点的可见性受穿着、视角等影响非常大,而且还面临着遮挡、光照、雾等环境的影响,使得人体骨骼关键点检测成为计算机视觉领域中一个极具挑战性的课题。本文主要介绍2D单人人体骨骼关键点的近年来的相关算法,以及最新的多人人体骨骼关键点算法。
二.相关数据集

LSP(Leeds Sports Pose Dataset):单人人体关键点检测数据集,关键点个数为14,样本数2K,在目前的研究中作为第二数据集使用。

FLIC(Frames Labeled In Cinema):单人人体关键点检测数据集,关键点个数为9,样本数2W,在目前的研究中作为第二数据集使用。

MPII(MPII Human Pose Dataset):单人/多人人体关键点检测数据集,关键点个数为16,样本数25K,是单人人体关键点检测的主要数据集。

MSCOCO:多人人体关键点检测数据集,关键点个数为17,样本数多于30W,多人关键点检测的主要数据集,主流数据集;

AI Challenger:多人人体关键点检测数据集,关键点个数为14,样本数约38W,竞赛数据集;

PoseTrack:最新的关于人体骨骼关键点的数据集,多人人体关键点跟踪数据集,包含单帧关键点检测、多帧关键点检测、多人关键点跟踪三个人物,多于500个视频序列,帧数超过20K,关键点个数为15。

三.研究方向分类

2D人体关键点检测论文可分为单人和多人关键点检测,多人关键点检测又分自上而下和自下而上关键点检测方法。单人关键点检测相对多人关键点检测提升空间小,目前主流还是在coco数据集上做多人关键点检测。关于自上而下和自下而上下面做简要介绍:

自上而下(Top-Down)的人体骨骼关键点检测算法主要包含两个部分,目标检测和单人人体骨骼关键点检测,对于目标检测算法,这里不再进行描述,而对于关键点检测算法,首先需要注意的是关键点局部信息的区分性很弱,即背景中很容易会出现同样的局部区域造成混淆,所以需要考虑较大的感受野区域;其次人体不同关键点的检测的难易程度是不一样的,对于腰部、腿部这类关键点的检测要明显难于头部附近关键点的检测,所以不同的关键点可能需要区别对待;最后自上而下的人体关键点定位依赖于检测算法的提出的Proposals,会出现检测不准和重复检测等现象,大部分相关论文都是基于这三个特征去进行相关改进。

自下而上(Bottom-Up)的人体骨骼关键点检测算法主要包含两个部分,关键点检测和关键点聚类,其中关键点检测和单人的关键点检测方法上是差不多的,区别在于这里的关键点检测需要将图片中所有类别的所有关键点全部检测出来,然后对这些关键点进行聚类处理,将不同人的不同关键点连接在一块,从而聚类产生不同的个体。而这方面的论文主要侧重于对关键点聚类方法的探索,即如何去构建不同关键点之间的关系。

四.单人关键点检测的发展(2016-2019)

首先看下单人姿态估计数据集MPII(MPII Human Pose Dataset)官方列出的榜单

http://human-pose.mpi-inf.mpg.de/#results

截图时间2019/06/13,最佳成绩已经达到93.9%。

1.Convolutional Pose Machines(2016)

本论文将深度学习应用于人体姿态分析,同时用卷积图层表达纹理信息和空间信息。在2016年的MPII榜单中名列前茅。主要网络结构分为多个stage,各个阶段都有监督训练,避免过深网络难以优化的问题,使用同一个网络,同时在多个尺度处理输入的特征和响应。既能确保精度,又考虑了各个部件之间的远距离关系。其中第一个stage会产生初步的关键点的检测效果,接下来的几个stage均以前一个stage的预测输出和从原图提取的特征作为输入,进一步提高关键点的检测效果。

2.Learning Feature Pyramids for Human Pose Estimation (ICCV2017)

本文主要关注人体部件中的尺度问题,这种尺度变化主要发生在相机拍摄视角变化,设计了 Pyramid Residual Module (PRMs) 来增强 CNN 网络对尺度信息的提取能力。同时DCNNs多输入或者多输出层的初始化问题,以及发现在一些场景中激活变化累积是由identity mapping造成的, 对于这两个问题我们分别提出解决的方法。

3.Stacked Hourglass Networks for Human Pose Estimation(2017)

Hourglass模块设计的初衷就是为了捕捉每个尺度下的信息,因为捕捉像脸,手这些部分的时候需要局部的特征,而最后对人体姿态进行预测的时候又需要整体的信息。为了捕获图片在多个尺度下的特征,通常的做法是使用多个pipeline分别单独处理不同尺度下的信息,然后再网络的后面部分再组合这些特征,而作者使用的方法就是用带有skip layers的单个pipeline来保存每个尺度下的空间信息。

在Hourglass模块中,卷积和max pooling被用来将特征降到一个很低的分辨率,在每一个max pooling步骤中,网络产生分支并在原来提前池化的分辨率下使用更多的卷积,当到达最低的分辨率的时候,网络开始upsample并结合不同尺度下的特征。这里upsample(上采样)采用的方法是最邻近插值,之后再将两个特征集按元素位置相加。当到达输出分辨率的时候,再接两个1×1的卷积层来进行最后的预测,网络的输出是一组heatmap,对于给定的heatmap,网络预测在每个像素处存在关节的概率。

4.Multi-Context Attention for Human Pose Estimation(2018)

整合多内容信息注意力机制(multi-context attention mechanism)到CNN网络,得到人体姿态估计 end-to-end 框架.采用堆积沙漏网络(stacked hourglass networks) 生成不同分辨率特征的注意力图(attention maps),不同分辨率特征对应着不同的语义.并同时结合了整体注意力模型和肢体部分注意力模型,整体注意力模型针对的是整体人体的全局一致性,部分注意力模型针对不同身体部分的详细描述. 因此,能够处理从局部显著区域到全局语义空间的不同粒度内容.另外,设计了新颖的沙漏残差单元(Hourglass Residual Units, HRUs),增加网络的接受野. HRUs 扩展了带分支的残差单元,分支的 filters 具有较大接受野;利用 HRUs 可以学习得到不同尺度的特征.

5.A Cascaded Inception of Inception Network with Attention Modulated Feature Fusion for Human Pose Estimation(2018)

本文提出了三种新技术。为人类姿势巧妙地利用不同级别的特征估计。首先,初始化(IOI)块是旨在强调低级特征。其次,根据人体关节信息提出了注意机制来调整关节的重要性。第三,提出了一种级联网络来顺序定位关节强制从独立部件的关节传递消息像头部和躯干到手腕或脚踝等远程关节。

6.Learning to Refifine Human Pose Estimation(2018)

训练一个新的模型, 来对某个pose estimation model产生的pose进行修正。文章引入了一种有效的后处理技术用于人体姿势估计中的身体关节细化任务。 由于其前馈架构,简单且端到端的可训练,高效的。提出了一个培训数据增强方案纠错,使网络能够识别错误的身体关节预测和学习方法改进它们。

7.Human Pose Estimation with Spatial Contextual Information(2019)

目前大多数网络以多阶段的方式进行训练并加以优化精细。在这个出发点上,作者提出了两个简单但有效的模块,即Cascade Prediction Fusion(CPF)网络用来预测关键点和Pose Graph Neural Network(PGNN), 用来对上级预测的关键点进行修正。


8.Cascade Feature Aggregation for Human Pose Estimation(2019)

目前这篇文章是2019年mpll数据集hpck@0.2排行榜上的冠军,相比其他论文,这篇文章创新点偏工程,达到这么高的评分,主要有三点,一是,作者把stage2到stageNheatmap的平均值作为最后输出;二是作者通过实验得出stage1把resnet101作为backbone,后面的stage采用resnet50作为backbone效果最佳;三是作者引入了AI Challenger的数据集来扩充训练数据。

五.Ground Truth的构建

在介绍多人关键点检测论文之前,首先介绍一下关键点回归的Ground Truth的构建问题,主要有两种思路,Coordinate和Heatmap,Coordinate即直接将关键点坐标作为最后网络需要回归的目标,这种情况下可以直接得到每个坐标点的直接位置信息;Heatmap即将每一类坐标用一个概率图来表示,对图片中的每个像素位置都给一个概率,表示该点属于对应类别关键点的概率,比较自然的是,距离关键点位置越近的像素点的概率越接近1,距离关键点越远的像素点的概率越接近0,具体可以通过相应函数进行模拟,如Gaussian等,如果同一个像素位置距离不同关键点的距离大小不同,即相对于不同关键点该位置的概率不一样,这时可以取Max或Average。对于两种Ground Truth的差别,Coordinate网络在本质上来说,需要回归的是每个关键点的一个相对于图片的offset,而长距离offset在实际学习过程中是很难回归的,误差较大,同时在训练中的过程,提供的监督信息较少,整个网络的收敛速度较慢;Heatmap网络直接回归出每一类关键点的概率,在一定程度上每一个点都提供了监督信息,网络能够较快的收敛,同时对每一个像素位置进行预测能够提高关键点的定位精度,在可视化方面,Heatmap也要优于Coordinate,除此之外,实践证明,Heatmap确实要远优于Coordinate。最后,对于Heatmap + Offsets的Ground Truth构建思路主要是Google在CVPR 2017上提出的,与单纯的Heatmap不同的是,Google的Heatmap指的是在距离目标关键点一定范围内的所有点的概率值都为1,在Heatmap之外,使用Offsets,即偏移量来表示距离目标关键点一定范围内的像素位置与目标关键点之间的关系。

1.Towards accurate multi-person pose estimation in the wild(cvpr2017)

第一阶段使用faster rcnn做detection,检测出图片中的多个人,并对bounding box进行image crop; 第二阶段采用fully convolutional resnet对每一个bonding box中的人物预测dense heatmap和offset; 最后通过heatmap和offset的融合得到关键点的精确定位。

六.自上而下的人体关键点检测算法

1.RMPE: Regional Multi-Person Pose Estimation(2018)

本论文主要考虑的是自上而下的关键点检测算法在目标检测产生Proposals的过程中,可能会出现检测框定位误差、对同一个物体重复检测等问题。检测框定位误差,会出现裁剪出来的区域没有包含整个人活着目标人体在框内的比例较小,造成接下来的单人人体骨骼关键点检测错误;对同一个物体重复检测,虽然目标人体是一样的,但是由于裁剪区域的差异可能会造成对同一个人会生成不同的关键点定位结果。本文提出了一种方法来解决目标检测产生的Proposals所存在的问题,即通过空间变换网络将同一个人体的产生的不同裁剪区 (Proposals)都变换到一个较好的结果,如人体在裁剪区域的正中央,这样就不会产生对于一个人体的产生的不同Proposals有不同关键点检测效果。

2.Cascaded Pyramid Network for Multi-Person Pose Estimation(cpn)(2018)

这篇文章是由Face++团队发表的COCO 17关键点的冠军方案,本论文主要关注的是不同类别关键点的检测难度是不一样的,整个结构的思路是先检测比较简单的关键点、然后检测较难的关键点、最后检测更难的或不可见的关键点。分为两个stage,GlobalNet和RefineNet其中GlobalNet主要负责检测容易检测和较难检测的关键点,对于较难关键点的检测,主要体现在网络的较深层,通过进一步更高层的语义信息来解决较难检测的关键点问题;RefineNet主要解决更难或者不可见关键点的检测,这里对关键点进行难易程度进行界定主要体现在关键点的训练损失上,使用了常见的Hard Negative Mining策略,在训练时取损失较大的top-K个关键点计算损失,然后进行梯度更新,不考虑损失较小的关键点。

3.Rethinking on Multi-Stage Networks for Human Pose Estimation(2019)

时隔一年,Face++团队又拿下了COCO 18关键点检测冠军。提出了多阶段姿态估计网络(MSPN)有三个新的技术。首先,当前多阶段方法中的单级模块远非最优。例如,沙漏在所有块中使用相等宽度的通道用于向下和向下提取。这种设计与当前网络架构设计(ResNet)不一致。作者发现采用现有良好的网络结构进行下采样路径和简单的上采样路径要好很多。其次,由于重复的向下和向上采样步骤,信息更容易丢失,优化变得更加困难。作者建议在不同阶段汇总特征以加强信息流动并减轻培训的难度。最后,观察姿势定位精度逐渐提高。在多阶段,作者采取粗到细的多监督方式。

参考资料:

https://blog.csdn.net/sigai_csdn/article/details/80650411

发文章初衷是学习笔记,如有不对的地方还请多多指教~~
转自:

https://zhuanlan.zhihu.com/p/69042249

人体骨骼关键点检测(姿态估计)综述2019相关推荐

  1. 姿态估计:人体骨骼关键点检测综述(2016-2020)

    点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:作者丨七酱@知乎 来源丨https://zhuanlan.z ...

  2. 姿态估计:人体骨骼关键点检测的方法论

    作者 | 沙悟净 编辑 | 3D视觉开发者社区 文章目录 一.什么是人体骨骼关键点检测 二.应用与挑战 三.相关数据集 四.传统算法概述 五.人体骨骼关键点检测 (一)算法概述 (二)自上而下的人体关 ...

  3. 人体骨骼关键点检测综述

    原创声明:本文为 SIGAI 原创文章,仅供个人学习使用,未经允许,不得转载,不能用于商业目的. 本文及其它机器学习.深度学习算法的全面系统讲解可以阅读<机器学习与应用>,清华大学出版社, ...

  4. 人体骨骼关键点检测综述(2)

    五.OpenPose库OpenPose人体姿态识别项目是美国卡耐基梅隆大学(CMU)基于卷积神经网络和监督学习并以Caffe为框架开发的开源库.可以实现人体动作.面部表情.手指运动等姿态估计.适用于单 ...

  5. 计算机视觉方向简介 | 人体骨骼关键点检测综述

    什么是人体骨骼关键点检测 人体骨骼关键点检测,即Pose Estimation,主要检测人体的一些关键点,如关节,五官等,通过关键点描述人体骨骼信息: 应用与挑战 人体骨骼关键点检测是计算机视觉的基础 ...

  6. PaddleHub人体骨骼关键点检测(2.0环境)

    目录 PaddleHub人体骨骼关键点检测 human_pose_estimation_resnet50_mpii 一.安装新版Hub 二.定义待预测照片 三.API预测 四.命令行预测 五.实现效果 ...

  7. 人体骨骼关键点检测综述(1)

    一.简介 实现人体检测,通常采用人体姿态估计(Human Posture Estimation),即将图片中已检测到的人体关键点正确联系起来,从而实现人体姿态的估计,实现人体的检测.人体关键点通常对应 ...

  8. 人体骨骼关键点检测AP值AP@s

    OKSp=Σiexp⁡{−dpi2/(2Sp2σpi2)}δ(vpi=1,vpi′=1)Σiδ(vpi=1)O K S_p=\frac{\Sigma_i \exp \left\{-d_{p i}^2 ...

  9. 人体骨骼关键点检测的算法

    文章目录 老铁们✌,重要通知

最新文章

  1. Linux 中 7 个判断文件系统类型的方法
  2. php结合jquery异步上传图片(ajaxSubmit)
  3. java修改ldap用户密码_LDAP 用户更改自己的密码
  4. Windows平台下SVN安装配置及使用
  5. BZOJ3211 花神游历各国
  6. 内置函数dict()字典
  7. NumberFormat
  8. HTML网页设计:四、超链接
  9. Q4-软件测试面试常见问题总结-本科毕业
  10. xprinter打印机android 开发文档,芯烨智能打印机,让手机功能更神奇
  11. 郭天祥的10天学会51单片机_第二节
  12. 消防工程师 10.3 火灾自动报警系统-可燃气体、电气火灾、消控室 11.灭火器
  13. 计算机演示文稿应用主题,使用屏幕阅读器在 PowerPoint 中创建演示文稿的基本任务...
  14. Android车载蓝牙相关开发4:蓝牙电话操作器BluetoothHeadsetClient
  15. 【信号与系统学习笔记】—— 拉普拉斯变换的性质分析
  16. 夏季养生:一觉,二瓜,三汤,四穴,五果
  17. php 生成迅雷地址,php实现把url转换迅雷thunder资源下载地址的方法,_PHP教程
  18. xorg介绍 xorg和桌面环境的关系
  19. kali虚拟机无法联网
  20. 开源OLAP系统的比较:ClickHouse、Druid和Pinot

热门文章

  1. mysql远程访问慢的解决小妙招
  2. zbrush 使用遮罩制作衣服边缘破损
  3. CSS高级技巧(七)
  4. Pandas描述性分析分类变量及连续变量,Matplotlib简易制图
  5. java我的世界代码_微软开源部分《Minecraft》Java 代码
  6. 谷歌广告账号为什么会被封?如何解决谷歌账号封号问题?
  7. C语言实现:幼儿版扫雷
  8. 宠物商城系统的设计与开发(毕业论文第一、二章)
  9. 刘永好、冯仑、翁国亮顶力合作进军医疗健康产业
  10. 双11福利!买课即赠书——11个品牌的“增长炼金术”+《私域不完全指南》