当前位置: 首页 > news >正文

【论文笔记】《Learning Deconvolution Network for Semantic Segmentation》

重要说明:严格来说,论文所指的反卷积并不是真正的 deconvolution network 关于 deconvolution network 的详细介绍,请参考另一篇博客:什么是Deconvolutional Network?

一、参考资料

Learning Deconvolution Network for Semantic Segmentation

二、Deconvolution Network

deconvolution network是卷积网络(convolution network) 的镜像,由反卷积层(deconvolutional layers)和上采样层(Unpooling layers)组成。本质上,deconvolutional layers是由卷积层(convolutional layers)组成的。

deconvolution network=deconvolutional layers+Unpooling layers

1. 引言

原始的FCN存在以下问题:

  1. 第一,感受野为固定大小;物体大于或小于感受野会被 fragmented or mislabeled。大物体分割不连续,小物体被忽视。虽然FCN加入了 skip architecturer ,但是这并不是根本的解决方案,问题在于没有详细的边界和语义;
  2. 第二,输入反卷积层的 label map 太粗糙,反卷积过程太简单,使得物体的细节信息丢失或被平滑;在FCN论文中,label map 大小仅仅为16x16,以 deconvolution 作为双线性差值来获得原始输入图像大小的分割。由于缺少深度的反卷积网络,很难精确重建物体边界这种高度非线性结构。

2. 论文创新点

为了克服FCN存在的问题,论文用了一个完全不同的策略进行语义分割,主要贡献如下:

  1. 学习一个多层的deconvolution network,它由 deconvolutional layersUnpooling layersReLU layers组成。
  2. 将训练好的网络应用在目标候选区域(object proposal),来获得 instance-wise segmentions。再将这些单个的分割结果结合起来组成最终的语义分割结果。这解决了FCN存在的物体尺度问题,能够识别细小的结构。

3. Deconvolution Network与FCN对比

本文与FCN最大的不同,应该是上采样阶段的不同,FCN的上采样利用转置卷积(Conv2DTranspose),本文利用deconvolution network,也就是Unpooling layers+deconvolutional layers。可以简单理解,基于 Conv2DTranspose 的上采样和基于 Unpooling layers+deconvolutional layers 的上采样,都可以实现语义分割任务。

通过 deconvolutional layersUnpooling layers 的结合,论文可以产生更精细的分割图。和FCN的对比如下图:

在这里插入图片描述

4. Deconvolution Network网络结构

论文提出的网络结构由卷积网络层和反卷积网络层组成。卷积网络层对应于特征提取器,将输入图像转换为多维特征表示;而反卷积网络是一个形状(shape)生成器,对卷积网络层中提取的特征进行对象分割。网络的最终输出是一个与输入图像尺寸相同的概率图,表示每个像素点属于预定义类别的概率。

在这里插入图片描述

  • 卷积网络(convolution network): VGG-16(去除分类层),包括:convolutional layersRelu layerspooling layers

  • 反卷积网络(deconvolution network)反卷积网络是卷积网络的镜像,包括一系列的 Unpooling layersdeconvolutional layersRelu layers。反卷积网络输出密集的逐像素类别概率图(dense
    pixel-wise class probability map)。

4.1 Unpooling layers

Unpooling layers 是通过回溯原始位置来获得更好的结构。

首先,在执行pooling操作时用 switch variables 记录 max pooling 选择最大值的位置(location)。然后,在 unpooling 阶段,利用 switch variables 还原位置,恢复 pooling 之前的尺寸大小,其它像素位置用零元素填充,得到稀疏的激活图(sparse avtivation map)。

4.2 deconvolution layers

对稀疏激活图进行deconvolution操作,使得稀疏激活图变成稠密激活图。执行deconvolution后,裁剪(crop)激活图的边界,使其等于 Unpooling layers 的输出尺寸(也是 deconvolutional layers 输入的大小)。

论文中,低层的 deconvolutional layers 可获得目标的粗略信息(例如:位置,形状,范围),而高层的 deconvolutional layers 可获得更精细的信息。

5. Deconvolution Network可视化

可视化 Deconvolution network 的每一层,如下图所示:

在这里插入图片描述

