(HG Hourglass模块 简洁)论文阅读:《Stacked Hourglass Networks for Human Pose Estimation》ECCV 2016

原文链接:https://blog.csdn.net/qq_36165459/article/details/78321529

概述

本文仍然是使用全卷积神经网络,对给定的单张RGB图像,输出人体关键点的精确像素位置,使用多尺度特征,捕捉人体各关节点的空间位置信息。网络结构形似沙漏状,重复使用top-down到bottom-up来推断人体的关节点位置。每一个top-down到bottom-up的结构都是一个stacked hourglass模块。

这里写图片描述

沙漏网络

这里写图片描述

Motivation:使用沙漏网络的目的是为了反复获取不同尺度下图片所包含的信息。例如一些局部信息,包括脸部和手部信息。最后的人体姿态估计需要对整个人体做一个理解,因此需要结合不同尺度下的信息,人体的方位,肢体的动作以及相邻关节点的关系。

Design:单个的hourglass模块对应的是一个residual模块,它的拓扑结构是对称的。最开始的卷积层和池化层是为了将特征映射到很小的分辨率。每经过一次池化,进行一次下采样,网络从这里开始分叉——下采样之前的特征图经过卷积保留下来,和之后bottom-up上采样到相同分辨率的特征图融合;下采样之后的特征图继续卷积池化操作。当达到最小分辨率后,网络开始上采样,使用双线性差值,并开始融合不同尺度的信息。Hourglass网络的输出再经过两个连续的1*1的卷积处理,得到最终的输出。输出是一个heatmap的集合,表示的是各个关节点在该像素出现的概率。

residual模块

这里写图片描述

Residual网络的作用是既提取高层的特征,又保留原有层次的信息。Residual网络结构:1*1卷积降维(256到128),3*3卷积,1*1卷积升维(128到256)。最后使用8个沙漏网络,每个沙漏网络的输入都是64*64。因为输入图片是256*256,一共经过一个卷积层(7*7 with stride=2,一次下采样)和一个池化层(第二次下采样)。

中继监督

Hourglass网络输出heatmap的集合(蓝色),将这与ground truth进行误差计算,其中使用1*1的卷积层进行处理是为了保证通道数相同,这是一种保证通道数相同很常见的方法,对每一个hourglass网络都添加loss,这就相当于是8个loss一起监督。

这里写图片描述

训练和测试

采用MPII数据集,以人为目标裁剪图片。Resize到256*256,+/-30度旋转,0.75-1.25尺度变换。测试的时候,原始图片和翻转图片,输入到网络中,取输出的heatmap的平均值,最终输出的各heatmap的最大值作为关节点的位置。

总结

本文的设计基于模块到子网络再到完整网络的思想。一阶hourglass网络就是一个最简单的旁路相加,上半路在原尺度进行,下半路先经历下采样再进行上采样。对于二阶hourglass网络,就是在一阶的基础上将一阶网络嵌套进来。至于之后的高阶hourglass就是一层一层嵌套,从本质上说子模块都是一样的。

模块特点:
  1. 每次下采样前,分出一路保留原尺度信息
  2. 每次上采样之后,和上一尺度的特征融合
  3. 两次下采样之间,用三个residual模块提取特征
  4. 两次相加之间,使用一个residual模块提取特征

因此整个hourglass不改变特征的尺度,只改变特征的深度。

开源实现

https://github.com/anewell/pose-hg-train(torch版本)
https://github.com/wbenbihi/hourglasstensorlfow (tensorflow, 单人PCK达到90%,速度:可以做到本地实时,28-30 FPS on NVIDIA GTX 1070 for single person detection,13-18FPS for multiple person detection,多人检测采用自顶向下的方法,先用YOLO检测出人体,再进行人体姿态估计)

Reference:http://blog.csdn.net/shenxiaolu1984/article/details/51428392

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 堆叠沙漏网络(Stacked Hourglass Networks)是一种用于人体姿态估计的深度学习模型。它由多个沙漏模块Hourglass Module)堆叠而成,每个沙漏模块都包含了卷积神经网络和池化层,用于提取特征。堆叠沙漏网络的优点是可以对不同尺度的特征进行处理,从而提高了姿态估计的准确性。 ### 回答2: Stacked Hourglass Networks (SHN)是一种用于图像分割和人体姿势估计的神经网络结构,由卡内基梅隆大学和康奈尔大学的研究人员于2016年提出。SHN通过多层级的堆叠半监督网络,在对输入图像进行多尺度特征提取的同时实现了高分辨率的姿态估计。 SHN主要由两部分构成:堆叠的小型Hourglass网络和批量标准化(BN)。Hourglass网络是指由多层卷积层和上采样层、下采样层构成的一个可编程的Block,用于具体化姿态估计的操作。堆叠在一起的小型Hourglass网络在不同的分辨率和空间上进行特征提取,以共同实现最终的分割和姿态估计结果。批量标准化是一种用于规范化网络输入和加速网络收敛的技术。 SHN对于图像分割和人体姿势估计具有较高的准确率和鲁棒性。采用上述网络结构进行人体姿势估计,可优化难度较大的人体部位之间的相互作用和相互影响,使得姿态估计的精度和稳定性得到了显著提高,在肢体遮挡、图像噪声和背景复杂等困难情况下也可以取得良好的表现。 总之,作为一种多层级、半监督的神经网络结构,SHN在图像分割和人体姿势估计中发挥着越来越重要的作用,也为相关领域的研究和应用提供了一个重要的思路和工具。 ### 回答3: Stacked Hourglass Networks是一个先进的计算视觉网络,用于实现人类关键点检测和姿势估计。与其他现有的方法相比,它具有更准确,更可重复和更快速的输出。该模型通过串联8个Hourglass模块构建,Hourglass模块是特殊的卷积神经网络,可以对图像进行多次分辨率下采样和上采样以提高输出精度。这些模块也具有回归和分类头,能够同时预测关键点的位置和姿势。Stacked Hourglass Networks 模型已经在许多场景中取得成功,如动态手势识别、行人关键点检测和3D姿态估计等。 Stacked Hourglass Networks的核心思想基于卷积神经网络和图像金字塔技术。在处理人体关键点检测时,由于人的姿势会因为动态变化和视角变换而导致关键点位置的不稳定性。因此,处理这个任务的模型需要在不同的尺度下检测关键点和姿势。Stacked Hourglass Networks通过多个Hourglass模块的串联,每个模块将输入图像分别经过多次下采样和上采样,产生一系列不同尺度的特征图。这些特征图经过回归和分类头进行训练和预测,最后合成出整个图像输入的关键点和姿势输出。 Stacked Hourglass Networks模型具有许多优点,如精度高,稳健,具有可解释性等。在实际应用中已经取得了很好的效果。未来,Stacked Hourglass Networks模型仍然有很大的研究空间,可以通过各种改进和方法来提高性能,同时可以将其用于更多的视觉任务中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值