【图像分割论文阅读】RefineNet: Multi-Path Refinement Networks for High-Resolution Semantic Segmentation


refinenet


本文由澳大利亚阿德莱德大学、澳大利亚机器人视觉中心联合完成,收录于CVPR2017.
论文地址:RefineNet: Multi-Path Refinement Networks for High-Resolution Semantic Segmentation


背景

在图像理解中语义分割至关重要。但是成功应用于图像分割、目标检测领域的方法由于频繁的空间池化以及带步长的卷积过程导致最后的输出仅为输入分辨率的1/32大小,丢失许多细节信息。克服这些限制的方法有:

  1. 反卷积.但是没有办法恢复在下采样过程中丢失的低层次视觉特征。所以没办法输出准确的高分辨率预测。但是低层次视觉信息对边框、细节的准确预测十分重要。
  2. 扩张卷积.无须使用降采样手段,在不增加参数个数前提下,获得更大的感受野。被成功应用于DeepLab。但是其限制在于它需要在高分辨特征图上计算,这就要求一直维持高分辨率特征图,这要求更大的内存资源,相应的计算量也会增大。所以通常在使用dilated convolution时,往往限制最后的输出尺寸为原始输入的1/8.此外,dilated convolution卷积过程产生的粗糙特征可能会丢失一部分重要细节。
  3. 利用中间层的特征生成高分辨率的预测结果。如FCN、Hypercolumns等,尽管中间层包含从早期卷积层编码低级空间视觉信息,如边缘、圈等;同时补充深层编码的高级语义信息如对象等。但是缺乏强空间信息。【这句话不知道是什么意思,应该就是自说自话???】

如何高效的利用中间层特征是一个开放性的问题,并且应当引起高度注意.于是作者提出RefineNet有效利用多层次特征生成高分辨率预测。
主要贡献在于:

  • 以递归的方式对低分辨率语义特征金额细粒度的语义特征进行细化,生成高分辨率的语义特征图.
  • RefineNet的所有组件均采用直接映射的residual connection,使得梯度可以通过短距离和长距离的残差连接传播,因而实现有效的端到端训练.
  • 网络中使用Chained residual pooling,链式残差池化,能够从大的图像区域提取背景上下文。
  • 在七个公开的数据集PASCAL VOC-2012、PASCAL-Context、NYUDv2、SUN RGB-D、Cityscapes、ADE20K、Person-Parts上取得SOTA,其中在PASCAL VOC2012上达到了83.4的精确度。

模型结构

RefineNet网络利用多层次特征以及长距离残差连接生成高分辨率预测结果。将在ImageNet中预训练的ResNet分成四部分。根据特征图的采样率,用4个RefineNet单元构成4级联结构。每个RefineNet都连接到一个ResNet模块的输出以及级联结构中的上一个RefineNet模块。
overall
这样的结构并不是唯一的,可以对其进行扩展。如:

  1. 仅使用单一RefineNet模块:
  2. 使用两个RefineNet模块级联:one and two
  3. 四个RefineNer模块四级联且使用两种尺度的输入。double
RefineNet

前面说了这么多,级联结构是基于RefineNet模块的,其中,除了RefineNet 1只有一个输入外,其他RefineNet模块都有两个输入。每个模块包含Residual conv unit,RCUMulti-resolution Fusion以及Chained Residual Pooling三个部分,下面分别介绍。
RefineNet

Residual convolution unit.

RCU模型的作用是修整经过预训练的ResNet的权重。每一个输入经过连续两个RCU模块。除RefineNet 4中为512个卷积核外,所有输入路径上的卷积核个数均为256.

RCU

Multi-resolution fusion

所有路径上的输入通过这个模块整个到高分辨率特征图上。对输入的特征图做适当的改变然后产生同样的特征维度。而后进行上采样统一所有通道下的分割结果,并对所有通道下的结果求和。

mutli

Chained residual pooling.

链式残差池化的目的时为了针对大的图像区域捕获其上下文背景信息。它能够通过多种窗口大小进行有效池化并通过可学习的权重整合。模块主要包含残差结构、池化层、卷积层。池化卷积的目的是学习用来矫正的残差。这里值得注意的一点是,前一级的残差结果作为下一级的残差学习模块的输入,而不是直接从矫正过后的分割结果中再学习一个残差。之后再经过一个RCU模块,平衡所有权重,最后得到与输入分辨率一致的分割结果。

chained


实验

文章中的实验很充分,主要是在6个数据集上做的测试,这里就不一一叙述了,仅给出PASCAL VOC-2012数据集上的分割结果。

segmentation

最后得到的分割精度达到83.4%,对比同时期的SOTA提升很非常大。
但是相应的其处理效率应该不高,这个要看其他文章具体验证。

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值