ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Stacked Hourglass Networks 人体姿态检测

2021-02-17 23:01:35  阅读:270  来源: 互联网

标签:输出 Stacked 卷积 分辨率 网络 特征 Networks Hourglass


本文是人体关键点中非常经典的一篇文章: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,卷积,分辨率,网络,特征,Networks,Hourglass
来源: https://blog.csdn.net/sinat_28371057/article/details/113838491

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有