本文是人体关键点中非常经典的一篇文章:Stacked Hourglass Networks for Human Pose Estimation

论文地址:

https://arxiv.org/abs/1603.06937​arxiv.org

代码地址:

wbenbihi/hourglasstensorlfow​github.com

论文框图:

摘要:

正如论文名称所说,我们提出的网络是漏斗形状,通过多次对网路的上采样和下采样,我们在多个尺度上得到了人体关键点的位置特征。

method:

1:Hourglass Design

对于人体特征而言,我们既需要能够区分局部特征如人脸和人手,又需要能够区分全身的特征,这就要求我们在图片的各个尺度上都能够捕捉足够多的特征,这也是我们漏斗网络设计的初衷。一种实现在各个尺度上都捕捉特征的方式是先单独地获得多个分辨率的特征,然后在网络后面几个阶段中将他们combine起来,而我们使用的是单个网络,网络分辨率最低能够降到4*4,然后通过skip connection来保持空间分辨率。

网络的backbone使用卷积层和max pooling层来实现分辨率的降低,在每一层max pooling之前,我们额外的接出一个分支,在其后接上更多的卷积层,当网络的分辨率到达最低尺寸之后,我们使用最近邻插值法来把小尺寸的特征进行上采样,然后和skip layer进行 elementwise addition。在得到最终的pixel级别的feature map输出之后,我们使用两个1*1的卷积层来得到最后的pixel wise的heatmaps。

2:Layer Implementation

我们也使用的经过验证非常有效的一些layer design,如残差结构和inception结构,以及使用多个小的卷积核来替代大的卷积核,如用2个3*3来替代一个5*5的卷积核,最终的layer结构如下:

由于在全部分辨率256*256上面进行计算需要太多的GPU资源,因此我们将最后的输出维度限制在了64*64的分辨率上。

3:Stacked Hourglass with Intermediate Supervision

就两点,多个网络叠加,将上一个hourglass的输出作为下一个hourglass的输入,同时对每个输出加一个中间监督信号,GT和最后一层监督信号的GT是一样的,图4中蓝色的feature map就是中间监督信号的heatmap,然后再将它用1*1的卷积核扩增channel,再加回原来的feature中去。

train:

数据集用的比较老的数据集,就不讲了。训练的GT还是用的2D的高斯核来生成的,loss使用的是MSE。

result:

作者特别指出了观察不同的层次的hourglass的输出结果,从左图可以看到第二层的输出在第八层里面得到了微调,更加精确了。从右图的评估指标也可以看到同一种颜色的层数越深,结果越好。

Stacked Hourglass Networks 人体姿态检测相关推荐

  1. Paperreading之五  Stacked Hourglass Networks(SHN)和源码阅读(PyTorch版本)

    1.前言 这篇文章是ECCV2016的论文,Jia Deng组的工作,是top-down算法,非常经典,当时也是在各种公开数据集上霸榜.在FLIC和MPII上都是第一名(在当时),是sota算法.现在 ...

  2. Paperreading之五 Stacked Hourglass Networks(SHN)和源码阅读(PyTorch版本)

    版权声明:遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/baolinq/article/details/845753 ...

  3. 加盟依图科技后,颜水成首篇顶会论文提出“高效多人体姿态检测SPM”

    唐木 发自 天龙寺  量子位 出品 | 公众号 QbitAI 颜水成团队研究实力依然强劲. 从360到依图,颜水成依然保持着高质量的学术输出. 最近提出的单阶段高效人体姿态检测模型SPM就是最好的例证 ...

  4. python 人体检测技术_tensorflow入门教程(四十三)人体姿态检测(一)

    # #作者:韦访 #博客:https://blog.csdn.net/rookie_wei #微信:1007895847 #添加微信的备注一下是CSDN的 #欢迎大家一起学习 # ------韦访 2 ...

  5. tensorflow入门教程(四十四)人体姿态检测(二)

    # #作者:韦访 #博客:https://blog.csdn.net/rookie_wei #微信:1007895847 #添加微信的备注一下是CSDN的 #欢迎大家一起学习 # ------韦访 2 ...

  6. MATLAB基于视频的人体姿态检测

    基于视频的人体姿态检测 设计目的和要求 1.根据已知要求分析视频监控中行人站立和躺卧姿态检测的处理流程,确定视频监中行人的检测设计的方法,画出流程图,编写实现程序,并进行调试,录制实验视频,验证检测方 ...

  7. 轻量级openpose人体姿态检测

    1.去github下载轻量级openpose人体姿态检测项目:https://github.com/Daniil-Osokin/lightweight-human-pose-estimation.py ...

  8. ​MATLAB差影法人体姿态检测系统

    ​MATLAB差影法人体姿态检测系统 1.应用背景 运动目标的定位跟踪,检测识别,运动分析在图像压缩.运动分析.交通检测,智能监控等方面有主要的应用. 首先,在图像压缩中,运动目标检测技术可以在背景区 ...

  9. 项目开源!基于PaddleDetection打造实时人体姿态检测的多关节控制皮影机器人

    本文已在[飞桨PaddlePaddle]公众号平台发布,详情请戳链接:项目开源!基于PaddleDetection打造实时人体姿态检测的多关节控制皮影机器人 皮影戏是一种以兽皮或纸板做成的人物剪影以表 ...

最新文章

  1. 单选选择才可以提交_第二篇:DJANGO开发产品选择表amp;调查问卷
  2. stm32启动文件ld md hd cl vl xl分析及选择
  3. VLC 学习计划---文档阅读
  4. CMOS图像传感器——TDI CIS
  5. php_sapi常量,PHP常量PHP_SAPI与函数php_sapi_name()简介,PHP运行环境检测
  6. GroupID和ArtifactID
  7. SpringBoot2.0 基础案例(16):配置Actuator组件,实现系统监控
  8. VSCode 调试 Egg 完美版 - 进化史 #25
  9. JavaScript--我所理解的原型链
  10. C#基础概念二十五问[转]
  11. 如何快速生成JavaScript文档
  12. oracle创建表空间并赋予权限
  13. a12处理器怎么样_苹果新一代iPhone A12仿生处理器怎么样
  14. 了解java集合框架
  15. ElasticSearch基础介绍:5:可视化工具之cerebro
  16. CocosCreator 方块消除教程
  17. 光猫、交换机、路由器三者的区别在哪里?如何选择?
  18. r语言中trifit怎么用_【r-介绍|分享】使用R进行生存分析
  19. 实现多个文件夹名同时重命名的操作
  20. Win10:远程关机,拒绝访问

热门文章

  1. 自己动手实现一个html2canvas
  2. window下自己主动备份数据库成dmp格式的bat写法
  3. 使用Eclipse-Maven-git做Java开发(13)--导入git仓库的代码到eclipse
  4. OpenSSL加密与证书
  5. MathCAD求解方程组
  6. uniapp图标_uniapp扩展自定义uniIcon组件图标
  7. 伪代码就是计算机语言 正确吗,伪代码实例绍.ppt
  8. exists sql用法_干货!SQL性能优化,书写高质量SQL语句
  9. bca ac如何联合索引_BCA的完整形式是什么?
  10. Java Vector setElementAt()方法与示例