影像切割任務常用的指標-IoU和Dice coefficient
因為前一陣子協助醫療單位進行相關的AI專案,在IRB審查回復階段被審查委員要求要有統計方法,但計劃書內其實已經提到會採用Dice coefficient來評估,但依舊被回復需要提供,因此寫了一小段和影像切割(Image Segmentation)的評估指標,也因為這一小段我去反思為什麼Dice coefficient明明長得跟IoU很像,為什麼要多這一個評估指標。
IoU的簡介我在過去文章「深度學習系列: 什麼是AP/mAP?」最後面的文章內有敘述,這邊會用別的觀點在簡述一次。
AI影像切割任務(Image Segmentation)常用的統計量化指標來進行模型評估,分別為Intersection-Over-Union (IoU)和Dice coefficient (Dice係數)來評估影像切割的正確性,IoU和Dice係數皆是基於confusion matrix進行計算,相關簡述如下,
TP(True Positive): 實際為有病的像數位置,AI也判斷為有病。
FN(False Negative): 實際有病的像數位置,AI判斷為沒有病。
FP(False Positive): 實際沒有病的像數位置,AI判斷為有病。
TN(True Negative): 實際沒有病的像數位置,AI也判斷為沒有病。
在計算這個confusion的時候需要針對真實類別的每個類別分別去算,所以才會有每一類別的IoU和Dice係數指標。
真實類別: 手動標註的人工類別。
AI判斷結果: AI模型判斷得結果。
Note: 因為我是直接沿用計畫回覆內容,所以會用醫師標註作為真實答案。
一般Image Segmentation任務通常都會有Ground truth的答案提供,例如車輛或是建築物的影像切割答案,但這個答案通常都很絕對,也就是你不太可能把車子判斷成建築物(假設沒有標註錯誤的情況下)。
但醫療相關的資料會比較麻煩,因為醫療比較吃醫生或是專家的domain knowledge,所以每個醫生/專家的標註資料有可能再判斷病徵的時候因為所學不同造成判斷的結果不太一樣。
如果有比較進階的讀者應該可以發現很多演算法在不同領域解釋的角度都不太一樣。
所以在醫療相關的學術研究為了避免/減緩這個問題,通常會同一筆資料給予3–5為以上的專家進行標註,評估專家間的agreement(我個人中文翻譯傾向用”一致性”),然後再進行交叉比較,把那些答案不一樣的資料拿出來討論得到最終的答案,而這個專家間的agreement可視為這個任務的upper bound reference。
- 這段內容提供給做醫療相關的讀者參考。但我以前在研究有專業人士跟我說我就是標準,大家都是follow我的規範,這又是題外話了。
IoU
又稱為Jaccard Index為AI影像切割任務最常採用的評估方式,計算方式為
IoU計算範例,1為有病的位置,0為沒病的位置:
Dice係數
也稱為F1-Score,F1-score這點很重要,因為論文上的常看到的公式(如下)是從F1-Score推論過來的:
Dice係數和IoU非常相似,兩個指標是正相關,但實際上Dice係數是在計算真陽性率(True Positive Rate, TPR)和陽性預測值(Positive predictive value, PPV)的調和平均數 (Harmonic mean),見下式,
當真陽性率與陽性預測值平衡的狀態下,F1-Score才會高,若一個指標高、一個指標低則會造成(F1-Score)降低。
那我們稍微將F1-Score的公式轉換一下,
因此影像切割任務常看到採用Dice係數的公式是這樣來的,也就是Dice係數是用F1-Score來進行模型整體的performance。
F1-score或是其他指標更細節的介紹可以參考
- 「機器學習\統計方法: 模型評估-驗證指標(validation index)」
- 購買我寫的書「機器學習的統計基礎:深度學習背後的核心技術」第十四章。