样例:语义分割指标计算:GA,OA,mAcc,mIoU,IoU
举个例子,假设得到混淆矩阵如下:
[
真
实
标
签
真
实
标
签
真
实
标
签
真
实
标
签
真
实
标
签
0
1
2
3
4
预
测
标
签
0
16
0
1
1
4
预
测
标
签
1
3
22
0
0
2
预
测
标
签
2
0
5
18
0
1
预
测
标
签
3
0
0
0
15
1
预
测
标
签
4
1
0
1
1
31
]
\begin{bmatrix} &&&真实标签&真实标签&真实标签&真实标签&真实标签 \\&&&0&1&2&3&4 \\ \\ 预测标签&0&&16&0&1&1&4 \\ 预测标签&1&&3&22&0&0&2 \\ 预测标签&2&&0&5&18&0&1\\ 预测标签&3&&0&0&0&15&1\\ 预测标签&4&&1&0&1&1&31 \end{bmatrix}
⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎡预测标签预测标签预测标签预测标签预测标签01234真实标签0163001真实标签1022500真实标签2101801真实标签3100151真实标签4421131⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎤
Global Accuracy (Overall Accuracy, OA) = 16 + 22 + 18 + 15 + 31 ( 16 + 0 + 1 + 1 + 4 ) + ( 3 + 22 + 0 + 0 + 2 ) + ( 0 + 5 + 18 + 0 + 1 ) + ( 0 + 0 + 0 + 15 + 1 ) + ( 1 + 0 + 1 + 1 + 31 ) {16+22+18+15+31 \over (16+0+1+1+4)+(3+22+0+0+2)+(0+5+18+0+1)+(0+0+0+15+1)+(1+0+1+1+31)} (16+0+1+1+4)+(3+22+0+0+2)+(0+5+18+0+1)+(0+0+0+15+1)+(1+0+1+1+31)16+22+18+15+31,即:对角元素和 除 所有元素和。
Class 0 Accuracy = 16 16 + 3 + 0 + 0 + 1 { 16 \over 16+3+0+0+1 } 16+3+0+0+116,即:每一类预测正确的数量 除 此类本有的样本总数量
Class 1 Accuracy = 22 0 + 22 + 5 + 0 + 0 { 22 \over 0+22+5+0+0 } 0+22+5+0+022
Class 2 Accuracy = 18 1 + 0 + 18 + 0 + 1 { 18 \over 1+0+18+0+1 } 1+0+18+0+118
Class 3 Accuracy = 15 1 + 0 + 0 + 15 + 1 { 15 \over 1+0+0+15+1 } 1+0+0+15+115
Class 4 Accuracy = 31 4 + 2 + 1 + 1 + 31 { 31 \over 4+2+1+1+31 } 4+2+1+1+3131
Mean Accuracy (mAcc) = 1 5 { 1 \over 5 } 51*(Class 0 Accuracy+Class 1 Accuracy+Class 2 Accuracy+Class 3 Accuracy+Class 4 Accuracy),即:所有类的Acc的平均值。
Class 0 IoU = 16 ( 16 + 0 + 1 + 1 + 4 ) + ( 16 + 3 + 0 + 0 + 1 ) − 16 { 16 \over (16+0+1+1+4)+(16+3+0+0+1)-16 } (16+0+1+1+4)+(16+3+0+0+1)−1616,即:每一类预测正确的数量 除 (预测属于此类的样本数量+此类本有的样本总数量-此类预测正确的数量)。ps:因为多加了一次预测正确的数量
Class 1 IoU = 22 ( 3 + 22 + 0 + 0 + 2 ) + ( 0 + 22 + 5 + 0 + 0 ) − 22 { 22 \over (3+22+0+0+2)+(0+22+5+0+0)-22 } (3+22+0+0+2)+(0+22+5+0+0)−2222
Class 2 IoU = 18 ( 0 + 5 + 18 + 0 + 1 ) + ( 1 + 0 + 18 + 0 + 1 ) − 18 { 18 \over (0+5+18+0+1)+(1+0+18+0+1)-18 } (0+5+18+0+1)+(1+0+18+0+1)−1818
Class 3 IoU = 15 ( 0 + 0 + 0 + 15 + 1 ) + ( 1 + 0 + 0 + 15 + 1 ) − 15 { 15 \over (0+0+0+15+1)+(1+0+0+15+1)-15 } (0+0+0+15+1)+(1+0+0+15+1)−1515
Class 4 IoU = 31 ( 1 + 0 + 1 + 1 + 31 ) + ( 4 + 2 + 1 + 1 + 31 ) − 31 { 31 \over (1+0+1+1+31)+(4+2+1+1+31)-31 } (1+0+1+1+31)+(4+2+1+1+31)−3131
Mean IoU (mIoU) = 1 5 { 1 \over 5 } 51*(Class 0 IoU+Class 1 IoU+Class 2 IoU+Class 3 IoU+Class 4 IoU),即:所有类的IoU的平均值
这篇写的更详细:【语义分割】评价指标:PA、CPA、MPA、IoU、MIoU详细总结和代码实现
如有错误,欢迎交流。