Fully Convolutional Networks for Semantic Segmentation--论文笔记
论文笔记
资料
1.代码地址
2.论文地址
https://arxiv.org/abs/1411.4038
3.数据集地址
论文摘要的翻译
卷积网络是强大的视觉模型,可以产生特征层次结构。我们表明,卷积网络本身,经过端到端,像素对像素的训练,在语义分割方面超过了最先进的技术。我们的关键见解是建立“完全卷积”网络,该网络可以接受任意大小的输入,并通过有效的推理和学习产生相应大小的输出。我们定义和详细描述了全卷积网络的空间,解释了它们在空间密集预测任务中的应用,并绘制了与先前模型的连接。我们将当代分类网络(AlexNet , VGG网络和GoogLeNet)改编为全卷积网络,并通过微调将其学习到的表征转移到分割任务中。然后,我们定义了一种新的架构,该架构将来自深层粗糙层的语义信息与来自浅层精细层的外观信息相结合,以产生准确而详细的分割。我们的全卷积网络实现了PASCAL VOC(相对于2012年的62.2%平均IU提高了20%)、NYUDv2和SIFT Flow的最先进分割,而对典型图像的推理时间不到五分之一秒。
1背景
从粗糙到精细推理的关键一步自然是对每个像素进行预测。先前的方法使用卷积神经网络进行语义分割,其中每个像素都用其封闭对象或区域的类别进行标记,但该工作解决了缺点。
该方法具有渐近性和绝对性两方面的有效性,避免了其他工作中的复杂性。Patchwise训练很常见,但缺乏全卷积训练的效率。我们的方法没有利用预处理和后处理的复杂性,包括超像素,建议,或随机字段或局部分类器的事后细化[8,16]。我们的模型将最近在分类方面的成功转移到密集预测上,将分类网络重新解释为完全卷积的,并从其学习到的表示中进行微调。相比之下,以前的作品应用了没有监督预训练的小convnets。
语义分割面临语义和位置之间固有的紧张关系:全局信息解决什么问题,而局部信息解决哪里问题。=
2论文的创新点
- 建立完全卷积网络,该网络可以接受任意大小的输入,并通过有效的推理和学习产生相应大小的输出。
- 定义了一种新的架构,该架构将来自深层粗糙层的语义信息与来自浅层精细层的外观信息相结合,以产生准确而详细的分割。
3 论文方法的概述
convnet中的每一层数据是一个大小为 h × w × d h × w × d h×w×d的三维数组,其中 h 和 w h和w h和w是空间维度, d d d是特征或通道维度。第一层是图像,像素大小为 h × w h × w h×w,有 d d d个颜色通道。更高层的位置对应于它们在图像中路径连接的位置,这些位置被称为它们的接受野。
3.1 Adapting classifiers for dense prediction
典型的识别网络,包括LeNet、AlexNet及其后继者,表面上采用固定大小的输入,并产生非空间输出。这些网的完全连接层具有固定的尺寸,并且抛弃了空间坐标。完全连接层也可以被视为卷积,其卷积核覆盖了整个输入区域。这样做将它们转换成完全卷积的网络,可以接受任何大小的输入和输出分类图。这一转变如图2所示

AlexNet示例中对应的反向时间为单张图像2.4 ms,全卷积10 × 10输出映射37 ms,导致类似于正向传递的加速。这种密集的反向传播如图1所示。

