计算机视觉框架OpenMMLab开源学习(六):语义分割基础

news2024/11/23 22:45:41

写在前面:强烈推荐给大家一个优秀的人工智能学习网站,内容包括人工智能基础、机器学习、深度学习神经网络等,详细介绍各部分概念及实战教程,通俗易懂,非常适合人工智能领域初学者及研究者学习。➡️点击跳转到网站。


 语义分割

前言:本系列第六篇文章主要介绍语义分割知识,了解计算机视觉框架OpenMMLab的MMSegmentation工具基本原理及使用,为后续语义分割实战做铺垫。

本节内容:

语义分割的基本思路
深度学习下的语义分割模型
全卷积网络
空洞卷积与 DeepLab 模型
上下文信息与 PSPNet 模型
分割模型的评估方法
实践 MMSegmentation

语义分割概念

任务: 将图像按照物体的类别分割成不同的区域 等价于: 对每个像素进行分类。

语义分割应用:

无人驾驶汽车,人像分割,智能遥感,医疗影像分析

mmdet是实例分割,先做检测

  • 语义分割 : 仅考虑像素的类别 不分割同一类的不同实体
  • 实例分割 : 分割不同的实体 仅考虑前景物体
  • 全景分割 : 背景仅考虑类别 前景需要区分实体

语义分割的基本思路

 在原图上计算卷积,计算复用结果相同

问题:全连接层要求固定输入大小

 兼容任意尺寸的图,没有全连接层

深度学习下的语义分割模型

 升采样:双线性插值和转置卷积

池化,卷积降采样,语义分割需要升采样

 

 卷积,空间语义会因为降采样逐渐丢失位置信息

问题:基于顶层特征预测,再升采样 32 倍得到的预测图较为粗糙

分析:高层特征经过多次降采样,细节丢失严重

解决思路: 结合低层次和高层次特征图

Unet 2015

上下文信息和PSPNet

图块周围的像素块,图像周围的内容:上下文

有歧义的区域:

滑动窗口会丢失上下文信息,并且低效,需要更大范围的信息

图像周围的内容(也称上下文)可以帮助我们做出更准确的判断。

方案:增加感受野更大的网络分支,将上下文信息导入局部预测中

PSPNet2016

不同感受野的上下文信息

空洞卷积与DeepLab系列算法

DeepLab 是语义分割的又一系列工作,其主要贡献为:

  • 使用空洞卷积解决网络中的下采样问题
  • 使用条件随机场 CRF 作为后处理手段,精细化分割图
  • 使用多尺度的空洞卷积(ASPP 模块)捕上下文信息

DeepLab v1

发表于2014 年,后于 2016、2017、2018 年提出 v2、v3、v3+ 版本

 

空洞卷积解决下采样问题

问题:图像分类模型中的下采样层使输出尺寸变小

  • 如果将池化层和卷积中的步长去掉
  • 可以减少下采样的次数;
  • 特征图就会变大,需要对应增大卷积核,以维持相同的感受野,但会增加大量参数

解决方案:

使用空洞卷积(Dilated Convolution/Atrous Convolution),在不增加参数的情况下增大感受野

下采样加标准卷积等价于空洞卷积

使用空洞卷积可以得到相同分辨率的特征图,且无需额外插值操作

  • 去除分类模型中的后半部分的下采样层
  • 后续的卷积层改为膨胀卷积,并且逐步增加rate来维持原网络的感受野

条件随机场Conditional Random Field,CRF

问题:模型直接输出的分割图较为粗糙,尤其在物体边界处不能产生很好的分割结果

一种后处理,使得语义边界分割精确

能量函数,可以看做一种损失函数

ASPP 空间金字塔池化 Atrous Spatial Pyramid Pooling

 PSPNet 使用不同尺度的池化来获取不同尺度的上下文信息

DeepLab v2&v3 使用不同尺度的空洞卷积达到类似的效果

更大膨胀率的空洞卷积--->>>更大的感受野--->>>更多的上下文特征

DeepLab v3+

  • DeepLab v2 / v3 模型使用 ASPP 捕捉上下文特征
  • Encoder / Decoder 结构(如 UNet) 在上采样过程中融入低层次的特征图,以获得更精细的分割图

DeepLab v3+ 将两种思路融合,在原有模型结构上增加了一个简单的 decoder 结构

  • Encoder 通过ASPP 产生多尺度的高层语义信息
  • Decoder 主要融合低层特征产生精细的分割结果

