语义分割——评价指标

定义

语义分割 (Semantic Segmentation):从像素水平(pixel-level)上,理解、识别图片的内容。

根据语义信息对图像中的像素进行分割。

输入:图片
输出:同尺寸的分割标记(像素水平)[每个像素会被识别为一个类别 category]

评价指标

像素准确率(Pixel Accuracy PA) or (global acc)

类别像素准确率(Class Pixel Accuracy CPA

类别平均像素准确率(Mean Accuracy or Mean Pixel Accuracy MPA)

平均交并比(Mean Intersection over Union MIoU

若想理解以上指标,必须知道什么叫做混淆矩阵(Confusion Matrix),因为这些指标都是以混淆矩阵为基础。

混淆矩阵:分别统计分类模型归错类,归对类的观测值个数;之后,将结果呈现在一个表格中,这个表格便为混淆矩阵。

首先,我们定义混淆矩阵的四个基础指标:

  • 真实值为Positive,模型预测也是Positive的数量(True Positive = TP)
  • 真实值为Positive,模型预测为Negative的数量(False Negative = FN)
  • 真实值为Negative,模型预测为Positive的数量(False Positive = FP)
  • 真实值为Negative,模型预测也是Negative的数量(True Negative = TN)

注意表格中预测值和真实值的位置!

预测\真实PositiveNegative
PositiveTPFP
NegativeFN

TN

则指标有

准确率(Accuracy)

Accuracy = (TP+TN)/(TP+TN+FP+FN)

对角线计算,预测结果中正确的数量占总预测数量的比例 (对角线元素值的和/总元素值的和)

精准率(Precision)

Precision = TP/(TP+FP) or TN/(TN+FN)

预测结果中某类别预测正确的概率

召回率(Recall)

Recall = TP/(TP+FN) or TN/(TN+FP)

标签中某类别被预测正确的概率

举个栗子

预测\真实不是猫
103
不是猫845

Accuracy = (TP+TN)/(TP+TN+FP+FN) = 55/66

Precision(猫) = TP/(TP+FP) = 10/13

Recall(猫) = TP/(TP+FN) = 10/18

将其思维带入语义分割评价指标中

语义分割 将 图片中的像素点 (可看作 混淆矩阵 ) 分类

下图的表格代表一张8*8的图像,0-4代表像素值,比如横坐标为1,纵坐标也为1的像素值为0

图像的真实标签

语义分割——评价指标

图像的预测标签

语义分割——评价指标

将其翻译为 混淆矩阵

预测\真实01234
0160020
113000
2111600
3000120
42002

8

像素准确率

(Pixel Accuracy PA or Global Acc)

可对应 混淆矩阵中的 准确率 Accuracy

对角线元素之和/矩阵所有元素之和

带入上面的值:

PA = (TP+TN)/(TP+TN+FP+FN) = (16+3+16+12+8)/64 = 55/64 \approx 0.859

类别像素准确率

(Class Pixel Accuracy CPA)

可对应 混淆矩阵中的 精准率 Precision

在类别 i 的预测值中,真实属于i类的像素准确率,换言之 预测正确的值占预测总值的比例

Precision = TP/(TP+FP) or TN/(TN+FN)

带入上面的值:

CPA_{0} = 16/20 =0.8

CPA_{1}=3/4=0.75

CPA_{2}=16/16=1

CPA_{3}=12/16 = 0.75

CPA_{4}=8/8=1

类别平均像素准确率

(Mean Accuracy or Mean Pixel Accuracy MPA)

分别计算每个类别被正确分类像素数量的比例 -> 将CPA累加再求平均

MAP= \frac{1}{N}\sum_{k=1}^{N}{CPA_{k}}

带入上面的值:

MAP=\frac{1}{5}\times(0.8+0.75+1+1+0.75)=0.86

平均交并比

(Mean Intersection over Union MIoU

首先计算类别IoU (CIoU)累加再求平均

MIoU=\frac{1}{N}\sum_{k=1}^{N}{CIoU_{k}}

带入上面的值:

CIoU_{0}=16/(20+18-16)=0.727

CIoU_{1}=3/(4+4-3)=0.6

CIoU_{2}=16/(16+18-16)=0.889

CIoU_{3}=12/(16+12-12)=0.75

CIoU_{4}=8/(8+12-8)=0.667

MIoU=\frac{1}{5}\times(0.727+0.6+0.889+0.75+0.667)=0.726

参考:

【语义分割】评价指标:PA、CPA、MPA、IoU、MIoU详细总结和代码实现(零基础从入门到精通系列!)语义分割——评价指标https://blog.csdn.net/sinat_29047129/article/details/103642140

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
上一篇 2022年6月8日 上午10:36
下一篇 2022年6月8日 上午10:38

相关推荐

本站注重文章个人版权,不会主动收集付费或者带有商业版权的文章,如果出现侵权情况只可能是作者后期更改了版权声明,如果出现这种情况请主动联系我们,我们看到会在第一时间删除!本站专注于人工智能高质量优质文章收集,方便各位学者快速找到学习资源,本站收集的文章都会附上文章出处,如果不愿意分享到本平台,我们会第一时间删除!