Что означает нотация mAP @ [. 5: .95]?

17

Для обнаружения общий способ определить, было ли одно предложение объекта правильным, является Пересечением по Объединению (IoU, IU). Он берет набор предложенных пикселей объекта и набор истинных пикселей B объекта и вычисляет:AВ

IoU(A,B)=ABAB

Обычно IoU> 0.5 означает, что это был удар, иначе это был сбой. Для каждого класса можно рассчитать

  • Истинный Позитив ( ): предложение было сделано для класса c, и фактически был объект класса cTP(c)сс
  • Ложный Позитив ( ): предложение было сделано для класса c , но нет объекта класса cFP(с)сс
  • Средняя точность для класса : # T P ( c )с#Tп(с)#Tп(с)+#Fп(с)

MAP (средняя средняя точность) = 1|сLassеs|ΣссLassеs#Tп(с)#Tп(с)+#Fп(с)

Если кто-то хочет получить лучшие предложения, он увеличивает IoU с 0,5 до более высокого значения (до 1,0, что было бы идеально). Это можно обозначить через mAP @ p, где - IoU.п(0,1)

Но что mAP@[.5:.95](как показано в этой статье ) означает?

Мартин Тома
источник
Я подозреваю, что [.5:.95]часть относится к диапазону значений IoU, но как этот диапазон оценивается в одной карте, я не знаю.
Нил Слэйтер
@NeilSlater Но зачем вам верхняя граница? Разве более высокий IoU не всегда лучше?
Мартин Тома
Достижение соответствия с более высоким IoU лучше, но, вероятно, значение mAP уменьшается, если мы измеряем, насколько хорошо модель описывает идеальные совпадения (для любой модели), и это не считается полезным показателем. Почему он не включен в диапазон, я не знаю, но тогда я не знаю, как рассчитывается mAP в этом случае - это может быть простое среднее значение, например, на основе выборок.
Нил Слэйтер
1
Это github-репозиторий с отличным объяснением IOU , Precision , Recall , Average Precision и mAP . Он также имеет код, который оценивает любые детекторы объектов. Это, безусловно, поможет вам, ребята : https://github.com/rafaelpadilla/Object-Detection-Metrics
Рафаэль Падилья

Ответы:

10

mAP@[.5:.95](кто-то обозначил mAP@[.5,.95]) означает среднее значение mAP для разных порогов IoU, от 0,5 до 0,95, шаг 0,05 (0,5, 0,55, 0,6, 0,65, 0,7, 0,75, 0,8, 0,85, 0,9, 0,95).

Существует связанная проблема MS COCO с новой метрикой оценки, которая усредняет mAP по различным порогам IoU, от 0,5 до 0,95 (записывается как «0,5: 0,95»). [ Ссылка ]

Мы оцениваем mAP, усредненные для IoU ∈ [0,5: 0,05: 0,95] (стандартная метрика COCO, просто обозначаемая как mAP @ [. 5, .95]) и mAP@0,5 (метрика PASCAL VOC). [ Ссылка ]

Для оценки наших окончательных обнаружений мы используем официальный API COCO [20], который измеряет mAP, усредненный по порогам IOU в [0,5: 0,05: 0,95], среди других показателей. [ Ссылка ]

Кстати, то исходный код из кокосовой показывает именно то , что mAP@[.5:.95]делает:

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

Ссылки

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

Icyblade
источник
Вы не против вопроса? Если, например, у нас есть 3 экземпляра определенного класса в наборе данных, и модель возвращает для них iou 0,1, 0,6 и 0,9, означает ли это, что мы отбрасываем результат 0,1, а среднее значение 0,75 и соответствующий mAP?
Алекс
5

#Tп(с)#Tп(с)+#Fп(с)

anhvh
источник
Для тех, кто просматривает справку, определение средней точности (AP) приведено на странице 11.
Waylon
3

AP усредняется по всем категориям. Традиционно это называется «средней средней точностью» (mAP). Мы не делаем различий между AP и mAP (а также AR и mAR) и предполагаем, что разница ясна из контекста.

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

Марк Ян
источник
Я думал, что MAP - это среднее количество точек доступа в мультиклассе. Мне нравится знать ваше / авторское определение категории.
Облако Чо