3.2Shift-and-stitch is filter rarefaction
输入移位和输出交错是OverFeat引入的一种技巧,可以在没有插值的情况下从粗输出中产生密集预测。如果输出按f的系数下采样,则输入(通过左和上填充)向右移动 x x x个像素,向下移动y个像素,对于每个 ( x , y ) ∈ { 0 , … , f − 1 } × { 0 , … , f − 1 } (x, y)∈\{0,…, f−1\}×\{0,…, f−1\} (x,y)∈{0,…,f−1}×{0,…,f−1} 这 f 2 f^2 f2个输入都通过convnet运行,输出是交错的,这样预测就与它们的接受域中心的像素相对应
只改变滤波器和convnet的层步长可以产生与这种移位和缝合技巧相同的输出。考虑一个输入步长为 s s s的层(卷积或池化),以及一个过滤器权重为 f i j f_{ij} fij的卷积层。将下层的输入步幅设置为1,将其输出采样5倍,就像shift-and-stitch一样。然而,将原始滤波器与上采样输出进行卷积不会产生与技巧相同的结果,因为原始滤波器只看到其(现在上采样)输入的减少部分。为了重现这个技巧,将滤波放大为 f i j ′ = { f i / s , j / s if s divides both i and j ; 0 otherwise , \left.f_{ij}^{\prime}=\left\{\begin{array}{ll}f_{i/s,j/s} & \text{if }s\text{ divides both }i\text{ and }j;\\ 0 & \text{otherwise},\end{array}\right.\right. fij′={fi/s,j/s0if s divides both i and j;otherwise,再现该技巧的完整净输出需要一层一层地重复这个滤波器放大,直到所有的子采样被移除。
在网络中简单地减少子采样是一种权衡:过滤器可以看到更精细的信息,但接受野更小,计算时间更长。我们已经看到,移位和缝合技巧是另一种权衡:在不减少过滤器的接受野大小的情况下,输出变得更密集,但过滤器被禁止以比原始设计更精细的规模访问信息。
33 上采样后向卷积
从某种意义上说,因子 f f f的上采样是与 1 / f 1/f 1/f的分数阶输入步长的卷积。只要 f f f是积分的,那么上采样的自然方法就是输出步长为 f f f的反卷积。因此,通过像素损失的反向传播,在网络中进行端到端学习的上采样。
3.4. Patchwise training is loss sampling
在随机优化中,梯度计算是由训练分布驱动的。拼接训练和全卷积训练都可以产生任何分布,尽管它们的相对计算效率取决于重叠和小批量大小。==全图像全卷积训练与patch - wise训练相同,其中每批训练由图像(或图像集合)损失以下的单元的所有接受域野组成。==虽然这比对补丁进行统一采样更有效,但它减少了可能批次的数量。然而,图像中随机选择的补丁可以简单地恢复。将损失限制为其空间项的随机抽样子集(或者,等效地在输出和损失之间应用将补丁从梯度计算中排除
如果保留的patch仍然有明显的重叠,全卷积计算仍然会加快训练速度。如果梯度累积在多个反向通道上,批次可以包括来自多个图像的补丁patch - wise训练中的采样可以纠正类不平衡,减轻密集patch的空间相关性。在全卷积训练中,也可以通过加权损失来实现类平衡,并且可以使用损失采样来解决空间相关性
4 论文实验
4.1 FCN
定义了一种新的全卷积网络(FCN)用于分割,它结合了特征层次结构的层并改进了输出的空间精度。参见图3。
相关文章:
Fully Convolutional Networks for Semantic Segmentation--论文笔记
论文笔记 资料 1.代码地址 2.论文地址 https://arxiv.org/abs/1411.4038 3.数据集地址 论文摘要的翻译 卷积网络是强大的视觉模型,可以产生特征层次结构。我们表明,卷积网络本身,经过端到端,像素对像素的训练,在…...
Camworks编程怎么样:深度解析其四大特点、五大应用领域、六大优势与七大挑战
Camworks编程怎么样:深度解析其四大特点、五大应用领域、六大优势与七大挑战 Camworks编程,作为计算机辅助制造(CAM)领域的一款重要软件,近年来在制造业中得到了广泛的应用。那么,Camworks编程究竟怎么样呢…...
【Linux】操作系统之冯诺依曼体系
🎉博主首页: 有趣的中国人 🎉专栏首页: Linux 🎉其它专栏: C初阶 | C进阶 | 初阶数据结构 小伙伴们大家好,本片文章将会讲解 操作系统中 冯诺依曼体系 的相关内容。 如果看到最后您觉得这篇文…...
c++ QT 实现QMediaPlayer播放音频显示音频级别指示器
文章目录 效果图概述代码总结 效果图 概述 QMediaPlayer就不介绍了,就提供了一个用于播放音频和视频的媒体播放器 QAudioProbe 它提供了一个探针,用于监控音频流。当音频流被捕获或播放时,QAudioProbe 可以接收到音频数据。这个类在需要访问…...
失之毫厘差之千里之load和loads
起源 最近在读pandas库的一些文档的时候,顺便也会将文档上的一些demo在编辑器中进行运行测试,其中在读到pandas处理Json数据这一节的时候,我还是像往常一样,将文档提供的demo写一遍,结果在运行的时候,直接…...
element ui在移动端的适配问题
element ui在移动端的适配问题 问题1: 给el-table表头添加背景色,使用以下代码 :header-row-style“{ background: ‘linear-gradient(90deg, #0079FA 0%, #00C7DD 100%)’ }” 在安卓手机上显示正常,在ios手机上显示背景色添加到每一个th中…...
堆排序详细理解
目录 一、前备知识 二、建堆 2.2.1 向上调整算法建堆 2.2.2 向下调整算法建堆 三、排序 3.1 常见问题 3.2 思路 3.3 源码 一、前备知识 详细图解请点击:二叉树的顺序实现-堆-CSDN博客 本文只附上向上/向下调整算法的源码 //交换 void Swap(int* p, int* …...
RK3588+FPGA+AI高性能边缘计算盒子,应用于视频分析、图像视觉等
搭载RK3588(四核 A76四核 A55),CPU主频高达 2.4GHz ,提供1MB L2 Cache 和 3MB L3 ,Cache提供更强的 CPU运算能力,具备6T AI算力,可扩展至38T算力。 产品规格 系统主控CPURK3588,四核…...
07-操作元素(键盘和鼠标事件)
在前面的文章中重点介绍了一些元素的定位方法,定位到元素后,就需要操作元素了。本篇总结了web页面常用的一些操作元素方法,可以统称为行为事件。 一、简单操作 点击按钮(鼠标左键):click()清空输入框&…...
3389,为了保障3389端口的安全,我们可以采取的措施
3389端口,作为远程桌面协议(RDP)的默认端口,广泛应用于Windows操作系统中,以实现远程管理和控制功能。然而,正因为其广泛使用,3389端口也成为许多潜在安全威胁的入口。因此,确保3389…...
Java集合【超详细】2 -- Map、可变参数、Collections类
文章目录 一、Map集合1.1 Map集合概述和特点【理解】1.2 Map集合的基本功能【应用】1.3 Map集合的获取功能【应用】1.4 Map集合的两种遍历方式 二、HashMap集合2.1 HashMap集合概述和特点【理解】2.2 HashMap的组成、构造函数2.3 put、查找方法2.4 HashMap集合应用案例【应用】…...
最佳 Mac 数据恢复:恢复 Mac 上已删除的文件
尝试过许多 Mac 数据恢复工具,但发现没有一款能达到宣传的效果?我们重点介绍最好的 Mac 数据恢复软件 没有 Mac 用户愿意担心数据丢失,但您永远不知道什么时候会发生这种情况。无论是意外删除 Mac 上的重要文件、不小心弄湿了 Mac、感染病毒…...
芋道系统,springboot+vue3+mysql实现地址的存储与显示
1.效果图 2.前端实现: <el-form-item label"地址" prop"entrepriseAddress"><el-cascaderv-model"formData.entrepriseAddress"size"large":options"region"/></el-form-item> //导入组件 im…...
【C++】C++11新特性:列表初始化、声明、新容器、右值引用、万能引用和完美转发
目录 一、列表初始化 1.1 { } 初始化 1.2 std::initializer_list 二、声明 2.1 auto 2.2 decltype 2.3 nullptr 三、新容器 四、右值引用和移动语义 4.1 左值和左值引用 4.2 右值和右值引用 4.3 左值引用与右值引用比较 4.4 右值引用使用场景和意义:移…...
【IB Protocal Serial--WQE】
IB Protocal Serial--WQE 1 Intro1.1 What1.2 IBA WQE 本系列文章介绍RDMA技术的具体实现–InfiniBand Protocal; Introduce the features, capalities,components, and elements of IBA. the principles of operation. 1 Intro 1.1 What 理解IB协议下面这三句话对…...
C++ 混合运算的类型转换
一 混合运算和隐式转换 257 整型2 浮点5 行吗?成吗?中不中? C 中允许相关的数据类型进行混合运算。 相关类型。 尽管在程序中的数据类型不同,但逻辑上进行这种运算是合理的相关类型在混合运算时会自动进行类型转换,再…...
线性时间选择
给定线性序集中n个元素和一个整数k,1≤k≤n,要求找出这n个元素中第k小的元素 #include<iostream> #include<cstdlib> #include<time.h> using namespace std; int a[100]; int Random(int left,int right) {srand(time(NULL));return …...
【对算法期中卷子的解析和反思】
一、程序阅读并回答问题(共30分) #include<cstdio>#include<cstring>#include<iostream>using namespace std;char chess[10][10];int sign[10];int n, k, ans;void dfs(int x, int k) { if (k 0){ans;return; } if (xk-1 >…...
sudo apt update sudo: apt: command not found
CentOS或RHEL(Red Hat Enterprise Linux)系统上,包管理器是yum或dnf,而不是apt。您可以使用yum或dnf来安装软件包。以下是如何在CentOS或RHEL上安装Git的详细步骤: 1. 使用yum安装Git 首先,更新软件包列表&…...
ios:文本框默认的copy、past改成中文复制粘贴
问题 ios 开发,对于输入框的一些默认文案展示,如复制粘贴是英文的,那么如何改为中文的呢 解决 按照路径找到这个文件 ios/项目/Info.plist,增加 <key>CFBundleAllowMixedLocalizations</key> <true/> <…...
SpringBoot-17-MyBatis动态SQL标签之常用标签
文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...
K8S认证|CKS题库+答案| 11. AppArmor
目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作: 1)、切换集群 2)、切换节点 3)、切换到 apparmor 的目录 4)、执行 apparmor 策略模块 5)、修改 pod 文件 6)、…...
Qt Http Server模块功能及架构
Qt Http Server 是 Qt 6.0 中引入的一个新模块,它提供了一个轻量级的 HTTP 服务器实现,主要用于构建基于 HTTP 的应用程序和服务。 功能介绍: 主要功能 HTTP服务器功能: 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...
土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等
🔍 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术,可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势,还能有效评价重大生态工程…...
给网站添加live2d看板娘
给网站添加live2d看板娘 参考文献: stevenjoezhang/live2d-widget: 把萌萌哒的看板娘抱回家 (ノ≧∇≦)ノ | Live2D widget for web platformEikanya/Live2d-model: Live2d model collectionzenghongtu/live2d-model-assets 前言 网站环境如下,文章也主…...
stm32wle5 lpuart DMA数据不接收
配置波特率9600时,需要使用外部低速晶振...
【UE5 C++】通过文件对话框获取选择文件的路径
目录 效果 步骤 源码 效果 步骤 1. 在“xxx.Build.cs”中添加需要使用的模块 ,这里主要使用“DesktopPlatform”模块 2. 添加后闭UE编辑器,右键点击 .uproject 文件,选择 "Generate Visual Studio project files",重…...
基于江科大stm32屏幕驱动,实现OLED多级菜单(动画效果),结构体链表实现(独创源码)
引言 在嵌入式系统中,用户界面的设计往往直接影响到用户体验。本文将以STM32微控制器和OLED显示屏为例,介绍如何实现一个多级菜单系统。该系统支持用户通过按键导航菜单,执行相应操作,并提供平滑的滚动动画效果。 本文设计了一个…...
鸿蒙HarmonyOS 5军旗小游戏实现指南
1. 项目概述 本军旗小游戏基于鸿蒙HarmonyOS 5开发,采用DevEco Studio实现,包含完整的游戏逻辑和UI界面。 2. 项目结构 /src/main/java/com/example/militarychess/├── MainAbilitySlice.java // 主界面├── GameView.java // 游戏核…...
shell脚本质数判断
shell脚本质数判断 shell输入一个正整数,判断是否为质数(素数)shell求1-100内的质数shell求给定数组输出其中的质数 shell输入一个正整数,判断是否为质数(素数) 思路: 1:1 2:1 2 3:1 2 3 4:1 2 3 4 5:1 2 3 4 5-------> 3:2 4:2 3 5:2 3…...
