mAP — это аббревиатура от среднего значения средней точности, что означает среднее значение средней точности (среднее), которое является мерой производительности модели при обнаружении объектов. При обнаружении объекта, поскольку имеется рамка позиционирования объекта, точность классификации неприменима, поэтому предлагается уникальный индикатор обнаружения объекта mAP, но это также делает mAP менее интуитивным, чем точность классификации. Но это не так уж и сложно, и в этой статье подробно объясняется, как рассчитывается mAP. Во-первых, краткий обзор нескольких основных понятий.
Точность и отзыв
Под точностью понимается соотношение истинных случаев среди всех предсказанных положительных случаев, то есть точность предсказания. Под отзывом понимается отношение правильных предсказаний во всех положительных примерах, то есть предсказанное правильное покрытие. Прогноз выборочной модели классифицируется как правильный или нет следующим образом:
Тогда формулы расчета точности и полноты будут следующими:
Пересечение над объединением IoU (Пересечение над объединением)
Коэффициент пересечения и объединения, IoU, измеряет степень перекрытия между двумя областями и представляет собой отношение площади перекрывающейся части двух областей к общей площади двух областей (перекрывающаяся часть вычисляется только однажды). Как показано на рисунке ниже, IoU двух прямоугольных прямоугольников представляет собой отношение площади пересечения (красная часть среднего изображения) к объединенной площади (красная часть правого изображения).
Здесь следует отметить, что IoU=0,5 не означает, что каждый блок имеет ровно 50% пересечения с другим блоком, но пересекается примерно 2/3 каждого блока. Как-то нелогично.
Когда я впервые увидел IoU, я был очень озадачен, почему более интуитивно понятно брать большое значение для расчета перекрытия по соотношению площади пересечения к каждому кадру (то есть пересечение IoA по площади). На самом деле этот алгоритм отражает только степень покрытия маленьких картинок и не может отражать степень перекрытия между собой, что в общем-то нежелательно. Как показано на рисунке ниже, оранжевая часть мала, а IoA велика, но для синей части IoA мала, и взятие IoA только по оранжевому явно необъективно.
Расчет AP одной категории (средняя точность)
Каждый результат прогнозирования при обнаружении объекта состоит из двух частей: прямоугольника прогноза (ограничивающего прямоугольника) и доверительной вероятности (Pc). Ограничительная рамка обычно представлена координатами верхнего левого и нижнего правого углов прямоугольной рамки предсказания, а именно x_min, y_min, x_max, y_max, как показано на рисунке ниже. Доверительная вероятность Pc имеет два значения: одно — это категория предсказанной ограничивающей рамки, а другое — доверительная вероятность этой категории.На следующем рисунке P_dog=0,88, что означает, что предсказанная зеленая рамка — это собака, а доверительная вероятность составляет 88%.
Итак, каков правильный прогноз? Очевидно, что должны быть выполнены два условия:
- Категория верна, а уровень достоверности выше определенного порога (P_threshold).
- IoU предсказанного блока и наземной правды больше определенного порога (IoU_threshold) Как показано на рисунке ниже, если P_threshold=0,6 и IoU_threshold=0,5, зеленый прямоугольник прогнозируется правильно и записывается как True Positive.
При измерении производительности модели IoU_threshold сначала принимает фиксированное значение, а затем всесторонне рассматривает производительность различных значений P_threshold, а затем получает показатель производительности модели, не зависящий от выбора P_threshold.
AP заключается в расчете средней точности модели для одного класса.
Если целевой категорией является «Собака», после тестирования 5 фотографий получаются 10 результатов прогнозирования «Собака», выберите IoU_threshold=0,5, а затем отсортируйте по достоверности от высокого к низкому, как показано ниже (BB представляет собой серийный номер BoundingBox, а GT, когда IoU> =0,5 =1):
Rank | BB | confidence | GT
----------------------------
1 | BB1 | 0.9 | 1
----------------------------
2 | BB2 | 0.8 | 1
----------------------------
3 | BB1 | 0.8 | 1
----------------------------
4 | BB3 | 0.5 | 0
----------------------------
5 | BB4 | 0.4 | 0
----------------------------
6 | BB5 | 0.4 | 1
----------------------------
7 | BB6 | 0.3 | 0
----------------------------
8 | BB7 | 0.2 | 0
----------------------------
9 | BB8 | 0.1 | 1
----------------------------
10 | BB9 | 0.1 | 1
----------------------------
Следовательно, имеем TP=5 (BB1, BB2, BB5, BB8, BB9), FP=5 (повторно обнаруженный BB1 тоже считается FP). Кроме 5 ГТ, обнаруженных в таблице, у нас есть 2 ГТ, которые не обнаружены, поэтому: ФН = 2, ГТ = 7.
Затем установите соответствующий ранг сверху вниз в качестве разделительной линии между положительным и отрицательным, прогноз до этого ранга (включая этот ранг) положительный, а прогноз после этого ранга отрицательный, а затем вычислите соответствующие точность и отзыв:
rank=1 precision=1.00 and recall=0.14
--------------------------------------
rank=2 precision=1.00 and recall=0.29
--------------------------------------
rank=3 precision=0.66 and recall=0.29
--------------------------------------
rank=4 precision=0.50 and recall=0.29
--------------------------------------
rank=5 precision=0.40 and recall=0.29
--------------------------------------
rank=6 precision=0.50 and recall=0.43
--------------------------------------
rank=7 precision=0.43 and recall=0.43
--------------------------------------
rank=8 precision=0.38 and recall=0.43
--------------------------------------
rank=9 precision=0.44 and recall=0.57
--------------------------------------
rank=10 precision=0.50 and recall=0.71
--------------------------------------
Например, когда rank=4, TP=2 (BB1, BB2), то
Precision=2/4=0.5,Recall=TP/GT=2/7=0.29
Видно, что при движении вниз предсказанных прямой и обратной разделительных линий Recall неуклонно растет, Precision в целом снижается, а локальная скачет вверх и вниз.Кривая PR выглядит следующим образом:
Расчет AP (средняя точность) в основном эквивалентен расчету площади под кривой PR, но немного отличается. Сначала необходимо сгладить кривую PR.
Метод заключается в том, чтобы взять коэффициент точности p, соответствующий коэффициенту полноты r, и взять коэффициент максимальной точности p, когда коэффициент полноты больше или равен r. который,
Сглаженная кривая — это зеленая кривая на следующем рисунке:
Существует два метода расчета AP (средняя точность):
- Методы до VOC2010
AP = (на сглаженной кривой PR отзыв равен среднему значению 11 прецизионностей при 0, 0,1, 0,2, …, 1,0 и т. д.).
Здесь:
AP=(1 + 1 + 1 + 0.5 + 0.5 + 0.5 + 0.5 + 0.5 + 0 + 0 + 0) / 11 = 0.5
- Методы VOC2010 и выше
AP = площадь, заключенная под сглаженной кривой PR Здесь:
AP = (0.14-0) * 1 + (0.29-0.14) * 1 + (0.43-0.29) * 0.5 + (0.57-0.43) * 0.5 + (0.71-0.57) * 0.5 + (1-0.71) * 0 = 0.5
Значения AP, полученные здесь двумя схемами, одинаковы, но обычно различны.
Следует отметить, что расчет вышеуказанного AP не устанавливает P_threshold явно, а вместо этого отражает различные значения P_threshold в замаскированной форме, указывая каждый ранг как переднюю и заднюю границу сверху вниз.
Расчет мАР
AP, рассчитанный выше, предназначен только для категории собак.Обнаружение объектов обычно имеет несколько категорий, и производительность модели должна быть всеобъемлющей мерой точности нескольких категорий.
- mAP в наборе данных VOC mAP в наборе данных VOC рассчитывается как среднее значение каждой категории AP, когда IoU_threshold=0,5.
- mAP в наборе данных COCO Есть два гиперпараметра для проверки правильности: P_threshold и IoU_threshold. AP фиксирует IoU_threshold, а затем всесторонне рассматривает среднюю точность модели при каждом P_threshold. VOC считает, что IoU_threshold можно зафиксировать на единственном значении 0,5, в то время как COCO считает, что значение IoU_threshold является фиксированным и не может измерить влияние IoU_threshold на производительность модели.
Например, Когда модель A IoU_threshold=0,5, mAP=0,4. Когда модель B имеет значение IoU_threshold=0,7, mAP также равно 0,4. Согласно стандарту VOC производительность модели AB такая же, но очевидно, что рама модели B более точна и производительность лучше. На основе стандарта VOC COCO принимает среднее значение каждого mAP, когда IoU_threshold=0,5, 0,55, 0,6, …, 0,95.
На рисунке ниже показаны текущие лучшие результаты mAP.
Недостаточность мАР
Хотя mAP всесторонне учитывает среднюю точность модели для каждого значения P_threshold и IoU_threshold, так что стандарт оценки модели не меняется со значением P_threshold и IoU_threshold, но в инженерных приложениях, правильно ли обнаружен объект, ему все еще нужно to be Для конкретных P_threshold и IoU_threshold инженеры больше заботятся о точности при фиксированных P_threshold и IoU_threshold. Это требует от нас реализации собственных критериев оценки, соответствующих конкретным приложениям.
Справочная статья