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

news2024/11/26 4:31:40

全卷积神经网络FCN整体概述

FCN是首个端对端针对像素级预测的全卷积网络。FCN会用到分类网络作为backbone
FCN的网络结构类比分类网络

分类网络经过卷积操作后,接全连接层,最后一个全连接层输出长度与分类类别数量相同,最后经过softmax得到术语每个类别的概率。

对于FCN网络,特征提取会用到分类网络作为backbone。类比分类网络,FCN-s32经过一系列卷积操作(下采样)获取特征层,卷积最终输出特征层与语义分割类别数num_cls相等(包含背景),再通过convTranspose反卷积(上采样),得到与原图相同大小的特征图,通道数与num_cls相等。特征图上的每一个像素点在channel维度上对应channel个值,进过softmax得到每一个像素点在所有类别上的概率值,取概率最大值作为该像素点的预测类别。


FCN网络结构

以VGG16为FCN的backbne
VGG16网络结构如下图所示:
VGG16网络结构图
FCN-8s和FCN-16s使用到第3个max pooling和第四个max pooling特征层,分别对应原始图片宽高的1/8和1/16
(理解FCN-8s最后特征层经过8倍上采样, FCN-16s最后特征层经过16倍上采样)

FCN-32S网络结构

FCN-32S网络结构
图片来自
https://www.bilibili.com/video/BV1J3411C7zd/?spm_id_from=333.788&vd_source=91cfed371d5491e2973d221d250b54ae*

如上图所示,在backbone特征提取模块使用是VGG16模型中全连接网络之前的所有卷积模块,FC6表示连接一个7×7卷积、激活函数和dropout,特征层大小不变;
FC7表示连接一个1×1卷积、激活函数和dropout,特征层大小不变;
再经过一个1×1卷积,不改变特征层大小,将channel数量转换为与num_cls相同;
经过反卷积(上采样),将特征图上采样32倍得到与原始图片相同大小的特征层;
(如果训练过称重反卷积参数冻结,等于对特征图做双线性插值处理)
得到语义分割结果

FCN-16S网络结构

FCN-16S网络结构
图片来自
https://www.bilibili.com/video/BV1J3411C7zd/?spm_id_from=333.788&vd_source=91cfed371d5491e2973d221d250b54ae*

FCN-16s在反卷积结果中融合了backbone中的特征层。
使用VGG16第四个池化后的特征层(原始图像宽高1/16)进过一次1×1卷积将channel数转化为num_cls,
与两倍上采样后的卷积结果相加(特诊层对应位置像素值相加操作),
融合后的结果进行反卷积(16倍上采样),
输出特征层,得到语义分割结果。

FCN-8S网络结构

FCN-8S网络结构
FCN-8s在反卷积结果中融合了backbone中的特征层。
使用VGG16第四个池化后的特征层(原始图像宽高1/16)进行一次1×1卷积将channel数转化为num_cls,
与两倍上采样后的卷积结果相加(特征层对应位置像素值相加操作),
将结果再次两倍上采样,再与VGG16第三个池化后的特征层(原始图像宽高1/8)进行一次1×1卷积将chnnel数量转化为num_cls相加(特征层对应位置像素值相加操作),
融合后的结果进行反卷积(8倍上采样),
输出特征层,得到语义分割结果。

在这里插入图片描述

以上为全卷积神经网络FCN网络结构笔记


感谢:
https://www.bilibili.com/video/BV1J3411C7zd/?spm_id_from=333.788&vd_source=91cfed371d5491e2973d221d250b54ae

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

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

相关文章

【机器视觉技术栈】03 - 镜头

镜头 定焦镜头变焦镜头远心镜头 FA镜头与远心镜头的区别? 焦距越小畸变程度越大,精度要求不高的场景可以使用焦距大的FA镜头做尺寸测量,但焦距越大带来的问题就是整个机械设备越大。精度高的场景使用远心镜头进行尺寸测量。 光学基础知识…

