語義分割中最經常使用的有3個指標。爲了便於解釋,首先須要介紹混淆矩陣,以下所示:函數
混淆矩陣spa |
真實值blog |
||
Positiveci |
Negativeit |
||
預測值io
|
Positivetable |
True Positive(TP)真陽性nio |
False Positive(FP)假陽性im |
Negativecall |
False Negative(FN)假陰性 |
True Negative(TN)真陰性 |
首先假定數據集中有k+1類(0...k),0一般表示背景。
使用Pii表示本來爲i類同時預測爲i類,即真陽性(TP)和真陰性(TN)。
Pij表示本來爲i類被預測爲j類,即假陽性(FP)和假陰性(FN)。
若是第i類爲正類,當i!=j時,那麼Pii表示TP,Pjj表示TN,Pij表示FP,Pji表示FN。
1) Pixel Accuracy,像素精度是標記正確的像素佔總像素的百分比。公式以下:
2) Recall,召回率是預測值爲1且真實值也爲1的樣本在真實值爲1的全部樣本中所佔的比例。公式以下:
3) Mean IoU(mean intersection over union),均交併比在語義分割中做爲標準度量一直被人使用。IoU公式以下:
Mean IoU是在全部類別的IoU上取平均值。其公式以下:
在經典的論文《Fully Convolutional Networks for Semantic Segmentation》也有相關的指標定義,可是大致上與上述定義相同。
對一張須要預測的圖來說,圖中有背景(0)和2類標籤(1、2),共計46 + 34 + 20 = 100個像素點數。以下圖所示:
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 2 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 2 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 2 |
0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 2 | 2 |
0 | 0 | 1 | 1 | 1 | 1 | 0 | 0 | 2 | 2 |
0 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 2 | 2 |
0 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 2 | 2 |
0 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 2 | 2 |
0 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 2 | 2 |
0 | 0 | 1 | 1 | 1 | 1 | 0 | 0 | 2 | 2 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 2 |
0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 2 | 2 |
1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 2 | 2 |
0 | 1 | 1 | 1 | 1 | 1 | 0 | 2 | 2 | 2 |
0 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 2 | 2 |
0 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 2 | 2 |
1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 2 |
1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 2 |
如上所示,第一幅圖爲GT所標註出來的真實類別狀況,第二幅圖爲預測的類別狀況。
則首先計算混淆函數:
混淆矩陣 |
真實值(4六、3四、20) |
|||
類別0 |
類別1 |
類別2 |
||
預測值 |
類別0 |
40 |
4 |
6 |
類別1 |
5 |
30 |
0 |
|
類別2 |
1 |
0 |
14 |
求法:
對角線上的值 / 對角線所在行、列其它值之和 + 對角線值
則:
類別0的IoU:40 /(40 + 4 + 6 + 5 + 1) = 0.714
類別1的IoU:30 /(5 + 30 + 0 + 4 + 0) = 0.769
類別1的IoU:14 /(1 + 0 + 14 + 6 + 0) = 0.667
Mean IoU:(1 / 3)*(0.714 + 0.769 + 0.667 ) = 0.717