一、简介

实现人体检测,通常采用人体姿态估计(Human Posture Estimation),即将图片中已检测到的人体关键点正确联系起来,从而实现人体姿态的估计,实现人体的检测。人体关键点通常对应人体上有一定自由度的关节,比如颈、肩、肘、腕、腰、膝、踝等。

通过对人体关键点在三维空间相对位置的计算,可以估计人体当前的姿态。同时如果增加时间序列,在一段时间内观测人体关键点的位置变化,可以更加准确的进行姿态的检测以及估计目标未来时刻的姿态,做到更加抽象的人体行为分析,比如判断一个人是否在进行打羽毛球。

人体姿态估计技术在体育健身、动作采集、3D试衣、舆情监测等领域具有广阔的应用前景,具体应用主要集中在智能视频监控,病人监护系统,人机交互,虚拟现实,人体动画,智能家居,智能安防,运动员辅助训练等等。

二、应用场景

1、人类行为识别:人类行为识别是指在给定的图片或者图片序列中识别出人体的动作意图。人类行为识别是计算机视觉领域一个极其重要的研究方向。其被广泛的应用于监控,娱乐,人机交互,图像和视频搜索等领域。

2、人机交互:人机交互是指设计一种计算机和用户进行信息传递的接口程序。人机交互处于计算机科学,行为科学,设计,媒体研究的交叉点。一个常见的例子是:研究人员可以通过给计算机安装摄像头的方式使其可以获取人类用户的图像信息,再通过对图像信息的识别使得计算机理解用户的意图,从而达到交互的目的。

3、服装解析:服装解析是指在一张图像中解析出人体上不同的服装。解析服装的视觉算法具有各种各样的潜在应用价值,更好的理解图像,人物服饰识别,或基于内容的图像检索等。但是,由于人体姿态的复杂性,解析服饰的任务并不容易。

三、人体检测面临的问题

1、某张图片中的人的数量未知,可能由一个人到几百个人不等的情况都会出现

2、图片中人与人之间的相互接触会极大影响识别效率,比如遮挡、接触、掩盖等现象的产生会导致在2D图片维度上去联合各个肢体,确定一个人的关键点变得异常困难。

3、图片中的人数的增加会直接导致计算的复杂度提高,计算量也随之增大,计算量与人数成正相关,这就导致实时的人体检测变得困难。

4、视角不同和人体姿态的复杂而引起的关键点尺度差异性问题,由于视角和人体姿态的不同,造成了人体关键点的尺度差异,即使已经对图片进行裁剪和缩放处理,使得人体区域大致位于图像中心,并且人体的尺寸近似。这对于检测人体关键点的模型来说是一个挑战,如果模型不能学习到这些尺度差异性下的高纬度一般性就无法准确的定位关节点。这个问题不仅会影响CNN深层的语义信息,而且也会影响CNN浅层的图像特征。

5、人体具有相当的柔性,会出现各种姿态和形状,人体任何一个部位的微小变化都会产生一种新的姿态,这使得在构建模型时的通用性变得非常困难。

四、常用数据集

近些年发布过的一些高质量的人体姿态数据集:

1、COCO Keypoints challenge

2、MPII Human Pose Dataset

3、VGG Pose Dataset

4、CMU Panoptic Dataset

5、LSP(Leeds Sports Pose Dataset)

6、FLIC(Frames Labeled In Cinema)

7、AI Challenger

8PoseTrack

五、OpenPose库

OpenPose人体姿态识别项目是美国卡耐基梅隆大学(CMU)基于卷积神经网络和监督学习并以Caffe为框架开发的开源库。可以实现人体动作、面部表情、手指运动等姿态估计。适用于单人和多人,具有极好的鲁棒性。是世界上首个基于深度学习的实时多人二维姿态估计应用,基于它的实例如雨后春笋般涌现。

