Ultralytics YOLO27:

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

Введение#

Метрики производительности — ключевые инструменты для оценки точности и эффективности моделей обнаружения объектов. Они показывают, насколько эффективно модель может идентифицировать объекты на изображениях и определять их местоположение. Кроме того, они помогают понять, как модель обрабатывает ложноположительные и ложноотрицательные результаты. Эти сведения критически важны для оценки и повышения производительности модели. В этом руководстве мы рассмотрим различные метрики производительности, связанные с YOLO26, их значение и способы интерпретации.



Watch: Ultralytics YOLO26 Performance Metrics | MAP, F1 Score, Precision, IoU & Accuracy

Метрики обнаружения объектов#

Начнём с обсуждения некоторых метрик, которые важны не только для YOLO26, но и широко применимы к различным моделям обнаружения объектов.

  • Пересечение над объединением (IoU): IoU — это мера, количественно определяющая степень перекрытия между предсказанным ограничивающим прямоугольником и ограничивающим прямоугольником эталонной разметки. Она играет фундаментальную роль в оценке точности локализации объектов.

  • Средняя точность (AP): AP вычисляет площадь под кривой точности и полноты, представляя одним значением показатели точности и полноты модели.

  • Средняя усреднённая точность (mAP): mAP расширяет концепцию AP, вычисляя среднее значение AP для нескольких классов объектов. Это полезно в сценариях многоклассового обнаружения объектов, поскольку обеспечивает комплексную оценку производительности модели.

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

  • Оценка F1: Оценка F1 — это гармоническое среднее точности и полноты, обеспечивающее сбалансированную оценку производительности модели с учётом как ложноположительных, так и ложноотрицательных результатов.

Как вычислять метрики для модели YOLO26#

Теперь рассмотрим режим валидации YOLO26, который можно использовать для вычисления описанных выше оценочных метрик.

Использовать режим валидации просто. После обучения модели можно вызвать функцию model.val(). Затем эта функция обработает валидационный набор данных и вернёт различные метрики производительности. Но что означают эти метрики? И как их интерпретировать?

Интерпретация выходных данных#

Разберём выходные данные функции model.val() и поймём назначение каждого их фрагмента.

Метрики по классам#

Один из разделов выходных данных содержит разбивку метрик производительности по классам. Эта детальная информация полезна, когда нужно понять, насколько хорошо модель работает с каждым конкретным классом, особенно в наборах данных с широким диапазоном категорий объектов. Для каждого класса в наборе данных предоставляется следующая информация:

  • Class: Название класса объекта, например "person", "car" или "dog".

  • Images: Количество изображений в валидационном наборе, содержащих объект данного класса.

  • Instances: Количество появлений класса на всех изображениях валидационного набора.

  • Box(P, R, mAP50, mAP50-95): Эта метрика предоставляет сведения о производительности модели при обнаружении объектов:

    • P (Precision): Точность обнаруженных объектов, показывающая, сколько обнаружений были корректными.

    • R (Recall): Способность модели идентифицировать все экземпляры объектов на изображениях.

    • 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 Issues: В репозитории 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, означает идеальное совпадение. Обычно порог IoU 0.50 используется для определения истинноположительных результатов в таких метриках, как mAP. Более низкие значения IoU указывают на сложности модели с точной локализацией объектов; это можно улучшить, усовершенствовав регрессию ограничивающих прямоугольников или повысив точность разметки в твоём обучающем наборе данных.

  • Оценка F1 важна для оценки моделей YOLO26, поскольку представляет собой гармоническое среднее точности и полноты, балансируя между ложноположительными и ложноотрицательными результатами. Она особенно ценна при работе с несбалансированными наборами данных или в приложениях, где одной точности или полноты недостаточно. Высокая оценка F1 означает, что модель эффективно обнаруживает объекты, сводя к минимуму как пропуски обнаружений, так и ложные тревоги, что делает её подходящей для критически важных приложений, таких как системы безопасности и медицинская визуализация.

  • Ultralytics YOLO26 предлагает несколько преимуществ для обнаружения объектов в реальном времени:

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

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

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

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

Комментарии