HRNet/ Lite-HRNet 2021-03-29

时间终于来到了2020年!今天来读一读这一篇还蛮有新意的高分辨率神经网络。
之前讲过的 AlexNet, VGGNet, GoogleNet, ResNet, 他们都和LeNet一样,不断地下采样减小特征图的尺寸。到最后特征图像素很低,如果是图像分类任务,那么问题不大因为目标明显另外不需要给出位置信息,但是如果是目标检测,关键点检测,图像分割等任务,比如说从一个5*5的特征图给出300*300图片中的一个像素坐标,想想就很难。


复原高分辨率

所以,对于对位置敏感的任务,很多表现好的模型使用了复原高像素也就是上采样的方法。 之前也讲过的,用于人体姿态估计的Hourglass就是重复下采样上采样的结构,然后还有浅层和深层之间的跳跃连接进行融合。

同样用于人体姿态估计的simplebaseline方法没有使用跳跃连接,用的带训练参数的反卷积进行上采样,其实还有很多例子,都是为了复原分辨率。

而HRNet使用了一个并行的结构。 一条支路始终保持高分辨率,由于不是从低分辨率复原来的,所以可能在空间上更精确。

并行结构

作者一次提出了两个版本的HRNet, V1只输出高分辨率的特征,V2则把从低到高的特征都结合起来。两者在姿态估计任务上表现差不多,V2在图像分割任务上表现更好。


image.png

然后作者把HRNet套用到经典的检测框架和图像分割框架中,表现都得到了提升。然后我就觉得吧,肯定又有人做了轻量版的HRNet,一搜果然。

Lite-HRNet

https://github.com/HRNet/Lite-HRNet

先是直接把ShuffleNet套到了HRnet里,结果对比的其他轻量网络得到提升,不过这篇文章的重点是对大量出现的1*1卷积进行了简化。

那么首先要知道1*1卷积的主要功能,那就是在深度可分离卷积中,起到分组卷积之后通道间的交流作用。

条件通道加权 conditional :
把逐点卷积换成用一张和特征图同尺寸的权重图。


条件通道加权

对比之前的逐点卷积,每个单元的是通过对所有特征图上的对应位置元素逐点卷积得到的,而ccw就只用和权重矩阵对应位置的权重相乘就好了。所以运算量降了很多。

conditional channel weighting block

然后回过头来看HRNet的每个阶段的最后一层,不同分辨率的尺寸不一样,所以对前面的s-1个阶段的特征图上采样到最高分辨率的尺寸。

adaptive average pooling: 给定输出需要的尺寸,自动计算步长和kernel size 满足要求。

复杂度计算对比
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容