图像语义分割_图像语义分割(9)-DeepLabV3: 再次思考用于图像语义分割的空洞卷积...

731bbd019328e6118a9db02126c1716e.png

论文地址 :Rethinking Atrous Convolution for Semantic Image Segmentation

论文代码:Github链接

1. 摘要

文章主要的工作:

  • 使用空洞卷积来调整滤波器的感受野并控制特征图分辨率
  • 使用不同空洞率的空洞卷积的串联或者并行操作来分割不同尺度的目标,捕获不同尺度的语义信息
  • 扩展的ASPP
  • 实现和训练的细节
  • 没有了DesneCRF的后处理

2. 介绍

使用DCNN做语义分割取得了一定的效果但是存在两个问题。其一,为了使DCNN学习到更加抽象的特征,采用了多次池化操作和带步长的卷积,使得特征图分辨率降低,但同时这不利于密集预测任务,因为后者需要空间位置信息。为了克服这个问题,引入空洞卷积——通过去掉最后几层的上采样和下采样来获得更加密集的特征图,这样还能在不适用额外参数的情况下控制分辨率。
其二,如何捕获不同尺度的目标。目前主要有四种不同的方法,如下图:

8c422f8224f8c62f9b2ce616433140da.png
  • Image Pyramid:对输入图像进行缩放分别输入网络最后合在一起:小的输入用于捕获long-range context,大的输入用于捕获小物体。但是这样做会使得深层的DCNN计算代价高
  • 编解码结构:在编码结构中获取不同尺度的特征并在解码结构中复原
  • 额外的后处理以精细画边框,比如DenseCRF
  • 空间金字塔池化

3. 方法

在模块串联合金子塔池化的框架中应用带有不同空洞率的空洞卷积和BN层。空洞卷积作为语义模块和SPP的工具,论文提出的模型具有较好的通用性,可以移植到其他网络中。这个模型将ResNet最后一个block多次复制并串联,然后联通ASPP模块,ASPP模块中包含几个并行的空洞卷积,这几个空洞卷积直接应用在特征图而不是信念图上。训练时层上加上BN层。而且,为了捕获全局语义,ASPP还叠加了了图像级别的特征。

3.1 用于密集特征提取的空洞卷积

克服多次池化和带步长的卷积对密集预测任务的影响。

3.2 使用空洞卷积设计更深的模型

77eaefc52beb77c8b1a31fa7571c098a.png


如上图,简单地复制ResNet最后一个block几次并且并行起来并不利于网络获取深层语义信息,因为这样使得图像的特征集中在最后几层比较小的特征图中,但是连续的带步长卷积不利于语义分割,所以使用了空洞卷积来设计最终的output_stride(原始图像尺寸之于输出特征图尺寸的倍数),如下图所示:

24b9d1e9e882c1faed0258f706f7a8ff.png


初次之外还引入了Multi-grid Method,上图中Block4至7,采用Multi-grid来描述这三层的空洞率,比如,当output_stride=16时,Multi_Grid=(1,2,4),相应的空洞率为(2,4,8)。

3.3 ASPP

ASPP中虽然包含几个不同的空洞率的卷积操作,但是当空洞率越来越大时,有效的滤波器的权重数越来越小。比如在65 X 65的特征图上应用3 X 3的滤波器,非但不能捕获全局图像语义,其效果还退化到与1 X 1滤波器效果一致,因为仅有中心的滤波器权重是有效的。
因此,ASPP模块中包含几个并行的空洞卷积,这几个空洞卷积直接应用在特征图而不是信念图上。训练时层上加上BN层。而且,为了捕获全局语义,ASPP还叠加了了图像级别的特征。

4dcdab8c828bb0fbea8bd9e52a950df2.png


如上图所示,ASPP模块中有一个1x1的卷积层和三个3x3的卷积层,空洞率分别为6,12,18,output_stride为16(每一层都有256个滤波器并且后跟BN层);而且ASPP中还增加了image-level特征,最后在模型输出的特征图上进行1x1的卷积(256个滤波器并且后跟BN层)并进行插值上采样至所需的空间维度尺寸。

4. 实验

4.1 ResNet50 v.s. ResNet101

7c3f4873eaae62356592c8dcc6f7063e.png

