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:
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 c
- Fałszywie dodatni ( ): zaproponowano klasę c , ale nie ma obiektu klasy c
- Średnia dokładność dla klasy : # T P ( c )
MAP (średnia średnia precyzja) =
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.
Ale co oznacza mAP@[.5:.95]
(jak stwierdzono w tym artykule )?
computer-vision
Martin Thoma
źródło
źródło
[.5:.95]
część odnosi się do zakresu wartości IoU, ale jak ten zakres jest oceniany w pojedynczy mAP, nie wiedziałbym.Odpowiedzi:
mAP@[.5:.95]
(ktoś oznaczonymAP@[.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).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
źródło
źródło
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
źródło