前言

最近在看姿态估计的论文,发现这篇论文是讲解单阶段人体姿态估计的,因此和之前的2D和3D姿态估计做一下对比

论文地址:http://openaccess.thecvf.com/content_ICCV_2019/papers/Nie_Single-Stage_Multi-Person_Pose_Machines_ICCV_2019_paper.pdf

一:算法分析

对单张图像中的多个人体进行姿态估计是一个非常有挑战性的问题,目前主流算法多采取双阶段的方案,其中一类是采用自顶而下的策略:第一阶段用目标检测器将图像中的多个人体检测出来,第二阶段对每个人体分别预测多个人体关键点;另一类是采用自下而上的策略:第一阶段将图像中的所有人体关键点都检测出来,第二阶段将这些检测到的关键点进行匹配归类到多个人体上。以上方法均存在的一个问题是耗时且无法发挥CNN网络端到端可训练的优势

从这一问题出发,本文首次提出了单阶段的解决方案,也即只需要将图像输入网络一次就可以得到逐个人体的关键点。作者在多个数据集上进行了公开评测,实验结果表明,本文提出的单阶段解决方案在取得速度优势的同时,也取得了毫不逊色于双阶段方法的检测率。此外,由于框架简单,该方法可以直接从2D图像扩展到3D图像的人体姿态估计。下图展示了本文方法和已有主流方法的直观对比。

二:思路分析

CNN网络的任务就是回归出root joint以及这些每个关键点到root joint的偏差量就可以完成人体姿态估计了。由于要回归距离root joint较远的关键点的偏差量较为困难,为了简化这一任务,作者提出了Hierarchical SPR的策略,其核心思想是先计算距离root joint较近的几个关键点的偏差量,再以这几个关键点为下一层的root joint,计算该root joint周围的几个关键点的偏差量,逐层向外围推进,直到计算出所有关键点的偏差量。

现有的多人人体姿态估计方法,不管是TD还是BU,往往都需要两步走,这篇论文提出了single-stage的方法,论文提出了Single-stage multi-person Pose Machine (SPM),来简化和提高多人姿态估计的性能。这篇文章有很多思想和centernet是共性的。

三:网络的整体结构

作者使用Associative Embedding中的Hourglass作为骨架网络,预测两个东西。一个是root joints的置信图,相当于预测每个人的中心在哪,另一个预测的是关节点偏移量的图,这里对每个root节点周围半径为r的圆内的每个点进行K张图的预测,预测的是这个点出发到各个关节点的offset除以一个归一化量,这样取root图中local max的点作为root,就可以算出其各个关节点的位置,所以这是一个single-stage的网络。但是,有些关节点与root会比较远,直接预测offset不太准,作者进行了改进:作者把关节点分为几个层次,root joint为第一层,脖子点、两个肩膀点、两个臀部点为第二层,头部点、手肘点、膝盖点为第三层,手腕点、脚踝点为第四层,然后在回归offset的时候,第一层回归点到第二层的offset,第二层回归到第三层的offset,以此类推,这样回归的offset都是short的,比较准确,网络学习起来也更容易。在COCO上的mAP为66.9%,不高不低吧,很多细节还能改进,这篇文章root+offset的single-stage的思想是值得去思考的。

四:三维姿态估计面临的问题

现有的多视角三维人体姿态估计算法大多基于两阶段模型:第一阶段从图像中估计二维的人体姿态,第二阶段利用相机的参数信息,将二维姿态提升为三维。深度学习模型不断增强的表征能力在很大程度上推动了二维姿态估计的发展,从而也带来三维误差的不断下降。但是三维姿态估计仍然面临以下几个问题:

1) 二维姿态估计不准确:在真实世界的图像中,由于存在遮挡、自遮挡以及运动模糊等问题, 二维姿态估计的结果并不完美。

2) 三维姿态估计却严重依赖于二维姿态的准确度:由于三维姿态是从二维姿态中估计出来的,并且不会利用到图像信息,因此二维姿态的准确度会在很大程度上影响三维姿态估计的结果。

3) 从二维姿态恢复三维的方法大致可以分为两类:第一类使用三角化方法(Triangulation),它独立地估计每一个关键节点的三维位置。因为该方法不会利用到其他节点的信息,因此对于二维位置的精确度要求更高;第二类方法是基于图模型的方法(Pictorial Structure Model,PSM),它通过利用节点之间的关联信息(比如肢体长度等)使得当前节点的估计能够受益于相邻的节点。但该方法的缺点是需要对三维空间进行离散化,从而引入了不小的量化误差。

总结

1、人体姿态估计领域常用的基础网络为hourglass网络(本文也不例外),由于网络结构本身所带来的计算量较大导致算法耗时难尽人意。目前大部分探索集中于双阶段的解决方案,本文在人体姿态估计领域突破了传统双阶段的算法框架,首次提出了单阶段的解决方案,思路新颖独特,方法简洁且可扩展性强。在极大降低算法耗时的同时,并没有以性能损失为牺牲,为人体姿态估计领域提供一个新的baseline,期待在这一方向上出现更多的精彩突破。

2、关键点检测也是当前anchor-free目标检测领域的关注热点,而本文中的关键点到root point的偏差量预测也类似于目标检测中宽和高的预测。从两个任务的共性入手,应该还有很多值得探索的问题和新的发现

参考

ICCV 2019 | SPM:单阶段人体姿态估计解决方案_极市平台的博客-CSDN博客

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

