语义分割的任务就是预测输入图像每个像素点的类别。简单来说,就是做像素级分类。

图中左侧是一张输入图像,中间图像是对图像每个像素类别人工标记的Ground truth(真实标签),右侧图像是对图像每个像素类别预测得到的结果。

为了证明一个语义分割方法的有效性,我们需要对语义分割方法进行严格的评估。下面介绍语义分割中最常用的几个评价指标。

问题假定

在准确描述每个评价指标之前,我们先做出一些假定:

  • 图像中每个像素都有一个类别标签。假定类别总数为 k + 1 k+1 k+1个类别,包括 k k k个类别和 1 1 1个背景
  • p i j p_{ij} pij​为类别 i i i的像素预测为类别 j j j的数量。当 i = j i=j i=j时表示预测正确,否则表示预测错误

1. Pixel Accuracy

Pixel Accuracy 简称PA,它是最简单的指标。它表示所有像素类别预测正确的数量像素总数的比例。

P A = ∑ i = 0 k p i i ∑ i = 0 k ∑ j = 0 k p i j PA = \frac {\sum_{i=0}^kp_{ii}}{\sum_{i=0}^k\sum_{j=0}^kp_{ij}} PA=∑i=0k​∑j=0k​pij​∑i=0k​pii​​

2. Mean Pixel Accuracy

Mean Pixel Accuracy 简称MPA, 它比PA指标略有改善。它的计算分两个步骤

  • 对每个类别,计算该类别下预测正确的数量该类别像素总数的比例
  • 对所有类别的计算结果求平均

M P A = 1 k + 1 ∑ i = 0 k p i i ∑ j = 0 k p i j MPA = \frac {1}{k+1} \sum_{i=0}^k \frac {p_{ii}}{\sum_{j=0}^k p_{ij}} MPA=k+11​i=0∑k​∑j=0k​pij​pii​​

3. Mean Intersection over Union

Mean Intersection over Union 简称MIoU,它是分割任务的标准指标。

首先,我们先介绍IoU(交并比),它本质上是一种量化目标掩膜和预测掩膜之间重叠百分比的方法。具体来说,就是指目标掩膜与预测掩膜的公共区域的像素个数,与两者总的像素个数的比值。

而MIoU 就是每个类别的IoU的平均。它的计算同样分两个步骤:

  • 对每个类别,计算的是一个交集与并集的比例。这个比例的分子和MPA一样,是该类别下预测正确的数量;分母的范围更大,是指该类别预测为其他类别和其他类别预测为该类别的总和
  • 对所有类别的计算结果求平均。

M P A = 1 k + 1 ∑ i = 0 k p i i ∑ j = 0 k p i j + ∑ j = 0 k p j i − p i i MPA = \frac {1}{k+1} \sum_{i=0}^k \frac {p_{ii}}{\sum_{j=0}^k p_{ij} + \sum_{j=0}^k p_{ji} - p_{ii}} MPA=k+11​i=0∑k​∑j=0k​pij​+∑j=0k​pji​−pii​pii​​

4. Frequency Weighted Intersection over Union

Frequency Weighted Intersection over Union 简称FWIoU,它是在MIoU基础上做了改善。

具体的改善思路是MIOU是先计算每个类别的IOU,然后对所有类别求平均。而FWIoU 不再采用平均的方式,而是对每个类别的IOU进行加权,所有类别的权重仍为1。

也可以理解为MIOU 的所有类别的权重是均等的,均为 1 k + 1 \frac{1}{k+1} k+11​。

那么FWIoU各个类别的权重是怎么计算的呢?

采用每个类别的类别数量作为权重,哪个类别的数量多,哪个类别的权重大。
M P A = 1 ∑ i = 0 k ∑ j = 0 k p i j ∑ i = 0 k ∑ j = 0 k p i j p i i ∑ j = 0 k p i j + ∑ j = 0 k p j i − p i i MPA = \frac {1}{\sum_{i=0}^k\sum_{j=0}^kp_{ij}} \sum_{i=0}^k \frac { \sum_{j=0}^kp_{ij} p_{ii}}{\sum_{j=0}^k p_{ij} + \sum_{j=0}^k p_{ji} - p_{ii}} MPA=∑i=0k​∑j=0k​pij​1​i=0∑k​∑j=0k​pij​+∑j=0k​pji​−pii​∑j=0k​pij​pii​​

写在最后的话

关注[CV面试宝典],回复“评价指标”,获取本文涉及论文。

参考文献

  1. https://www.jeremyjordan.me/evaluating-image-segmentation-models/

  2. A Review on Deep Learning Techniques Applied to Semantic Segmentation