4.2 block4中应用不同的Multi-grid

b3525d9e529bc334a3f6bd6471c1a063.png

4.3 ASPP

在block4中应用Multi-grid以及ASPP中使用不同的空洞率:

30594076c8e1e6847585706637b73fb5.png

4.4 FINAL

66258a57ac40e8db9a7d6e85c7b0df05.png

欢迎关注 深度学习与数学 [每天获取免费的大数据、AI等相关的学习资源、经典和最新的深度学习相关的论文研读,算法和其他互联网技能的学习,概率论、线性代数等高等数学知识的回顾]

fbd1485b9bae3833bfdb44b115a37240.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/528874.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux系统列表,Linux常用系统调用列表-20210415054405.docx-原创力文档

LinuxLinux常用系统调用列表作者:雷震 2002年3月本文列出了大部分常见的Linux系统调用,并附有简要中文说明。以下是Linux系统调用的一个列表,包含了大部分常用系统调用和由系统调用派 生出的的函数。按照惯例,这个列表以man pages…

sql replace 双引号变单引号_sql-汇总、排序以及分析思路

一、汇总函数注:汇总函数,如果输入是列名,计算会把null 排除在外,count(*)对所有的行进行计数二、如何用sql解决业务问题注1:空值(null)的排序,排序是最小的,例如select * from tea order by tea_name注2&a…

linux subversion 根目录检出,经验总结:详解Linux下Subversion的安装配置记录 下

上节介绍额Linux下Subversion的安装问题,本节介绍Linux下Subversion配置问题,你可以和Windows下Subversion的安装配置做一个对比,你就会发现在这两种操作系统中Subversion的不同运行机制。第二章配置本系统采用为每个项目单独建一版本库的策略…

python用户名密码登录退出_用户登录登出

一、功能需求分析1.登录功能分析1.1登录流程1.2功能(一个请求为一个功能)~登录页面~登录功能~登出功能二、登录页面1.接口设计1.1.接口说明类目                  说明请求方式                GETurl定义…

openwrt是嵌入式linux,非常方便的OpenWrt的嵌入式Linux开发环境

今天听中央经济广播电台说,今年有559万大学毕业生,大学生的就业形式严峻.我想那些精通Linux开发的毕业大学生们,估计一点也不用担心,因为他们已经不再是一颗大白菜了.最近在帮一个朋友把OpenWrt移植到一块单板上,有一些心得,分享给大家.OpenWrt是一个很好的学习Linux的平台,而且…

linux添加有效群组,Linux中的有效群组和初始群组

在Linux中,每个账号都可以加入多个群组,那用户登录后默认的用的是哪个群组呢?关于这个问题就要说说有效群组和初始群组了。在用户账号信息文件/etc/passwd中,那个由冒号分割的7个栏目中,第四个栏目是群组ID(GID)&#…

php多个表中查找数据_HeidiSQL 免费的可视化数据库管理工具

HeidiSQL是一款免费的软件,并且易于学习和使用。HeidiSQL让你从数据库内可视化的读写数据、结构体。它支持MariaDB、MySQL、Microsoft SQL、PostgreSQL等数据库。功能免费且开源内置中文在同个窗口连接多个服务支持以命令行形式连接服务连接支持SSH、SSL创建修改表、…

嵌入式linux启动根文件系统,嵌入式Linux根文件系统制作和挂载

嵌入式Linux系统由三部分组成: uboot、kernel、根文件系统, 还是这张老图这里的根文件系统可以说是包含两个部分: 一个是根,一个是文件系统那么什么是根呢?哈哈 其实根表示的就是第一个的意思下面贴张图看看整个根文件…

sqlite 查询 支持多用户同时_SQLite支持多进程同时操作数据库文件吗?

多个进程可以同时打开同一个数据库。多个进程可以同时执行SELECT。但是,只有一个进程可以随时对数据库进行更改。SQLite使用读/写锁来控制对数据库的访问。(在Win95 / 98 / ME下,缺少对读写锁的支持,而是使用概率模拟。)但请注意:…

python 字符串处理 字典_python 字符串和字典

