【人体骨骼点】算法综述
2013
DeepPose(2013.12,google)
- 第一个将深度学习应用于humanPose,fc层后面直接暴力回归xy坐标。
2014
Joint-cnn-mrf(2014.06,纽约大学的LeCun组)
- 第一个采用heatmap的方式来回归出关键点。
SpatialDropout(2014,纽约大学的LeCun组)
- 第一个采用多尺度fm。
MPII 数据集(2014)
- 此前的大部分paper都是基于FLIC以及LSP来做评估的,但是在深度学习时代,数据量还是相对偏少(K级别)。
- MPII把数据量级提升到W级别,同时因为数据是互联网采集,同时是针对activity来做筛选的,所以无论从难度还是多样性角度来讲,都比原来的数据集有比较好的提升。
2016
CPM(Convolutional Pose Machines,2016.02,CMU)
- 通过multi-stage来不断把空间信息喂给更深的层。有skip-connect的影子,但是每次喂入都要先过一个降采样小网络,很低效。
- 采用了 intermediate supervision(提供和最后面一样的heatmap来做中间监督) ,来解决梯度消失的问题。(网络越深,越容易梯度消失。在中间加点监督,可以有效缓解梯度消失)。这也成为了后续的标配。
- 这个工作提出了很重要的一点:使用神经网络同时学习图片特征(image features)和空间信息(spatial context),这是处理姿态估计问题必不可少的两样信息。
- 从CPM开始,神经网络已经可以e2e的把feature representation以及关键点的空间位置关系建模进去(隐式的建模),输入一个图片的patch, 输出带spatial信息的tensor,channel的个数一般就是人体关键点的个数(或者是关键点个数加1)。空间大小往往是原图的等比例缩放图。通过在输出的heatmap上面按channel找最大的响应位置(x,y坐标),就可以找到相应关键点的位置。这种heatmap的方式被广泛使用在人体骨架的问题里面。
- 后续2D的人体姿态估计方法几乎都是围绕heatmap这种形式来做的(3D姿态估计将会是另外一条路),通过使用神经网络来获得更好的feature representation,同时把关键点的空间位置关系隐式的encode在heatmap中,进行学习。大部分的方法区别在于网络设计的细节。
Hourglass(2016.04,Princeton的Deng Jia组)
- 设计了hourglass block(本质上就是unet+残差),以resblock的方式串接。
- Stacked Hourglass Networks是首个以模块形式堆叠形成的humanPose网络。
- 最大改进是网络结构更简单,更优美。效果惊艳。
- 这个网络由多个堆叠起来的Hourglass module组成(因为网络长的很像多个堆叠起来的沙漏)。一开始先是快速降采样到1/4,之后每个Hourglass module都包含一个对称的U-Net过程,且size一致,前者通过卷积和pooling将图片从高分辨率降到低分辨率,后者通过upsample将图片从低分辨率恢复到高分辨率。
- 从MPII上的结果来看,明显提升,达到90.9的PCKh。
COCO数据集(2016)
- 这个时间点也是非常好的时间点。一方面,MPII已经出现两年,同时有很多非常好的工作,比如CPM, Hourglass已经把结果推到90+,数据集已经开始呈现出一定的饱和状态。另外一方面,物体检测/行人检测方面,算法提升也特别明显,有了很多很好的工作出现,比如Faster R-CNN和SSD。所以COCO的团队在COCO的数据集上面引入了多人姿态估计的标注,并且加入到了2016年COCO比赛中,当成是一个track。从此,多人姿态估计成为学术界比较active的研究topic。
OpenPose(2016.11,CMU,COCO 2016 Keypoints冠军)
- 输出为 heatmap(K维) + PAF(K-1维)
- PAF:Part Affinity Fields,在关键点之间建立的一个向量场(K-1维)。
- 在当时来讲,这个工作效果是非常惊艳的,特别是视频的结果图(Openpose的Github官网)。
- 在COCO的benchmark test-dev上面的AP结果大概是61.8。
AE(Princeton的Deng Jia组)
- Associative Embedding。
- 大概想法是希望对每个关键点输出一个embedding,使得同一个人的embedding尽可能相近,不同人的embedding尽可能不一样。
- 在COCO2016比赛后,这个工作持续的在提升。文章发表的时候,COCO test-dev上面的结果在65.5。
2017
CPN(Cascaded Pyramid Network,2017.11,旷视,COCO 2017 Keypoint冠军)
- 网络分为两部分:GlobalNet(FPN+resBlock)和RefineNet。
- GlobalNet仰仗FPN,特征提取能力明显增强。RefineNet将pyramid结构中不同分辨率下的特征进行了一个整合,兜底没有检测到的那些被遮挡的、难以定位的关键点,相当于在前半部分的基础上做refinement。
- loss:L2
2018
Simple Baselines(2018,MSRA)
- 网络是最简单的,仅在ResNet的基础上接了一个由多个deconvolutional layer组合成的head。
- deconvolutional layer(封装了transpose convolution逆向卷积->BatchNorm->ReLU),目的是通过上采样fm,得到姿态估计所需的更高分辨率。
- 这样一个简单的架构不输于使用保留每个分辨率信息的skip-connet的架构。(存疑
【人体骨骼点】算法综述相关推荐
- 姿态估计:人体骨骼关键点检测综述(2016-2020)
点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:作者丨七酱@知乎 来源丨https://zhuanlan.z ...
- 人体骨骼关键点检测综述
原创声明:本文为 SIGAI 原创文章,仅供个人学习使用,未经允许,不得转载,不能用于商业目的. 本文及其它机器学习.深度学习算法的全面系统讲解可以阅读<机器学习与应用>,清华大学出版社, ...
- 计算机视觉方向简介 | 人体骨骼关键点检测综述
什么是人体骨骼关键点检测 人体骨骼关键点检测,即Pose Estimation,主要检测人体的一些关键点,如关节,五官等,通过关键点描述人体骨骼信息: 应用与挑战 人体骨骼关键点检测是计算机视觉的基础 ...
- 人体骨骼检测相关综述及总结
一.简介 实现人体检测,通常采用人体姿态估计(Human Posture Estimation),即将图片中已检测到的人体关键点正确联系起来,从而实现人体姿态的估计,实现人体的检测.人体关键点通常对应 ...
- 2D人体骨架检测算法综述
文章目录 多人关键点检测 多人2d关键点检测的算法(自下而上) 1.OpenPose: Realtime Multi-Person 2D Pose Estimation using Part Affi ...
- 人体骨骼关键点检测综述(2)
五.OpenPose库OpenPose人体姿态识别项目是美国卡耐基梅隆大学(CMU)基于卷积神经网络和监督学习并以Caffe为框架开发的开源库.可以实现人体动作.面部表情.手指运动等姿态估计.适用于单 ...
- 深度学习人体姿态估计算法综述
https://www.infoq.cn/article/6Btg0-1crfmb7svRGa6H 人体骨架是以图形形式对一个人的方位所进行的描述.本质上,骨架是一组坐标点,可以连接起来以描述该人的位 ...
- 人工智能 信道估计 深度学习_深度学习人体姿态估计算法综述
作者 | Bharath Raj 译者 | 李志 编辑 | Vincent AI 前线导读:人体姿态估计的任务是从包含人体的图片中检测出人体关键点,并恢复人体位姿.随着深度学习的发展,越来越多的深度学 ...
- 人体骨骼关键点检测综述(1)
一.简介 实现人体检测,通常采用人体姿态估计(Human Posture Estimation),即将图片中已检测到的人体关键点正确联系起来,从而实现人体姿态的估计,实现人体的检测.人体关键点通常对应 ...
- 人体骨骼关键点检测(姿态估计)综述2019
目录: 1.前言 2.相关数据集 3.研究方向分类 4.单人关键点检测的发展(2016-2019) 5.Ground Truth的构建 6.自上而下的人体关键点检测算法 一.前言 人体骨骼关键点检测是 ...
最新文章
- 上海天氣情況及空氣質量指數
- 5.单行函数,多行函数,字符函数,数字函数,日期函数,数据类型转换,数字和字符串转换,通用函数(case和decode)
- 阿里技术专家:数据一致性检测的应用场景与最佳实践
- Linux环境下的Popush部署——张凯
- C++编程笔记:贪心算法实现活动安排问题
- 如果人类的历史共有100万年,假设这等于一天
- 【Flink】kafka Response from server for which there are no in-flight requests NETWORK_EXCEPTION
- python接口自动化(四十二)- 项目架构设计之大结局(超详解)
- 如何安装和使用Android夜神模拟器
- hdu Robberies 2955 01背包
- HTTP缓存原理及相关知识(1)
- 一线算法工程师总结:python常用数据挖掘算法PDF版
- 如何让Linux上的GPG error 无法验证的这个公钥 NO_PUBKEY D97A3AE911FXXXXX 出错信息消失?
- 推荐 Word、EXCEL必备工具箱
- 网页抓取软件-免费网页自动采集抓取任意内容软件
- JavaScript设计模式:四、发布订阅模式
- 【NOI2001】炮兵阵地 题解
- 慕课网-安卓攻城狮视频学习及练习(六)
- oracle 日期的常用写法
- Shading中的插值技术
热门文章
- 姿态估计:人体骨骼关键点检测综述(2016-2020)