计算机视觉-语义分割: FCN DeepLab Unet

news2025/1/1 12:10:18

文章目录

  • 1. 概要
    • 1.1 什么是语义分割
    • 1.2 语义分割作用
    • 1.3 全卷积网络
    • 1.4 反卷积
    • 1.5 上采样三种方式
    • 1.6 跳层结构 Skip Layer
  • 2. FCN架构
  • 3. DeepLab-v1
    • 3.1 改进点
    • 3.2 空洞卷积(Atrous/Dilated convolution)
  • 4. U-Net
  • 参考

1. 概要

1.1 什么是语义分割

从像素水平上理解、识别图片内容,根据语义信息分割。如下图所示,输入为一张图片,输出像素水平的分割标记,每个像素会被识别为一个类别
在这里插入图片描述

1.2 语义分割作用

  • 机器人视觉和场景理解
  • 辅助/自动驾驶
  • 医学X光

1.3 全卷积网络

  • 全卷积化
    • 将所有全连接层转换成卷积层
    • 适应任意尺寸输入,输出低分辨率分割图片
  • 反卷积(deconvolution)
    • 将低分辨率图片进行上采样,输出同分辨率分割图片
    • 跳层结构(skip layer)
      如下图所示,前面部分通过卷积,特征图尺寸越来越小,最后需要通过将小的特征图反卷积成和图片大小相同的尺寸,这样边界识别问题比较大。因此会将之前的特征图信息和当前最后特征图一起处理
      在这里插入图片描述

1.4 反卷积

反卷积(deconvolution)操作过程
(1) 外围全补零(Full Padding)

  • 输入 2 × 2 2 \times 2 2×2
  • 输出 4 × 4 4 \times 4 4×4
  • 参数设置:
    • 卷积核尺寸: 3 × 3 3 \times 3 3×3
    • 步长 1
    • padding: 2
      具体过程如下图所示
      在这里插入图片描述

(2) 插零分数步长反卷积

  • 输入: 3 × 3 3 \times 3 3×3
  • 输出: 5 × 5 5 \times 5 5×5
  • 卷积核尺寸: 3 × 3 3 \times 3 3×3
  • 步长:2
  • padding:1
    在这里插入图片描述

1.5 上采样三种方式

(1)双线性插值
已知 Q 11 ( x 1 , y 1 ) 、 Q 12 ( x 1 , y 2 ) 、 Q 21 ( x 2 , y 1 ) 、 Q 22 ( x 2 , y 2 ) Q_{11}(x_1,y_1)、Q_{12}(x_1,y_2)、Q_{21}(x_2,y_1)、Q_{22}(x_2,y_2) Q11(x1,y1)Q12(x1,y2)Q21(x2,y1)Q22(x2,y2),求其中点 P ( x , y ) P(x,y) P(x,y)的值,如下图所示
在这里插入图片描述
双线性插值是分别在两个方向计算了共3次单线性插值,如图所示,先在 x x x方向求2次单线性插值,获得 R 1 ( x , y 1 ) R_1(x, y_1) R1(x,y1) R 2 ( x , y 2 ) R_2(x, y_2) R2(x,y2)两个临时点,再在 y y y方向计算1次单线性插值得出 P ( x , y ) P(x, y) P(x,y)(实际上调换2次轴的方向先y后x也是一样的结果)
具体可以参考:一篇文章为你讲透双线性插值

双线性插值不需要学习,运行速度快,操作简单

(2)反卷积
为了还原原有特征图,类似消除原有卷积的某种效果,所以叫反卷积,具体参考上一章节

(3)反池化
在池化过程中记录下池化后元素在对应kernel中的坐标,作为反池化索引。

  • 记录池化的位置,形成池化索引
  • 将输入特征按记录位置摆放回去
    在这里插入图片描述
    反池化和反卷积的区别:
  • 最大区别在于反卷积过程是有参数要学习
  • 理论上只要卷积核参数设置合理,反卷积可以实现反池化
    在这里插入图片描述

1.6 跳层结构 Skip Layer

原因
直接用32倍反卷积得到的分割结果粗糙

FCN-跳层结构
如下图所示,
在这里插入图片描述

