Подробный разбор метрик производительности#
Введение#
Метрики производительности — ключевые инструменты для оценки точности и эффективности моделей обнаружения объектов. Они показывают, насколько эффективно модель может обнаруживать объекты и определять их расположение на изображениях. Кроме того, они помогают понять, как модель обрабатывает ложноположительные и ложноотрицательные результаты. Эти сведения крайне важны для оценки и повышения производительности модели. В этом руководстве мы рассмотрим различные метрики производительности, связанные с YOLO26, их значение и способы интерпретации.
Смотри: Метрики производительности Ultralytics YOLO26 | MAP, оценка F1, точность, IoU и правильность
Метрики обнаружения объектов#
Начнём с метрик, важных не только для YOLO26, но и широко применяемых в разных моделях обнаружения объектов.
-
Пересечение над объединением (IoU): IoU — это мера, которая количественно оценивает степень перекрытия предсказанной ограничивающей рамки и истинной ограничивающей рамки. Она играет основополагающую роль в оценке точности определения местоположения объектов.
-
Средняя точность (AP): AP вычисляется как площадь под кривой точности и полноты и представляет собой единое значение, обобщающее точность и полноту модели.
-
Средняя точность по классам (mAP): mAP развивает концепцию AP, вычисляя среднее значение AP по нескольким классам объектов. Эта метрика полезна при обнаружении объектов нескольких классов и даёт комплексную оценку производительности модели.
-
Точность и полнота: точность показывает долю истинно положительных результатов среди всех положительных предсказаний и позволяет оценить способность модели избегать ложноположительных результатов. Полнота, в свою очередь, показывает долю истинно положительных результатов среди всех фактических положительных объектов и измеряет способность модели обнаруживать все экземпляры класса.
-
Оценка F1: оценка F1 — это гармоническое среднее точности и полноты. Она даёт сбалансированную оценку производительности модели с учётом как ложноположительных, так и ложноотрицательных результатов.
Как вычислить метрики для модели YOLO26#
Теперь рассмотрим режим валидации YOLO26, с помощью которого можно вычислить перечисленные выше метрики оценки.
Использовать режим валидации просто. После обучения модели можно вызвать функцию model.val(). Она обработает валидационный набор данных и вернёт различные метрики производительности. Но что означают эти метрики? И как их интерпретировать?
Интерпретация результатов#
Разберём результаты работы функции model.val() и выясним, что означает каждая их часть.
Метрики по классам#
В одной из частей результатов приводится разбивка метрик производительности по классам. Эта подробная информация полезна, когда нужно понять, насколько хорошо модель справляется с каждым конкретным классом, особенно на наборах данных с разнообразными категориями объектов. Для каждого класса в наборе данных приводятся следующие сведения:
-
Класс: название класса объектов, например «человек», «автомобиль» или «собака».
-
Изображения: число изображений в валидационном наборе, на которых присутствует объект этого класса.
-
Экземпляры: количество появлений этого класса на всех изображениях валидационного набора.
-
Рамка (P, R, mAP50, mAP50-95): эта метрика даёт представление о том, насколько хорошо модель обнаруживает объекты:
-
P (точность): точность обнаружения объектов, показывающая, сколько обнаружений оказались правильными.
-
R (полнота): способность модели обнаруживать все экземпляры объектов на изображениях.
-
mAP50: средняя точность, вычисленная при пороговом значении пересечения над объединением (IoU) 0,50. Она показывает точность модели только для «простых» случаев обнаружения.
-
mAP50-95: среднее значение средней точности, вычисленной при различных пороговых значениях IoU в диапазоне от 0,50 до 0,95. Эта метрика даёт комплексное представление о производительности модели при разной сложности обнаружения.
-
Метрики скорости#
Скорость инференса может быть не менее важна, чем точность, особенно при обнаружении объектов в реальном времени. В этом разделе рассматривается время, затрачиваемое на разные этапы валидации: от предобработки до постобработки.
Оценка по метрикам COCO#
Для пользователей, которые проводят валидацию на наборе данных COCO, с помощью скрипта оценки COCO вычисляются дополнительные метрики. Эти метрики показывают точность и полноту при различных пороговых значениях IoU и для объектов разных размеров.
Визуальные результаты#
Помимо числовых метрик, функция model.val() также формирует визуальные результаты, которые помогают интуитивнее оценить производительность модели. Ниже описаны визуальные результаты, которые можно получить:
-
Кривая оценки F1 (
BoxF1_curve.png): Эта кривая показывает оценку F1 при различных пороговых значениях. Анализ этой кривой позволяет понять, как модель балансирует между ложноположительными и ложноотрицательными результатами при разных пороговых значениях. -
Кривая точности и полноты (
BoxPR_curve.png): Эта важная визуализация для любой задачи классификации показывает компромисс между точностью и полнотой при разных пороговых значениях. Она особенно важна при работе с несбалансированными классами. -
Кривая точности (
BoxP_curve.png): Графическое представление значений точности при разных пороговых значениях. Эта кривая помогает понять, как меняется точность при изменении порога. -
Кривая полноты (
BoxR_curve.png): Эта диаграмма показывает, как меняются значения полноты при разных пороговых значениях. -
Матрица ошибок (
confusion_matrix.png): Матрица ошибок подробно показывает результаты, отображая количество истинноположительных, истинноотрицательных, ложноположительных и ложноотрицательных срабатываний для каждого класса. -
Нормализованная матрица ошибок (
confusion_matrix_normalized.png): Эта визуализация представляет собой нормализованную версию матрицы ошибок. Данные в ней представлены в виде долей, а не абсолютных значений. Такой формат упрощает сравнение качества работы модели на разных классах. -
Метки валидационных батчей (
val_batchX_labels.jpg): На этих изображениях показаны истинные метки для отдельных батчей из валидационного набора данных. Они наглядно демонстрируют, какие объекты присутствуют и где они расположены согласно разметке набора данных. -
Предсказания для валидационных батчей (
val_batchX_pred.jpg): В отличие от изображений с метками, на этих изображениях показаны предсказания модели YOLO26 для соответствующих батчей. Сравнивая предсказания с изображениями с метками, ты можешь легко оценить, насколько хорошо модель обнаруживает и визуально классифицирует объекты.
Для задач обнаружения объектов, сегментации и оценки позы перед названием кривых указывается тип метрики: для обнаружения объектов записываются кривые Box*, для сегментации — кривые Box* и Mask*, а для оценки позы — кривые Box* и Pose*.
Хранение результатов#
Для дальнейшего использования результаты сохраняются в каталог, обычно называемый runs/detect/val.
Выбор подходящих метрик#
Выбор подходящих метрик для оценки часто зависит от конкретного приложения.
-
mAP: Подходит для общей оценки качества модели.
-
IoU: Необходима, когда важно точно определить расположение объекта.
-
Точность: Важна, когда необходимо свести к минимуму ложные обнаружения.
-
Полнота: Критически важна, когда необходимо обнаружить каждый экземпляр объекта.
-
Оценка F1: Полезна, когда нужно сбалансировать точность и полноту.
Для приложений реального времени важны метрики скорости, такие как FPS (кадров в секунду) и задержка, — они помогают обеспечить своевременное получение результатов.
Интерпретация результатов#
Важно понимать метрики. Вот что могут означать некоторые часто встречающиеся низкие значения:
-
Низкий mAP: Может указывать на необходимость дополнительной общей доработки модели.
-
Низкий IoU: Возможно, модели трудно точно определять расположение объектов. Могут помочь другие методы построения ограничивающих рамок.
-
Низкая точность: Возможно, модель обнаруживает слишком много несуществующих объектов. Это можно исправить, изменив пороги уверенности.
-
Низкая полнота: Возможно, модель пропускает реальные объекты. Может помочь улучшение извлечения признаков или использование большего объёма данных.
-
Несбалансированная оценка F1: Точность и полнота заметно различаются.
-
AP для отдельных классов: Низкие значения могут указывать на классы, с которыми у модели возникают трудности.
Примеры из практики#
Примеры из реальной жизни помогают понять, как эти метрики работают на практике.
Пример 1#
-
Ситуация: mAP и оценка F1 ниже желаемых, при этом полнота хорошая, а точность — нет.
-
Интерпретация и действие: Возможно, модель выдаёт слишком много ошибочных обнаружений. Ужесточение порогов уверенности может уменьшить их количество, хотя полнота тоже может немного снизиться.
Пример 2#
-
Ситуация: mAP и полнота приемлемы, но IoU слишком низкая.
-
Интерпретация и действие: Модель хорошо обнаруживает объекты, но, возможно, неточно определяет их расположение. Может помочь уточнение предсказаний ограничивающих рамок.
Пример 3#
-
Ситуация: AP для некоторых классов намного ниже, чем для остальных, хотя общий mAP достаточно высок.
-
Интерпретация и действие: Возможно, эти классы сложнее для модели. Полезно будет добавить данные для этих классов или изменить веса классов во время обучения.
Общение и сотрудничество#
Общение с сообществом энтузиастов и экспертов поможет тебе добиться большего в работе с YOLO26. Вот несколько способов учиться, решать проблемы и находить единомышленников.
Участвуй в жизни сообщества#
-
Проблемы на GitHub: В репозитории Ultralytics на GitHub есть вкладка Issues, где ты можешь задавать вопросы, сообщать об ошибках и предлагать новые функции. Участники сообщества и сопровождающие проекта активно общаются там, поэтому это отличное место, чтобы получить помощь с конкретными проблемами.
-
Сервер Ultralytics в Discord: У Ultralytics есть сервер в Discord, где ты можешь общаться с другими пользователями и разработчиками.
Официальная документация и ресурсы#
- Документация Ultralytics по YOLO26: Официальная документация содержит подробный обзор YOLO26, а также руководства по установке, использованию и устранению неполадок.
Эти ресурсы помогут тебе справиться с трудностями и оставаться в курсе последних тенденций и лучших практик сообщества YOLO26.
Заключение#
В этом руководстве мы подробно рассмотрели основные метрики производительности YOLO26. Эти метрики помогают понять, насколько хорошо работает модель, и важны для всех, кто стремится точно настроить свои модели. Они дают необходимые сведения для улучшения модели и помогают убедиться, что она эффективно работает в реальных условиях.
Помни, что сообщество YOLO26 и Ultralytics — бесценный ресурс. Общение с другими разработчиками и экспертами может открыть доступ к полезным идеям и решениям, которых нет в стандартной документации. Изучая обнаружение объектов, продолжай учиться, пробуй новые подходы и делись результатами. Так ты внесёшь вклад в общий опыт сообщества и поможешь ему развиваться.
Часто задаваемые вопросы#
Средняя точность по всем классам (mAP) крайне важна для оценки моделей YOLO26, поскольку она объединяет точность и полноту по нескольким классам в одну метрику. mAP@0.50 измеряет точность при пороге IoU 0.50 и показывает, насколько хорошо модель обнаруживает объекты. mAP@0.50:0.95 усредняет точность по диапазону пороговых значений IoU и даёт комплексную оценку качества обнаружения. Высокие значения mAP указывают на то, что модель эффективно балансирует точность и полноту, что важно для таких приложений, как автономное вождение и системы видеонаблюдения, где критически важны как точное обнаружение, так и минимум ложных тревог.
Пересечение над объединением (IoU) измеряет степень перекрытия предсказанных ограничивающих рамок с истинными ограничивающими рамками. Значения IoU находятся в диапазоне от 0 до 1: чем выше значение, тем точнее определено расположение объекта. IoU, равная 1.0, означает идеальное совпадение. Обычно для определения истинноположительных результатов в таких метриках, как mAP, используют порог IoU 0.50. Низкие значения IoU говорят о том, что модели сложно точно определять расположение объектов. Это можно улучшить, уточнив регрессию ограничивающих рамок или повысив точность разметки в обучающем наборе данных.
Оценка F1 важна при оценке моделей YOLO26, поскольку она представляет собой среднее гармоническое точности и полноты и учитывает как ложноположительные, так и ложноотрицательные результаты. Она особенно полезна при работе с несбалансированными наборами данных или в приложениях, где одной точности или полноты недостаточно. Высокая оценка F1 означает, что модель эффективно обнаруживает объекты, сводя к минимуму как пропуски, так и ложные тревоги. Поэтому она подходит для критически важных приложений, таких как системы безопасности и медицинская визуализация.
Ultralytics YOLO26 обладает рядом преимуществ для обнаружения объектов в реальном времени:
- Скорость и эффективность: Модель оптимизирована для высокоскоростного инференса и подходит для приложений с низкой задержкой.
- Высокая точность: Усовершенствованный алгоритм обеспечивает высокие значения mAP и IoU, балансируя точность и полноту.
- Гибкость: Поддерживает различные задачи, включая обнаружение объектов, сегментацию экземпляров, семантическую сегментацию и классификацию.
- Простота использования: Удобные интерфейсы, подробная документация и простая интеграция с такими инструментами, как Ultralytics Platform (краткое руководство по Platform).
Благодаря этому YOLO26 подходит для самых разных приложений — от автономных транспортных средств до решений для умного города.
Метрики валидации YOLO26, такие как точность, полнота, mAP и IoU, помогают выявлять проблемы и улучшать качество модели, показывая разные аспекты обнаружения объектов:
- Точность: Помогает выявлять и сводить к минимуму ложноположительные результаты.
- Полнота: Гарантирует обнаружение всех значимых объектов.
- mAP: Даёт общую оценку качества модели и помогает определить направления для улучшений.
- IoU: Помогает точно настраивать качество определения расположения объектов.
Анализ этих метрик помогает выявить конкретные слабые места: например, изменить пороги уверенности для повышения точности или собрать более разнообразные данные для улучшения полноты. Подробные объяснения этих метрик и их интерпретации смотри в руководстве Метрики обнаружения объектов, а для оптимизации модели попробуй настройку гиперпараметров.