Co oznacza notacja mAP @ [. 5: .95]?

17

W przypadku wykrywania powszechnym sposobem ustalenia, czy propozycja jednego obiektu była poprawna, jest Skrzyżowanie przez Unię (IoU, IU). Pobiera zestaw proponowanych pikseli obiektowych i zestaw rzeczywistych pikseli obiektowych B i oblicza:ZAb

jaoU(ZA,b)=ZAbZAb

Zwykle IoU> 0,5 oznacza, że ​​był to hit, w przeciwnym razie byłby to błąd. Dla każdej klasy można obliczyć

  • Prawdziwie dodatni ( ): propozycja została przygotowana dla klasy c i faktycznie był obiekt klasy cT.P.(do)dodo
  • Fałszywie dodatni ( ): zaproponowano klasę c , ale nie ma obiektu klasy cfaP.(do)dodo
  • Średnia dokładność dla klasy : # T P ( c )do#T.P.(do)#T.P.(do)+#faP.(do)

MAP (średnia średnia precyzja) = 1|dolzassmis|dodolzassmis#T.P.(do)#T.P.(do)+#faP.(do)

Jeśli ktoś chce lepszych propozycji, zwiększa IoU z 0,5 do wyższej wartości (do 1,0, co byłoby idealne). Można to określić za pomocą mAP @ p, gdzie to IoU.p(0,1)

Ale co oznacza mAP@[.5:.95](jak stwierdzono w tym artykule )?

Martin Thoma
źródło
Podejrzewam, że [.5:.95]część odnosi się do zakresu wartości IoU, ale jak ten zakres jest oceniany w pojedynczy mAP, nie wiedziałbym.
Neil Slater
@NeilSlater Ale dlaczego chcesz mieć górną granicę? Czy wyższe IoU nie zawsze jest lepsze?
Martin Thoma,
Osiągnięcie dopasowania z wyższymi IoU jest lepsze, ale przypuszczalnie wartość mAP jest zmniejszona, jeśli zmierzymy, jak dobrze model opisuje idealne dopasowania (dla dowolnego modelu), i nie jest to uważane za przydatną miarę. Dlaczego nie jest uwzględniony w zakresie, którego nie znam, ale nie wiem, w jaki sposób oblicza się mAP w tym przypadku - może to być prosty sposób na przykład na podstawie próbek.
Neil Slater,
1
Jest to repozytorium github z doskonałym wyjaśnieniem IOU , Precision , Recall , Average Precision i mAP . Posiada również kod, który ocenia dowolne detektory obiektów. Z pewnością wam to pomoże : https://github.com/rafaelpadilla/Object-Detection-Metrics
Rafael Padilla

Odpowiedzi:

10

mAP@[.5:.95](ktoś oznaczony mAP@[.5,.95]) oznacza średnie mAP dla różnych progów IoU, od 0,5 do 0,95, krok 0,05 (0,5, 0,55, 0,6, 0,65, 0,7, 0,75, 0,8, 0,85, 0,9, 0,95).

Istnieje powiązana próba MS COCO z nową miarą oceny, która uśrednia mAP dla różnych progów IoU, od 0,5 do 0,95 (zapisanych jako „0,5: 0,95”). [ Ref ]

Oceniamy mAP uśredniony dla IoU ∈ [0,5: 0,05: 0,95] (standardowa metryka COCO, po prostu oznaczona jako mAP @ [. 5, .95]) i [email protected] (metryka PASCAL VOC). [ Ref ]

Aby ocenić nasze ostateczne wykrycia, używamy oficjalnego API COCO [20], który mierzy mAP uśredniony powyżej progów IOU w [0,5: 0,05: 0,95], między innymi metrykami. [ Ref ]

BTW, kod źródłowy z coco pokazuje dokładnie to, co mAP@[.5:.95]robi:

self.iouThrs = np.linspace(.5, 0.95, np.round((0.95 - .5) / .05) + 1, endpoint=True)

Bibliografia

https://github.com/pdollar/coco

http://mscoco.org/

https://www.cs.cornell.edu/~sbell/pdf/cvpr2016-ion-bell.pdf

https://arxiv.org/pdf/1506.01497.pdf

https://arxiv.org/pdf/1611.10012.pdf

Lodowate
źródło
Masz coś przeciwko pytaniu? Jeśli na przykład mamy 3 wystąpienia pewnej klasy w zbiorze danych, a model zwraca dla nich wartość Iou 0,1, 0,6 i 0,9, czy to oznacza, że ​​odrzucamy wynik 0,1 i średnią Iou 0,75 i odpowiadający mAP?
Alex,
5

#T.P.(do)#T.P.(do)+#faP.(do)jest definicją precyzji, a nie średniej precyzji . W celu wykrywania obiektów AP zdefiniowano tutaj . W skrócie, podsumowuje on krzywą precyzji / przywołania, dlatego uwzględnia się nie tylko precyzję, ale także przywołanie (stąd też Fałszywy Negatyw również zostanie ukarany).

anhvh
źródło
Dla tych, którzy przeglądają to odniesienie, definicja średniej precyzji (AP) znajduje się na stronie 11.
Waylon Flinn
3

AP jest uśredniane dla wszystkich kategorii. Tradycyjnie nazywa się to „średnią średnią precyzją” (mAP). Nie rozróżniamy AP i mAP (oraz podobnie AR i mAR) i zakładamy, że różnica wynika z kontekstu.

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

Mark Yang
źródło
Myślałem, że mAP jest średnią punktów dostępowych w wielu klasach. Lubię znać twoją / papierową definicję autora.
Cloud Cho