mAP,AP,APs,APm,APl,AP0.5等概念理解


前言

目標檢測(Intance Detection) 和圖像分割(Image Segmantation) 算是深度學習中兩個個比較熱門的項目了,單級式檢測(YOLO、SSD)和雙級式檢測(Fast R-Cnn)代表了如今大多數的目標檢測方法,而FCN、U-net、Deeplab則引領了圖像分割的潮流,為此,我們也應該知道如果去評價我們的檢測准確度:

(在Mask R-Cnn論文中精度展示figure)

在目標檢測的論文中,我們經常見到AP或者AR,這兩個指標究竟代表什么?還有平時我們所說的Accuracy和Precision又代表什么?

那么這些標准究竟代表什么,有什么意義,光看上面的表可能是看不明白的,而網絡中的評價標准大多解釋的比較雜亂,為了方便之后的查閱,特地在此整理歸納,保證你看了就明白到底是個怎么樣的評價標准,如有錯誤,歡迎拍磚~

評價標准

AP代表的是"Average Precision",代表平均精度,而AR代表的是"Average Recall",表示平均召回率。在coco數據集的官網中有對此的簡單評價標准介紹

目標檢測和圖像分割的評價標准是一樣的,核心都是使用IOU標准,可以看之前的這篇進行補充:

IOU(Intersection-Over-Union)

IOU即Intersection-Over-Union,IoU相當於兩個區域重疊的部分除以兩個區域的集合部分得出的結果,具體的可以在之前的這篇文章中了解到,這里就不贅述了。

目標檢測和圖像分割使用的IOU方法都是一樣的,不同的是目標檢測面向判斷選定框和預測框;而圖像分割面向的是選定掩碼和預測掩碼。

在目標檢測中,檢測目標用box進行評價。我們的IOU評價方式為(將預測框和選定框放入公式中去判定):

而在圖像分割中,我們用掩碼來進行評價,IOU評價方式為(將預測掩碼和選定掩碼放入公式匯中去判定):

Image credit

因為我們識別或者分割圖像一般都有好幾個類別,所以我們把每個分類得出的分數進行平均一下就可以得到mean IoU,也就是mIoU

Pixel Accuracy

上面所述的IoU只是用於評價一幅圖的標准,如果我們要評價一套算法,並不能只從一張圖片的標准中得出結論。一般對於一個數據集、或者一個模型來說。評價的標准通常來說遍歷所有圖像中各種類型、各種大小(size)還有標准中設定閾值.論文中得出的結論數據,就是從這些規則中得出的。

在進行評價標准前,我們首先了解一下基本概念:

  • Precision(准確率):表示符合要求的正確識別物體的個數占總識別出的物體個數的百分數
  • Recall(召回率):表示符合要求正確識別物體的個數占測試集中物體的總個數的百分數
  • FP:false positive(誤報),即預測錯誤(算法預測出一個不存在的物體)
  • FN:false negative(漏報),即沒有預測到(算法沒有在物體規定范圍內預測出該物體)
  • TP: true positive(正確),既預測正確(算法在物體規定范圍內預測出了該物體)
  • TN: true negative,算法預測出了此處是背景,也就是說此處沒有任何物體,當然也沒有mask。

如下圖,我們設定閾值為0.5,也就是說,只要IoU得分大於0.5我們就算成功預測到物體,而低於改該分數我們就規定為沒有預測到物體。

 

 

那么什么是准確度(accuracy,ACC)?注意准確度和精確度(precision)是兩碼事,兩者不可混為一談,評價標准中,Pixel Accuracy表示檢測物體的准確度,重點判斷標准為是否檢測到了物體,而Pixel Precision則代表檢測到所有的物體中覆蓋的精確度,重點判斷mask是否精確地覆蓋到了該物體。

而下方的公式是准確度公式,注意公式中的被除數和除數,TP代表檢測出來並且正確的目標,而TN代表正確識別的背景(一般我們將背景也分為一類)。

[公式]

Pixel Precision

而像素精度則是在已經檢測到的基礎上(不論檢測是否失誤)進行評測的標准:

[公式]

其中,tt代表閾值,也就是最開始的AP_{50}AP50​和AP_{75}AP75​分別代表閾值是0.5和0.75。

上面是coco的評價標准,表示在所有檢測出來的目標有多大的比率是正確的。而有些任務因為側重不同所以公式也稍有變化。比如下面的公式,加入了FN,沒有檢測出來的實際物體也進行了計算。

[公式]


Image credit

不論哪種方式,我們評價的時候盡可能顧全所有的閾值,所以一般使用的公式為:

[公式]

這個時候,thresholdthreshold的取值范圍一般是0.5:0.05:0.950.5:0.05:0.95。也就是最開始coco標准中注明的情況。

前面提到可以使用IOU來計算出一個標簽,PASCAL用的是 IOU>0.5即認為是正樣本,但是COCO要求IOU閾值在[0.5, 0.95]區間內每隔0.05取一次,這樣就可以計算出10個類似於PASCAL的mAP,然后這10個還要再做平均,即為最后的AP,COCO中並不將AP與mAP做區分,許多論文中的寫法是 AP@[0.5:0.95]。而COCO中的 AP@0.5 與PASCAL 中的mAP是一樣的。

也就是說,當閾值(Threshold)越高,評價標准就越嚴格,我們檢測目標的IoU值必須足夠高才能滿足要求。


Image credit

對於多分類的檢測,只需要在公式最前面加上類別即可:

[公式]

上面就是AP的基本公式,而AR的公式則如下:

[公式]

召回率更強調是否能否檢測到物體而不是檢測到正確的物體。一般准確率和召回率不可能都很高,一方高另一方則會稍微低一些,如何trade-off這兩個指標是目標檢測和圖像分割中經常考慮的問題。

參考文檔:



文章來自Oldpan博客,歡迎來訪:

www.oldpan.me​oldpan.me

 

發布於 2018-09-23
原文鏈接:https://zhuanlan.zhihu.com/p/45217236


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM