论文阅读:《RefineNet: Multi-Path Refinement Networks for High-Resolution Semantic Segmentation》

论文地址:https://arxiv.org/pdf/1611.06612v3.pdf

概述

论文提出一种多阶段的提炼网络(RefineNet),使用long-range 残差连接,能够有效的将下采样中缺失的信息融合进来,从而产生高分辨率的预测图像。用这种方法可以将粗糙的高层语义特征和细粒度的底层特征进行融合。使用残差连接和identity mapping 的思想,能够实现端到端的训练。通过链式残差池化能够融合丰富的上下文信息。该模型的在7 个数据集上达到state-of-the-art的效果。

Motivation

论文改进方法的来源是针对当前语义分割存在的问题来的,直接在CNN 网络中加上VGG,ResNet 用于语义分割存在的问题是CNN 卷积池化得到的特征图是降采样的32 倍,很多细节信息都丢失了,这样的分割结果是比较粗糙的。当前解决该问题的研究方法主要有:

  • 使用反卷积作为上采样的操作,但是反卷积不能恢复低层的特征,毕竟这是已经丢失了的,是不可能找回来的。
  • Atrous Convolution:带孔卷积的提出就是为了生成高分辨率的特征图,但是需要消耗巨大的计算和存储资源。
  • 利用中间层信息:FCN-8s 就是这样做的,但是还是缺少较强的空间信息。作者一直在强调各层的信息所表示的意义,高层提取的是粗糙的全局信息,低层提取的是高分辨率的细节信息,但是中间层的信息如何使用是作者在论文中反复提到的问题。作者认为各层的特征都是有用的,高层特征有助于类别识别,低层特征有助于生成精细的边界。将这些特征全部融合对于提升分割的准确率是有帮助的。

网络框架

这里写图片描述
RefineNet block 的作用就是把不同分辨率的特征图进行融合。最左边一栏使用的是ResNet,先把pretrained ResNet 按特征图的分辨率分成四个ResNet blocks,然后向右把四个blocks 分别作为4 个path 通过RefineNet block 进行融合,最后得到一个refined feature map(接softmax 层,再双线性插值输出)。除了RefineNet-4,所有的RefineNet block 都是二输入的,用于融合不同level 做refine,而单输入的RefineNet-4 可以看作是先对ResNet 的一个task adaptation。

RefineNet block

主要组成部分是Residual convolution unit(RCU), Multi-resolution fusion,Chained residual pooling,Output convolutions。作用是融合多个level 的feature map 输出单个level 的feature map。

这里写图片描述

  • RCU:是从残差网络中提取出来的单元结构
  • Multi-resolution fusion:是先对多输入的特征图都用一个卷积层进行自适应(都化到最小的特征图的尺寸大小),再上采样,最后做element-wise 的相加。如果是像RefineNet-4 的单输入block 这一部分就不用了。
  • Chained residual pooling:卷积层作为之后加权求和的权重,relu 对接下来池化的有效性很重要,而且使得模型对学习率的变化没这么敏感。这个链式结构能从很大范围区域上获取背景context。另外,这个结构中大量使用了identity mapping 这样的连接,无论长距离或者短距离的,这样的结构允许梯度从一个block 直接向其他任一block 传播。
  • Output convolutions:输出前再加一个RCU。

实验结果

实验结果除了在7 个数据集上准确率有明显的提升外,作者还对比了自己提出的三个因素对于准确率的影响, 即network depth , chained residual pooling 和multi-scale evaluation(Msc-eva)。
这里写图片描述

思考

论文框架最主要的创新点是始终贯彻作者认为“所有特征都是有用的”这一个观点。从研究方法上说,作者还是考虑将不同层的特征都能融合起来,而不是在下采样的时候就丢失掉,丢失的既是局部细节特征,也影响预测结构的分辨率。从特征抽取的角度看,作者又新增一个中间层特征的抽取过程。在网络框架中,RCU 相当于是抽取低层特征,并且这些低层特征是从不同尺度的图像中抽取的;多分辨率融合模块,相当于是抽取中间层特征,除了refine-net4 以外,也起到融合多尺度的特征的作用,这样可以保留因为下采样导致的信息丢失的缺陷;最后的链式残差池化,相当于是抽取高层特征,这个模块里面不同池化相当于不同大小的窗口,还是在整合不同尺度特征,然后通过卷积加权加在一起,从而捕获背景上下文信息。

另一个值得关注的问题是,作者网络结构的细化部分基本都是按照残差网络的思想来的,一方面是因为残差网络的提出,就是为了适应更深层次的神经网络,既然需要使用深层次的网络结构,就离不开残差网络的结构,而且残差网络都是使用的identity mapping,即恒等映射。

猜你喜欢

转载自blog.csdn.net/qq_36165459/article/details/78345269