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

news2025/1/11 4:04:45

重要说明:严格来说,论文所指的反卷积并不是真正的 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.

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

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

相关文章

十分钟搭建本地Linux开发运行环境

十分钟搭建本地开运行环境 linux环境请参考:5分钟搭建本地linux开发环境 环境:宝塔、Jdk、Mysql、Redis 1、宝塔: 官网地址:宝塔官网 yum install -y wget && wget -O install.sh https://download.bt.cn/install/in…

图形化方式利用脚手架创建Vue项目

图形化方式利用脚手架创建Vue项目 1 安装node.js(附带安装npm)安装v14.3.0版本 查看安装版本 node -v 2 安装cnpm npm install -g cnpm 查看安装版本 cnpm -v 以管理员身份运行powershell,运行 set-ExecutionPolicy RemoteSigned 3…

【VSAN数据恢复】VSAN数据重构迁移失败的数据恢复案例

VSAN简介: VSAN存储是一个对象存储,以文件系统呈现给在vSphere主机上。这个对象存储服务会从VSAN集群中的每台主机上加载卷,将卷展现为单一的、在所有节点上都可见的分布式共享数据存储。 对于虚拟机来说,只有一个数据存储&#x…

Modern C++ std::shared_ptr的实现原理

shared_ptr的UML图 注意:这是Linux上GCC 8.5.0的实现版本 先看下它的继承关系。 shared_ptr里面的数据成员 有了上面的UML图,可能还没有一个直观的认识,下面我们把这些成员打印出来。 当然得先写个小小的程序: $ cat shared_ptr.cpp #include <memory> #include…

单元测试——题目十二

目录 题目要求: 定义类 测试类 题目要求: 根据下列流程图编写程序实现相应处理,执行j=10*x-y返回文字“j1=:”和计算值,执行j=(x-y)*(10⁵%7)返回文字“j2=:”和计算值,执行j=y*log(x+10)返回文字“j3=:”和计算值。 编写程序代码,使用JUnit框架编写测试类对编写的…

【开源】基于JAVA语言的实验室耗材管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 耗材档案模块2.2 耗材入库模块2.3 耗材出库模块2.4 耗材申请模块2.5 耗材审核模块 三、系统展示四、核心代码4.1 查询耗材品类4.2 查询资产出库清单4.3 资产出库4.4 查询入库单4.5 资产入库 五、免责说明 一、摘要 1.1…

RHCE项目:使用LNMP搭建私有云存储

目录 一、准备工作 1、关闭防火墙、安全软件 2、搭建LNMP环境 3、上传软件 4、设置nextcloud安装命令权限 二、数据库 1、设置数据库 2、重启数据库 三、配置nginx 四、安装nextcloud 五、内网穿透 1、创建内网映射 2、linux系统安装花生壳客户端 3、重新打开浏览…

《幻兽帕鲁》爆火,玩家在阿里云上部署联机服务器:全程仅3分钟

《幻兽帕鲁》大卖800万份&#xff0c;玩家纷纷上阿里云光速搭建联机服务器 《幻兽帕鲁》爆火&#xff0c;玩家在阿里云上部署联机服务器&#xff1a;全程仅3分钟 1月26日消息&#xff0c;生存类游戏《幻兽帕鲁》异常火爆&#xff0c;发售仅6天销量就突破了800万份&#xff0c;在…

在docker中配置 Linux ls 配色方案 与 shell 提示符

发行版中默认的配置一般非常合理&#xff0c;但是docker中往往忽略了这些简单的配置&#xff0c;备忘一下 1. ls 配色方案 vim &#xff5e;/.bashrc 在文件最末尾加入如下一行内容&#xff1a; export LS_COLORS"rs0:di01;34:ln01;36:mh00:pi40;33:so01;35:do01;35:bd40…

APUE学习之管道(pipe)与命名管道(fifo)

目录 一、简介 二、管道&#xff08;Pipe&#xff09; 1、管道的基本概念 2、管道的局限性 3、管道的创建 4、管道的读写规则 5、实战演练 三、命名管道&#xff08;fifo&#xff09; 1、命名管道的基本概念 2、命名管道的创建 3、实战演练 4、运行结果 四、补充 …