经典语义分割算法

语义分割模型的评估

在机器学习分类项目中,我们一般:

precision来评估某类别分类的准确性; 用accuracy来评估总体分类的准确性。

recall与precision区别:

(1)recall,召回率又名查全率,与漏报率有关,(漏报率,FN,即错误的预测为负样本,换句话说,将实际为正的样本预测为负),详情参照混淆矩阵,如下。

预测为正样本(positive,P)预测为负样本(negative,N)
实际为正样本 (True, T)TPFN
实际为负样本 (False, F)FPTN

其中,T指预测正确(预测为正样本,实际也为正样本的情况),F指预测错误。

recall=TP/(TP+FN),可理解为,实际为正的样本中,预测正确的样本的比例。

应用于,医生预测病人癌症的情况,病人更关注的是是否漏报,漏报会导致病被忽略,延误治疗。
通过记忆漏报率,可清晰理解recall的概念。

(2)precision,精准率又名查准率,与误报率有关,(误报率,FP,即错误的预测为正样本,换句话说,将实际为负的样本预测为正)。

precision=TP/(TP+FP),可理解为,在预测为正的样本集合中,预测正确的样本的比例。

总结:

本系列第六篇文章主要介绍语义分割知识,了解计算机视觉框架OpenMMLab的MMSegmentation工具基本原理及使用,为后续语义分割实战做铺垫。

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

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

相关文章

工地安全帽智能识别系统 YOLOv5

工地安全帽智能识别系统通过opencv深度学习技术,实现对现场人员的安全帽反光衣穿戴进行自动实时识别和检测。我们选择当下YOLO最新的卷积神经网络YOLOv5来进行识别检测。6月9日,Ultralytics公司开源了YOLOv5,离上一次YOLOv4发布不到50天。而且…

Allegro172版本线到铜皮不按照设定值避让的原因和解决办法

Allegro172版本线到铜皮不按照设定值避让的原因和解决办法 用Allegro做PCB设计的时候,有时会单独给某块铜皮附上线到铜皮额外再增加一个数值,如下图 在规则的基础上,额外再避让10mil 规则避让line到铜皮10.02mil 额外设置多避让10mil,避让的结果却是30.02mil,正确的是20.…

2023金三银四季跳槽季,啃完这软件测试面试题,跳槽不就稳稳的了

前言 2023年也到来了,接近我们所说的“金三银四”也正在执行了,时间晃眼就过去了,有的人为了2023跳槽早早做足了准备,有的人在临阵磨刀,想必屏幕前的你也想在2023年涨薪吧,那么问题来了,怎么才…

day4——与数组有关的练习

今天是学习java的第四天,主要内容有 给循环起一个标签数组的定义以及数组的初始化 给循环起一个标签 给循环起一个标签,简单的说就是给循环起一个名字,内部的循环可以控制外部的循环,外部的循环可以控制内部的循环,…

第四章:搭建Windows server AD域和树域

由于Windows简单一点,我就先搞Windows了。AD域:视频教程:https://www.bilibili.com/video/BV1f84y1G72x/在创建AD域时要把网卡配置好这是打开网卡界面的命令DNS要改成自己的,因为在创建域的同时也会自动创建DNS打开服务器管理器&a…

LANP架构搭建

安装Apache解压apache安装包(httpd-2.4.17.tar.gz)到 /usr/src/目录下面tar -zxvf /root/httpd-2.4.17.tar.gz -C /usr/src/安装httpd所需要的依赖包yum -y install zlib* openssl* apr* pcre-devel openssl*进入httpd目录,安装httpd所需要的…

个人ChatGPT账号注册

作者:Bruce.Dgithub:https://github.com/doukoi-BDB文章底部有【技术社群&福利】,不定更新活动、源码,欢迎来撩~~~今日主题:1、ChatGPT 账号注册2、预计阅读 6 分钟,正文2000字。最近啊 一款类似人工智…

服务降级和熔断机制

🏆今日学习目标: 🍀服务降级和熔断机制 ✅创作者:林在闪闪发光 ⏰预计时间:30分钟 🎉个人主页:林在闪闪发光的个人主页 🍁林在闪闪发光的个人社区,欢迎你的加入: 林在闪闪…

状态机设计中的关键技术