一、字符串操作name "my name is \t {name} and i am {year} years old"1.首字母大写print(name.capitalize())2.统计字符串中相同的字符print(name.count("n"))3.格式化字符串print(name.center(50,"-"))#打印50个-,把name的值放中…

查询linux上调度命令,浅析Linux中crontab任务调度

一.创建调度任务指令crontab -e 进入当前用户编辑界面crontab -u 用户名 -e 进入指定用户编辑界面进入crontab任务编辑界面任务编写格式#每分钟执行查看一次/ect目录,把目录内容写进/tml/a.txt下*/ 1 * * * * ll /etc >> /tmp/a.text#crontab对象 指令#多个任务同时执行#…

pgsql 查询每天的最后一条_Qamp;A | 如何允许他人查询表单数据?

小金Q&A来啦!这一期小金Q&A中,小金收集到近期大家关注最多的几个问题。小金将定期为小金人们答疑解惑,帮助你每天用好小金一点。●Q&A●问:如何批量设置新数据微信提醒?答:点击右上角头像 个人…

pythonjson构建二维数组_python后台获取ajax传递的二维数组,保持原有数据结构不变...

python后台获取ajax传递的二维数组,保持原有数据结构不变。前台主要程序:arr_data [[1,2,3],[4,5,6]];//创建二维数组var json_data JSON.stringify(arr_data);//将二维数组转换为json格式//ajax将json_data传入后台$.ajax({url : "/path",d…

linux多线程访问共享资源,多个线程访问共享对象和数据

多个线程访问共享对象和数据有很多方式,但是可以分为两大类:1.多线程执行代码相同的。2.多线程执行代码不同的对于多线程执行代码相同的情况来说:1)使用同一个Runnable对象,在new Thread的时候放入相同的这个对象public static vo…

linux关闭交互模式,linux – 关闭cp(copy)命令的交互模式(cp:overwrite?)

推荐文章更新源的方法提前保存一下原来源 sudo cp sources.list sources.list.bak 换源命令: sudo gedit /etc/apt/sources.list 或者 sudo vim /etc/apt/sources.list 或者 sudo vim /etc/apt/sources.list推荐文章1 删除内容gg 顶部G 底部:set nu 显示行号:10,.d …

sql截去最后一位_SqlServer从左边 最后 中间截取字符串

SqlServer从左边 最后 中间截取字符串(摘录)2009-06-01 15:04已知: 字段AF:\photo\Winter Leaves.jpg要求:分段截取每段字符[字段A不能为TEXT类型,否则报错]解决方法:---截取字符串A的第一个\左边的字符串select left(A,charindex(/,A)-1) MEMO:charindex(\,A)-1 -在字符…

linux 解压tar.jz,linux系统压缩文件和解压缩命令

linux系统压缩文件和解压缩命令tar命令   解包:tar zxvf FileName.tar打包:tar czvf FileName.tar DirName gz命令   解压1:gunzip FileName.gz解压2:gzip -d FileName.gz压缩:gzip FileName.tar.gz 和 .tgz解压&a…

linux redis-4.0,Linux Redis 4.0.2 安装部署

Linux Redis 4.0.2 安装部署01 安装GCCyum -y install gcc gcc-c libstdc-devel tcl -y02 下载安装包cd /export/software/wget http://219.238.7.71/files/403400000ABE0C0C/download.redis.io/releases/redis-4.0.2.tar.gztar -zxvf redis-4.0.2.tar.gz -C ../serverscd /exp…

ncverilog脚本_NC-Verilog仿真详解

ncverilog仿真详解发表在ASIC/FPGA/汇编, 学习笔记, 编程开发 | 由阿布 | 十一月26, 2011 | 0标签: ncverilog, 仿真数位IC工具简介——Simulator 工具ModelSimModelSim是Mentor公司所推出的软体, 主要用来当作VHDL的模拟器, 也是目前CIC在VHDL方面的主要的模拟软体;但ModelSim…

android 串口一直打开_android 若何打开串口以及与串口通信

串口 若何 打开 通信 android android 串口通讯 androidusb转串口通讯 android 蓝牙串口通讯 android串口通讯demo ble串口通讯 android android 打开通讯录 android打开串口 android 打开串口失败 android如何打开串口串口通信,对于没接触过这方面的伴侣们&#xf…