图像语义分割概述

2023-10-27

图像语义分割概述

一、图像语义分割概念

图像语义分割(Image Semantic Segmentation)是一项计算机视觉任务,其目标是将输入的图像分割成多个区域,并为每个像素分配一个语义类别标签,以表示该像素属于图像中的哪个物体或区域。与其他图像分割任务不同,图像语义分割不仅关注于分割图像,还要理解图像中不同部分的语义含义。

二、传统图像分割算法

2.1 基于阈值的分割方法

阈值法对于背景和目标拥有不同灰度的图像比较适用,它的基本思想是根据图像的灰度特征计算一个或多个灰度阈值,获取图片中所有像素的灰度值,与计算得到的阈值进行逐一比较,最后根据比较结果将像素划分为适当的类别。

阈值法中常用的方法有:固定阈值分割,直方图双峰法,迭代阈值图像分割,自适应阈值图像分割,最大类间方差法,均值法,最佳阈值。

2.2 基于边缘的分割方法

在图像中的两个不同区域中,一个区域到另一个区域会发生灰度和颜色的变化,即在两个区域的边缘发生突变。基于灰度值的边缘检测比较常用,它是一种基于观察的方法,不同区域的边缘的灰度值将显示阶跃或屋顶变化。如果通过傅里叶变换将图像从空间域变换到频域,则边缘对应于高频部分。
微分算子法是最常见的边缘检测算法,它利用一阶导数的极值和二阶导数的零点来确定边缘。要获得更好的分割效果,可以让边缘检测算法和与其互补的分割方法一起使用。

2.3 基于区域的分割方法

基于区域的分割方法通过一定准则来确定一个基础区域,以此进行分割,区域分割方法有两种基本形式,分别为区域生长和全局思想。对于区域生长,以某个像素为中心扩散,合并相似性质的其他像素;对于全局思想,把整张图片作为一个整体,分割成不同的子区域。
常用的区域分割算法有:种子区域生长法,区域分裂合并法,分水岭法

三、基于卷积神经网络的语义分割算法

3.1 FCN

论文网址:https://arxiv.org/abs/1411.4038

全卷积神经网络(fully convolutional networks,FCN)是语义分割的开端,语义分割从此发展速度迅速。网络模型的端到端训练也是由全卷积神经网络实现的。

它的主要贡献在如下三个方面:全卷积,上采样和跳跃连接。

全卷积。在一般 CNN 分类网络中,输入图片的尺寸大小都是依据网络的设计结构决定的,是唯一的,但是 FCN 的图片的输入尺寸是不同大小的。FCN 舍弃了 CNN 分类网络后面的 3 个全连接层,并使用卷积层进行代替,不仅保留了图片的位置信息,而且还整合了 CNN 的输出特征。

上采样。在图片经过一系列的卷积、池化操作之后,得到的特征图尺寸远小于原始图片尺寸,为了将特征图中的像素与原始图像的像素对应,进行像素预测,同时减小分割精度的损失,作者使用了反卷积操作。对特征图进行解码时,使用反卷积进行操作,使得特征图的大小等于原图大小。

跳跃连接。FCN 通过卷积、池化以及反卷积的操作后,丢失了很多细节信息,通过跳跃连接,使得浅层信息和高层语义信息结合起来,使得模型的鲁棒性更强。

3.2 U-Net

论文网址:https://arxiv.org/abs/1505.04597v1

U-Net最初是为了医学图像分割而设计的分割网络,其本身使用的是编码器-解码器结构,并且使用了跳跃连接,对浅层特征和高级语义进行融合操作。

在编码器部分,图片一共经历了 4 次下采样,通过卷积层和最大池化层组合,每一次下采样,特征图的通道数变成原来的 2 倍。在解码器部分,每次上采样之后,都和与之对应下采样的特征图进行融合,之后通道数减半,在解码器的最后一层,使用 1Χ1 卷积将类别数变成期望的分类数。

3.3 PSPnet

论文网址:https://arxiv.org/abs/1612.01105

PSPnet的主要的创新点是提出了金字塔池化模块(pyra-mid pooling module),它能够聚合目标的不同位置的上下文信息,提高捕获全局信息的性能。同时加入了辅助损失函数,使得训练网络时的收敛速度提升。

四、应用场景

  1. 自动驾驶:自动驾驶汽车需要理解道路上的各种物体和障碍物,以做出安全驾驶决策。

  2. 医学图像处理:在医学影像中,语义分割可用于分割出特定组织或病变区域,以帮助医生诊断和治疗。

  3. 遥感图像分析:卫星图像和航拍图像的语义分割可用于土地利用分类、环境监测等应用。

  4. 图像编辑和合成:语义分割可用于图像编辑,例如将一个物体从图像中删除或将不同的物体合成到图像中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

图像语义分割概述 的相关文章

