Если вы когда-либо создавали детектор объектов или занимались проектами, связанными с поиском информации и повторной идентификацией (ReID), вы, вероятно, сталкивались с показателем под названием Средняя средняя точность (mAP).

Средняя средняя точность (mAP) обычно используется для анализа производительности систем обнаружения и сегментации объектов.

Многие алгоритмы обнаружения объектов, такие как Faster R-CNN, MobileNet SSD и YOLO, используют mAP для оценки своих моделей. mAP также используется в нескольких тестовых задачах, таких как Pascal, VOC, COCO и другие.

Вот что мы рассмотрим:

  1. Что такое средняя средняя точность (mAP)?
  2. Как правильно рассчитать мАД?
  3. Разбивка кривой Precision-Recall
  4. Средняя средняя точность обнаружения объектов
  5. Средняя средняя точность: основные выводы

Что такое средняя средняя точность (mAP)?

Средняя средняя точность (mAP) — это показатель, используемый для оценки моделей обнаружения объектов, таких как Fast R-CNN, YOLO, Mask R-CNN и т. д. Среднее значение средней точности (AP) вычисляется по значениям отзыва от 0 до 1.

Формула mAP основана на следующих субметриках:

  • Матрица путаницы,
  • Пересечение над союзом (IoU),
  • Отзывать,
  • Точность

Давайте обсудим каждую субметрику и то, как она интерпретируется.

Матрица путаницы

Чтобы создать матрицу путаницы, нам нужны четыре атрибута:

Истинные положительные результаты (TP): модель предсказала метку и правильно соответствует истине.

True Negatives (TN): Модель не предсказывает метку и не является частью достоверной информации.

Ложные срабатывания (FP): модель предсказала метку, но она не является частью истинной истины (ошибка типа I).

Ложноотрицательные (FN): модель не предсказывает метку, но это часть истинной истины. (Ошибка второго рода).

Пересечение через союз (IoU)

Пересечение над Union указывает на перекрытие предсказанных координат ограничивающей рамки с наземной рамкой истинности. Более высокое значение IoU указывает на то, что предсказанные координаты ограничительной рамки очень похожи на координаты наземной области истинности.

Пересечение над соединением

Наземная истинная коробка против предсказанной коробки

Точность

Точностьизмеряет, насколько хорошо вы можете найти истинные положительные результаты (TP) среди всех положительных прогнозов. (ТП+ФП).

Точная формула

Например, точность вычисляется с использованием порога IoU в задачах обнаружения объектов.

На изображении ниже кот слева имеет 0,3 IoU (‹ IoU Threshold) по сравнению с основной правдой и классифицируется как ложноположительный. Напротив, кошка справа классифицируется как истинно положительная, потому что ее IoU 0,7 (› порог IoU) по отношению к истине.

Расчет порога IU

Значение точности может варьироваться в зависимости от доверительного порога модели.

Отзывать

Припоминание измеряет, насколько хорошо вы можете найти истинные положительные результаты (TP) среди всех прогнозов (TP+FN).

Как правильно рассчитать мАР?

Средняя точность рассчитывается как средневзвешенное значение точности для каждого порога; вес - это увеличение отзыва от предыдущего порога.

Средняя средняя точность этосреднее значение AP для каждого класса. Однако интерпретация AP и mAP различается в разных контекстах. Например, в оценочном документе задачи обнаружения объекта COCO AP и mAP совпадают.

Вот краткое изложение шагов для расчета AP:

  1. Сгенерируйте оценки предсказания с помощью модели.
  2. Преобразуйте оценки прогноза в метки класса.
  3. Рассчитайте матрицу путаницы — TP, FP, TN, FN.
  4. Рассчитайте точность и вспомните метрики.
  5. Вычислите площадь под кривой точности-отзыва.
  6. Измерьте среднюю точность.

mAP рассчитывается путем нахождения средней точности (AP) для каждого класса, а затем усредняется по ряду классов.