语义分割中常用的评价指标有哪些?相关推荐

  1. randn函数加噪声_语义分割中常用的损失函数1(基础篇)

    一.L1.L2 loss (分割中不常用,主要用于回归问题) L1 Loss L1 Loss 主要用来计算 input x 和 target y 的逐元素间差值的平均绝对值. pytorch表示为: ...

  2. 语义分割中的深度学习方法全解:从FCN、SegNet到各版本DeepLab

    语义分割中的深度学习方法全解:从FCN.SegNet到各版本DeepLab 原文:https://www.sohu.com/a/155907339_610300 图像语义分割就是机器自动从图像中分割出 ...

  3. 语义分割-Unsupervised Domain Adaptation in Semantic Segmentation:a Review语义分割中的无监督领域自适应:综述

    Unsupervised Domain Adaptation in Semantic Segmentation:a Review语义分割中的无监督领域自适应:综述 0.摘要 1.介绍 1.1.语义分割 ...

  4. 计算机视觉-语义分割任务常用指标

    计算机视觉-语义分割任务常用指标 呐,这篇笔记记录了语义分割任务中十分常用的指标(包括PA,MPA,mIOU)的计算方式.整体来看,都是像素数目的比值. 首先我们需要先定义语义分割任务的类别 K + ...

  5. 图像语义分割中的上采样(Upsampling)和下采样(subsampling)

    图像语义分割中的上采样和下采样 1. 下采样(subsampled) 2. 上采样(upsampled) 2.1 线性插值 2.2 单线性插值 2.3 双线性插值 2.4 双线性插值举例 2.5 插值 ...

  6. dice系数 交叉熵_语义分割中的损失函数

    1 交叉熵 信息量:当一个事件发生的概率为 ,那么该事件对应的概率的信息量是 . 信息量的熵:信息量的期望,假设 事件 共有n种可能,发生 的概率为 ,那么该事件的熵 为: 相对熵,又称KL散度,如果 ...

  7. ”语义分割”中的“语义”

    感谢这篇论文,让我知道了"语义分割"中"语义"这一个词到底是个什么鬼.所谓的语义分割,就是之前的分割,在加上分类啦! 论文:基于内容的图像分割方法综述 姜峰 顾 ...

  8. 分类算法中常用的评价指标

    转自: 分类算法中常用的评价指标 来自网络,备份勿忘! 对于分类器(分类算法),评价指标主要有:1)Precision:2)Recall:3)F-score;4)Accuracy;5)ROC;6)AU ...

  9. 直观理解语义分割中IOU

    直观理解语义分割中IOU IOU = Intersection Over Union,即 交并比,语义分割中衡量算法性能的指标. 下图可直观地看出IOU的意思,若黄色部分是groud truth,绿色 ...

最新文章

  1. SQL SERVER 数据库邮件配置
  2. SAP UI5 应用开发教程之四十 - 如何制作包含了 component-preload.js 在内的 SAP UI5 发布版本
  3. 操作方法:具有多个Mongo存储库和Kotlin的Spring Boot 2 Web应用程序
  4. 智慧屏用鸿蒙的生态,紧随鸿蒙OS手机版 ,智慧屏为什么对鸿蒙生态这么重要?...
  5. java异常标记_java.lang.RuntimeException:错误:0D0680A8:asn1编码例程:ASN1_CHECK_TLEN:错误的标记...
  6. Pentium II Pentium III架构/微架构/流水线 (3) - P6执行核详解 (指令时延吞吐量,执行单元/发射口)
  7. Debenham养老金项目关键流程4-Opt in 流程
  8. linux规定ip使用网卡,使用TC 对LINUX服务器网卡进行带宽限制的办法
  9. Windows10安装Gooey
  10. python将数据导入wps_使用python调用wps v9转换office文件到pdf
  11. 262-C++ C11标准
  12. micropython固件下载_ESP32 MicroPython固件烧录
  13. MPU6050 加速计滤波
  14. 关闭CentOS蜂鸣器警报声音
  15. 漫画 | 如何让程序员顺利入坑?
  16. C++ 使用Poco库进行文件操作
  17. window7 安装TortoiseGit没有git.exe 和 右键没有clone等按钮解决方法
  18. 怎样调整Firefox火狐浏览器开发者控制台字体大小
  19. 简单的Java代码实现给QQ邮箱发邮件
  20. 用c语言编写爱心的代码是什么

热门文章

  1. php读取mysql当前会员名称,MySQL php使用另一列获取列(使用用户名获取密码)
  2. 基于FPGA的超声波信号发生器设计:程序和电路原理图
  3. idea的maven项目出现橙色时钟图标解决方法
  4. Optional类 Optional介绍
  5. 「效率工具」奶牛快传,文件传输神器
  6. 走进心仪的名企—小红书
  7. (SGSCN)A Spatial Guided Self-supervised Clustering Network for Medical Image Segmentation
  8. 软件测试周刊(第57期):慢品人间烟火色,闲观万事岁月长。
  9. android资源文件下的图片绝对路径,如何获取drawable目录下的图片绝对路径
  10. 值得一生珍藏的七个经典哲理寓言