2. FCN架构

在这里插入图片描述
反卷积层:

  • 最后一层反卷积层固定为双线性插值,不做学习
  • 剩余反卷积层初始化为双线性插值,做学习

FCN性能
在这里插入图片描述
在这里插入图片描述

3. DeepLab-v1

3.1 改进点

  • 基本结构:优化后的CNN+传统的CRF图模型
  • 新的上采样卷积方案:带孔结构的空洞卷积(Atrous/Dilated convolution)
  • 边界分割优化:使用全连接条件随机场CRF进行迭代优化;CNN输出粗糙的分割结果,全连接CRF精化分割结果

3.2 空洞卷积(Atrous/Dilated convolution)

其计算卷积过程如下图所示
在这里插入图片描述
有一个rate参数,rate越大,感受野越大,注意:中间有多少空洞,外部就要进行等量的padding
在这里插入图片描述
传统卷积+池化与空洞卷积对比

在这里插入图片描述

4. U-Net

U-Net的整体结构如下图所示, U-Net是一种用于生物影像分割的深度学习模型,他是一个全卷积网络,输入输出都是图像,没有全连接层
在这里插入图片描述

TODO

参考

计算机视觉零基础入门

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

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

相关文章

微信小程序——Echarts使用(保姆式教程)

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…

从入门到精通!MATLAB基础教程及常用工具箱介绍

