背景介绍

近来年,深度卷积网络在目标检测方面取得了一定的成绩。但对于密集预测,仍存在一定不足,原因是频繁的卷积和池化导致最终的特征分辨率降低。

针对这个问题,目前主要采用两种方法:第一种:空洞卷积,如Deeplab,但计算资源消耗太大;下图分别是残差结构和空洞卷积在提取稠密分割结果时的操作流程:

 
 

很明显,残差结构直接损失了空间分辨率。虽然空洞卷积在一定程度上减小了残差结构空间分辨率的损失,但是其训练的代价是非常高昂的(即使在GPU上)。

第二种、充分利用中间层的语义信息来生成较高分辨率的预测结果,即本文采用的方法。

 
正文

一、创新点:

1、提出一种新的模块:RefineNet,利用不同层的特征来完成语义分割。主要利用了递归的方式。

2、提出了链式残差池化的思想,可以在较大的图像区域上捕获背景信息。

二、详细功能介绍:

1、多路径Refine恢复分辨率

实现将粗糙的较高层次语义特征与精细的较低层次语义特征结合,来生成高分辨率的语义分割图片;

基于ResNet网络,在4种不同的降采样阶段,将特征图输入到RefineNet模块中,产生整合后的特征图。除了RefineNet4,每个RefineNet模块都有两个输入,一个是本阶段的特征图,另一个是低层产生的经过处理的特征图。随着降采样的进行,语义信息逐渐丰富。最终得到的得分图,经过上采样恢复到原有的图片大小。

2、RefineNet模块(全局特征提取与融合)

每个RefineNet模块结构如下:

主要由4部分组成:

1)残差卷积单元RCU,用来调整预训练权重;

    

每个RCU模块包括一个ReLU层和一个卷积层,网络结构中,每个分辨率下应用两个串联的RCU模块,用于提取该分辨率下的分割结果的残差,最后以相加的形式校正该分辨率下的原始分割结果。

2)多分辨率融合单元,实现不同分辨率特征图的融合;

首先通过一个卷积层处理输入进来的不同分辨率下的分割结果,从而学习得到各通道下的适应性权重。随后,应用上采样,统一所有通道下的分割结果,并将各通道结果求和。求和结果送入下一个模块。

3)链式残差池化,用来捕获背景上下文信息;

   

通过残差校正的方式,优化前两步融合得到的分割结果。

该模块主要由一个残差结构、一个池化层和一个卷积层组成。其中,池化层加卷积层用来习得用于校正的残差。值得注意的是,RefineNet在这里用了一个比较巧妙的做法:用前一级的残差结果作为下一级的残差学习模块的输入,而非直接从校正后的分割结果上再重新习得一个独立的残差。好处是:可以使得后面的模块在前面残差的基础上,继续深入学习,得到一个更好的残差校正结果。

4)输出卷积单元,用于处理结果的最终预测。

3、恒等映射

方便进行端到端的处理。

三、详细架构图:

四、RefineNet不同变种结构:

1、单个RefineNet

2、二次级联的RefineNet

3、四次级联RefineNet

五、实验结果:

RefineNet在NYUv2数据库、PASCAL VOC 2012数据库和Cityscapes数据库下都有实验验证。下表是其在NYUv2下的结果(40类):

NYU数据集下载链接:https://cs.nyu.edu/~silberman/datasets/nyu_depth_v2.html

预处理链接:http://www.manongjc.com/article/26507.html

 

下表是其在Cityscapes下的结果:

CityScapes数据集下载链接:https://www.cityscapes-dataset.com/

 
 

下图是语义分割问题上的直观结果:

 
 

除了语义分割,RefineNet还可以用于目标理解(object parsing)。下表是其在目标理解上的表现:

下图是RefineNet在目标理解上的直观结果:

 

注:该方法可进行端到端的训练,且在不同的训练集上表现都不错。

