来详解一下计算机视觉中的语义分割任务 (3)

355 阅读2分钟

这是我参与2022首次更文挑战的第21天,活动详情查看:2022首次更文挑战

我们之前详细解释什么是混淆矩阵,以及混淆矩阵的用途。然后通过一个小示例,来将预测结果和实际标签的数据来对象填写到混淆矩阵中,以及基于混淆矩阵我们可以计算出那些指标,例如准确率、错误率、召回率、特异率和 F1 分值,以及这些指标通常他们各自都反向哪些方面,以及适合场景。

今天我们通过 FCN 这个老牌的语义分割网络中出现衡量指标在此解释一下,在语义分割中哪些指标适合

PA(Pixel Accuracy)

PA=iniiitiPA = \frac{\sum_i n_{ii}}{\sum_i t_i}

这里我们就出现 nijn_{ij} 表示对于实际为 i 类别预测为 j 的像素数量,那么 niin_{ii} 表示实际为 i 类别并且将其正确地预测为 i 类别,ti=jnijt_i = \sum_j n_{ij} 这里 tit_i 表示将属于 i 类别像素预测为其他类别其中包括正确类别,也就是预测为 i 的所有像素,然后再求一下遍历所有目标 j 也就是所有像素。iti\sum_i t_i 也就是表达整张图像

对于某一个类别来说就是

mACC=1ncliniitimACC = \frac{1}{n_{cl}} \sum_{i} \frac{n_{ii}}{t_i}

有关如何计算我们可以通过图例形式给大家解释

001.PNG

在上图中,左侧图为标签图而右侧为预测图,然后我们对比两张图来直观地解释一下如何计算精准度

002.PNG

003.PNG

分类正确的像素点数和所有的像素点数的比例,也就是上图(位于左侧的图)中标浅蓝色数据求和就是预测正确的数据

Acc=12+6+530=2330Acc = \frac{12 + 6 + 5}{30} = \frac{23}{30}

计算每一类分类正确分类的像素点数和该类的所有像素点数的比例然后求平均,然后就是用每一个类别,这时可以关注一下居中的图,真实标签就是浅蓝色部分求和。

Acc0=1212+1+2=1215Acc_0 = \frac{12}{12 + 1 + 2} = \frac{12}{15}

然后再去求平均

对于 IoU 来求解就比较麻烦,需要计算 intercetion 也就是预测正确的,那么 union 就是预测正确和真实求和(位于右侧图中标注为浅蓝色的部分求和)然后再去减去蓝色部分

IoU=12(12+1+2)+(12+1+2)12IoU = \frac{12}{(12 + 1 + 2) + (12 + 1 + 2) -12}