Co to jest metryka mAP i jak jest obliczana?

Odpowiedzi:

47

Cytaty pochodzą z wyżej wymienionego artykułu Zissermana - 4.2 Ocena wyników (strona 11) :

Po pierwsze, „kryterium nakładania się” definiuje się jako sumę przecięcia z nadwyżką większą niż 0,5. (np. jeśli przewidywane pudełko spełnia to kryterium w odniesieniu do pola prawdy, uznaje się je za wykrycie). Następnie dokonuje się dopasowania między pudełkami GT i przewidywanymi, używając tego „zachłannego” podejścia:

Wyniki detekcji metodą zostały przypisane do obiektów prawdy naziemnej spełniających kryterium nakładania się w kolejności uszeregowanej według (malejącego) wyniku ufności. Wielokrotne wykrycia tego samego obiektu na obrazie uznano za fałszywe, np. 5 wykryć pojedynczego obiektu liczone jako 1 prawidłowe wykrycie i 4 fałszywe wykrycia

W związku z tym każde przewidywane pole jest prawdziwie dodatnie lub fałszywie dodatnie. Każde pudełko prawdy jest prawdziwie pozytywne. Nie ma prawdziwych negatywów.

Następnie oblicza się średnią precyzję poprzez uśrednienie wartości precyzji na krzywej precyzji-przypominania, gdzie przywołanie mieści się w zakresie [0, 0,1, ..., 1] (np. Średnia z 11 wartości precyzji). Mówiąc dokładniej, rozważymy nieco skorygowaną krzywą PR, gdzie dla każdego punktu krzywej (p, r), jeśli istnieje inny punkt krzywej (p ', r') taki, że p '> p i r'> = r , zastępujemy p maksymalnym p 'z tych punktów.

Wciąż nie jest dla mnie jasne, co się dzieje z tymi skrzynkami GT, które nigdy nie zostały wykryte (nawet jeśli pewność wynosi 0). Oznacza to, że istnieją pewne wartości przypomnienia, których krzywa precyzji i przypomnienia nigdy nie osiągnie, a to sprawia, że ​​średnie obliczenia dokładności powyżej są niezdefiniowane.

Edytować:

Krótka odpowiedź: w regionie, w którym odwołanie jest nieosiągalne, precyzja spada do 0.

Jednym ze sposobów wyjaśnienia tego jest założenie, że gdy próg ufności zbliża się do 0, na całym obrazie pojawia się nieskończona liczba przewidywanych obwiedni. Następnie precyzja natychmiast spada do 0 (ponieważ jest tylko skończona liczba pudełek GT), a pamięć rośnie na tej płaskiej krzywej, aż osiągniemy 100%.

Jonathan
źródło
3
Nie jest to jedyna niejasna rzecz. Rozważmy przypadek, w którym istnieją dwie prognozy w pudełkach (P1, P2) i dwie podstawy prawdy (T1, T2), gdzie P2 ma wyższą ufność niż P1. Zarówno P1, jak i P2 nakładają się na T1. Ponieważ P2 ma wyższą pewność, jasne jest, że P2 należy uznać za dopasowanie do T1. Nie podano, że jeśli P1 również ma część IOU pokrywającą się z T2, ale mniejszą niż IOU z T1, czy P1 powinien mieć „drugą szansę”, aby spróbować dopasować się do T2, czy nie?
Martin
Czy ktoś może wyjaśnić problem z niewykrytymi pudełkami GT?
Jonathan
@Jonathan: czy po prostu odrzucamy prognozy z IoU <0,5 i obliczamy obszar pod krzywą PR dla prognoz z IoU> = 0,5?
Alex
@Alex Nie. Prognozy z wartością IoU <0,5 są fałszywie dodatnimi.
Jonathan
1
@Martin jak widać z github , P1 nie będzie miał drugą szansę, ale fałszywie dodatni.
qq456cvb
50

mAP to średnia średnia precyzja.

Jego zastosowanie różni się w zakresie ustawień wyszukiwania informacji (odniesienie [1] [2] ) i klasyfikacji wieloklasowej (wykrywanie obiektów).

Aby obliczyć ją dla wykrywania obiektów, należy obliczyć średnią dokładność dla każdej klasy w danych na podstawie prognoz modelu. Średnia precyzja jest związana z obszarem pod krzywą precyzji-przypominania dla klasy. Następnie, biorąc średnią z tych średnich precyzji dla poszczególnych klas, uzyskuje się średnią średnią precyzję.

Aby obliczyć średnią dokładność, patrz [3]

Ankitp
źródło
33

W celu wykrycia typowym sposobem określenia, czy jedna propozycja obiektu była poprawna, jest Przecięcie nad sumą (IoU, IU). Pobiera zestaw A proponowanych pikseli obiektu i zestaw prawdziwych pikseli obiektu Bi oblicza:

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

  • TP prawdziwie pozytywny (c): przygotowano propozycję dla klasy c i faktycznie istniał obiekt klasy c
  • Fałszywie pozytywny FP (c): propozycja została przygotowana dla klasy c, ale nie ma przedmiotu klasy c
  • Średnia dokładność dla klasy c:

MAP (średnia średnia precyzja) wynosi zatem:

Uwaga: jeśli ktoś chce lepszych propozycji, powinien zwiększyć IoU z 0,5 do wyższej wartości (do 1,0, co byłoby idealne). Można to oznaczyć za pomocą mAP @ p, gdzie p \ in (0, 1) to IoU.

mAP@[.5:.95] oznacza, że ​​mAP jest obliczany dla wielu progów, a następnie ponownie uśredniany

Edycja: aby uzyskać bardziej szczegółowe informacje, zobacz metryki oceny COCO

mrk
źródło
9

Myślę, że ważną częścią tutaj jest powiązanie, w jaki sposób wykrywanie obiektów można uznać za to samo, co standardowe problemy z wyszukiwaniem informacji, dla których istnieje co najmniej jeden doskonały opis średniej precyzji .

Wynikiem niektórych algorytmów wykrywania obiektów jest zestaw proponowanych obwiedni, a dla każdego z nich wyniki ufności i klasyfikacji (jeden wynik na klasę). Na razie zignorujmy wyniki klasyfikacji i użyjmy ufności jako danych wejściowych do progowej klasyfikacji binarnej . Intuicyjnie, średnia precyzja jest agregacją wszystkich wyborów dla wartości progowej / odcięcia. Ale poczekaj; aby obliczyć dokładność, musimy wiedzieć, czy pudełko jest poprawne!

W tym miejscu staje się mylące / trudne; w przeciwieństwie do typowych problemów z wyszukiwaniem informacji, mamy tutaj dodatkowy poziom klasyfikacji. Oznacza to, że nie możemy dokładnie dopasować między ramkami, więc musimy sklasyfikować, czy obwiednia jest poprawna, czy nie. Rozwiązaniem jest zasadniczo wykonanie zakodowanej na stałe klasyfikacji wymiarów pudełka; sprawdzamy, czy w wystarczającym stopniu pokrywa się z jakąkolwiek podstawową prawdą, aby można ją było uznać za „prawidłową”. Próg dla tej części jest wybierany przez zdrowy rozsądek. Zbiór danych, nad którym pracujesz, prawdopodobnie określi, jaki jest ten próg dla „prawidłowej” ramki ograniczającej. Większość zestawów danych po prostu ustawia ją na 0,5 IoU i pozostawia na tym poziomie (polecam wykonanie kilku ręcznych obliczeń IoU [nie są one trudne], aby poczuć, jak ścisłe jest IoU wynoszące 0,5).

Teraz, gdy już zdefiniowaliśmy, co to znaczy być „poprawnym”, możemy po prostu użyć tego samego procesu, co przy wyszukiwaniu informacji.

Aby znaleźć średnią średnią precyzję (mAP), wystarczy podzielić proponowane pola na warstwy w oparciu o maksimum wyników klasyfikacyjnych powiązanych z tymi ramkami, a następnie uśrednić (wziąć średnią) średniej precyzji (AP) dla klas.

TLDR; dokonać rozróżnienia między określeniem, czy przewidywanie prostokąta ograniczającego jest `` poprawne '' (dodatkowy poziom klasyfikacji), a oceną, jak dobrze pewność pudełka informuje cię o `` prawidłowym '' przewidywaniu prostokąta ograniczającego (całkowicie analogiczne do przypadku wyszukiwania informacji) a typowymi opisami mAP będzie miał sens.


Warto zauważyć, że obszar pod krzywą precyzji / przypomnienia to to samo, co średnia precyzja , a my zasadniczo przybliżamy ten obszar regułą trapezu lub prawej ręki do przybliżania całek.

Multihunter
źródło
3

Definicja: mAP → średnia średnia precyzja

W większości konkursów na wykrywanie obiektów istnieje wiele kategorii do wykrycia, a ocena modelu jest wykonywana za każdym razem na jednej określonej kategorii, a wynikiem oceny jest punkt dostępowy tej kategorii.

Kiedy każda kategoria jest oceniana, średnia wszystkich AP jest obliczana jako ostateczny wynik modelu, którym jest mAP.

刘洪宇
źródło
0

wprowadź opis obrazu tutaj

Punkt przecięcia nad sumą (IOU) jest miarą opartą na indeksie Jaccarda, który ocenia nakładanie się dwóch obwiedni. Wymaga ramki granicznej zgodnej z prawdą i przewidywanej ramki granicznej Stosując IOU możemy stwierdzić, czy wykrywanie jest prawidłowe (prawdziwie dodatnie), czy nie (fałszywie dodatnie). prostokąt ograniczający prawdę podzielony przez obszar zjednoczenia między nimi.

Szorstki
źródło
Pytanie dotyczy mAP, a nie IoU. Powinniście więc przynajmniej wyjaśnić, w jaki sposób IoU jest powiązane z mAP.
nbro