语义分割之RefineNet的更多相关文章

  1. 【Keras】基于SegNet和U-Net的遥感图像语义分割

    上两个月参加了个比赛,做的是对遥感高清图像做语义分割,美其名曰"天空之眼".这两周数据挖掘课期末project我们组选的课题也是遥感图像的语义分割,所以刚好又把前段时间做的成果重新 ...

  2. 【Semantic segmentation Overview】一文概览主要语义分割网络(转)

    文章来源:https://www.tinymind.cn/articles/410 本文来自 CSDN 网站,译者蓝三金 图像的语义分割是将输入图像中的每个像素分配一个语义类别,以得到像素化的密集分类 ...

  3. 语义分割丨DeepLab系列总结「v1、v2、v3、v3+」

    花了点时间梳理了一下DeepLab系列的工作,主要关注每篇工作的背景和贡献,理清它们之间的联系,而实验和部分细节并没有过多介绍,请见谅. DeepLabv1 Semantic image segmen ...

  4. Learning a Discriminative Feature Network for Semantic Segmentation(语义分割DFN,区别特征网络)

    1.介绍 语义分割通常有两个问题:类内不一致性(同一物体分成两类)和类间不确定性(不同物体分成同一类).本文从宏观角度,认为语义分割不是标记像素而是标记一个整体,提出了两个结构解决这两个问题,平滑网络 ...

  5. 使用Keras基于RCNN类模型的卫星/遥感地图图像语义分割

    遥感数据集 1. UC Merced Land-Use Data Set 图像像素大小为256*256,总包含21类场景图像,每一类有100张,共2100张. http://weegee.vision ...

  6. CVPR2020:4D点云语义分割网络(SpSequenceNet)

    CVPR2020:4D点云语义分割网络(SpSequenceNet) SpSequenceNet: Semantic Segmentation Network on 4D Point Clouds 论 ...

  7. TensorFlow中的语义分割套件

    TensorFlow中的语义分割套件 描述 该存储库用作语义细分套件.目标是轻松实现,训练和测试新的语义细分模型!完成以下内容: 训练和测试方式 资料扩充 几种最先进的模型.轻松随插即用 能够使用任何 ...

  8. caffe初步实践---------使用训练好的模型完成语义分割任务

    caffe刚刚安装配置结束,乘热打铁! (一)环境准备 前面我有两篇文章写到caffe的搭建,第一篇cpu only ,第二篇是在服务器上搭建的,其中第二篇因为硬件环境更佳我们的步骤稍显复杂.其实,第 ...

  9. R-CNN论文翻译——用于精确物体定位和语义分割的丰富特征层次结构

    原文地址 我对深度学习应用于物体检测的开山之作R-CNN的论文进行了主要部分的翻译工作,R-CNN通过引入CNN让物体检测的性能水平上升了一个档次,但该文的想法比较自然原始,估计作者在写作的过程中已经 ...

随机推荐

  1. 【经验】Delphi INI文件保存与读取

    //需要引用IniFiles uses system.IniFiles; //保存INI配置文件 procedure TForm1.btnSaveClick(Sender: TObject); var ...

  2. centos7.2 apollo1.7.1的搭建

    1.准备工作 第一步:linux系统中配置好java环境安装参考地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-down ...

  3. Android OKHttp 可能你从来没用过的拦截器 【实用推荐】

    前言 在平时开发中,你有没有下面这样的困扰呢? 场景一 明明是服务端的接口数据错误,而QA(测试)第一个找到的可能是客户端开发的你,为什么这个页面出现错误了? 而作为客户端开发的你,可能要拿出测试机连 ...

  4. MATLAB实现图像的代数运算

    目录 1.使用求补运算对各类图像进行处理 2.利用imlincomb函数将图像的灰度值放大1.5倍 3.利用imlincomb函数计算两幅图像的平均值. 4.图像的加法运算 5.利用imnoise函数 ...

  5. python 读取文件夹中所有同类型的文件 并用pandas合并

    import globimport osimport pandas as pd read_path = 'D:/Data' # 要读取的文件夹的地址read_excel = glob.glob(os. ...

  6. prometheus 监控 jar应用服务 + 修改监听IP和端口

    1.修改服务的启动脚本 [root@do1cloud01 init.d]# vim learn-school nohup ${JAVA_HOME}/bin/java -javaagent:/usr/l ...

  7. BTree B+Tree

    简介 B 树是为了磁盘或其它存储设备而设计的一种多叉平衡查找树.(相对于二叉,B树每个内结点有多个分支,即多叉)B树又可以写成B-树/B-Tree,并不是B“减”树,横杠为连接符,容易被误导首先我们介 ...

  8. [转帖]Xenix — 微软与UNIX的短暂爱恋

    Xenix — 微软与UNIX的短暂爱恋 https://www.linuxdashen.com/xenix-微软与unix的短暂爱恋 原来微软曾经 干过那么牛B的 unix系统. 微软向外宣布Mic ...

  9. linux:date 计算一组命令所花费的执行时间

    date 命令可以用于计算一组命令所花费的执行时间 可以以不同的格式来读取.设置日期. (1) 读取日期: $ date Thu May 20 23:09:04 IST 2010 (2) 打印纪元时: ...

  10. JZOJ.1150【贪心算法】IQ

    欢迎转载,请附上原链接https://www.cnblogs.com/Code-Garden/p/11276741.html(也没人会看) 一道对我来说较难的贪心题 题目描述 根据世界某权威学会的一项 ...