FCN-语义分割中的全卷积网络

FCN-语义分割中的全卷积网络

语义分割

语义分割是计算机视觉中的关键任务之一,现实中,越来越多的应用场景需要从影像中推理出相关的知识或语义(即由具体到抽象的过程)。作为计算机视觉的核心问题,语义分割对于场景理解的重要性日渐突出。

在这里插入图片描述

摘要

Abstract—Convolutional networks are powerful visual models that yield hierarchies of features. We show that convolutional networks
by themselves, trained end-to-end, pixels-to-pixels, improve on the previous best result in semantic segmentation. Our key insight is to
build “fully convolutional” networks that take input of arbitrary size and produce correspondingly-sized output with efficient inference
and learning. We define and detail the space of fully convolutional networks, explain their application to spatially dense prediction tasks, and draw connections to prior models. We adapt contemporary classification networks (AlexNet, the VGG net, and GoogLeNet)
into fully convolutional networks and transfer their learned representations by fine-tuning to the segmentation task. We then define a
skip architecture that combines semantic information from a deep, coarse layer with appearance information from a shallow, fine layer to produce accurate and detailed segmentations. Our fully convolutional network achieves improved segmentation of PASCAL VOC (30% relative improvement to 67.2% mean IU on 2012), NYUDv2, SIFT Flow, and PASCAL-Context, while inference takes one tenth of a second for a typical image

翻译:卷积网络是一种强大的视觉模型,它可以产生层次化特征。我们展示了卷积网络这种端到端、像素对像素的训练模型,超过了语义分割的最新技术水平。本文的关键点是构建了“全卷积”神经网络,它是一种输入尺寸任意的端对端神经网络,同时网络有着高效的学习和推理过程。我们定义并详细说明了全卷积神经网络的结构,解释它们在像素位置密集型预测任务中的应用,并得出与先前模型之间的连接。本文将经典的分类网络(AlexNet,VGG16,GoogleNet)整合进全卷积神经网络,经过微调这些网络的学习表征方式来使他们适用于分割任务。然后,本文定义了跳结构将深层、粗糙的语义信息和浅层、精细的表层信息结合,产生准确精细的分割结果。本文提出的全卷积神经网络在PASCAL VOC、NYUDv2、SIFT Slow数据集取得了目前最好的分割结果,对这些数据集中的典型图像,每张的推理过程只需要不到0.2秒。其中在PASCAL VOC数据集中达到了62.2%的平均交并比。

摘要总结

主要成就:端到端、像素到像素训练方式下的卷积神经网络超过了现有语义分割方向最先进的技术

核心思想:搭建了一个全卷积网络,输入任意尺寸的图像,经过有效推理和学习得到相同尺寸的输出

主要方法:将当前分类网络改编成全卷积网络(AlexNet、VGGNet和GoogLeNet)并进行微调设计了跳跃连接将全局信息和局部信息连接起来,相互补偿

实验结果:在PASCAL VOC、NYUDv2和SIFT Flow数据集上得到了state-of-the-art的结果。

分割术语

pixel-wise(pixels-to-pixels):像素级别
每张图片都是由一个个pixel组成的,pixel是图像的基本单位

image-wise:图像级别
比如一张图片的标签是狗,即“狗”是对整个图片的标注

patch-wise:块级别
介于像素级别和图像级别之间,每个patch都是由好多个pixel组成的

patchwise training:
是指对每一个感兴趣的像素,以它为中心取一个patch(小块),然后输入网络,输出则为该像素的标签

局部信息与全局信息

  • 局部信息
    提取位置:浅层网络中提取局部信息
    特点:物体的几何信息比较丰富对应的感受野较小
    目的:有助于分割尺寸较小的目标有利于提高分割的精确程度

  • 全局信息
    提取位置:深层网络中提取全局信息
    特点:物体的空间信息比较丰富对应的感受野较大
    目的:有助于分割尺寸较大的目标有利于提高分割的精确程度

在这里插入图片描述

感受野(RF)

在卷积神经网络中,决定某一层输出结果中一个元素所对应的输入层的区域大小,被称作感受野。通常来说,大感受野的效果要比小感受野的效果
更好。由公式可见,stride越大,感受野越大。但是过大的stride会使featuremap保留的信息变少。因此,在减小stride的情况下,如何增大
感受野或使其保持不变,称为了分割中的一大问题。

感受野的计算公式

在这里插入图片描述

当前层的感受野 =RF(上一层感受野) + (K-1) x S

1x1卷积

在这里插入图片描述
FCN网络中,将CNN网络的后三层全部转化为1*1的卷积核所对应等同向量长度的多通道卷积层。整个网络模型全部都由卷积层组成,没有全连接层产生的向量。CNN是图像级的识别,也就是从图像到结果。而FCN是像素级的识别,标注出输入图像上的每一个像素最可能属于哪一类别。

