图像分割实战-系列教程1:语义分割与实例分割概述

news2024/11/24 21:09:04

1、图像分割任务概述

1.1 图像分割

分割任务就是在原始图像中逐像素的找到你需要的轮廓

如图分别是(物体检测)与(图像分割)两个任务的效果对比,实际上会比检测任务要稍微麻烦一些,将图像会分为几个区域把需要的单独拿出来,不需要的当成背景处理,分割也分为语义分割和实例分割。

1.2 语义分割

  • 语义分割就是把每个像素都打上标签(这个像素点是人,树,背景等)
  • 语义分割只区分类别,不区分类别中具体单位

1.3 实例分割

在右图中将五个人的轮廓都描绘出来了,但是没有把5个人区分出来,这就是一个基本的语义分割

实例分割不光要区别类别,还要区分类别中每一个个体,每一个个体都是不同的

往基本的要求做,就是可以做语义分割,往高级的做就是实例分割

和物体检测的任务对比呢,比如YOLO是将分类任务变成回归,找一些坐标点分别是什么。那分割任务呢?

2 语义分割损失函数解析

2.1 损失函数

  • 逐像素的交叉熵
  • 还经常需要考虑样本均衡问题
  • 交叉熵损失函数公式如下:

p o s w e i g h t = n u m n e g n u m p o s pos_{weight} = \frac{num_{neg}}{num_{pos}} posweight=numposnumneg
这里的 p o s w e i g h t pos_{weight} posweight是一个额外权重,是前景像素点和背景像素点的数量的比例值。

l o s s = − p o s w e i g h t ∗ y t r u e l o g ( y p r e d ) − ( 1 − y t r u e ) l o g ( y p r e d ) loss = -pos_{weight}*y_{true}log(y_{pred})-(1-y_{true})log(y_{pred}) loss=posweightytruelog(ypred)(1ytrue)log(ypred)
首先一张图像有几万几十万甚至更多个像素点,需要对每一个像素点都进行多分类任务,也就是逐像素进行交叉熵的过程。上式就是一个2分类交叉熵的公式再加上前面提到的额外权重

2.2 Focal loss

样本也由难易之分,就跟玩游戏一样,难度越高的BOSS奖励越高
− ( 1 − y p r e d ) γ ∗ y t r u e l o g ( y p r e d ) − y p r e d γ ∗ ( 1 − y t r u e l o g ( 1 − y p r e d ) ) -(1-y_{pred})^γ*y_{true}log(y_{pred})-y^γ_{pred}*(1-y_{true}log(1-y_{pred})) (1ypred)γytruelog(ypred)ypredγ(1ytruelog(1ypred))

正负样本的比例完全就是由数量决定的,每一个像素点都会去做交叉熵,都会产生一个损失值,像素点是不应该相同对待的,有些像素比较好处理,很明显是背景和前景的,难处理的就是轮廓上的,一个人去描边,边里面的好处理外面的也好处理,但是边上的不好处理。但是这些难处理的像素点应该要体现出比较高的重要性

在上面的公式中,Gamma通常设置为2,例如预测正样本概率0.95,那预测效果就非常好,也就是说这个像素处理的比较简单, ( 1 − 0.25 ) 2 = 0.0025 (1-0.25)^2=0.0025 (10.25)2=0.0025,0.0025也就意味着当前这个样本提供的损失值比较低,如果是0.5, ( 1 − 0.5 ) 2 = 0.25 (1-0.5)^2=0.25 (10.5)2=0.25,这个难度高一点,权重也就大一些。可以类似理解为错题本,想要学的更好得高分,错的题比较重要。这里就是对γ值的解释

再结合样本数量的权值就是Focal Loss:
− α ( 1 − y p r e d ) γ ∗ y t r u e l o g ( y p r e d ) − ( 1 − α ) ∗ y p r e d γ ∗ ( 1 − y t r u e l o g ( 1 − y p r e d ) ) -α(1-y_{pred})^γ*y_{true}log(y_{pred})-(1-α)*y^γ_{pred}*(1-y_{true}log(1-y_{pred})) α(1ypred)γytruelog(ypred)(1α)ypredγ(1ytruelog(1ypred))

