样例:语义分割指标计算: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}⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎡​预测标签预测标签预测标签预测标签预测标签​0 1 2 3 4 ​​真实标签0 1 6 3 0 0 1 ​真实标签1 0 2 2 5 0 0 ​真实标签2 1 0 1 8 0 1 ​真实标签3 1 0 0 1 5 1 ​真实标签4 4 2 1 1 3 1 ​⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎤​

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)}(1 6 +0 +1 +1 +4 )+(3 +2 2 +0 +0 +2 )+(0 +5 +1 8 +0 +1 )+(0 +0 +0 +1 5 +1 )+(1 +0 +1 +1 +3 1 )1 6 +2 2 +1 8 +1 5 +3 1 ​,即:对角元素和 除 所有元素和。

Class 0 Accuracy = 16 16 + 3 + 0 + 0 + 1 { 16 \over 16+3+0+0+1 }1 6 +3 +0 +0 +1 1 6 ​,即:每一类预测正确的数量 除 此类本有的样本总数量

Class 1 Accuracy = 22 0 + 22 + 5 + 0 + 0 { 22 \over 0+22+5+0+0 }0 +2 2 +5 +0 +0 2 2 ​

Class 2 Accuracy = 18 1 + 0 + 18 + 0 + 1 { 18 \over 1+0+18+0+1 }1 +0 +1 8 +0 +1 1 8 ​

Class 3 Accuracy = 15 1 + 0 + 0 + 15 + 1 { 15 \over 1+0+0+15+1 }1 +0 +0 +1 5 +1 1 5 ​

Class 4 Accuracy = 31 4 + 2 + 1 + 1 + 31 { 31 \over 4+2+1+1+31 }4 +2 +1 +1 +3 1 3 1 ​

Mean Accuracy (mAcc) = 1 5 { 1 \over 5 }5 1 ​*(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 }(1 6 +0 +1 +1 +4 )+(1 6 +3 +0 +0 +1 )−1 6 1 6 ​,即:每一类预测正确的数量 除 (预测属于此类的样本数量+此类本有的样本总数量-此类预测正确的数量)。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 +2 2 +0 +0 +2 )+(0 +2 2 +5 +0 +0 )−2 2 2 2 ​

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 +1 8 +0 +1 )+(1 +0 +1 8 +0 +1 )−1 8 1 8 ​

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 +1 5 +1 )+(1 +0 +0 +1 5 +1 )−1 5 1 5 ​

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 +3 1 )+(4 +2 +1 +1 +3 1 )−3 1 3 1 ​

Mean IoU (mIoU) = 1 5 { 1 \over 5 }5 1 ​*(Class 0 IoU+Class 1 IoU+Class 2 IoU+Class 3 IoU+Class 4 IoU),即:所有类的IoU的平均值

如有错误,欢迎交流。

Original: https://blog.csdn.net/qq_42406643/article/details/121250892
Author: tomorrow″
Title: 样例:语义分割指标计算:GA,OA,mAcc,mIoU,IoU

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/692247/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球