图(a)是输入层;图(b)是14x14 deconvolution layers 的结果;图©是28x28的 Unpooling layers 的结果;图(d)是28x28 deconvolution layers 的结果;图(e)是56x56 Unpooling layers 的结果;图(f)是56x56 deconvolution layers 的结果;图(g)是112x112 的Unpooling layers 的结果;图(h)是112x112 deconvolution layers 的结果;图(i)和图(j)分别是224x224 Unpooling layersdeconvolution layers 的结果。

6. 总结

论文将 semantic segmentation 问题视为 instance-wise segmentation 问题,也就是 pixel-wise prediction。网络是以包含目标的子图像(将它视作一个instance)作为输入,并以此来产生 逐像素的类别预测结果(pixel-wise class prediction)。最后将图像中每个候选区域的输出整合起来,得到原始图像的输出。

instance-wise segmentation VS image-level prediction

  • instance-wise segmentation:能处理不同尺度大小的物体,识别细节信息;减少搜索空间,减少训练的复杂度,减少存储需求;
  • image-level prediction:固定大小感受野,不能解决上述问题。

三、参考文献

[1] Noh H, Hong S, Han B. Learning deconvolution network for semantic segmentation[C]//Proceedings of the IEEE international conference on computer vision. 2015: 1520-1528.

相关文章:

  • YOLOv8加入AIFI模块,附带项目源码链接
  • JSON-handle工具安装及使用
  • 2024年可能会用到的几个地图可视化模板
  • 五、详细设计说明书(软件工程)
  • three.js 鼠标选中模型弹出标签
  • Spring Boot3整合Druid(监控功能)
  • 极简Matlab快速傅里叶变换FFT
  • 顶顶通呼叫中心中间件机器人压力测试配置(mod_cti基于FreeSWITCH)
  • Spring5系列学习文章分享---第五篇(事务概念+特性+案例+注解声明式事务管理+参数详解 )
  • 缓存技术—redis
  • 网络安全03---Nginx 解析漏洞复现
  • LightDB 24.1 UNION支持null类型匹配
  • 光明之盒:揭开可解释性人工智能的神秘面纱
  • 一种解决常用存储设备无法被电脑识别的方法
  • 【开源】基于JAVA语言的二手车交易系统
  • 深入了解以太坊
  • Dubbo 整合 Pinpoint 做分布式服务请求跟踪
  • express.js的介绍及使用
  • Invalidate和postInvalidate的区别
  • Mybatis初体验
  • Perseus-BERT——业内性能极致优化的BERT训练方案
  • RxJS 实现摩斯密码(Morse) 【内附脑图】
  • Selenium实战教程系列(二)---元素定位
  • SQLServer之索引简介
  • Vim Clutch | 面向脚踏板编程……
  • vue-router的history模式发布配置
  • 聚类分析——Kmeans
  • 坑!为什么View.startAnimation不起作用?
  • 前端知识点整理(待续)
  • 线上 python http server profile 实践
  • 一道面试题引发的“血案”
  • 正则表达式小结
  • 【运维趟坑回忆录 开篇】初入初创, 一脸懵
  • ​VRRP 虚拟路由冗余协议(华为)
  • # 计算机视觉入门
  • # 日期待t_最值得等的SUV奥迪Q9:空间比MPV还大,或搭4.0T,香
  • #绘制圆心_R语言——绘制一个诚意满满的圆 祝你2021圆圆满满
  • $L^p$ 调和函数恒为零
  • (echarts)echarts使用时重新加载数据之前的数据存留在图上的问题
  • (顶刊)一个基于分类代理模型的超多目标优化算法
  • (蓝桥杯每日一题)love
  • (全部习题答案)研究生英语读写教程基础级教师用书PDF|| 研究生英语读写教程提高级教师用书PDF
  • (转)真正的中国天气api接口xml,json(求加精) ...
  • (转贴)用VML开发工作流设计器 UCML.NET工作流管理系统
  • ./mysql.server: 没有那个文件或目录_Linux下安装MySQL出现“ls: /var/lib/mysql/*.pid: 没有那个文件或目录”...
  • .axf 转化 .bin文件 的方法
  • .net core webapi 大文件上传到wwwroot文件夹
  • .NET Core 实现 Redis 批量查询指定格式的Key
  • .NET MVC 验证码
  • .NET性能优化(文摘)
  • .Net中的集合
  • /bin/bash^M: bad interpreter: No such file or directory
  • /etc/skel 目录作用
  • @Service注解让spring找到你的Service bean
  • [CareerCup] 13.1 Print Last K Lines 打印最后K行