coco的AP ap50 ap75 ar 分別有哪些參考價值?


不應該用「科學」或者「不科學」來形容mAP。mAP只是眾多衡量目標檢測器效果的指標之一,每一種衡量指標只能體現目標檢測器效果的一個方面,沒有哪一個衡量指標能夠全面的體現一個目標檢測器的效果,正所謂「橫看成嶺側成峰,遠近高低各不同」。

我們應該根據所關心的點來選擇衡量指標。

1、如果項目要求目標檢測器的precision為98%,我們可以看precision=98%時,recall的大小;

2、如果項目要求「there is an upper limit on the acceptable false positives per image (FPPI) rate independent of pedestrian density」,MR就是一個合適的選擇;

3、如果我們想看看檢測器在某個類別上的總體效果,AP是一個不錯的選擇,或者直接看看PR曲線;

4、如果我們想看看檢測器在各個類別上的總體效果,mAP是一個不錯的選擇;

5、如果我們想看看檢測器在各個類別、各個IOU threshold上的總體效果,可以選擇mmAP。


不科學,據我之前實習的了解,和公司內一位大神交流了一下,實際的業務場景中大家通常不會選擇mAP(0.5-0.95)這種指標來衡量一個detector的性能,一般還是用FPPI、或者相同Recall下比Precision,主要原因是:

1.應用場景中一般0.5的IoU足夠了,並不需要過度嚴格的指標,比如行人檢測、人臉檢測等等。

2.mAP會被一些漲recall的方法推上去(腦補一下PR曲線),比如用soft-nms,focal loss等方法測試或訓出來的模型Recall會很高,mAP相應的通常會漲一丟丟(當然並不是絕對的),但是都是漲的低Precision的區域,低精度區對應用場景來說沒用,一般用的時候都是卡高Precision,漲回來的Recall其實並沒有什麼用。

3.應用的時候會卡單一的閾值,比如0.5,mAP對閾值做了平均,這時候就更不能用了。

所以常常一些漲mAP的方法在行人和人臉上其實並不能漲點,還是要根據指標和實際的應用場景來hack,但是當大家都在一個公開的benchmark上面公平比測,那這個時候用哪個指標就都無所謂,只要統一就好了呀~


按AP_all排:

按AP50排:

EfficientDet-D7x 從第五躍升第一

不過兩種排名方法差不多

ap從55.8到57點多,什麼概念?

想起了為提升學分績煞費苦心的日子.....

--------

What about getting rid of the per-class AP

and just doing a global average precision? Or doing an AP calculation per-image and averaging over that?

Boxes are stupid anyway though, I』m probably a true believer

in masks except I can』t get YOLO to learn them.

YOLOV3隻看mAP50

it』s already mean average precision, what do we even call the COCO metric, average mean average precision?

AP30比過別人 ,也能發論文?

得到box以後, 具體怎麼用?

第三行比較明顯:

(calculate the IOU using the wolfs pixels/polygon or bounding box? I assume it was the former.)

The jump from .25 to .5 is huge. .5 to .666 is somewhat noticeable but i think .666 to .75 is quite hard to tell the difference. Now imagine if theyre all mixed up trying to sort out which is which! To me, .5 is like, you know where the object is basically, .75 is like you know almost EXACTLY where the object is, and .9 is like you got really lucky. I would love to see metrics on inter-labeller IOU to see what most human labellers get.

has some metrics on inter-labeler iou, they got around 0.88 on average

Having accurate bounding boxes is very useful for tasks which are performed after detection, e.g., tracking, instance segmentation, etc.

來源:

## -----------------

摘抄:

1.項目落地時,IoU大於0.5就夠用了,一味追求太高的IoU沒有太大意義。如果只檢測某幾類,看mAP不如看那幾類的AP;看AP不如比相同recall下的precision。(一般要求precision比較高,不然FP太多經常誤報警?)

2. 有些提高AP的方法(比如soft-nms、focal loss)其實漲的是垃圾AP,也就是在precision很低的時候,提高了recall,從而增大了曲線圍成的面積,沒有實際價值。

有人在問題評論說,「一般情況,re(recall)與pr相比,rc對map影響比較大,所以一般刷榜的都是rc很高,pr並不怎麼好」。

求問:coco比賽只看AP,那AR的意義是?


mAP不是有個平均么?而且10個預測出一個,假設唯一預測對的和GT完全重合(p=1,r=1),其餘的9個沒預測出來,或者完全錯誤(p=0,r=0),那麼得到的mAP也高不到哪裡去吧,之前說mAP=0.1,有點錯誤,得算一波


不同的人有不同的實現,你的這種演算法有bug。

KITTI的檢測的代碼是你這種演算法,按recall採樣了11個點,所以能動手腳。

pascal voc應該沒這個bug吧?

coco的代碼我沒仔細讀,估計應該沒這個bug。


不同的數據集定義mAP的方式是不一樣的,PASCAL數據集後來更改過一次定義,COCO中已經沒有mAP的概念了,取而代之的是AP,當然這裡的AP和PASCAL和ImageNet里的AP是不一樣,COCO這裡是把80個類10個IOU閾值(0.5-0.95)下的101個recall下的precision加在一起再除以總數,這樣會獎勵那些location能力強的模型。

由mAP定義的更迭也能看出來,mAP作為一個metric,更應該說針對不同任務合不合適,而不是科不科學。


首先先說結論:當然科學!

map只是衡量od performance的其中一個評價標準,這個標準有自己嚴格的數學定義,用處和優缺點。

在他自己的本身當然是科學的,對於用的人先把定義和優缺點去搞清楚,並確定適不適合自己的項目。

ps:很多時候map在實際項目中是不夠的。


不科學,最近產品碰到類似的問題,一直想仔細探索,還沒來得及,希望知乎大神給點提示?


如果1個proposal都不預測,那算出來mAP就是100%了?


科學,你先搞明白mAP到底怎麼算的吧。


推薦閱讀:
相关文章