⭐本专栏针对FPGA进行入门学习,从数电中常见的逻辑代数讲起,结合Verilog HDL语言学习与仿真,主要对组合逻辑电路与时序逻辑电路进行分析与设计,对状态机FSM进行剖析与建模。 🔥文章和代码已归档至【Github仓库&#xf…

IT行业寒冬,干测试从月薪18k降到了15k,“我”的路在何方

今天已经是2.10了,马上就是金3银4了,2023年才开始,是的,正值春天,想到了一首诗词自古逢秋悲寂寥,我言秋日胜春朝。晴空一鹤排云上,便引诗情到碧霄。秋天,意味着收获,也意…

【C语言】“指针类型”与“野指针”

文章目录一、指针是什么❔二、指针和指针类型1.指针-整数2.指针解引用三.野指针1.引起野指针的原因2.如果避免野指针完结一、指针是什么❔ 指针也就是 内存地址 ,在计算机上我们访问数据需要通过内存地址来访问,在C语言中,指针变量是用来存放…

如何编写Python程序调用ChatGPT,只需3步

如何编写Python程序调用ChatGPT,只需3步 在ChatGPT官网进行注册,注册成功后就可以对ChatGPT进行提问,ChatGPT的注册流程参考这篇文章——手把手教你注册ChatGPT,亲测可用。 来看看ChatGPT,如何回答”ChatGPT是什么“…

Deepwalk深度游走算法

主要思想 Deepwalk是一种将随机游走和word2vec两种算法相结合的图结构数据的挖掘算法。该算法可以学习网络的隐藏信息,能够将图中的节点表示为一个包含潜在信息的向量, Deepwalk算法 该算法主要分为随机游走和生成表示向量两个部分,首先…

c++11 标准模板(STL)(std::multimap)(三)

定义于头文件 <map> template< class Key, class T, class Compare std::less<Key>, class Allocator std::allocator<std::pair<const Key, T> > > class multimap;(1)namespace pmr { template <class Key, class T…

SCI论文阅读-使用基于图像的机器学习模型对FTIR光谱进行功能组识别

期刊&#xff1a; Analytical Chemistry中科院最新分区&#xff08;2022年12月最新版&#xff09;&#xff1a;1区(TOP)影响因子&#xff08;2021-2022&#xff09;&#xff1a;8.008第一作者&#xff1a;Abigail A. Enders通讯作者&#xff1a;Heather C. Allen 原文链接&…

自己家用的电脑可以架设游戏吗

自己家用的电脑可以架设游戏吗家用电脑怎么用来做服务器呢&#xff1f;我是艾西&#xff0c;今天我跟大家详细的说家用电脑可以当服务器使用吗&#xff1f;咱们先把家用电脑不足的点列出来就清楚了一、外网端口映射以前的宽带大多数是adsl拨号&#xff0c;再搭配一个TP路由器&a…

SQL语句训练

好文推荐&#xff1a; 21个MySQL表设计的经验准则 后端程序员必备&#xff1a;书写高质量SQL的30条建议 我们为什么要分库分表&#xff1f; 从0.742秒到0.006秒&#xff0c;MySQL百万数据深分页优化实战 2020年MySQL数据库50面试题目含答案 MyBatis 表连接查询写法|三种对…

深度学习实战(11):使用多层感知器分类器对手写数字进行分类

使用多层感知器分类器对手写数字进行分类 1.简介 1.1 什么是多层感知器&#xff08;MLP&#xff09;&#xff1f; MLP 是一种监督机器学习 (ML) 算法&#xff0c;属于前馈人工神经网络 [1] 类。该算法本质上是在数据上进行训练以学习函数。给定一组特征和一个目标变量&#x…

2021年新公开工业控制系统严重漏洞汇总

声明 本文是学习ITOT一体化工业信息安全态势报告&#xff08;2019&#xff09;. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 工业互联网安全威胁 2021年新公开工业控制系统严重漏洞 缓冲区溢出漏洞 缓冲区溢出&#xff08;buffer overflow&…

什么是自动化测试?自动化测试现状怎么样?

什么是自动化测试&#xff1a;其实自动化测试&#xff0c;就是让我们写一段程序去测试另一段程序是否正常的过程&#xff0c;自动化测试可以更加省力的替代一部分的手动操作。 现在自动化测试的现状&#xff0c;也是所有学习者关心的&#xff0c;但现在国内公司主要是以功能测…