Stacked Hourglass Networks for Human Pose Estimation
An Intuitive Explanation of Convolutional Neural Networks – the data science blog
【https://github.com/princeton-vl/pytorch_stacked_hourglass】
一、残差网络(ResNets)与残差块(Residual block)
非常深的神经网络是很难训练的,因为存在梯度消失和梯度爆炸问题。跳跃连接(Skip connection)可以从某一层网络层获取激活,然后迅速反馈给另外一层,甚至是神经网络的更深层。利用跳跃连接构建能够训练深度网络的ResNets,有时深度能够超过100层。ResNets是由残差块(Residual block)构建的.
1.1 Residual block

上图是一个两层神经网络。计算过程:

在残差网络中有一点变化:

如上图的紫色部分,我们直接将向后,到神经网络的深层,在ReLU非线性激活函数前加上
,将激活值
的信息直接传达到神经网络的深层,不再沿着主路进行,因此
的计算公式为:

加上后产生了一个残差块(residual block)。插入的时机是在线性激活之后,ReLU激活之前。除了捷径(shortcut),你还会听到另一个术语“跳跃连接”(skip connection),就是指
跳过一层或者好几层,从而将信息传递到神经网络的更深层。

residual block有两种形式,一种叫BasicBlock,一种叫Bottleneck



右侧为Bottleneck Block,使用了1×1卷积层。如输入通道数为256,1×1卷积层会将通道数先降为64,经过3×3卷积层后,再将通道数升为256。1×1卷积层的优势是在更深的网络中,用较小的参数量处理通道数很大的输入。
在Bottleneck

本文介绍了残差网络(ResNets)及其核心组件——残差块,用于解决深度神经网络训练中的梯度消失问题。接着,详细阐述了Hourglass网络结构,包括其编码解码器设计、残差模块和跳跃连接的作用。Hourglass网络通过先降采样后升采样的方式捕获不同尺度的特征,并在不同尺度间进行信息交换。堆叠沙漏网络(StackedHourglassNetworks)通过多层Hourglass模块实现多层次特征提取,利用中间监督学习提升预测精度。此网络结构在人体关键点检测任务中表现出色,能够进行反复的自上而下和自下而上的推断,从而优化预测结果。
最低0.47元/天 解锁文章
7825

被折叠的 条评论
为什么被折叠?