单阶段人体姿态估计解决方案相关推荐

  1. ICCV 2019 | SPM:单阶段人体姿态估计解决方案

    本文为极市作者Panzer原创,欢迎加小助手微信(cv-mart) 备注:研究方向-姓名-学校/公司-城市(如:目标检测-小极-北大-深圳),即可申请加入目标检测.目标跟踪.人脸.工业检测.医学影像. ...

  2. 最新综述|深度学习的单目人体姿态估计

    向大家推荐一篇今天新出的人体姿态估计综述文章 Monocular Human Pose Estimation: A Survey of Deep Learning-based Methods ,对20 ...

  3. 深度学习人体姿态估计:2014-2020全面调研

    今天分享一篇人体姿态估计综述. 来自北卡夏洛特, 戴顿大学, 德州大学达拉斯分校,中佛罗里达大学的研究人员对该领域的研究发展进行了综述.基于输入数据和推理程序的系统分析和比较,作者对基于深度学习的 2 ...

  4. 论文阅读笔记--Monocular Human Pose Estimation: A Survey of Deep Learning-based Methods 人体姿态估计综述

    趁着寒假有时间,把之前的论文补完,另外做了一点点笔记,也算是对论文的翻译,尝试探索一条适合自己的论文阅读方法. 这篇笔记基本按照原文的格式来,但是有些地方翻译成中文读起来不太顺,因此添加了一些自己的理 ...

  5. ICCV 2019 | 基于无标签单目视频序列的单帧三维人体姿态估计算法

    作者丨王璇 学校丨西安交通大学 研究方向丨人体姿态估计 我们都知道,要训练一个准确的三维人体姿态估计深度神经网络,需要大量有三维标签的数据,越多越好.而在现实生活中,我们很难得到很多有标签数据,而无标 ...

  6. 基于单目RGB的3D人体姿态估计

    基于单目RGB的3D人体姿态估计 1. 简介 2. 实现方案 1. 简介 3D Human Pose Estimation 目标:3D人体姿态估计是从图片或视频中估计出关节点的三维坐标 (x, y, ...

  7. 腾讯优图刷新人体姿态估计国际权威榜单,相关论文被ECCV2020收录

    本文转载自腾讯优图. 近日,腾讯优图实验室在人体2D姿态估计任务中获得创新性技术突破,其提出的基于语义对抗的数据增强算法Adversarial Semantic Data Augmentation ( ...

  8. 【今晚七点】:单目3D人体姿态估计的挑战和探索

    点击上方"LiveVideoStack"关注我们 单目3D人体姿态估计(aka. 3D HPE)在视频动作分析.计算机图形学(CG)等领域有广泛的应用场景,同时,由于无需复杂的人体 ...

  9. OpenPose 升级,CMU提出首个单网络全人体姿态估计网络,速度大幅提高

    点击我爱计算机视觉标星,更快获取CVML新技术 昨天,曾经开源OpenPose的卡内基梅隆大学(CMU)公布了ICCV 2019 论文 Single-Network Whole-Body Pose E ...

  10. 3D人体姿态估计论文汇总(CVPR/ECCV/ACCV/AAAI)

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者:Vegetabird | 来源:知乎 https://zhuanlan.zhihu.com/p/ ...

最新文章

  1. 视觉直观感受 7 种常用的排序算法
  2. [bzoj1088]扫雷
  3. matlab错误:Variable 'a' cannot be saved to a MAT-file whose version is older than 7.3.
  4. wxWidgets随笔(3)-hello,world
  5. Socket.io发送消息含义
  6. ubuntu14.04 upgrade出现【Ubuntu is running in low-graphics mode】问题的一个解决办法
  7. 直播不是造车,特斯拉开店玩直播却栽了个“跟头”
  8. jQuery 为动态添加的元素绑定事件
  9. ajax编辑教程,今天手动编写了一个简易的 ajax 发起器(JavaScript)
  10. Python语法基础
  11. 微信小程序代码大全分享
  12. linux IIC子系统分析(七)——实例分析通过i2c-dev操作I2C设备
  13. 免费在线视频图片GIF编辑工具
  14. 《一梦江湖》(原楚留香)游戏拆解分析(一)
  15. e430c参数 thinkpad_联想ThinkPad E430c(33651E1)
  16. sqlmap tamper mysql_sqlmap tamper的使用
  17. zigbee初级教程(零) : cc2530开发环境搭建
  18. Spark中组件Mllib的学习16之分布式行矩阵的四种形式
  19. 模拟用户登录过程,验证用户名、密码和校验码,如果全部正确提示用户登录成功,否则,提示用户相关输入错误
  20. Exchange 2013 配置MAPI OVER HTTP

热门文章

  1. linux UART(RS232/485)驱动实验
  2. 网站开发执行文档(页面界面和功能说明文档)编写方法
  3. 数据库和数据表的建立
  4. 项目管理概论【项目管理基础-第一章 项目与项目管理】
  5. 尚硅谷 谷粒学院 毕业设计 在线教育 部署文档
  6. chengg0769 近期文章列表 垂直搜索相关(2007-07-10)
  7. CSS3过渡详解-遁地龙卷风
  8. canvas对象arcTo函数的使用-遁地龙卷风
  9. C语言视频教程-谭浩强版-小甲鱼主讲—P2
  10. 陪孩子一起学习python