Ultralytics YOLO27:
Get Started

Подробный разбор метрик производительности#

Введение#

Метрики производительности — ключевые инструменты для оценки точности и эффективности моделей обнаружения объектов. Они показывают, насколько эффективно модель может обнаруживать объекты и определять их расположение на изображениях. Кроме того, они помогают понять, как модель обрабатывает ложноположительные и ложноотрицательные результаты. Эти сведения крайне важны для оценки и повышения производительности модели. В этом руководстве мы рассмотрим различные метрики производительности, связанные с 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 обладает рядом преимуществ для обнаружения объектов в реальном времени:

    Благодаря этому YOLO26 подходит для самых разных приложений — от автономных транспортных средств до решений для умного города.

  • Метрики валидации YOLO26, такие как точность, полнота, mAP и IoU, помогают выявлять проблемы и улучшать качество модели, показывая разные аспекты обнаружения объектов:

    • Точность: Помогает выявлять и сводить к минимуму ложноположительные результаты.
    • Полнота: Гарантирует обнаружение всех значимых объектов.
    • mAP: Даёт общую оценку качества модели и помогает определить направления для улучшений.
    • IoU: Помогает точно настраивать качество определения расположения объектов.

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

Комментарии