深入理解stress/stress-ng

文章目录 一、概述二、安装2.1、源码编译安装2.2、命令行安装2.3、安装确认 三、重要参数详解3.1、查询支持的参数3.2、重要参数说明 四、实例4.1、压测CPU4.2、压测内存4.3、压测IO4.4、压测磁盘及IO4.5、压测磁盘及CPU 团队博客: 汽车电子社区 一、概述 stress是一种工作负载…

Java基础进阶03-注解和单元测试

目录 一、注解 1.概述 2.作用 3.自定义注解 &#xff08;1&#xff09;格式 &#xff08;2&#xff09;使用 &#xff08;3&#xff09;练习 4.元注解 &#xff08;1&#xff09;概述 &#xff08;2&#xff09;常见元注解 &#xff08;3&#xff09;Target &#x…

Codewave学习体验分享:低代码开发世界的黑马

前言 Codewave平台介绍 CodeWave智能低代码开发平台基于网易自研拥有大规模参数和深度学习能力的智能模型底座产品架构,为企业级应用提供更加智能化研发的软件生产方式,IT人员可以轻易实现从“智能生成”到“可视化拖拽调整”的全栈低代码应用搭建,让复杂应用开发更加高效,加快…

百度百科词条编辑规则是什么?

百度百科词条编辑规则是指在百度百科平台上编辑和创建词条时需要遵循的一系列标准和指南。百度百科作为全球最大的中文百科全书&#xff0c;旨在为用户提供准确、全面、客观的知识信息。为了确保词条内容的质量&#xff0c;百度设定了严格的编辑规则。伯乐网络传媒来给大家分享…

2 搭建模块环境

2.1 架构的问题分析 当前要开发的是媒资管理服务&#xff0c;目前为止共三个微服务&#xff1a;内容管理、系统管理、媒资管理&#xff0c;如下图&#xff1a; 后期还会添加更多的微服务&#xff0c;当前这种由前端直接请求微服务的方式存在弊端&#xff1a; 如果在前端对每…

电脑监控软件都有哪些,哪款好用 | 四款热门软件盘点

在信息化时代&#xff0c;电脑已经成为我们工作和生活中不可或缺的工具。然而&#xff0c;随着电脑使用的普及&#xff0c;也带来了一些安全和隐私方面的问题。 为了保护企业的机密资料和员工的行为规范&#xff0c;越来越多的企业开始使用电脑监控软件来加强管理和监控。 本…

常见问题-d3dx9_39.dll丢失如何解决,快速修复d3dx9_39.dll丢失教程

d3dx9_39.dll 是一个动态链接库&#xff08;DLL&#xff09;文件&#xff0c;它是微软 DirectX 组件的一部分&#xff0c;主要用于支持 3D 图形和声音处理功能。这个文件通常在运行需要 DirectX 支持的游戏或应用程序时被调用。 一、d3dx9_39.dll文件属性 以下是 d3dx9_39.dl…

如何解决Flutter应用程序的兼容性问题

随着移动应用开发领域的不断发展&#xff0c;Flutter作为一种跨平台框架&#xff0c;受到了越来越多开发者的青睐。要确保Flutter应用程序能够在不同的设备和操作系统上稳定运行&#xff0c;并提供一致的用户体验&#xff0c;我们需要重视应用程序的兼容性问题。下面将简单的介…

「阿里云」幻兽帕鲁个人服务器已上线,3分钟快速搭建

基于阿里云搭建幻兽帕鲁服务器方法&#xff0c;1到2分钟部署完成&#xff0c;稳定运行无卡顿&#xff0c;阿里云服务器网aliyunfuwuqi.com分享保姆级手把手教程&#xff0c;基于阿里云计算巢、云服务器或无影云桌面都可以&#xff1a; 基于阿里云幻兽帕鲁服务器创建教程 基于…

在线教育SSR网站项目

Nuxt3 Vue3开发的在线教育SSR 一、首页 二、考试页 三、拼团 四、秒杀 五、直播 六、专栏 七、电子书 八、社区 九、课程 十、用户中心