2D人体姿态估计 - Stakced Hourglass Network(SHN)个人理解

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

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

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

残差网络中有一点变化:

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

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

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

 

 

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

在Bottleneck

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值