【计算机视觉 | 语义分割】干货:语义分割常见算法介绍合集(一)

news2025/3/10 21:33:08

文章目录

    • 一、U-Net
    • 二、Fully Convolutional Network
    • 三、SegNet
    • 四、DeepLab
    • 五、DeepLabv3
    • 六、UNet++
    • 七、PSPNet
    • 八、EfficientDet
    • 九、SegFormer
    • 十、ENet

一、U-Net

U-Net 是一种语义分割架构。 它由收缩路径和扩张路径组成。 收缩路径遵循卷积网络的典型架构。 它由两个 3x3 卷积(未填充卷积)的重复应用组成,每个卷积后跟一个修正线性单元 (ReLU) 和一个步长为 2 的 2x2 最大池化操作,用于下采样。 在每个下采样步骤中,我们将特征通道的数量加倍。 扩展路径中的每一步都包含对特征图进行上采样,然后进行 2x2 卷积(“上卷积”),将特征通道数量减半,与收缩路径中相应裁剪的特征图进行串联,以及两个 3x3 卷积,每个卷积后跟一个 ReLU。 由于每次卷积都会丢失边界像素,因此需要进行裁剪。 在最后一层,使用 1x1 卷积将每个 64 分量特征向量映射到所需数量的类。 该网络总共有 23 个卷积层。

在这里插入图片描述

二、Fully Convolutional Network

全卷积网络(FCN)是一种主要用于语义分割的架构。 它们仅采用局部连接层,例如卷积、池化和上采样。 避免使用密集层意味着更少的参数(使网络训练速度更快)。 这也意味着 FCN 可以处理可变的图像尺寸,因为所有连接都是本地的。

该网络由用于提取和解释上下文的下采样路径和允许本地化的上采样路径组成。

FCN 还采用跳跃连接来恢复在下采样路径中丢失的细粒度空间信息。

在这里插入图片描述

三、SegNet

SegNet 是一种语义分割模型。 该核心可训练分割架构由编码器网络、相应的解码器网络和像素级分类层组成。 编码器网络的架构在拓扑上与 VGG16 网络中的 13 个卷积层相同。 解码器网络的作用是将低分辨率编码器特征图映射到全输入分辨率特征图以进行像素级分类。 SegNet 的新颖之处在于解码器对其较低分辨率输入特征图进行上采样的方式。 具体来说,解码器使用在相应编码器的最大池步骤中计算的池索引来执行非线性上采样。

在这里插入图片描述

四、DeepLab

DeepLab 是一种语义分割架构。 首先,输入图像使用扩张卷积通过网络。 然后对网络的输出进行双线性插值,并通过全连接的CRF对结果进行微调,得到最终的预测。

在这里插入图片描述

五、DeepLabv3

DeepLabv3 是一种语义分割架构,它在 DeepLabv2 的基础上进行了一些修改。 为了处理多尺度的对象分割问题,设计了采用级联或并行的空洞卷积的模块,通过采用多种空洞率来捕获多尺度上下文。 此外,DeepLabv2 的 Atrous Spatial Pyramid Pooling 模块增强了编码全局上下文的图像级特征,并进一步提高了性能。

ASSP 模块的变化是,作者在模型的最后一个特征图上应用全局平均池化,将生成的图像级特征输入到具有 256 个滤波器(和批量归一化)的 1 × 1 卷积,然后对 特征到所需的空间维度。 最后,改进的 ASPP 由 (a) 一个 1×1 卷积和三个 3 × 3 卷积组成,当输出步长 = 16 时,速率 = (6, 12, 18)(全部具有 256 个滤波器和批量归一化),以及 ( b) 图像级特征。

另一个有趣的区别是不再需要 DeepLabv2 的 DenseCRF 后处理。

在这里插入图片描述

六、UNet++

UNet++是一种基于U-Net的语义分割架构。 通过使用密集连接的嵌套解码器子网络,它增强了提取的特征处理,据作者报道,它在电子显微镜 (EM)、细胞、细胞核、脑肿瘤、肝脏和肺结节医学图像分割方面优于 U-Net 任务。

在这里插入图片描述

七、PSPNet

PSPNet(即金字塔场景解析网络)是一种语义分割模型,它利用金字塔解析模块,通过基于不同区域的上下文聚合来利用全局上下文信息。 局部和全局线索共同使最终的预测更加可靠。 我们还提出了一个优化方案