其理论基础来自Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields ,是CVPR 2017的一篇论文,作者是来自CMU感知计算实验室的曹哲(http://people.eecs.berkeley.edu/~zhecao/#top),Tomas Simon,Shih-En Wei,Yaser Sheikh 。

OpenPose项目Github链接:https://github.com/CMU-Perceptual-Computing-Lab/openpose。

六、传统算法

传统的人体骨骼关键点检测算法基本上都是在几何先验的基础上基于模版匹配的思路来进行,核心就在于如何去用模版表示整个人体结构,包括关键点的表示,肢体结构的表示以及不同肢体结构之间的关系的表示。一个好的模版匹配的思路,可以模拟更多的姿态范围,以至于能够更好的匹配并检测出对应的人体姿态。

Pictorial Structure是其中一个较为经典的算法思路,主要包含两个部分,其一是单元模版(Unary Templates),其二是模版关系(Pairwise Springs),对于模版关系,提出了著名的弹簧形变模型,弹簧形变模型,即对部件模型与整体模型的相对空间位置关系进行建模,利用了物体的一些空间先验知识,既合理约束了整体模型和部件模型的空间相对位置,又保持了一定的灵活性。

在接下来的研究中,为了匹配更大的姿态范围,Yang & Ramanan提出了“mini parts”的概念,即将每个肢体结构(part)切分成更小的parts以能够模拟更多的姿态变化,从而提高模版匹配的效果。

七、人体骨骼关键点检测算法概述

多人人体骨骼关键点检测主要有两个方向,一种是自上而下,一种是自下而上,其中自上而上的人体骨骼关键点定位算法主要包含两个部分,人体检测和单人人体关键点检测,即首先通过目标检测算法将每一个人检测出来,然后在检测框的基础上针对单个人做人体骨骼关键点检测,其中代表性算法有G-RMI, CFN, RMPE, Mask R-CNN, and CPN,目前在MSCOCO数据集上最好的效果是72.6%;自下而上的方法也包含两个部分,关键点检测和关键点聚类,即首先需要将图片中所有的关键点都检测出来,然后通过相关策略将所有的关键点聚类成不同的个体,其中对关键点之间关系进行建模的代表性算法有PAF, Associative Embedding, Part Segmentation, Mid-Range offsets,目前在MSCOCO数据集上最好的效果是68.7%

CoordinateHeatmapHeatmap + Offsets

八、自上而下的人体关键点检测算法

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

九、自下而上的人体关键点检测算法

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

十、小结

人体骨骼关键点定位至今仍然是计算机视觉领域较为活跃的一个研究方向,人体骨骼关键点检测算法还没有达到比较完美的效果,在较为复杂的场景下仍然会出现很多错误的检测结果。自上而下的关键点检测算法在效果上要明显好于自下而上的关键点检测算法,因为自上而下的检测方法加入了整个人体的一个空间先验。个人认为,自下而上的关键点定位算法没有显示的去建模整个人体的空间关系,而只是建模了局部的空间关系,以至于在效果上目前还远低于自上而上的关键点检测方法。

注:参考资料:

https://yq.aliyun.com/articles/639017?utm_content=m_1000016206

https://blog.csdn.net/u012426298/article/details/81093667

https://blog.csdn.net/guyuealian/article/details/98453496

https://blog.csdn.net/m0_38106923/article/details/89416514

人体骨骼检测相关综述及总结相关推荐

  1. 2D人体骨架检测算法综述

    文章目录 多人关键点检测 多人2d关键点检测的算法(自下而上) 1.OpenPose: Realtime Multi-Person 2D Pose Estimation using Part Affi ...

  2. 用华为HMS ML kit人体骨骼识别技术,Android快速实现人体姿势动作抓拍

    用华为HMS ML kit人体骨骼识别技术,Android快速实现人体姿势动作抓拍 你有没有过这种体验,拍照时对着镜头,脑子一片空白.表情僵硬.手和脚无处安放,最后拍出来的照片很是奇怪.拍照软件中的固 ...

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

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

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

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

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

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

  6. 人体骨骼关键点检测(姿态估计)综述2019

    目录: 1.前言 2.相关数据集 3.研究方向分类 4.单人关键点检测的发展(2016-2019) 5.Ground Truth的构建 6.自上而下的人体关键点检测算法 一.前言 人体骨骼关键点检测是 ...

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

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

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

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

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

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

最新文章

  1. SQL分组多列统计(GROUP BY后按条件分列统计)
  2. 使用JMeter录制手机App脚本
  3. JavaScript创建与读写本地文件(IEFirefox)
  4. iptables基础概念
  5. 如何查看Hive版本
  6. iPhone唯一标识符
  7. 2020.8.2- 参加华数之星数学比赛 银奖(二等奖)
  8. 史上最完美将windows键盘映射成mac键盘,绝对不需要买HHKB了
  9. 苹果怎么修改wifi代理服务器,苹果手机怎么修改wifi名称?
  10. 最近看到需要去学习的点(持续记录)
  11. 一个程序员是如何蜕变为投资人的?
  12. 叠片过滤器和叠片式过滤器以及盘式过滤器的区别介绍
  13. 智能窗帘控制(光、红外、时间)
  14. vue中使用echarts自定义主题
  15. CISSP-D2-资产安全
  16. C语言常用语句之-循环语句
  17. 【2020.11.30提高组模拟】剪辣椒(chilli)
  18. Linux如何挂载windows共享文件夹(包含Linux报错解决)
  19. IBM实习工作(一)
  20. matlab文件名批量读取dat文件,matlab批量读取dat

热门文章

  1. go微服务框架kratos 安装及使用
  2. python 脑洞_从说韩语到写Python,这个数据媛的脑洞有毒吧
  3. 回归算法的应用——信用卡欺诈检测案例
  4. 计算机用户界面设计方法,一文解读:什么是用户界面设计?
  5. 成熟量产变频器设计方案 STM32源代码原理图 此stm32变频器资料,这个是1.5千瓦的变频器
  6. linux powerpc详解-核心篇 pdf,Linux PowerPC详解--核心篇 (王齐) pdf扫描版
  7. houdini法线围绕一个方向去旋转
  8. MATLAB角谱传播实现!FFT2光斑实际尺寸是多少?
  9. 【多级分销,如何更有效的查找上级/下级】
  10. 计算机vb实验报告,2016年华北科技学院计算机学院综合性实验实验报告(VB).doc