Mean Average Precision (mAP)
Узнай, как средняя точность (mAP) оценивает модели компьютерного зрения. Изучи IoU, точность и полноту, а также расчет mAP с помощью Ultralytics YOLO26 уже сегодня.
Средняя точность (mAP) — это комплексная метрика, широко используемая для оценки производительности моделей компьютерного зрения, особенно в таких задачах, как обнаружение объектов и сегментация экземпляров. В отличие от простой точности, которая лишь проверяет, правильно ли классифицировано изображение, mAP оценивает, насколько хорошо модель находит объекты и насколько точно она размещает вокруг них ограничивающую рамку. Поэтому эта метрика служит основным ориентиром для сравнения современных архитектур, таких как YOLO26, с предыдущими поколениями. Обобщая компромисс между точностью и полнотой по всем классам, mAP предоставляет единый показатель, отражающий устойчивость модели в реальных сценариях.
Компоненты mAP#
Чтобы вычислить mAP, сначала необходимо понять три базовых понятия, определяющих качество обнаружения:
- Пересечение над объединением (IoU): эта метрика измеряет пространственное перекрытие между предсказанной рамкой и аннотацией эталонной разметки. Это отношение принимает значения от 0 до 1. Предсказание часто считается «истинно положительным» только в том случае, если IoU превышает определённый порог, например 0,5 или 0,75.
- Точность: эта метрика отвечает на вопрос: «Какая доля всех объектов, обнаруженными которые заявила модель, действительно определена правильно?» Высокая точность означает, что модель создаёт очень мало ложноположительных срабатываний.
- Полнота: эта метрика отвечает на вопрос: «Какую долю всех объектов, действительно присутствующих на изображении, нашла модель?» Высокая полнота означает, что модель избегает ложноотрицательных срабатываний и редко пропускает объекты.
Методика вычисления#
Вычисление начинается с определения средней точности (AP) для каждого отдельного класса (например, «человек», «автомобиль», «собака»). Для этого находят площадь под кривой точности и полноты, на которой точность отображается в зависимости от полноты при различных порогах уверенности. Слово «средняя» в названии Mean Average Precision означает усреднение этих значений AP по всем категориям в данных для обучения.
Стандартные исследовательские бенчмарки, такие как датасет COCO, часто включают два основных варианта:
-
mAP@50: обнаружение считается правильным, если IoU составляет не менее 0,50. Это мягкая метрика.
-
mAP@50-95: это среднее значение mAP, вычисленное при порогах IoU от 0,50 до 0,95 с шагом 0,05. Эта строгая метрика поощряет модели, которые обеспечивают высокую точность локализации.
mAP и связанные метрики#
Важно отличать mAP от точности. Точность подходит для классификации изображений, когда результатом является одна метка для всего изображения, но не подходит для обнаружения объектов, поскольку не учитывает пространственное положение объекта или фоновый класс. Аналогично, хотя F1-мера представляет собой гармоническое среднее точности и полноты при одном пороге уверенности, mAP объединяет результаты при всех уровнях уверенности, предлагая более целостное представление об устойчивости модели.
Практические применения#
Высокие значения mAP критически важны в средах, где безопасность и эффективность имеют первостепенное значение.
- Автономные транспортные средства: в технологиях беспилотного вождения безопасность зависит от обнаружения пешеходов и дорожных знаков с высокой полнотой (ничего не пропускать) и высокой точностью (избегать ложного торможения). mAP помогает системе восприятия эффективно соблюдать этот баланс.
- Анализ медицинских изображений: при выявлении опухолей или переломов на рентгеновских снимках радиологи полагаются на ИИ в здравоохранении, который отмечает потенциальные проблемы. Высокое значение mAP указывает на то, что модель надёжно выделяет аномалии и при этом не перегружает врача ложными тревогами, способствуя точной диагностике.
Измерение mAP с помощью Ultralytics#
Современные фреймворки упрощают вычисление этих метрик на этапе валидации. В следующем примере показано, как загрузить модель и вычислить mAP с помощью пакета ultralytics для Python.
from ultralytics import YOLO
# Load the YOLO26 model (recommended for new projects)
model = YOLO("yolo26n.pt")
# Validate the model on a dataset to compute mAP
# This runs inference and compares predictions to ground truth
metrics = model.val(data="coco8.yaml")
# Print mAP@50-95 (map) and mAP@50 (map50)
print(f"mAP@50-95: {metrics.box.map:.3f}")
print(f"mAP@50: {metrics.box.map50:.3f}")Понимание mAP и оптимизация этого показателя имеют решающее значение перед развёртыванием модели. Для упрощения этого процесса Ultralytics Platform автоматически отслеживает mAP, кривые потерь и другие KPI во время обучения, позволяя разработчикам визуализировать прогресс и выбирать лучшую контрольную точку модели для использования в продакшене.