随机推荐

  • 联想拯救者R720 - i5-7300HQ/1050ti(macOS Big Sur/Windows) 双系统在 OpenCore (6.0.3)/ OCC (2.5.0)引导下的安装过程

    前言 重要 硬件列表 拯救者R720 处理器 型号 i5 7300HQ 架构 kaby lake 显卡 核显 UHD630 独显无效 忽略 主板 系列 100 Series 网卡 型号自选自购 不做陈列 声卡 批次不同 型号不同 不做陈列
  • [Unity好插件之PlayMaker]PlayMaker如何扩展额外创建更多的脚本

    学习目标 如果你正在学习使用PlayMaker的话 那么本篇文章将非常的适用 关于如何连线则是你自己的想法 本篇侧重于扩展适用更多的PlayMaker行为Action 那么什么是PlayMaker行为Action呢 就是这个列表 当我们要给
  • js echarts 固定颜色按顺序组合 或者随机生成颜色

    在使用echarts的时候或者大转盘的时候 数据量总是很多 但是颜色可以随机生成 也可以使用自己固定的颜色 这边我就分享了一下几种按照顺序组成颜色的代码 第一种 通过循环颜色 用一个splice 删一个 如果颜色没有了 再重新给他原来的数组
  • 常用事务代码(转)

    Pfcg 绝色维护 Su53 查看权限对象 st01 跟踪 St22 看dump 以分析错误 eg 找到ABAP程序出错的地方 找出founction 用se37查看找到的founction 找到有关权限检查 authority check
  • scscanner:一款功能强大的大规模状态码扫描工具

    关于scscanner scscanner是一款功能强大的大规模状态码扫描工具 该工具可以帮助广大研究人员从一个URL列表文件中批量读取目标网站的状态码响应信息 除此之外 该工具还可以过滤出指定的状态码 并将结果存储到一个文件中以供后续深入
  • neon常用指令(updating)

    函数参考手册 https developer arm com architectures instruction sets simd isas neon intrinsics 并在左侧选择neon Neon 128bit寄存器 所以可支持并
  • mysql将一张表插入到另一张表

    1 表1和表2的字段完全相同且要把表2所有的数据都插入到表1 可以用这种方法 insert into table1 select from table2 2 但是更多的时候我们只希望导入指定字段 可以用这种方法 insert into ta
  • 冯思远:Apache TVM 与机器学习编译发展

    下午好 欢迎大家今天来参加 2023 Meet TVM 作为 Apache TVM PMC 由我来给大家做关于 TVM 的发展以及 TVM 未来 Unity 框架的分享 Apache TVM Evolution 首先为什么会有 MLC Ma
  • 双指针算法模板及例题

    双指针算法时间复杂度O n 一般双指针算法运用于有序的某一个或两个序列中 从O n2 优化到O n 算法模板 for int i 0 j 0 i lt n i while j lt i check i j j 具体问题的逻辑 常见问题分类
  • stm32 mpu6050 cubemx 卡尔曼滤波法读取角度

    文章目录 前言 一 cubemx配置 二 mpu6050文件移植 mpu6050 c mpu6050 h 三 主函数 前言 本文简述使用mpu6050读取原始数据后解算出角度 网上大多都是dmp库来解算 但是这种情况操作起来相对复杂 更方便
  • electron入门案例

    目录解构 main js 主进程文件 用来控制整个应用程序 仅有一个 index html 渲染模板 render index js 渲染进程文件 用来控制页面的渲染 可有多个 package json 依赖包 主进程代码 在electro
  • 四. ZooKeeper 作为 SpringCloud 注册中心配置

    目录 一 简单概述 二 配置服务注册到 ZooKeeper 1 服务提供方 yml 文件配置注册到 ZooKeeper 2 服务消费方 yml 文件配置注册到 ZooKeeper 3 服务消费方配置 RestTemplate 注入到容器中
  • 【JAVA】我们常常谈到的方法是指什么?

    个人主页 个人主页 系列专栏 初识JAVA 文章目录 前言 方法 方法的分类 方法的定义 方法调用 方法重载 前言 在之前的文章中我们总是会介绍到类中的各式各样的方法 也许在应用中我们对它已经有了初步的了解 今天我们就来详细的介绍一下 方法
  • 经典卷积神经网络(CNN)图像分类算法详解

    本文原创 转载请引用 https blog csdn net dan teng article details 87192430 CNN图像分类网络 一点废话 CNN网络主要特点是使用卷积层 这其实是模拟了人的视觉神经 单个神经元只能对某种
  • QT获取一些机器相关信息的方法

    获取机器码的方法 按照注释传入相应的参数 即可获得对应的码 获取cpu名称 wmic cpu get Name 获取cpu核心数 wmic cpu get NumberOfCores 获取cpu线程数 wmic cpu get Number
  • 手把手教你对接快手小店开发者商家应用

    不懂就问 什么是快手小店 A 快手小店是快手电商于2018年6月推出的 后续以京东作为供应链 在短视频 直播中打开电商的新纪元 与其可以同态竞技的有抖音小店 以及淘宝直播 那么 要对接快手小店的接口 就需要申请快手开发者 在开发者账户内新建
  • 【Vue入门】语法 —— 插值、指令、过滤器、计算属性、监听器

    目录 一 模版语法 1 1 插值 1 1 1 文本 1 1 2 html解析 1 1 3 属性 1 1 4 表达式 1 2 指令 1 2 1 核心指令 1 2 3 动态参数 二 过滤器 2 1 局部过滤器 2 2 全局过滤器 三 计算属性
  • CRC 校验计算

    一 简介 CRC即循环冗余校验码 Cyclic Redundancy Check 是数据通信领域中最常用的一种查错校验码 其特征是信息字段和校验字段的长度可以任意选定 其根本思想就是先在要发送的帧后面附加校验码 再发送给接收端 校验码要使所
  • python opengl 入门

    安装 pip install pyglet 入门demo import pyglet window pyglet window Window label pyglet text Label Hello world font name Tim
  • 图像语义分割概述

    图像语义分割概述 一 图像语义分割概念 图像语义分割 Image Semantic Segmentation 是一项计算机视觉任务 其目标是将输入的图像分割成多个区域 并为每个像素分配一个语义类别标签 以表示该像素属于图像中的哪个物体或区域