Titile: High-Resolution Representations for Labeling Pixels and Regions
论文地址:https://arxiv.org/pdf/1904.04514.pdf
代码地址:https://github.com/HRNet/HRNet-Object-Detection
1. 概 述 1. 概述 1.概述
基于深度学习的特征表示在计算机视觉任务中通常分为两类:低分辨率表示(low-resolution representations)和高分辨率表示(high-resolution representations),他们分别应用于不同的任务。低分辨表示主要应用在图像分类,而高分辨对很多其他的视觉任务非常重要,例如:语义分割,目标检测和姿态识别等。本篇论文是通过网络结构的改造来获取图像的高分辨表示来更好的完成后一项任务。
目前有两种主要的方法来获取高分辨率表示:
-
从网络(例如,ResNet)输出的低分辨率表示恢复高分辨率表示,或从可选的中间中等分辨率表示中恢复高分辨率表示,如Hourglass,SegNet,DeconvNet,U-Net,encoder- decoder等。其实就是从down-sampling后获取的feature map中再upsample来获得高分辨表示。
-
通过高分辨率卷积保持高分辨率表示,并通过并行低分辨率卷积加强表示。
此外,空洞卷积(dilated convolution)也被用于替代分类卷积和分类网络中相关的常规卷积来计算中等分辨率表示。
作者沿着第二种路线,基于作者之前的文章:K. Sun, B. Xiao, D. Liu, and J. Wang. Deep high-resolution representation learning for human pose estimation. In CVPR,2019 进行改进。之前这篇文章所述的网络结构被称为HRNetV1,HRNetV1通过并行连接高分辨率卷积并在并行卷积中重复进行多尺度融合来维持高分辨率表示。由此产生的高分辨率表示不仅强大而且空间精确。而在本篇论文中,作者通过简单修改HRNetV1的模型结构得到了更强的高分辨表示,且只增加了很小的计算开销,称为HRNetV2。并给出了面部特征识别,目标检测和语义分割的实验结果。
在语义分割任务中,作者所提出的方法在使用具有相似模型大小和较低计算复杂度的情况下,在PASCAL Context,Cityscapes和LIP上得到了最先进的结果。在面部特征检测中,作者的方法在以下四个标准数据集上实现了总体最佳结果:AFLW,COFW,300W和WFLW。
2. 网 络 结 构 2. 网络结构 2.网络结构
高分辨特征表示
多分辨块(Multi-resolution block)
如图 Figure 2 所示,一个多分辨块由一个多分辨群卷积(group convolution)和一个多分辨卷积组成。多分辨群卷积,如图Figure 2(a)所示,是群卷积的一个简单扩展,它将输入通道分成了几组,并在不同空间尺度和每组之间分别应用常规卷积。多分辨卷积,即如图 Figure 2(b) 中所示的,像常规卷积一样以全连接的方式将不同分支连接起来。但有两点不同的是,1) 多分辨卷积的通道间存在不同分辨率,2) 输入和输出通道间的连接因分辨率不同需要降低或提高分辨率,分辨率的降低通过一个或多个步长为2卷积核尺寸为3x3的卷积实现,分辨率的提高通过双线性插值的上采样实现。
将输入通道划分成组进行卷积的方法可以参考论文:T. Zhang, G. Qi, B. Xiao, and J. Wang. Interleaved group convolutions. In ICCV, pages 4383–4392, 2017.
了解了多分辨块,再来看看如图 Figure 1 所示的HRNet的基础结构,它分为4个部分,第2,3,4部分通过重复模块化的多分辨块组成。
修改
在原始的HRNetV1网络中,只取了一个高分辨特征表示作为输出,如Figure 3(a) 所示,这意味着只有高分辨卷积的特征被保留了下来。因此,作者探索了将其他几个低分辨卷积也作为特征表示输出。这样做的好处是将多分辨卷积都应用起来了,而且只能加了很少的参数和计算量。
对于分辨率较低的层,作者对其应用双线性插值上采样至高分辨,并将得到的上采样过的特征表示concat连接起来得到HRNetV2。为了应用于目标检测任务,还对concat后的特征表示做了后续处理得到了HRNetV2p。如图Figure 3(b)©所示。
HRNetV2: 将网络的四种分辨率输出中的低分辨输出进行双线性上采样到高分辨输出的尺寸,并将这四种高分辨输出连接起来作为高分辨的特征表示,这个特征表示用在了语义分割,面部特征检测等。不同分辨率间的特征融合采用的是1x1卷积。
HRNetV2p: 对于目标检测任务,作者采用的是多级特征表示。方法是利用平均池化下采样上一步得到的高分辨特征表示,从而得到较低分辨的另外三种特征表示。
网络结构
-
先是两个stride=2的3x3卷积将输入图像分辨率降采样至1/4。
-
stage 1有4个residual单元,每个单元由width为64的bottleneck和紧随其后的一个3x3卷积将feature map的width减少为C组成,这里的width其实就是通道数。
-
stage 2,stage 3和stage 4分别包含1,4和3个多分辨块。对于每个多分辨块的四个不同分辨率的卷积,其通道数分别为C,2C,4C和8C。
-
多分辨群卷积的每一个分支包含4个residual单元,每个单元在每个分辨率中包含两个3x3卷积。
想进一步了解网络结构,可以参考作者在github的开源代码,其实现基于mmdetection(这个东西好啊,实现想法的效率杠杠的,有空研究下)。
在实际应用中,对语义分割和面部特征检测任务,作者采用如图Figure 3(b)所示的结构,通过使用1x1卷积来融合四个不同分辨率的feature map,从而产生具有15C通道数的特征表示。将每个位置的混合表示传递给具有softmax/MSE损失的线性分类器/回归器,以预测分割maps/面部特征heatmaps。对于语义分割,通过用于训练和测试的双线性上采样,将分割图上采样(4倍)到输入大小。对目标检测任务,与FPN类似,在组成特征金字塔前,通过1x1卷积将高分辨特征的通道数减少为256。
3. 实 验 结 果 3. 实验结果 3.实验结果
如Table 2所示,在Cityscapes数据集上对比了HRNetV2-W48与当前的sota算法。在train训练集和train+val训练集上,HRNetV2-W48取得了最佳效果,并比之前的sota算法高出1个点。
Table 5-7是在COCO上的检测结果,可以看到,HRNetV2p的模型大小计算复杂度都较小。在LS=1x时,HRNetV2p-W32优于ResNet-101-FPN,HRNetV2p-W18比ResNet- 50-FPN差一些。在LS=2x时,HRNetV2p-W18和HRNetV2p- W32的表现都更好些。
如Table 8所示,在COCO test-dev上,基于Faster R-CNN和Cascade R-CNN的框架,都得到了更好的结果。
4. 经 验 分 析 4. 经验分析 4.经验分析
如图Figure 4(a)和(b)中给出的分割和目标检测结果表明HRNetV2明显优于HRNetV1,除了对Cityscapes分割的大模型情况下增益较小。作者还测试了一个变体(由HRNetV1h表示),它是通过附加1x1卷积来增加输出高分辨率表示的维度而构建的。Figure 4(a)和4(b)中的结果表明,该变体实现了对HRNetV1的稍许改进,这意味着聚合HRNetV2中低分辨率并行卷积的表示对于提高网络能力至关重要。
− E N D − - END - −END−