样例:语义分割指标计算:GA,OA,mAcc,mIoU,IoU

  • Post author:
  • Post category:其他


举个例子,假设得到混淆矩阵如下:




[

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的平均值

这篇写的更详细:

【语义分割】评价指标:PA、CPA、MPA、IoU、MIoU详细总结和代码实现

如有错误,欢迎交流。



版权声明:本文为qq_42406643原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。