语义分割介绍

1. 定义

语义指具有人们可用语言探讨的意义,分割指图像分割。

语义分割(semantic segmentation)能够将整张图的每个部分分割开 ,使每个部分都有一定类别意义(语义) ,让计算机可以理解图像。

语义分割是以描边的形式 ,将整张图不留缝隙地分割成每个区域,每个区域是一个类别没有类别的默认为背景background

此外,有两个与语义分割类似的说法,但不是同一个概念:

  • 实例分割: 实例分割会对同一类的不同对象 进行分割。比如说,语义分割会将车分为一类,人分为另一类。而实例分割会将车继续进行分类每一辆车都是一个实例类别
  • 全局分割: 简单地来讲,全景分割是实例分割与语义分割的结合 。全景分割中的每一个像素点都会分成对应的语义标签和实例标签。如果一种类别里有多个实例,会用不同的颜色进行区分

2 常用的数据集

2.1 PASCAL VOC

介绍

使用一系列PNG图片,图片中的每个像素都记录了所属的类别索引 ,也就是像素值,不同的像素值代表不同的类别。

注意,这些PNG是使用调色板 的方式进行存储,通过像素值来表示颜色 ,如像素1对应(127,0,0)。因此这些图片是单通道的图片

由下图可知,对于边缘与不确定的像素 会使用特殊的颜色 来标记,使用了像素值为255 进行填充。而背景则使用像素值0来填充。

2.2 MS COCO

使用该数据集进行语法分割时,会针对图像中的每个目标都记录了一个多边形的坐标这个多边形框柱了目标

这个数据可以用于语义分割与实例分割。

3. 结果的表现形式

不同像素值代表不同的类别,属于同一类别的像素有相同的像素值 。利用像素值来代表各个类别

在这种形式中使用了调色板,也就是每个像素值都对应着一个颜色

4. 评价指标

首先是一些标识:

  • n i j n_{ij} nij:类别 i i i被预测为类别 j j j的像素个数
  • n c l s n_{cls} ncls:类别的个数,包含背景
  • t i = ∑ j n j i t_i=\textstyle \sum_{j}^{}n_{ji} ti=∑jnji:类别 i i i有多少个像素(真实标签)

4.1 Pixel Accuracy (Global Acc)

正确预测的像素个数 / 总像素个数

4.2 mean Accuracy

  1. 先求出每个类别的得分:对于当前类别,预测正确的个数/当前类别的总个数。
  2. 然后将这些得分求和。
  3. 最后除于类别的个数

4.3 IoU

分母为真实类型为 i i i的像素 和 被预测类型为 i i i的像素的并集

分子为预测正确的像素个数,两者消除得到类别 i i i的IoU得分

4.4 mean IoU

对全部类别的IoU得分求和,然取平均值。

4.5 例子

真实标签与预测标签的分布情况如图所示,并且结合两个情况得到预测正确与错误的情况,这里用一个矩阵表示,对象线上的总和为预测正确的个数,其余为预测错误的。

通过上述数据,可以计算出性能评分:

① global accuracy

② mean accuracy

这里计算了每个类别的得分

③ IoU

5. 标注工具

① Labelme

② EISeg

相关推荐
风象南43 分钟前
OpenClaw Token 太贵顶不住?试试 Coding Plan
人工智能
万少8 小时前
小龙虾(openclaw),轻松玩转自动发帖
前端·人工智能·后端
飞哥数智坊9 小时前
openclaw 重大更新,真的懂我啊
人工智能
KaneLogger9 小时前
AI 时代编程范式迁移的思考
人工智能·程序员·代码规范
飞哥数智坊9 小时前
养虾记第2期:从“人工智障”到“赛博分身”,你的龙虾还缺这两个灵魂
人工智能
飞哥数智坊9 小时前
龙虾虽香,小心扎手!官方点名后,我们该怎么“养虾”?
人工智能
yiyu071610 小时前
3分钟搞懂深度学习AI:实操篇:卷积层
人工智能·深度学习
字节架构前端11 小时前
Skill再回首—深度解读Anthropic官方最新Skill白皮书
人工智能·agent·ai编程
冬奇Lab12 小时前
OpenClaw 深度解析(八):Skill 系统——让 LLM 按需学习工作流
人工智能·开源·源码阅读