上采样与转置卷积

本文没有沿用以往的插值上采样(lnterpolation),而是提出了新的上采样
方法,即反卷积(Deconvolution)。反卷积可以理解为卷积操作的逆运算,反卷积并不能复原因卷积操作造成的值的损失,它仅仅是将卷积过程中的步骤反向变换一次,因此它还可以被称为转置卷积。

在这里插入图片描述

反卷积的计算公式与卷积特征图输出的计算公式相反

卷积:input - k +2p/stride +1

而转置卷积的计算公式是其一个逆过程

转置卷积:= (input-1)x stride +k -2p (计算输出特征图尺寸的公式)

算法讲解

在这里插入图片描述

在这里插入图片描述
32s是指上采样32倍还原到图片原来的大小。(16s与8s同理)

FCN32S

直接使用转置卷积来进行上采样将图片恢复到32倍的大小

在这里插入图片描述

FCN16S

在FCN16S中我们融合了Maxpooling4中的相关的信息。

在这里插入图片描述

FCN8s

同理在FCN8s中我们需要使用maxpooling3和Maxpooling4中的特征图

先从32按提升到16在将16继续进行提升到32

在这里插入图片描述

损失计算

分割中的损失的计算是按照每个像素来进行计算求解的。

和分类类似通常也使用交叉熵损失来进行计算。

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

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

相关文章

软件游戏提示msvcp120.dll丢失的解决方法,总结多种靠谱的解决方法

在电脑使用过程中,我们可能会遇到一些错误提示,其中之一就是“找不到msvcp120.dll”。那么,msvcp120.dll是什么?它对电脑有什么影响?有哪些解决方法?本文将从以下几个方面进行探讨。 一,了解msv…

htb-linux-1-lame-smb3.0.20

namp smb漏洞 搜索关键词 其他 smb Samba是在linux和unix系统上实现SMB(Server Message Block,信息服务块)协议的一款免费软件。SMB是一种在局域网上共享文件和打印机的通信协议,它在局域网内使用linux和Windows系统的机器之…

手把手带你做一个自己的网络调试助手(2) - TCP服务器完善

服务器指定客户端发送 自定义控件comboBox - 刷新客户端列表 目的&#xff1a; 自定义控件&#xff0c;当鼠标点击这个comboBox控件的时候去刷新客户端列表 mycombobox.h #ifndef MYCOMBOBOX_H #define MYCOMBOBOX_H#include <QComboBox> #include <QWidget>cl…

运维实用小脚本,登录即自动显示系统信息

今天给大家安利一个超级实用的Linux小技巧&#xff0c;让你每次登录终端时都能感受到满满的科技感和效率爆棚&#xff01; 你是否厌倦了每次手动检查系统状态&#xff0c;像内存使用、CPU负载这些繁琐操作&#xff1f;别担心&#xff0c;一个小调整&#xff0c;让这一切自动化…

技术与业务的完美融合:大数据BI如何真正提升业务价值

数据分析有一点经典案例 沃尔玛的啤酒和尿布案例 开始做BI的时候&#xff0c;大家肯定都看过书&#xff0c;那么一定也看过一个经典的案例&#xff0c;就是沃尔玛的啤酒和尿布的案例。这个案例确实很经典&#xff0c;但其实是一个失败的案例。为什么这么说呢&#xff1f;很明显…

Android.mk文件生成的so工程文件并Debug调试native code

1.这里主要展示一下从最原始先新建一个工程 2.将hello的子工程文件放入上面新建好的工程里面&#xff0c;直接拷贝放置这里 3.修改根目录下的settings.gradle 加入hello 4.app工程下的build.gradle加入依赖&#xff0c;这样就可以识别hello中的java包文件 5.MainActivity 中来&…

RabbitMQ-topic exchange使用方法

RabbitMQ-默认读、写方式介绍 RabbitMQ-发布/订阅模式 RabbitMQ-直连交换机(direct)使用方法 目录 1、概述 2、topic交换机使用方法 2.1 适用场景 2.2 解决方案 3、代码实现 3.1 源代码实现 3.2 运行记录 4、小结 1、概述 topic 交换机是比直连交换机功能更加强大的…

信息学奥赛初赛天天练-24-二叉树、N叉树遍历技巧与前缀表达式、中缀表达式、后缀表达式应用实战演练