flex 布局防止元素被挤换行

刚开始是这样的代码&#xff1a; <div class"flex"><span>选择模型&#xff1a;</span><n-select :options"state.chatModelOptions" /> </div>选择模型换行了…不行&#xff0c;这个效果不行&#xff0c;修改后&#xff1…

深度学习——第3章 Python程序设计语言(3.4 Python自定义函数)

3.4 Python自定义函数 目录 1. 函数基础知识 2. 函数的定义&#xff08;声明&#xff09;和调用 3. 函数参数传递 4. 函数的返回值 5. lambda函数 随着学习的日渐深入&#xff0c;编写的代码将会越来越复杂&#xff0c;所以我们需要找一种方法对这些复杂的代码进行分解、重…

Superset基础入门

1 Superset概述 Apache Superset 是一个现代的数据探索和可视化平台。它功能强大且十分易用&#xff0c;可对接 各种数据源&#xff0c;包括很多现代的大数据分析引擎&#xff0c;拥有丰富的图表展示形式&#xff0c;并且支持自定义 仪表盘。 2 Superset安装 Superset 是由 P…

Hadoop学习笔记(HDP)-Part.12 安装HDFS

目录 Part.01 关于HDP Part.02 核心组件原理 Part.03 资源规划 Part.04 基础环境配置 Part.05 Yum源配置 Part.06 安装OracleJDK Part.07 安装MySQL Part.08 部署Ambari集群 Part.09 安装OpenLDAP Part.10 创建集群 Part.11 安装Kerberos Part.12 安装HDFS Part.13 安装Ranger …

springboot监听器模式源码精讲

1.前言 很多时候我们看源码的时候看不下去&#xff0c;其中一个原因是系统往往使用了许多设计模式&#xff0c;如果你不清楚这些设计模式&#xff0c;这无疑增加了你阅读源码的难度。 springboot中就大量使用了设计模式&#xff0c;本文主要介绍其中的一种监听器模式&#xf…

mybatis 的快速入门以及基于spring boot整合mybatis

MyBatis基础 MyBatis是一款非常优秀的持久层框架&#xff0c;用于简化JDBC的开发 准备工作&#xff1a; 1&#xff0c;创建sprong boot工程&#xff0c;引入mybatis相关依赖2&#xff0c;准备数据库表User&#xff0c;实体类User3&#xff0c; 配置MyBatis&#xff08;在applic…

流媒体方案之FFmpeg——实现物联网视频监控项目

目录 前言 一、FFmpeg介绍 二、FFmpeg简易理解 三、FFmpeg的重要概念 四、软硬件准备 五、移植、运行FFmpeg 六、运行FFmpeg 前言 最近想做一个安防相关的项目&#xff0c;所以跟着韦东山老师的视频来学习视频监控方案的相关知识&#xff0c;韦东山老师讲的课非常好&…

消息中间件之间的区别

一.单机吞吐量 ActiveMQ&#xff1a;万级&#xff0c;吞吐量比RocketMQ和Kafka要低了一个数量级 RabbitMQ&#xff1a;万级&#xff0c;吞吐量比RocketMQ和Kafka要低了一个数量级 RocketMQ&#xff1a;10万级&#xff0c;RocketMQ也是可以支撑高吞吐的一种MQ Kafka&#xff…

当发送“Hello,World”时,channel发生了什么?

一、Netty概述 1.Netty是什么&#xff1f; Netty 是一个异步的、基于事件驱动的网络应用框架&#xff0c;用于快速开发可维护、高性能的网络服务器和客户端。 2.Netty的地位怎么样&#xff1f; Netty 在 Java 网络应用框架中的地位就好比&#xff1a;Spring 框架在 JavaEE …

5个超实用GPT技巧,包括绩效总结、头脑风暴、营销策略等(内附提示词)

