语义分割是像素级别的分类,其常用评价指标:
- 像素准确率(Pixel Accuracy,PA)
- 类别像素准确率(Class Pixel Accuray,CPA)
- 类别平均像素准确率(Mean Pixel Accuracy,MPA)
- 交并比(Intersection over Union,IoU)
- 平均交并比(Mean Intersection over Union,MIoU)
其计算都是建立在混淆矩阵(Confusion Matrix)的基础上。因此,需要首先了解基本的混淆矩阵之后才能深刻理解上面的5种评价标准。
混淆矩阵
顾名思义,其就是一个矩阵,可理解为一张表格,但矩阵前加上“混淆”之后,很容易让人理解产生误差,即:“混淆矩阵真混淆(一脸懵逼)”。更学术的说法混淆矩阵就是统计分类模型的分类结果,即:统计归对类,归错类的样本的个数,然后把结果放在一个表里展示出来,这个表就是混淆矩阵。
PA:像素准确率
- 对应:准确率(Accuracy)
- 含义:预测类别正确的像素数占总像素数的比例
- 混淆矩阵计算:
- 对角线元素之和 / 矩阵所有元素之和
- PA = (TP + TN) / (TP + TN + FP + FN)
CPA:类别像素准确率
- 对应:精准率(Precision)
- 含义:在类别 i 的预测值中,真实属于 i 类的像素准确率,换言之:模型对类别 i 的预测值有很多,其中有对有错,预测对的值占预测总值的比例
- 混淆矩阵计算:
- 类1:P1 = TP / (TP + FP)
- 类2:P2 = TN / (TN + FN)
- 类3:…
MPA:类别平均像素准确率
- 含义:分别计算每个类被正确分类像素数的比例,即:CPA,然后累加求平均
- 混淆矩阵计算:
- 每个类别像素准确率为:Pi(计算:对角线值 / 对应列的像素总数)
- MPA = sum(Pi) / 类别数
IoU:交并比
- 含义:模型对某一类别预测结果和真实值的交集与并集的比值
- 混淆矩阵计算:
- 以求二分类:正例(类别1)的IoU为例
- 交集:TP,并集:TP、FP、FN求和
- IoU = TP / (TP + FP + FN)
MIoU
- 含义:模型对每一类预测的结果和真实值的交集与并集的比值,求和再平均的结果
- 混淆矩阵计算:
- 以求二分类的MIoU为例
- MIoU = (IoU正例p + IoU反例n) / 2 = [ TP / (TP + FP + FN) + TN / (TN + FN + FP) ] / 2
交集、并集如何计算
如图所示,A代表真实值(ground truth),B代表预测样本(prediction),预测值和真实值的关系如下:
- TP(True Positive):
- 橙色,TP = A ∩ B
- 预测正确,真正例,模型预测为正例,实际是正例(模型预测为类别1,实际是类别1)
- FP(False Positive):
- 黄色,FP = B - (A ∩ B)
- 预测错误,假正例,模型预测为正例,实际是反例 (模型预测为类别1,实际是类别2)
- FN(False Negative):
- 红色,FN = A - (A ∩ B)
- 预测错误,假反例,模型预测为反例,实际是正例 (模型预测为类别2,实际是类别1)
- TN(True Negative):
- 白色,TN = ~(A ∪ B)
- 预测正确,真反例,模型预测为反例,实际是反例 (模型预测为类别2,实际是类别2)
因此,可知正例(类别1)的IoU为:IoU = TP / (TP + FN + FP)
评论