計算機視覺界已經(jīng)集中在度量 mAP 上,來比較目標檢測系統(tǒng)的性能。在這篇文章中,我們將深入了解平均精度均值 (mAP) 是如何計算的,以及為什么 mAP 已成為目標檢測的首選指標。
目標檢測的快速概述
在我們考慮如何計算平均精度均值之前,我們將首先定義它正在測量的任務。目標檢測模型試圖識別圖像中相關對象的存在,并將這些對象劃分為相關類別。例如,在醫(yī)學圖像中,我們可能希望能夠計算出血流中的紅細胞 (RBC)、白細胞 (WBC) 和血小板的數(shù)量,為了自動執(zhí)行此操作,我們需要訓練一個對象檢測模型來識別這些對象并對其進行正確分類。
EfficientDet(綠色)與 YOLOv3(黃色)的示例輸出
這兩個模型都預測了圖片中細胞周圍的邊界框,然后他們?yōu)槊總邊界框分配一個類。對于每個任務,網(wǎng)絡都會對其預測的置信度進行建模,可以在此處看到我們共有三個類別(RBC、WBC 和Platelets)。
我們應該如何決定哪個模型更好?查看圖像,看起來 EfficientDet(綠色)繪制了過多的 RBC 框,并且在圖像邊緣漏掉了一些細胞。這當然是從事物表面來看——但是我們可以相信圖像和直覺嗎?
如果我們能夠直接量化每個模型在測試集中的圖像、類和不同置信閾值下的表現(xiàn),那就太好了。要理解平均精度均值,我們必須花一些時間來研究精度-召回曲線。
精確-召回曲線
精確是“模型猜測它正確猜測的次數(shù)?” 的一個衡量標準,召回是一種衡量“模型每次應該猜到的時候都猜到了嗎?” 。假設一個具有有 10 個紅細胞的圖像,模型只找到這 10 個中正確標記的一個,因為“RBC”具有完美的精度(因為它做出的每一個猜測都是正確的),但并不同時具有完美的召回(僅發(fā)現(xiàn)十個 RBC 細胞中的一個)。
包含置信元素的模型可以通過調(diào)整進行預測所需的置信水平來權衡召回的精確度。也就是,如果模型處于避免假陽性(當細胞是白細胞時說明存在紅細胞)比避免假陰性更重要的情況下,它可以將其置信閾值設置得更高,以鼓勵模型只產(chǎn)生以降低其覆蓋率(召回)為代價的高精度預測。
精度-召回曲線是繪制模型精度和以召回率作為模型置信閾值函數(shù)的過程。它是向下傾斜的,因為隨著置信度的降低,會做出更多的預測,進而預測的準確性會降低(影像精確度)。
一個 NLP 項目中不同模型的精度、召回率和置信度
隨著模型越來越不穩(wěn)定,曲線向下傾斜,如果模型具有向上傾斜的精度和召回曲線,則該模型的置信度估計可能存在問題。
人工智能研究人員偏向于指標,并且可以在單個指標中捕獲整個精確召回曲線。第一個也是最常見的是 F1,它結合了精度和召回措施,以找到最佳置信度閾值,其中精度和召回率產(chǎn)生最高的 F1 值。接下來是 AUC(曲線下面積),它集成了精確性和召回曲線下的繪圖量。
精確召回匯總指標圖
最終的精確-召回曲線指標是平均精度 (AP),它被計算為在每個閾值處實現(xiàn)的精度的加權平均值,并將前一個閾值的召回率增加用作權重。
AUC 和 AP 都捕獲了精確-召回曲線的整個形狀,選擇一個或另一個進行目標檢測是一個選擇問題,研究界已經(jīng)將注意力集中在AP 的可解釋性上。
通過并集上的交點測量正確性
目標檢測系統(tǒng)根據(jù)邊界框和類標簽進行預測。
真正的目標檢測圖
在實踐中,X1、X2、Y1、Y2 坐標中預測的邊界框肯定會偏離地面真實標簽(即使稍微偏離)。我們知道如果邊界框預測是錯誤的類,我們應該將其視為不正確的,但是我們應該在哪里繪制邊界框重疊的線?
Intersection over Union (IoU) 提供了一個度量來設置這個邊界,與地面真實邊界框重疊的預測邊界框的數(shù)量除以兩個邊界框的總面積。
真正對 IoU 指標的圖形描述。
為 IoU 指標選擇正確的單個閾值似乎是任意的,一位研究人員可能會證明 60% 的重疊是合理的,而另一位則認為 75% 似乎更合理,那么為什么不在一個指標中考慮所有閾值呢?
繪制mAP精度-召回曲線
為了計算 mAP,我們繪制了一系列具有不同難度級別的 IoU 閾值的精確-召回曲線。
我們真正繪制的 mAP 精確召回曲線圖
在上圖中,紅色繪制的是對 IoU 的最高要求(可能是 90%),橙色線繪制的是對 IoU 的最低要求(可能是 10%),要繪制的線數(shù)通常由挑戰(zhàn)設置。例如,COCO 挑戰(zhàn)設置了十個不同的 IoU 閾值,從 0.5 開始,以 0.05 的步長增加到 0.95。
最后,我們?yōu)榘搭愋蛣澐值臄?shù)據(jù)集繪制這些精度-召回曲線。
由我們真正按對象類別劃分的 mAP 圖
該指標在所有 IoU 閾值上單獨計算每個類的平均精度 (AP),然后該指標對所有類別的 mAP 進行平均以得出最終估計值。
在實驗中使用平均精度均值(mAP)
我最近在一篇文章中使用了mAP,比較了最先進的EfficientDet和YOLOv3檢測模型,我想看看哪個模型在識別血液中的細胞表現(xiàn)更好。
在對測試集中的每個圖像進行推理后,我導入了一個 python 包來計算Colab筆記本中的mAP,結果如下!
EfficientDet 對細胞物體檢測的評價:
78.59% = Platelets AP
77.87% = RBC AP
96.47% = WBC AP
mAP = 84.31%
YOLOv3對細胞物體檢測的評價:
72.15% = Platelets AP
74.41% = RBC AP
95.54% = WBC AP
mAP = 80.70%
因此,與本文開頭的單一推斷圖片相反,事實證明EfficientDet在建模細胞目標檢測方面做得更好!我們還將注意該指標是按對象類劃分的,這告訴我們,白細胞比血小板和紅細胞更容易檢測,這是有道理的,因為它們比其他細胞大得多,并且不同。
地圖也經(jīng)常被分成小、中、大對象,這有助于識別模型(和/或數(shù)據(jù)集)可能出現(xiàn)錯誤的地方。