Формула средней точности

mAP включает компромисс между точностью и полнотой и учитывает как ложные срабатывания (FP), так и ложноотрицательные результаты (FN). Это свойство делает mAP подходящей метрикой для большинства приложений обнаружения.

Разбивка кривой Precision-Recall

Кривая Precision-Recall получается путем построения значений точности и полноты модели в зависимости от порога достоверности модели.

Точность — это мера того, когда «ваша модель предсказывает, как часто она предсказывает правильно?». Она показывает, насколько мы можем полагаться на положительные прогнозы модели.

Отзыв — это показатель «предсказывала ли ваша модель каждый раз, когда она должна была предсказать?»». Указывает любые прогнозы, которые она не должна была пропустить, если модель отсутствует. .

Почему нам нужно использовать кривую точность-отзыв вместо независимой точности и отзыва?

В статье mAP четко сформулирован компромисс между использованием точности и полноты в качестве независимых показателей следующим образом.

"Когда модель имеет высокую полноту, но низкую точность, она правильно классифицирует большинство положительных образцов, но имеет много ложных срабатываний (т. е. классифицирует многие отрицательные образцы как положительные)".

"Если модель имеет высокую точность, но низкую полноту, то модель является точной, если она классифицирует образец как положительный, но может классифицировать только некоторые из положительных образцов".

Кривая точности-отзыва заключает в себе компромисс обеих метрик и максимизирует эффект обеих метрик. Это дает нам лучшее представление об общей точности модели.

В зависимости от рассматриваемой проблемы модель с элементом порога достоверности может жертвовать точностью ради полноты и наоборот. Например, если вы имеете дело с проблемой обнаружения раковой опухоли, предотвращение ложноотрицательных результатов является более важным приоритетом, чем предотвращение ложноположительных результатов.

Мы должны избегать пропуска обнаружения опухоли за счет обнаружения большего количества опухолей с меньшей точностью. Снижение порога достоверности побуждает модель выводить больше прогнозов (высокая полнота) за счет снижения количества правильных прогнозов (более низкая точность).

Точность-отзыв имеет нисходящий наклон, потому что по мере уменьшения показателя достоверности делается больше прогнозов (повышается отзыв) и меньше правильных прогнозов (снижается точность).

Рассмотрим ситуацию, когда вам нужно угадать все страны мира.

Вы будете уверенно предсказывать названия нескольких стран (может быть, 10 или 20) быстро и с максимальной точностью. Однако с каждой новой догадкой вы приближаетесь к более высокому отзыву и снижаете точность своих догадок. Если кривая точности-отзыва имеет восходящий наклон, то, скорее всего, существует проблема с оценкой достоверности модели.

На протяжении многих лет исследователи ИИ пытались объединить точность и полноту в единую метрику для сравнения моделей. Есть несколько метрик, которые широко используются:

  • Оценка F1 — находит наиболее оптимальный порог оценки достоверности, при котором точность и полнота дают наивысшую оценку F1. Оценка F1 рассчитывает баланс между точностью и отзывом. Если показатель F1 высок, точность и полнота высоки, и наоборот.

Формула оценки F1

  • AUC (площадь под кривой) охватывает площадь под кривой точного отзыва.

AUC (площадь под кривой)

Кривая Area Under Curve для кривой точности-отзыва (PR-AUC) суммирует значения PR для различных порогов по одному показателю.

Различные показатели оценки и их кривые PR

На приведенном выше изображении четко показано, как значения точности и полноты включены в каждую метрику: F1, площадь под кривой (AUC) и среднюю точность (AP). Рассмотрение метрики точности сильно зависит от типа проблемы.

AUC и AP считаются лучшими показателями по сравнению с оценкой F1 из-за общего охвата территории. В целях интерпретируемости исследователи используют AP в качестве стандартной метрики.

Средняя средняя точность обнаружения объектов

