評價目標檢測(object detection)模型的參數:IOU,AP,mAP


 

首先我們為什么要使用這些呢?

舉個簡單的例子,假設我們圖像里面只有1個目標,但是定位出來10個框,1個正確的,9個錯誤的,那么你要按(識別出來的正確的目標/總的正確目標)來算,正確率100%,但是其實效果不是很好,而且還有框的各種情況,因此我們需要下面的指標來衡量一個目標檢測模型的好壞。

1.IOU(Intersection Over Union)

這是關於一個具體預測的Bounding box的准確性評估的數據,意義也就是為了根據這個IOU測定你這個框是不是對的,大於等於IOU就是對的,小於就是錯的。對於目標檢測任務來說,一個具體的目標預測包括一個bounding box的坐標和它的置信度。通過predict(測量預測的)bndbox(bounding box)和ground truth(物體真實的)bndbox之間的重合度,我們來得出此次預測是true還是false。一旦確定了IOU,那么我們就能決定這個Bounding box是不是對的。計算公式如下圖:

通俗來說,也就是(預測的包圍盒和物體實際包圍盒的交集)/(預測的包圍盒和物體實際包圍盒的並集)。一般來說,重合區域的面積(上面公式的分子)和2個bndbox的面積並集的比例(上面公式的分母)如果大於50%,那么認為這是一個成功的預測(true),否則認為這是一個失敗的預測(false)。公式等號的左邊就是IoU,但是這個IOU是根據人來定的。

 

 

2.AP(average precision)

這個的意義是為了評估你目標檢測模型的對於某一類的准確度。要弄清這個,先等搞清楚2個概念:precision(查准率)和recall(召回率),借用知乎上一張圖: (關於2個參數想要了解更多可以去看這個教程https://www.bilibili.com/video/av9912938/?p=68)

在2010年以前,PASCAL VOC CHALLENGE AP是這么定義的:,我們把recall的值從0到1 (0%到100%)划分為11份:0、0.1、0.2、0.3、0.4、0.5、0.6、0.7、0.8、0.9、1.0,在每個recall尺度上我們計算下准確率(最大值),然后再計算總和並平均,就是AP值

在以后,換了一種計算方法(從后往前算每個recall都取precision的最大值,會讓PR曲線遞減):多個類別物體檢測中,每一個類別都可以根據recall和precision繪制一條曲線,AP就是該曲線下的面積/x,y坐標軸(0,1)范圍的面積(也就是1)。類似於下圖:

 

AP的值就是曲線下的面積除以1。

 

 

3.mAP(mean average precision)

這個的意義是為了評估你整個目標檢測模型的准確度。方法是:計算每個分類的AP,求和再平均,得到的就是mAP目前基於只有COCO數據集目標檢測的模型mAP一般在0.3-0.4 , 但基於PASCAL VOC+COCO數據集訓練的模型的mAP可以達到0.8以上

 

 

這里要多說幾句,因為在mscoco里面,它有這么幾句話:(這里先不討論AR)

 

1.Unless otherwise specified, AP and AR are averaged over multiple Intersection over Union (IoU) values. Specifically we use 10 IoU thresholds of .50:.05:.95. This is a break from tradition, where AP is computed at a single IoU of .50 (which corresponds to our metric APIoU=.50). Averaging over IoUs rewards detectors with better localization.

 

2.AP is averaged over all categories. Traditionally, this is called "mean average precision" (mAP). We make no distinction between AP and mAP (and likewise AR and mAR) and assume the difference is clear from context.

 

也就是說:它是直接把mAP當成AP,然后再把IOU值大於0.5的AP(mAP),以0.05的增量,到0.95,也就是以(0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95)IOU值的AP(mAP)的平均值當成AP(at IoU=.50:.05:.95),mscoco進行這樣IOU增量平均的考慮可能是:只以0.5IOU為閥值的時候不一定就是更好的模型,可能僅僅在0.5閥值表現的很好,在0.6,0.7...閥值表現的很差,為了更好地評估整體模型的准確度,從而計算一個模型在各個IOU值的AP(mAP),取平均值。

 

 

參考鏈接:

http://cocodataset.org/#detections-eval

http://homepages.inf.ed.ac.uk/ckiw/postscript/ijcv_voc09.pdf  (第11頁)

https://www.zhihu.com/question/41540197

http://blog.sina.com.cn/s/blog_9db078090102whzw.html

https://www.zhihu.com/question/53405779

 

 

 


免責聲明!

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



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