Ultralytics YOLO27: Вступи в список ожидания.
Лицензия YOLO
Назад к глоссарию Ultralytics

Mean Average Precision (mAP)

Средняя точность (mAP) оценивает детекторы, усредняя точность по полноте, классам и порогам IoU. Разбираем, как рассчитываются mAP50 и mAP50-95.

Средняя точность (mAP) — стандартная метрика оценки для обнаружения объектов; по той же схеме оценивают сегментацию экземпляров, оценку позы и обнаружение объектов с ориентированными рамками. Она учитывает, нашла ли модель все объекты, избежала ли ложных обнаружений и насколько точно разместила каждый ограничивающий прямоугольник, объединяя все три аспекта в одно число от 0 до 1, которое часто записывают в процентах. Средняя точность (AP) — это площадь под кривой точности и полноты для одного класса; mAP — среднее значение AP по классам, а наиболее часто приводимая метрика mAP50-95 также усредняется по десяти порогам пересечения над объединением (IoU).

Основные составляющие#

  • IoU: степень перекрытия предсказанной рамки и размеченной рамки в диапазоне от 0 до 1. Предсказание считается истинно положительным, только если его IoU с ещё не сопоставленной разметкой того же класса достигает порога, например 0.5.
  • Точность: доля правильных предсказаний среди всех предсказаний, TP / (TP + FP).
  • Полнота: доля размеченных объектов, найденных моделью, TP / (TP + FN).
  • Уверенность: оценка, по которой ранжируются обнаружения. Каждому порогу уверенности соответствует одна пара «точность — полнота», а все пороги вместе задают кривую точности и полноты.

Как рассчитывается mAP#

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

AP — это площадь под кривой. Перед вычислением площади кривую заменяют её огибающей: для каждого уровня полноты берут наибольшую точность на этом уровне или выше, чтобы небольшие колебания не влияли на оценку. При оценке COCO огибающую вычисляют по 101 точке полноты от 0 до 1, тогда как в исходном бенчмарке PASCAL VOC использовали 11 точек. Уровни полноты, которых модель не достигает, дают нулевую точность, поэтому каждый пропущенный объект снижает AP.

import numpy as np

# One class: 8 detections sorted by confidence (1 = matched a label, 0 = false positive)
tp = np.array([1, 1, 0, 1, 0, 1, 0, 0])
num_labels = 5  # ground-truth objects of this class in the dataset

# Precision and recall after each detection in the ranked list
tp_cum = np.cumsum(tp)
precision = tp_cum / np.arange(1, len(tp) + 1)
recall = tp_cum / num_labels

# Precision envelope: best precision at this recall or any higher recall
envelope = np.maximum.accumulate(precision[::-1])[::-1]

# COCO-style AP: average the envelope at 101 recall points (0 beyond the highest recall reached)
points = np.linspace(0, 1, 101)
idx = np.searchsorted(recall, points, side="left")
ap = np.mean([envelope[i] if i < len(envelope) else 0.0 for i in idx])
print(f"Max recall: {recall[-1]:.1f}, AP: {ap:.3f}")

Скрипт выводит Max recall: 0.8, AP: 0.686. Один из пяти размеченных объектов так и не обнаружен, поэтому последняя пятая оси полноты не добавляет площади, и AP остаётся равной 0.686, хотя два обнаружения с наибольшей уверенностью верны.

  • Доля правильных ответов — это число верных предсказаний, делённое на число всех предсказаний; для её расчёта нужно учитывать истинно отрицательные случаи. Для детектора истинно отрицательными считались бы все пустые фрагменты фона, поэтому доля правильных ответов не имеет содержательного значения при обнаружении объектов.
  • F1-мера объединяет точность и полноту при одном пороге уверенности и описывает одну рабочую точку, например порог, используемый развёрнутой моделью.
  • Матрица ошибок показывает, какие классы детектор путает при одном пороге; эта подробность теряется при сведении оценки к одному числу mAP.

mAP50, mAP75 и mAP50-95#

Поскольку mAP — это обычное среднее по классам, редкий класс учитывается так же, как и распространённый. Порог IoU определяет, насколько точно должна совпадать рамка, чтобы обнаружение засчитали:

  • mAP50: обнаружение считается правильным при IoU 0,5 — это правило PASCAL VOC.
  • mAP75: порог повышается до 0,75 — это строгая проверка точности локализации.
  • mAP50-95: mAP, усреднённая по десяти порогам от 0,50 до 0,95 с шагом 0,05. COCO называет это значение просто «AP», не различает AP и mAP и использует его в качестве основной метрики соревнования.