今天和大家分享5个用于工作上的GPT技巧&#xff0c;例如进行绩效总结、自我评估、头脑风暴&#xff0c;还是制作PPT方案等等&#xff0c;最大化提升你工作效率&#xff0c;本期内容对于大家来说都非常受用&#xff0c;记得收藏起来哦&#xff01; 那么接下来就直接进入正题吧&a…

力扣题:字符的统计-12.5

力扣题-12.5 [力扣刷题攻略] Re&#xff1a;从零开始的力扣刷题生活 力扣题1&#xff1a;551. 学生出勤记录 I 解题思想&#xff1a;进行字符的统计即可 class Solution(object):def checkRecord(self, s):""":type s: str:rtype: bool"""fla…

网工内推 | 上市公司初级网工,HCIP认证优先,14薪,享企业年金

01 易佰网络 招聘岗位&#xff1a;初级网络工程师 职责描述&#xff1a; 1.电脑周边设备&#xff08;打印机、扫描仪、传真机、复印机、投影仪等&#xff09;安装与维护&#xff1b; 2.局域网维护&#xff1b;无线网WLAN维护&#xff1b;监控系统维护&#xff1b; 3.固资维护管…

如何使用 Docker 安装 Node-RED

安装 Node-RED 使用 Docker 是一种简便的方式&#xff0c;以下是基本的步骤&#xff1a; 安装 Docker&#xff1a; 确保已在系统上安装 Docker。可从 Docker 官方网站 或 Windows Docker 安装教程 获取安装指南。 拉取运行 Node-RED 镜像&#xff1a; 打开终端或命令行界面&am…

【MySQL】基本安装配置

1 基础知识 1.1 MySQL安装 下载地址&#xff1a;https://dev.mysql.com/downloads/mysql/ 1.1.1 安装过程 配置环境变量&#xff08;和配置Java8的环境变量如出一辙&#xff09;在MySQL解压文件夹下&#xff0c;导入my.ini文件&#xff0c;与bin目录同级&#xff0c;具体文…

关于inline函数声明和定义为什么不可以分离

个人主页&#xff1a;Lei宝啊 愿所有美好如期而遇 前言 inline函数在使用时声明和定义不可以分离&#xff0c;接下来我们将会解释为什么是这样的。 我们从程序的编译链接说起。 首先我们先介绍一下程序的翻译环境&#xff1a; 编译分以下几个步骤&#xff0c;预处理&#x…

sort by modulus of a complex number

描述 复数E包含实部x和虚部y, Exyi;E的模为: 输入n(<1000)和n对(x,y); 按模数升序对复合体进行排序&#xff0c;如果模数相等&#xff0c;则按输入顺序排序。 排序后输出n行of (x_i,y_i,mod_i)&#xff0c;保留2个十进制小数。 输入 输入n和n对(x,y); 输出 输出排序后的n行(…

Android : AndroidStudio开发工具优化

1.开启 gradle 单独的守护进程 Windows: 进入目录 C:\Users\Administrator\.gradle 创建文件&#xff1a; gradle.properties # Project-wide Gradle settings. # IDE (e.g. Android Studio) users: # Settings specified in this file will override any Gradle s…

在python的Scikit-learn库中,可以使用train_test_split函数来划分训练集和测试集。

文章目录 一、在Scikit-learn库中&#xff0c;可以使用train_test_split函数来划分训练集和测试集总结 一、在Scikit-learn库中&#xff0c;可以使用train_test_split函数来划分训练集和测试集 在Scikit-learn库中&#xff0c;可以使用train_test_split函数来划分训练集和测试…

深度观察|近视防控乱象下,角膜塑形镜撬动百亿市场的背后…

前不久&#xff0c;“晒眼皮”莫名上了热搜。顾名思义&#xff0c;就是在太阳底下闭眼&#xff0c;让眼皮享受日光浴。 不少近视患者相信&#xff0c;这种做法可以延缓近视&#xff0c;甚至可以让近视度数“清零”。毫无疑问&#xff0c;这是一个收割智商税的做法&#xff0c;…