Обнаружение объектов – это хорошо известная проблема компьютерного зрения, когда модели пытаются локализовать соответствующие объекты на изображениях и классифицировать эти объекты по соответствующим классам. mAP используется в качестве стандартной метрики для анализа точности модели обнаружения объектов.

Давайте рассмотрим пример обнаружения объекта для расчета mAP.

Рассмотрим приведенное ниже изображение автомобилей, едущих по шоссе, и задача модели — обнаружить автомобили. Выходные данные модели показаны красными прямоугольниками. Модель дала семь обнаружений от P1 до P7, а значения IoU рассчитываются относительно. наземная правда.

Для задач обнаружения объектов точность рассчитывается на основе порога IoU. Значение точности отличается в зависимости от порога IoU.

Если порог IoU = 0,8, то точность составляет 66,67%. (4 из 6 считаются правильными)

Если порог IoU = 0,5, то точность составляет 83,33%. (5 из 6 считаются правильными)

Если порог IoU = 0,2, то точность составляет 100%. (6 из 6 считаются правильными)

Обнаружение объектов на изображениях автомобилей

Это показывает, что метрика AP зависит от порога IoU. Выбор порога IoU становится для исследователя произвольным процессом, поскольку его необходимо тщательно выбирать для каждой задачи, поскольку ожидаемая точность модели может варьироваться. Следовательно, чтобы избежать этой двусмысленности при оценке модели обнаружения объектов, возникла средняя средняя точность (mAP).

Идея mAP довольно проста: рассмотрите набор пороговых значений при расчете AP.

Рассчитайте AP по набору порогов IoU для каждого класса k, а затем возьмите среднее значение всех значений AP. Это устраняет необходимость выбора оптимального порога IoU с помощью набора порогов IoU, которые охватывают последние значения точности и отзыва.

mAP для каждого класса в наборе данных

На приведенном выше рисунке оранжевая линия представляет высокие требования к IoU (около 90%), а синяя линия — низкие требования к IoU (около 10%). Набор порогов IoU представляет собой количество линий на кривой PR.

Для каждого класса k мы вычисляем mAP для разных порогов IoU, а окончательная метрика mAP для тестовых данных рассчитывается путем усреднения всех значений mAP для каждого класса.

Многоклассовая формула mAP

Расчет mAP различается в зависимости от задач обнаружения объектов.

КАРТА КОКО

В соответствии с рекомендациями по оценке вызовов COCO 2017, mAP был рассчитан путем усреднения AP по 80 классам объектов И всем 10 пороговым значениям IoU от 0,5 до 0,95 с размером шага 0,05. .

Основная метрика задачи в задаче COCO 2017 рассчитывается следующим образом:

  1. AP рассчитывается для порога IoU 0,5 для каждого класса.
  2. Вычислите точность для каждого значения отзыва (от 0 до 1 с размером шага 0,01), затем это повторится для порогов IoU 0,55, 0,60,…, 0,95.
  3. Среднее значение берется по всем 80 классам и всем 10 пороговым значениям.

Кроме того, используются дополнительные метрики для определения точности модели в разных масштабах объекта (APsmall, APmedium и APlarge).

Метрики, используемые в вызове COCO

Взгляните на сравнительную таблицу COCO mAP для популярного одноэтапного детектора объектов YOLOv3 и . двухступенчатые детекторы Faster R-CNN

Результаты YOLOv3 COCO MAP

Конкурс Google Open Images Dataset V4 использует среднюю точность (mAP) по 500 классам для оценки алгоритмов обнаружения объектов.

PASCAL VOC Challenge: Текущие показатели задачи обнаружения объектов PASCAL VOC — это кривая Precision x Recall и средняя точность (AP).

Кредит: https://www.v7labs.com/blog/mean-average-precision#:~:text=Mean%20Average%20Precision(mAP)%20is%20a%20metric%20used%20to%20evaluate,values%20from %200%20до%201.