High-Resolution Representations for Labeling Pixels and Regions论文阅读翻译
目录:
论文下载地址: 点击此链接跳转.
这是博主自己在github整理的目标检测方向论文的合集,应该算比较全,目前2020ECCV持续更新中,即将更新:2020IJCAI合集,欢迎下载…
紧接着上篇文章Deep High-Resolution Representation Learning for Human Pose Estimation论文翻译阅读 - 2019CVPR。我们来看看HRNet在目标检测方向的应用。
一、Abstract
高分辨率表示学习在许多视觉问题如姿态估计和语义分割中起着至关重要的作用。HRNet是最近发表的一种用于人体姿态估计的算法,它通过将高分辨率到低分辨率卷积并行连接来保持高分辨率表示,并在并行卷积间反复进行融合操作来产生高分辨率表示。
本文通过引入一种简单有效的修正方法来对高分辨率表示做了进一步的研究,并将其应用于广泛的视觉任务中。通过聚合所有并行卷积上采样后的表示来增强高分辨率表示,而不是只聚合来自高分辨率卷积的表示。这个简单的修改得到了更强的表示,也有更好的结果。
二、Introduction
深度学习表示已被证明是强大的,并在许多视觉任务上取得了最先进的结果。这里有两种主要的表示方式:低分辨率表示主要用于图像分类,高分辨率表示则对许多视觉问题都起着至关重要的作用,如语义分割、目标检测、人体姿态估计等。高分辨率表示正引起人们的广泛关注。
计算高分辨率表示大体有两类方法。一种是从网络输出的低分辨率表示(如ResNet)和可选的中等分辨率表示中去恢复高分辨率表示(如沙漏网络、SegNet,DeconvNet,U-Net和encoder-decoder)。另一种是通过高分辨率卷积保持高分辨率表示,并通过并行的低分辨率卷积来增强表示。而在分类网络中,空洞卷积会被用来替代一些步长卷积和相关规则卷积,以计算中等分辨率的表示。
作者沿着保持高分辨率表示的研究路线,进一步研究了HRNet,它最初是为人体姿态估计开发的,通过并行连接高分辨率到低分辨率的卷积,并在并行卷积上反复进行多尺度融合来保持高分辨率表示。由此得到的高分辨率表示不仅强大,而且在空间上也十分精确。除了原本HRNet中的高分辨率表示外,作者研究了所有高分辨率到低分辨率的并行卷积输出的表示后做了一个简单的修改。这一修改增加了一些开销,但得到了更好的高分辨率表示,命名为HRNetV2,优于原本的HRNet。
作者将HRNetV2应用到语义分割/人脸标志物检测上,通过输出的高分辨率表示得到估计分割图/人脸标志物热图。均取得了19年当时SOTA的效果。并且作者还根据高分辨率表示构造了一个多层表示,并用于faster R-CNN,Mask R-CNN和Cascade R-CNN。实验结果表明,该方法对小目标的检测性能有明显的改善。通过单尺度的训练和测试,该方法取得了较好的目标检测结果。
三、Learning High-Resolution Representations
HRNetV1通过并行连接高分辨率到低分辨率的卷积来保持高分辨率表示,在并行卷积之间还存在着反复的多尺度融合。
3.1 Architecture
HRNetV1大体可以分为四个阶段,第2、3、4个阶段都是由重复的模块化的多分辨率块组成。一个多分辨率块包含了一个多分辨率组卷积和一个多分辨率卷积。多分辨率组卷积是组卷积的简单扩展,它将输入通道分成多个通道子集,分别对不同空间分辨率下的每个子集进行规则卷积。多分辨率卷积则类似于正则卷积的多分支全连接方式,一个正则卷积可分为多个小卷积。输入通道被划分为几个子集,输出通道也被划分为几个子集。输入和输出子集间以全连接的方式进行连接,每个连接都代表着规则的卷积,且每个输出通道的子集是每个输入通道子集经卷积后的总和。
主要有两方面的区别:1)多分辨率卷积的每个通道子集是在不同的分辨率上,2)HRNetV1中通过使用多个步长为2的3*3卷积来使分辨率下降,并且是通过双线性(最近邻)上采样来实现分辨率的提高。
3.2 Modification.
如下图(a)所示,HRNetV1中只输出来自高分辨率卷积的表示(特征图),也就是只利用了高分辨率卷积的输出通道的一个子集,而没有利用到来自低分辨率卷积的其他子集。
作者做了一个简单有效的修改,利用上了来自低分辨率卷积的通道子集。其优点是充分挖掘了多分辨率卷积的能力,只增加了一个小参数和计算开销。
通过双线性上采样将低分辨率表示缩放为高分辨率表示,并如图3(b)所示将表示子集做了concat,这样产生高分辨率的表示,然后用它来估计分割图/面部标志物热图。在目标检测中,作者通过使用平均池化将高分辨率表示下采样至多个级别来构造多层表示,如图3©所示。这两个修改分别被命名为HRNetV2和HRNetV2p。
3.3 Instantiation
作者使用类似HRNetV1的方式去实例化网络。网络从由步长为2的3×3卷积组成的茎开始,将分辨率降到1/4。第1阶段有4个残差单元,每个残差单元由宽度为64的bottleneck块组成,然后进行一次3×3卷积将特征图宽度减小到C。第2、3、4阶段分别有1, 4, 3个多分辨率块。四种分辨率的卷积的宽度(通道数)分别是C, 2C, 4C和8C。多分辨率组卷积中的每个分支都包含4个残差单元,每个单元包含两个3×3卷积。
在语义分割和人脸标志物检测的应用中,作者将输出表示做了混合(图3(b)),通过一个1×1卷积将来自四个分辨率的表示转为一个维度为15C的表示,然后将每个位置的混合表示经带有softmax/MSE损失的线性分类器/回归器来预测分割图/面部标志物热图。对于语义分割,分割图被通过双线性上采样至输入大小的4倍进行训练和测试。在目标检测的应用中,我们将高分辨率表示经1×1卷积降维至256,形成图3©所示的类似于FPN的特征金字塔。
四、个人总结
这篇文章其实就是HRNet在目标检测和语义分割等方向的应用,并且对最后的输出做了一定的改进,一种是输出是对各个尺度的输出的一个concat,另一种是输出是对各个尺度的输出做了concat后再下采样形成类似FPN的特征金字塔。不过在learning schedule为1×的时候感觉效果不是很理想,不过2×的时候一般还是能有1个点左右的提升。也还是一种不错的backbone+FPN的替换选择吧。