PDF文档公众号回复关键字:20240609 单项选择题(共15题,每题2分,共计30分:每题有且仅有一个正确选项) 5 根节点的高度为1,一根拥有2023个节点的三叉树高度至少为( )。 A 6 B 7 C 8 D 9 8 后缀表达式 6 2 3 + - 3 8 2 / + * 2 ^ 3 + 对应的中缀表达式是( ) A ((…

「动态规划」打家劫舍的变形题,你会做吗?

213. 打家劫舍 IIhttps://leetcode.cn/problems/house-robber-ii/description/ 你是一个专业的小偷&#xff0c;计划偷窃沿街的房屋&#xff0c;每间房内都藏有一定的现金。这个地方所有的房屋都围成一圈&#xff0c;这意味着第一个房屋和最后一个房屋是紧挨着的。同时&#x…

使用 Vue 官方脚手架初始化 Vue3 项目

Vite 官网&#xff1a;https://cn.vitejs.dev/ Vue 官网&#xff1a;https://vuejs.org/ Vue 官方文档&#xff1a;https://cn.vuejs.org/guide/introduction.html Element Plus 官网&#xff1a;https://element-plus.org/ Tailwind CSS 官网&#xff1a;https://tailwindcss.…

Codeforces Round 951 (Div. 2)C. Earning on Bets

Problem - C - Codeforces 合理的答案&#xff1a; 求出 k1 ~ kn 的最小公倍数lcm&#xff0c;如果 lcm/k1 lcm/k2 ... lcm/kn < lcm 即符合题意。 左边之和为我们付的总钱数&#xff0c;右边才是每次选择得到的钱数(都为lcm)。 直接拿1e9检查是否可以分即可&#xff…

基于Django+MySQL的智慧校园系统

此项目基于Django MySQL HTML CSS JS jQuery bootstrap实现的功能有 学生管理部门管理代办清单管理校园论坛校园医疗服务校园看点校园生活助手常用功能入口 1. 一些注意点 1. 页面body会自动有一些边界距&#xff0c;处理方法&#xff1a; <head><style>b…

你还在纠结U盘怎么选吗?小白带你来看

前言 2024年的618活动已经开始了&#xff0c;这个活动买电子产品着实是比其他时间要便宜很多。 前几天小白的一个好朋友问我&#xff1a;U盘该怎么选&#xff1f; 呃&#xff0c;本来是想写“老朋友”的&#xff0c;结果她愣是要我改成“好朋友”。 行吧&#xff0c;那就好朋…

车载电子电气架构 --- 车载信息安全

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明自己,无利益不试图说服别人,是精神上的节…

Vite - 开发初体验,以及按需导入配置

目录 开始 创建一个 Vite 项目 项目结构 /src/main.js index.html package.json vite.config.js Vite 项目中使用 vue-router Vite 组件的“按需引入” 传统的方式引入一个组件 传统方式引入带来的问题 解决办法&#xff08;配置 按需引入 插件&#xff09; 示例&…

OpenFeign远程接口调用使用公共模块出现的错误

今天在使用openfeign和sentinel实现fallback服务降级时遇到找不到类型的异常 检查代码发现没有错误&#xff0c;EnableFeignClients也在启动类上标注了 错误信息&#xff1a;A component required a bean of type com.zxc.cloud.apis.PayFeignSentinelApi that could not be f…

《精通ChatGPT:从入门到大师的Prompt指南》第9章:实战练习

第9章&#xff1a;实战练习 9.1 Prompt练习题 在本节中&#xff0c;我们将提供一系列练习题&#xff0c;旨在帮助读者通过实际操作提升使用ChatGPT的能力。这些练习题涵盖了从基础到高级的不同难度级别&#xff0c;并针对各种应用场景设计&#xff0c;确保读者能够在实际使用…

基于Springboot + vue实现的火锅店管理系统

作者主页&#xff1a;Java码库 主营内容&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app等设计与开发。 收藏点赞不迷路 关注作者有好处 文末获取源码 技术选型 【后端】&#xff1a;Java 【框架】&#xff1a;spring…

私有云和多云管理平台 | Cloudpods v3.11.4 正式发布

本次 3.11.4 更新亮点为&#xff1a;系统镜像引入社区镜像&#xff0c;用户可以一键导入各主流开源操作系统镜像&#xff0c;方便用户上手使用。持续迭代共享 LVM&#xff0c;支持快照&#xff0c;主备机等特性&#xff0c;修复迁移删除镜像缓存等 BUG。 功能优化 【费用】费…

EON安装ASE Interface

安装 测试系统ubuntu。如果你python2和python3总是纠缠不清&#xff0c;可以sudo apt install python-is-python3直接解决。 经检查&#xff0c;我PC的 python地址为&#xff1a; /usr/include/python3.8/ pybind11地址为&#xff1a; /usr/include/pybind11/ 已确认python…