给定输入图像,PSPNet 使用预训练的 CNN 和扩张网络策略来提取特征图。 最终的特征图大小为
1/8 输入图像的。 在地图顶部,我们使用金字塔池模块来收集上下文信息。 使用我们的 4 级金字塔,池化内核覆盖图像的整个、一半和一小部分。 它们被融合为全局先验。 然后我们在最后部分将先验与原始特征图连接起来。 接下来是卷积层以生成最终的预测图。

在这里插入图片描述

八、EfficientDet

EfficientDet 是一种对象检测模型,它利用多种优化和主干调整,例如使用 BiFPN,以及统一缩放所有主干、特征网络和框/类预测的分辨率、深度和宽度的复合缩放方法 同时网络。

在这里插入图片描述

九、SegFormer

SegFormer 是一个基于 Transformer 的语义分割框架,它将 Transformer 与轻量级多层感知器 (MLP) 解码器结合在一起。 SegFormer 有两个吸引人的功能:1)SegFormer 包含一个新颖的分层结构 Transformer 编码器,可输出多尺度特征。 它不需要位置编码,从而避免了位置代码的插值,当测试分辨率与训练分辨率不同时,位置代码的插值会导致性能下降。 2)SegFormer避免了复杂的解码器。 所提出的 MLP 解码器聚合来自不同层的信息,从而结合局部注意力和全局注意力来呈现强大的表示。

在这里插入图片描述

十、ENet

ENet 是一种语义分割架构,采用紧凑的编码器-解码器架构。 一些设计选择包括:

使用 SegNet 方法对 y 进行下采样,保存最大池化层中选择的元素索引,并使用它们在解码器中生成稀疏上采样映射。
早期下采样可优化网络的早期阶段并降低处理大型输入帧的成本。 ENet 的前两个块大大减少了输入大小,并且仅使用一小组特征图。
使用 PReLU 作为激活函数
使用扩张卷积
使用空间丢失

在这里插入图片描述

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

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

相关文章

基于SSM的学生信息管理系统设计与实现

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用JSP技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…

Python 图形化界面基础篇:使用包装器( Pack )布局元素

Python 图形化界面基础篇:使用包装器( Pack )布局元素 引言什么是 Tkinter 的 Pack 布局?步骤1:导入 Tkinter 模块步骤2:创建 Tkinter 窗口步骤3:创建和使用 Pack 布局步骤4: Pack 布…

Android codec2 编码 -- 基于录屏

文章目录 前言android 原生的应用srcreenrecordMediaCodec获取编码数据流程 前言 本篇文章主要是理解Android 12编码的流程, 首先从上层的应用出发理解mediacodec提供给外部API的用法。然后针对每个api 分析编码各个流程中框架中的流程。 熟悉一个框架的流程 可以…

嵌入式这个领域会变得过于内卷吗?

今日话题,嵌入式这个领域会变得过于内卷吗?嵌入式开发主要服务于第二产业,尤其是制造业,包括电器、电气、机械、汽车、装备、航空航天等行业的“智能制造”部门,稳定性较强,不像互联网行业那样波动大。因此…

【LangChain系列 8】Prompt模版——少样本prompt模版(二)

原文地址:【LangChain系列 8】Prompt模版——少样本prompt模版(二) 本文速读: 固定少样本prompt模版 动态少样本prompt模版 在上篇文章中介绍了少样本模版的基本用法,本文将介绍 对话模型(chat model) 中 少样本prompt模版的用法。 LangCh…

C语言双向链表

文章目录 前言双向链表链表头结点的创建节点尾插与尾删节点头插与头删特定位置插入或删除节点链表节点查找双向链表的销毁 链表的打印 前言 假期时间因为为学校开学考试做准备所以一直没更新博客,今天开始博客会陆续更新。 双向链表 之前我们说过了顺序表和单链表…

加密狗软件有什么作用?

加密狗软件是一种用于加密和保护计算机软件和数据的安全设备。它通常是一个硬件设备,可以通过USB接口连接到计算机上。加密狗软件的作用主要体现在以下几个方面: 软件保护:加密狗软件可以对软件进行加密和授权,防止未经授权的用户…

K8S:kubectl陈述式、声明式资源管理及金丝雀部署

文章目录 一.陈述式资源管理方法1.陈述式资源管理概念2.基本信息查看(1)查看版本信息(2)查看资源对象简写(3)查看集群信息(4)配置kubectl自动补全(5)node节点…