3 IOU计算

3.1 IOU计算

多分类任务时:iou_dog = 801 /( true_dog + predict_dog - 801)

如图的混淆矩阵,左图中,横轴和纵轴分别为预测值和真实值,单独求某一个类别:真实值为狗的预测值也为狗就是做对的,为801个除以(实际总共有多少个狗的,再加上预测为狗的,再减去801)

看右图,交集就是801,并集就是绿色加上黄色的,上面的公式就是由于加了两次801所以要减去801

3.2 MIOU计算

IoU(Intersection over Union,交并比),下图中,左边是标签值,右边是预测值
Intersection 就是真实值和预测值的交集,Union就是真实值和预测值的并集,这两个值的比例
在这里插入图片描述

MIOU就是计算所有类别的平均值,一般当作分割任务评估指标
在这里插入图片描述

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

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

相关文章

Windows上ModbusTCP模拟Master与Slave工具的使用

场景 Modbus Slave 与 Modbus Poll主从设备模拟软件与Configure Virtual Serial串口模拟软件使用: Modebus Slave 与 Modbus Poll主从设备模拟软件与Configure Virtual Serial串口模拟软件使用_modbus poll激活-CSDN博客 数据对接协议为Modbus TCP,本地开发需要使…

数据加密、端口管控、行为审计、终端安全、整体方案解决提供商

PC端访问地址: https://isite.baidu.com/site/wjz012xr/2eae091d-1b97-4276-90bc-6757c5dfedee 以下是关于这几个概念的解释: 数据加密:这是一种通过加密算法和密钥将明文转换为密文,以及通过解密算法和解密密钥将密文恢复为明文…

树莓派 ubuntu20.04下 python调讯飞的语音API,语音识别和语音合成

目录 1.环境搭建2.去讯飞官网申请密钥3.语音识别(sst)4.语音合成(tts)5.USB声卡可能报错 1.环境搭建 #环境说明:(尽量在ubuntu下使用, 本次代码均在该环境下实现) sudo apt-get install sox # 安装语音播放软件 pip …

边缘计算网关:重新定义物联网数据处理

随着物联网(IoT)设备的爆炸式增长,数据处理和分析的需求也在迅速增加。传统的数据处理方式,将所有数据传输到中心服务器进行处理,不仅增加了网络负担,还可能导致数据延迟和安全问题。因此,边缘计…

私有部署ELK,搭建自己的日志中心(四)-- kibana展示es的数据

一、说在前面的话 前一篇已把elk的安装连带讲完,本文重在讲述如何在kibana展示es数据。 二、数据的展示 展示es数据库的客户端工具有很多,比如es head插件,但是一说到要查询日志,还是非kibana莫属了。 1、kibana.yml # 服务端…

OpenCV入门01:图像处理简介/图像的基础操作

项目开源,地址:https://gitee.com/zccbbg/opencv_study 文章目录 图像处理简介灰度图像二值图像彩色图 opencv 介绍图像基础操作图像读取与显示绘制几何图形图像的属性其他操作算数操作加法混合 图像色彩空间转换 图像处理简介 灰度图像 ● 灰度图像是…

Linux服务器搭建笔记-006:拓展/home目录容量

一、问题说明 Ubuntu服务器在使用过程中创建的新用户,每位用户会在/home目录下生成一个属于其个人的主文件夹。如果不限制各个用户的使用空间,所有的用户都会共用/home所挂载的硬盘。在这种多用户情况下,会很快的填满/home目录,导…

一款超酷的一体化网站测试工具:Web-Check