В обучении Ultralytics YOLO26 сохраняет best.pt с эпохи, на которой mAP50-95 на валидации максимальна, а валидация показывает все три варианта при каждом запуске.

from ultralytics import YOLO

# Load a pretrained YOLO26 nano detector
model = YOLO("yolo26n.pt")

# Validate on the small COCO8 dataset to compute mAP
metrics = model.val(data="coco8.yaml")

# The same detections scored at three IoU thresholds
print(f"mAP50:    {metrics.box.map50:.3f}")
print(f"mAP75:    {metrics.box.map75:.3f}")
print(f"mAP50-95: {metrics.box.map:.3f}")

Чем ниже порог IoU, тем больше обнаружений засчитывается как правильные, поэтому mAP50 получается наибольшей, а mAP50-95 — ниже. COCO также разделяет AP по размеру объектов: маленькие объекты занимают менее 32 × 32 пикселей, средние — до 96 × 96 пикселей, а большие — больше.

Изучи решения

Компьютерное зрение в спорте

Компьютерное зрение в спорте

Узнай, как Ultralytics YOLO обеспечивает компьютерное зрение в спорте: отслеживание игроков и мяча, аналитика результатов, полезные выводы для тренеров и реабилитация спортсменов.
Подробнее
Компьютерное зрение для аэросъёмки

Компьютерное зрение для аэросъёмки

Превращай снимки с дронов и аэрофотоснимки в полезные данные в реальном времени для сельского хозяйства, аквакультуры, охраны природы и геопространственного анализа с Ultralytics YOLO.
Подробнее
Компьютерное зрение в аэрокосмической отрасли

Компьютерное зрение в аэрокосмической отрасли

Применяй компьютерное зрение в аэрокосмической отрасли с Ultralytics YOLO: для осмотра самолётов, обнаружения посторонних предметов на взлётно-посадочных полосах, наземного обслуживания аэропортов и выявления дефектов композитных материалов.
Подробнее
Компьютерное зрение в сфере безопасности

Компьютерное зрение в сфере безопасности

Защити любой объект с помощью моделей Ultralytics YOLO. ИИ на базе компьютерного зрения обеспечивает мониторинг периметра, обнаружение угроз, распознавание номерных знаков и безопасность на рабочем месте.
Подробнее
Компьютерное зрение в робототехнике

Компьютерное зрение в робототехнике

Создавай более интеллектуальные машины с моделями Ultralytics YOLO. ИИ на базе компьютерного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.
Подробнее
Компьютерное зрение в логистике

Компьютерное зрение в логистике

Оптимизируй логистику с моделями Ultralytics YOLO. Визуальный AI обеспечивает проверку посылок, сортировку, отслеживание транспорта и мониторинг безопасности на складе в реальном времени.
Подробнее
Компьютерное зрение в розничной торговле

Компьютерное зрение в розничной торговле

Переосмысли розничную торговлю с моделями Ultralytics YOLO. Визуальный AI обеспечивает отслеживание запасов, мониторинг полок, управление очередями и более глубокое понимание поведения покупателей.
Подробнее
Компьютерное зрение в здравоохранении

Компьютерное зрение в здравоохранении

Создавай решения для здравоохранения с моделями Ultralytics YOLO. Визуальный AI в здравоохранении ускоряет медицинскую визуализацию, улучшает диагностику и мониторинг пациентов.
Подробнее
Компьютерное зрение в производстве

Компьютерное зрение в производстве

Оптимизируй производство с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ обеспечивает контроль качества, обнаружение дефектов, контроль использования СИЗ и автоматизацию сборочных линий.
Подробнее
Компьютерное зрение в автомобильной отрасли

Компьютерное зрение в автомобильной отрасли

Применяй компьютерное зрение в автомобильной отрасли с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ повышает безопасность дорожного движения, улучшает помощь водителю и автоматизацию автомобилей, делая дороги умнее.
Подробнее
Компьютерное зрение в сельском хозяйстве

Компьютерное зрение в сельском хозяйстве

Внедряй ИИ для компьютерного зрения в умное сельское хозяйство с моделями Ultralytics YOLO. Используй их для мониторинга посевов, отслеживания скота и точного земледелия, чтобы повысить урожайность и эффективность.
Подробнее

Давай вместе строить будущее ИИ!

Начни свой путь в будущее машинного обучения