论文阅读笔记:《High-Resolution Representations for Labeling Pixels and Regions》
论文下载地址:https://arxiv.org/pdf/1904.04514.pdf
论文代码地址:https://github.com/HRNet/HRNet-Object-Detection
一、论文简介
高分辨率表示学习在许多视觉问题(例如姿势估计和语义分割)中起着至关重要的作用。最近开发用于人体姿态估计的高分辨率网络(HRNet)通过并行连接高到低分辨率卷积,在整个过程中保持高分辨率表示,并通过在并行卷积之间反复进行融合产生高分辨率表示。
在本文中,我们通过引入简单而有效的修改方法对高分辨率表示进行了进一步研究,并将其应用于各种视觉任务。通过聚集来自所有并行卷积的(上采样的)表示,而不是像HRNet中所做的那样仅来自高分辨率卷积的表示,来增强高分辨率表示。这种简单的修改导致了更好的表示,其出色的结果证明了这一点。
二、论文内容
2.1 概述
基于深度学习的特征表示在计算机视觉任务中通常分为两类:低分辨率表示(low-resolution representations)和高分辨率表示(high-resolution representations),他们分别应用于不同的任务。低分辨表示主要应用在图像分类,而高分辨对很多其他的视觉任务非常重要,例如:语义分割,目标检测和姿态识别等。目前有两种主要的方法来获取高分辨率表示:
(1)从网络(例如,ResNet)输出的低分辨率表示恢复高分辨率表示,或从可选的中间中等分辨率表示中恢复高分辨率表示,如Hourglass,SegNet,DeconvNet,U-Net,encoder- decoder等。其实就是从down-sampling后获取的feature map中再upsample来获得高分辨表示。此外,空洞卷积(dilated convolution)也被用于替代分类网络中步长和相关的常规卷积来计算中等分辨率表示。
这些网络的特点:High-to-Low过程(产生低分辨率高级特征表示)和Low-to-High(恢复高分辨率)过程,并且这两个过程是串行的。有的网络会将高级特征图和低级特征图做特征融合。
(2)通过高分辨率卷积保持高分辨率表示,并通过并行低分辨率卷积加强表示。
作者沿着保持高分辨率表示的研究路线,进一步研究高分辨率网络(HRNet)。HRNet通过并行连接高分辨率和低分辨率卷积,并在并行卷积上反复进行多尺度融合,从而保持高分辨率的表示。由此产生的高分辨率表示不仅强大,而且在空间上精确。作者对原始HRNet进行了简单的修改,这种修改只增加了较小的开销,但具有更强的高分辨率表示,得到的网络被命名为HRNetV2。实验表明,HRNetV2在语义分割方面取得了最先进的结果。
2.2 网络结构
HRNet V2网络通过并行连接高分辨率到低分辨率卷积来保持高分辨率表示,其中并行卷积之间存在重复的多尺度融合。该架构如图1所示。一共有四个阶段,第二,第三和第四阶段是通过重复模块化的多分辨率块形成的。
优势:
1.在整个过程中保持高分辨率的特征表示,逐步增加High-to-Low的子网,并将多分辨率的子网并行连接。
2.在并行的多分辨率子网之间反复交换信息,进行多尺度融合,高分辨率特征与低分辨率特征之间相互增强。
网络分为4个stage,每个stage比上一个stage多一条分支,新增分支是对上一个stage所有特征图进行strided convolution融合后的结果,分辨率大小是上一个分支分辨率大小的一半,通道数翻倍,每个stage由mutil-resolution block组成。
多分辨率块由多分辨率群卷积(group convolution)和多分辨率卷积组成。 多分辨率群卷积(图2a)是群组卷积的简单扩展,其将输入通道划分为若干个通道子集,并分别在不同空间分辨率上对每个子集执行常规卷积。多分辨卷积(图2b)类似于常规卷积一样以全连接的方式将不同分支连接起来(图2c)。 常规卷积可以分为多个小卷积,输入通道分为几个子集,输出通道也分为几个子集。 输入和输出子集以完全连接的方式连接,每个连接都是常规卷积, 输出通道的每个子集是输入通道的每个子集上的卷积输出的总和。但多分辨卷积和常规卷积的全连接方式有两点不同:
(1)多分辨卷积的通道间存在不同分辨率;
(2)输入和输出通道间的连接因分辨率不同需要降低或提高分辨率,分辨率的降低通过一个或多个步长为2卷积核尺寸为3x3的卷积实现,分辨率的提高通过双线性插值的上采样实现。
每一个mutil-resolution block又分为两部分:
(a) multi-resolution group convolution:若干条并行的分支,每条分支上包含4个残差单元
(b) multi-resolution convolution(exchange unit):进行多尺度特征融合
第3个stage的exchange unit示意图:
高、中、低三个不同分辨率大小的特征图相互融合:对高分辨率图使用strided convolution,对低分辨率图像进行上采样和1*1的卷积,因为融合策略是进行元素加,需要将不同分辨率特征图的通道数调整同一数量。
修改
在原始的HRNetV1网络中,只取了一个高分辨特征表示作为输出,如图3(a) 所示,这意味着只有高分辨卷积的特征被保留了下来。因此,作者探索了将其他几个低分辨卷积也作为特征表示输出。这样做的好处是将多分辨卷积都应用起来了,而且只增加了很少的参数和计算开销。
作者通过双线性差值将分辨率较低的层上采样至高分辨,并将所有处理后的特征concat连接起来得到HRNetV2,如图3(b)所示。为了应用于目标检测任务,我们使用平均池化对concat后的特征高分辨率表示下采样到多个级别来构造多级表示还对concat后的特征表示做了后续处理得到了HRNetV2p,如图3©所示。
实例化
我们使用类似于HRNetV1的方式实例化网络。网络结构:该网络先从两个stride=2的3x3卷积将输入图像分辨率降采样至1/4。stage 1有4个residual单元,每个单元由width为64的bottleneck和紧随其后的一个3x3卷积将feature map的width减少为C,这里的width其实就是通道数。第1阶段包含4个残差单元,每个单元由一个宽度为64的瓶颈组成,然后进行一个3×3的卷积,将feature map的宽度减小到c。第2、3、4阶段分别包含1、4、3个多分辨率块。四种分辨率卷积的宽度(通道数)分别为C、2C、4C、8C。多分辨率群卷积中的每个分支包含4个残差单位,每个单位包含2个3×3的卷积。
在实际应用中,对语义分割和面部特征检测任务,作者采用如图 3(b)所示的结构,通过使用1x1卷积来融合四个不同分辨率的feature map,从而产生具有15C通道数的特征表示。将每个位置的混合表示传递给具有softmax/MSE损失的线性分类器/回归器,以预测分割maps/面部特征heatmaps。对于语义分割,通过用于训练和测试的双线性上采样,将分割图上采样(4倍)到输入大小。对目标检测任务,作者采用如图3(c所示的结构,该结构与FPN类似,在组成特征金字塔前,通过1x1卷积将高分辨特征的通道数减少为256。更多细节可以参见https://github.com/HRNet
4.语义分割,人脸关键点检测
HRNetV2:利用所有分辨率的特征图,对低分辨率特征图上采样后与高分辨率特征图拼接,经过1*1卷积,softmax层生成分割预测图
实验:Cityscapes Segmentation
验证集:
HRNetV2-W40在比UNet++,DeepLabv3参数量更少时,实现更高的mIOU
HRNetV2-W48在和PSPNet参数量相同时,实现更高的mIOU
测试集:
实验:PASCAL context Segmentation
实验结果
在不包含背景标签和包含背景标签评价方法下,HRNetV2-W48都表现出更好的性能。