文章目录 基础介绍MATLAB窗口介绍MATLAB基本语法变量和数组控制流语句函数的定义和调用绘图MATLAB常用工具箱统计工具箱(Statistics Toolbox)控制系统工具箱(Control System Toolbox)信号处理工具箱(Signal Processing Toolbox&am…

搭建TiDB负载均衡环境-HAproxy+KeepAlived实践

作者: 我是咖啡哥 原文来源: https://tidb.net/blog/8e8cca1d 前言 HAProxy 提供 TCP 协议下的负载均衡能力,TiDB 客户端通过连接 HAProxy 提供的浮动 IP 即可对数据进行操作,实现 TiDB Server 层的负载均衡。同时&#xff0c…

SOFA Weekly|SOFARPC 5.10.1 版本发布、Layotto 社区会议回顾与预告、社区本周贡献

SOFA WEEKLY | 每周精选 筛选每周精华问答,同步开源进展 欢迎留言互动~ SOFAStack(Scalable Open Financial Architecture Stack)是蚂蚁集团自主研发的金融级云原生架构,包含了构建金融级云原生架构所需的各个组件&am…

pytorch搭建AlexNet网络实现花分类

pytorch搭建AlexNet网络实现花分类 一、AlexNet网络概述分析 二、数据集准备下载划分训练集和测试集 三、代码model.pytrain.pypredict.py 一、AlexNet网络 概述 使用Dropout的方式在网络正向传播过程中随机失活一部分神经元,以减少过拟合 分析 对其中的卷积层、…

SORT+yolov5多目标跟踪

SORT 是一种简单的在线实时多目标跟踪算法。要点为: (1)以 IoU 作为前后帧间目标关系度量指标; (2)利用卡尔曼滤波器预测当前位置; (3)通过匈牙利算法关联检测框到目标&a…

thingsboard安装使用教程

1、安装tb-postgres tb-postgres是ThingsBoard与PostgreSQL数据库的单实例。 拉取tb-postgres镜像 docker pull thingsboard/tb-postgres 创建tb-postgres容器 docker run -itd --name tb-postgres -p 9090:9090 -p 1883:1883 -p 5683:5683/udp -p 5685:5685/udp -p 5432:…

如何使用银行四要素API接口提高用户身份认证的安全性

银行四要素是指银行在开户、转账等行为中对客户身份的核实,包括姓名、身份证号、银行卡号和手机号码。为了满足客户实名认证的需求,我们开发了相应的API接口,方便第三方开发人员进行身份核实的操作。 API接口名称:银行四要素验证…

Grafana图表配置快速入门

1、Grafana图表配置快速入门 前面我们使用 Prometheus Grafana 实现了一个简单的 CPU 使用率变化图,但是这个图还有许多缺陷,例如: 左边栏的数值太小了无法调整,下面的图标信息无法定制化等等。 其实 Grafana 的功能是非常强大…

平面电磁波的反射与折射,极化滤波作用

目录 引言 反射定律和折射定律 反射系数和折射系数 平面电磁波在理想介质分界面上的全反射和全折射 全反射 全折射 极化滤波作用 平面电磁波在良导体上的反射与折射 引言 再复杂的电磁波我们都可以看作是很多平面电磁波的叠加 我们在前面介绍的时候,我们认…

【Android】使用Epoxy 注解处理器,自动生成大量的 Model 类,简化复杂的 RecyclerView 开发流程

Epoxy 是一个 Android 库,它可以帮助开发者更轻松地构建复杂的 RecyclerView。其中,ImageButtonModel_ 是 Epoxy 自动生成的一个 Model 类,用于表示一个带有图像的按钮。 下面是使用注解器自动生成代码截图: ImageButtonModel_…

《C++ Primer》--学习2

字符串,向量和数组 标准库类型 string 直接拷贝和拷贝初始化 如果使用等号()初始化一个变量,实际上执行的是拷贝初始化,编译器把等号右侧的初始值拷贝到新创建的对象中去。如果不使用等号,则执行的是直接…

css定位装饰

目录 1、垂直对齐方式 2、光标类型 3、边框圆角 4、overflow溢出部分显示效果 5、元素本身隐藏 6、案例 元素整体透明度 1、垂直对齐方式 浏览器在处理行内标签和行内块标签时,默认按照文字去解析。 浏览器文字类型元素排版中存在用于对齐的基线。 图片和文…

Spring Security --- Thymeleaf 中 Spring Security 的使用

目录 初步 获取属性 权限判断 初步 Spring Security可以在一些视图技术中进行控制显示效果例如:JSP或Thymeleaf在非前后端分离且使用Spring Boot的项目中多使用Thymeleaf作为视图展示技术Thymeleaf对Spring Security的支持都放在thymeleaf-extras-springsecurity…

gma 2.0.0a2 (2023.06.17) 更新日志

从本版本开始,gma 1.x 不再维护。一方面是由于精力和时间有限,另一方面由于 gma 2.x 与 1.x 相差巨大,同时维护两个相差巨大的版本较困难。   本版本 (gma 2.0.0a2)依旧为预览版,但内容已趋于稳定&#x…

2023年江西省赣州市职业院校技能大赛(中职组) 网络安全竞赛试题

2023年江西省赣州市职业院校技能大赛(中职组) 网络安全竞赛试题 三、竞赛任务书内容 (一)拓扑图 (二)A模块基础设施设置/安全加固(200分) 一、项目和任务描述: 假定你…

探索 StableDiffusion:生成高质量图片学习及应用

本文主要介绍了 StableDiffusion在图片生成上的内容,然后详细说明了StableDiffusion 的主要术语和参数,并探讨了如何使用 prompt 和高级技巧(如图像修复、训练自定义模型和图像编辑)来生成高质量的图片。 介绍StableDiffusion ▐ …

详解Python 使用 selenium 进行自动化测试或者协助日常工作

这篇文章主要介绍了Python 使用 selenium 进行自动化测试 或者协助日常工作,我们可以使用 selenium来帮助我们进行自动化的 Web 测试,也可以通过 selenium 操作浏览器做一些重复的,简单的事情,来减轻我们的工作 Python 使用 selenium 进行自动…

Debian 12 + NVIDIA驱动:给人工智能爱好者的安装指南

Debian 12是最新发布的Debian GNU/Linux发行版,代号为Bookworm。人工智能程序通常需要大量的计算资源,尤其是GPU,来加速训练和推理过程。为了让Debian 12系统能够正常渲染桌面,并充分利用Nvidia GPU的性能,我们需要安装…

【Dubbo】Dubbo源码环境与开发环境搭建

📫作者简介:小明java问道之路,2022年度博客之星全国TOP3,专注于后端、中间件、计算机底层、架构设计演进与稳定性建设优化,文章内容兼具广度、深度、大厂技术方案,对待技术喜欢推理加验证,就职于…