Mean Average Precision (mAP)
Узнай, как средняя точность (mAP) оценивает модели компьютерного зрения. Изучи IoU, точность и полноту, и вычисли mAP с помощью Ultralytics YOLO26 уже сегодня.
Mean Average Precision (mAP) — это комплексная метрика, широко используемая для оценки производительности моделей computer vision, в частности в таких задачах, как object detection и instance segmentation. В отличие от простой точности, которая лишь проверяет правильность классификации изображения, mAP оценивает, насколько хорошо модель находит объекты и насколько точно она позиционирует bounding box вокруг них. Это делает данную метрику основным эталоном для сравнения современных архитектур, таких как YOLO26, с предыдущими поколениями. Обобщая компромисс между точностью и полнотой по всем классам, mAP выдает единую оценку, отражающую надежность модели в реальных сценариях.
Компоненты mAP#
Для расчета mAP необходимо сначала понять три фундаментальные концепции, определяющие качество обнаружения:
- Intersection over Union (IoU): измеряет пространственное перекрытие между предсказанным боксом и аннотацией ground truth. Это соотношение принимает значения от 0 до 1. Предсказание часто считается «True Positive» только в том случае, если IoU превышает определенный порог, например 0.5 или 0.75.
- Precision: эта метрика отвечает на вопрос: «Какая доля объектов, которые модель объявила обнаруженными, оказалась правильной на самом деле?» Высокая точность означает, что модель выдает очень мало false positives.
- Recall: эта метрика спрашивает: «Какую долю объектов из всех реально существующих на изображении смогла найти модель?» Высокая полнота указывает на то, что модель избегает ложноотрицательных результатов и редко пропускает объекты.
Методология расчета#
Расчет начинается с вычисления Average Precision (AP) для каждого отдельного класса (например, «person», «car», «dog»). Это делается путем нахождения площади под Precision-Recall Curve, которая отображает зависимость точности от полноты при различных пороговых значениях confidence. «Mean» в Mean Average Precision просто означает усреднение этих оценок AP по всем категориям в training data.
В стандартных исследовательских бенчмарках, таких как COCO dataset, часто выделяют два основных варианта:
-
mAP@50: этот показатель считает обнаружение правильным, если IoU составляет не менее 0,50. Это мягкая метрика.
-
mAP@50-95: это среднее значение mAP, вычисленное при порогах IoU от 0.50 до 0.95 с шагом 0.05. Эта строгая метрика вознаграждает модели, которые достигают высокой localization accuracy.
mAP и связанные метрики#
Важно отличать mAP от Accuracy. Accuracy подходит для image classification, где выходом является одна метка для всего изображения, но она не работает в задаче обнаружения объектов, поскольку не учитывает пространственное положение объекта или фоновый класс. Аналогично, хотя F1-Score дает гармоническое среднее точности и полноты при одном пороге уверенности, mAP интегрирует производительность по всем уровням уверенности, обеспечивая более целостное представление о стабильности модели.
Реальные приложения#
Высокие баллы mAP критически важны в средах, где безопасность и эффективность имеют первостепенное значение.
- Autonomous Vehicles: в технологии беспилотного вождения безопасность зависит от обнаружения пешеходов и дорожных знаков с высокой полнотой (ничего не пропускать) и высокой точностью (избегая ложных срабатываний тормозов). mAP гарантирует, что система восприятия эффективно балансирует эти требования.
- Medical Image Analysis: при выявлении опухолей или переломов на рентгенограммах радиологи полагаются на AI in healthcare для выявления потенциальных проблем. Высокий показатель mAP указывает на то, что модель надежно выделяет аномалии, не заваливая врача ложными тревогами, что способствует точной диагностике.
Измерение mAP с Ultralytics#
Современные фреймворки упрощают расчет этих метрик на этапе validation. Следующий пример демонстрирует, как загрузить модель и вычислить mAP с помощью пакета Python ultralytics.
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 имеют решающее значение перед model deployment. Чтобы упростить этот процесс, Ultralytics Platform предлагает автоматическое отслеживание mAP, кривых потерь и других ключевых показателей эффективности (KPI) в процессе обучения, позволяя разработчикам визуализировать прогресс и выбирать лучший чекпоинт модели для продакшена.