Web-Check 是一款功能强大的一体化工具,用于发现网站/主机的相关信息。用于检查网页的工具,用于确保网页的正确性和可访问性。它可以帮助开发人员和网站管理员检测网页中的错误和问题,并提供修复建议。 它只需要输入一个网站就可以查看一个网…

企业品牌推广在国外媒体投放的意义和作用何在?

海外广告投放是企业在国际市场推广的重要战略,具有多种形式,包括社交媒体广告、短视频广告、电视广告等。这些广告形式在传播信息、推动销售、塑造品牌形象等方面发挥着独特的作用。 其中软文发稿是一种注重叙事和信息传递的广告形式,对于企…

k8s 架构

主要组件 k8s有如下的主要组件: Control plane(s) and worker node(s)OperatorsServicesPods of containersNamespaces and quotasNetwork and policiesStorage. 一个k8s集群是有一个或多个 cp(控制平面)节点和一组worker 节点组成的。这个…

ChatGPT使用注意事项有哪些?

一、环境注意事项 1、需要构造稳定的环境,很多人说自己的号为什么突然被封,被封的原因是因为有些环境会自动换IP,所以你要设置好 2、搭建美国住宅IP 3、注册时也不要使用香港,最好选择美国、新加坡等地区注册 二、API调用注意事…

(已解决)(pytorch指定了gpu但还是占用了一点0号gpu)以及错误(cuDNN error: CUDNN_STATUS_INTERNAL_ERROR)

文章目录 错误原因解决问题 错误原因 出现错误cuDNN error: CUDNN_STATUS_INTERNAL_ERROR,从这个名字就可以看出,出错原因其实有可能有很多种,我这里说一种比较常见的,就是:显存不足。 一个困惑点在于,在…

k8s的陈述式资源管理(命令行操作)

(一)k8s的陈述式资源管理 1、命令行:kubectl命令行工具——用于一般的资源管理 (1)优点:90%以上ce场景都可以满足 (2)特点:对资源的增、删、查比较方便,对…

【neo4j】desktop下载

【neo4j】desktop下载 https://neo4j.com/download/ 点击download,填写表格 之后就可以正常使用了

Jackson进行Json反序列化对于一个小写字母开头后跟大写字母无法识别反序列成功问题

问题描述 json数据:{“pTargetId”:“123”} javaBean: Datapublic static class Test {private String pTargetId;}运行下面代码: public static void main(String[] args) throws JsonProcessingException {String json "{\"pT…

docker入门概念详解

本篇文章对docker的一些基础概念和周边概念进行了详细解释。帮助你可以很好的理解docker是用来干什么的,docker是怎么工作的。其中有docker所运用到的技术解释,docker的不同发展版本,dokcer的架构,docker的生态等等详解。希望本片…

flink generic log-based incremental checkpoints 设计

背景 flink 在1.15版本后开始提供generic log-based incremental checkpoints的检查点方案,目的在于减少checkpoint的耗时,尽量缩短端到端的数据处理延迟,本文就来看下这种新类型的checkpoint的设计 generic log-based incremental checkpo…

GPT-3: Language Models are Few-Shot Learners

GPT-3 论文 数据集 CommonCrawl:文章通过高质量参考语料库对CommonCrawl数据集进行了过滤,并通过模糊去重对文档进行去重,且增加了高质量参考语料库以增加文本的多样性。WebText:文章采用了类似GPT-2中的WebText文档收集清洗方…

【FFI】N-API的JS堆对象生命周期管理

N-API的JS堆对象生命周期管理 N-API是Node API的简写,同时也是nodejs的JS VM(链)接入原生模块.node文件的应用程序二进制接口(i.e. ABI)。借助N-API引入的抽象隔离,升级nodejs运行时(虚拟机) 【编译】不要求…

米表网PHP域名销售管理系统网站源码 自适应电脑+手机端

PHP域名销售管理系统网站源码 自适应电脑手机端 功能使用简单,不复杂,非常适合个人米表使用,带广告栏 源码下载:https://download.csdn.net/download/m0_66047725/88646799