用 STAPLE 做掩碼共識
資料集該記錄哪一份掩碼,又是誰畫得更好?STAPLE 估計一條潛在邊界,並給出每位標註者的敏感度與特異度;當認真的標註者人數處於劣勢時,它優於多數表決。
一致性回答的是"他們是否一致",它並不回答"資料集該記錄哪一份掩碼,又是誰畫得更好"。 那是另一個問題,需要另一套模型。
為什麼不用 MACE
MACE 把每位標註者建模為在一個有限的共享標籤集上"知道答案或在猜"。而掩碼存在於一個無界的空間中,沒有可供估計的類別型變數。硬把掩碼塞進這套模型,就意味著要憑空造出一個標籤集,而造出來的東西會左右最終結論。
STAPLE 做了什麼
STAPLE(Warfield、Zou 與 Wells,2004)是醫學影像領域處理這一問題的成熟工具。它在逐畫素標籤上執行期望最大化,併為每位標註者估計:
| 含義 | 數值偏低意味著 | |
|---|---|---|
| 敏感度 | 在真正的前景中,你包含了多少? | 分割不足——把邊界畫進去了 |
| 特異度 | 在真正的背景中,你正確排除了多少? | 分割過度——把周圍也慷慨地圈了進來 |
兩者都會報告,因為它們的糾正方式恰好相反。單一的"準確率"數字會把這兩種失效評成同一分,也就無法告訴標註者該改什麼。
加權共識,而非多數表決
認真標註者的分歧對共識的影響,大於粗心者的分歧,而演算法會從資料本身推斷出誰是誰。
在兩位認真標註者以二比三落於下風、其餘為噪聲標註者的場景下實測:
| 方法 | 相對真值的 Dice |
|---|---|
| 多數表決 | 0.846 |
| STAPLE | 1.000 |
表決會讓那三位噪聲標註者說了算。STAPLE 則注意到,認真的那一對彼此一致,而噪聲的三位彼此並不一致。
值得知道的注意事項
- 某位標註者若對同一類別標了三個實例,其貢獻為它們的並集。STAPLE 是逐畫素比較的,要把各實例區分開,就得先在標註者之間做實例匹配——那屬於檢測問題,已在幾何形狀上的一致性中單獨回答。
- 攜帶掩碼的標註者不足兩位的條目會被計數並跳過,而不是被無聲丟棄。否則覆蓋率會被高估。
成本控制
成對比較的複雜度對標註者人數以及每個條目的實例數都是平方級的。一個五位標註者、每張圖 50 個實例的項目,每張圖要做 25,000 次掩碼解碼,這足以讓一次管理頁載入卡死。
系統設有硬性預算 max_pairs,預設 200,000。觸及該上限時:
- 該條目會被整體跳過,絕不做一半,因為處理到一半的條目會讓均值偏向恰好被算到的那幾對標註者;
- 報告會置
truncated: true,並說明實際納入了多少條目。
一個被截斷卻看起來完整的一致性數字,比沒有數字更糟,因為它會被人引用。