【Java实战项目】【超详细过程】—大饼的图片服务器4

目录 1.引入servlet依赖2.处理客户端请求2.1 上传图片2.1.1.获取图片属性写入数据库(1)创建factory对象和fileUpload对象为获取图片信息做准备(2)将获取到的文件信息存到列表items中(3)获取列表items中第一…

无涯教程-JavaScript - XNPV函数

描述 XNPV函数返回的现金Stream量表的净现值不一定是周期性的。要计算一系列定期现金Stream量的净现值,请使用NPV函数。 语法 XNPV (rate, values, dates)争论 Argument描述Required/OptionalRateThe discount rate to apply to the cash flows.RequiredValues 与日期付款时…

(已解决)AttributeError: module ‘cv2.gapi.wip.draw‘ has no attribute ‘Text‘

问题描述 今天再跑Caption-Anything项目的时候,最开始的时候就报了这样一个错误:AttributeError: module cv2.gapi.wip.draw has no attribute Text。 Caption-Anything是一种多功能的图像处理工具,结合了Segment Anything,Visual…

前端项目开发流程

一 参加需求对称(评审)会议 时间:在产品设计完成以后,进入正式的开发流程之前 组织者:产品&项目经理 目的:统一大家对产品的认识,及时发现产品设计缺陷,尽可能降低后续修改需求的频率 参与者&#xff…

短信验证码的登录注册功能

1 基于session实现登录流程 1.1发送验证码: 用户在提交手机号后,会校验手机号是否合法,如果不合法,则要求用户重新输入手机 如果手机号合法,后台此时生成对应的验证码,同时将验证码进行保存,然…

【计算机视觉 | 目标检测】干货:目标检测常见算法介绍合集(二)

文章目录 十六、EfficientDet十七、Deformable DETR十八、YOLOX十九、Sparse R-CNN二十、Contour Proposal Network二十一、VarifocalNet二十二、Libra R-CNN二十三、Stand-Alone Self Attention二十四、ThunderNet二十五、Hierarchical Transferability Calibration Network二…

垃圾收集算法

1.如何判断对象是否存活? 1.1引用计数算法 基本思路: 在对象中添加一个引用计数器每当有一个地方引用它的时候,计数器就加1每当有一个引用失效的时候,计数器就减-1当计数器的值为0的时候,那么该对象就是可被GC回收的…

leetcode 2366. Minimum Replacements to Sort the Array(数组排序的最少替换数)

数组nums中的元素nums[ i ] 可以替换为任意两个数a, b, 前提是ab nums[ i ]. 把数组nums变为升序&#xff08;可以有相等&#xff09;数组需要多少次替换。 思路&#xff1a; 排序数组是左边的元素<右边元素&#xff0c;以右边元素为边界。 所以从右到左遍历数组&#xf…

第二章 网络应用

第一节 计算机网络应用体系结构 三种类型&#xff1a; 1. 客户/服务器&#xff08;c/s&#xff09;结构 最主要的特征是通信只在客户与服务器之间进行&#xff0c;客户与客户之间不进行直接通信。 2. P2P(Peer to Peer) 结构 每个对等端都同时具备C/S应用的客户与服务器的…

Python算法练习 9.12

leetcode 643 子数组最大平均数 给你一个由 n 个元素组成的整数数组 nums 和一个整数 k 。 请你找出平均数最大且 长度为 k 的连续子数组&#xff0c;并输出该最大平均数。 任何误差小于 10-5 的答案都将被视为正确答案 输入&#xff1a;nums [1,12,-5,-6,50,3], k 4 输出…

buuctf web [极客大挑战 2019]Secret File

纯网页&#xff0c;看一下源码。 这一块源码中有个隐藏的超链接&#xff0c;点击后跳转到了新页面。 新页面的源码里&#xff0c;也有一处可以跳转的超链接。 点进新页面啥也没有了。 单看网页&#xff0c;什么也没有&#xff0c;尝试用burp抓包试试。 在/Archive_room.php跳…

循环语句详解

文章目录 循环语句详解1. 循环使用 v-for 指令2. v-for 还支持一个可选的第二个参数&#xff0c;参数值为当前项的索引3. 模板template 中使用 v-for4. v-for 迭代对象-第一个参数为value5. v-for的第二个参数为键名6. v-for的第三个参数为索引7. v-for迭代整数8. computed计算…