Перейти к содержанию

Анализ оценки модели и тонкой настройки

Введение

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



Смотреть: Анализ оценки модели и тонкой настройки | Советы по улучшению средней точности

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

Оценка производительности модели с использованием метрик

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

Оценка достоверности

Оценка достоверности представляет собой уверенность модели в том, что обнаруженный объект принадлежит к определенному классу. Она варьируется от 0 до 1, где более высокие оценки указывают на большую уверенность. Оценка достоверности помогает фильтровать прогнозы; только обнаружения с оценками достоверности выше указанного порога считаются действительными.

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

Пересечение над объединением

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

Обзор Intersection over Union

Средняя точность

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

Давайте сосредоточимся на двух конкретных метриках mAP:

  • mAP@.5: Измеряет среднюю точность при одном пороге IoU (Intersection over Union), равном 0.5. Эта метрика проверяет, может ли модель правильно detect объекты с менее строгими требованиями к точности. Она фокусируется на том, находится ли объект примерно в правильном месте, не требуя идеального размещения. Это помогает увидеть, насколько хорошо модель в целом обнаруживает объекты.
  • mAP@.5:.95: Усредняет значения mAP, рассчитанные при нескольких порогах IoU, от 0.5 до 0.95 с шагом 0.05. Эта метрика является более детальной и строгой. Она дает более полную картину того, насколько точно модель может detect объекты на разных уровнях строгости, и особенно полезна для приложений, требующих точного object detection.

Другие метрики mAP включают mAP@0.75, которая использует более строгий порог IoU, равный 0.75, и mAP@small, medium и large, которые оценивают точность для объектов разных размеров.

Средняя mAP средней точности mAP

Оценка производительности модели YOLO26

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

Часто задаваемые вопросы сообщества

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

Обработка изображений переменного размера

Оценка вашей модели YOLO26 с изображениями разных размеров может помочь вам понять ее производительность на разнообразных наборах данных. Использование rect=true параметра валидации, YOLO26 регулирует шаг сети для каждого пакета на основе размеров изображений, что позволяет модели обрабатывать прямоугольные изображения, не принуждая их к одному размеру.

Параметр imgsz validation parameter устанавливает максимальный размер для изменения размера изображения, который по умолчанию составляет 640. Вы можете настроить его в зависимости от максимальных размеров вашего набора данных и доступной памяти GPU. Даже с imgsz установить, rect=true позволяет модели эффективно управлять различными размерами изображений, динамически регулируя шаг.

Доступ к метрикам YOLO26

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

Использование

from ultralytics import YOLO

# Load the model
model = YOLO("yolo26n.pt")

# Run the evaluation
results = model.val(data="coco8.yaml")

# Print specific metrics
print("Class indices with average precision:", results.ap_class_index)
print("Average precision for all classes:", results.box.all_ap)
print("Average precision:", results.box.ap)
print("Average precision at IoU=0.50:", results.box.ap50)
print("Class indices for average precision:", results.box.ap_class_index)
print("Class-specific results:", results.box.class_result)
print("F1 score:", results.box.f1)
print("F1 score curve:", results.box.f1_curve)
print("Overall fitness score:", results.box.fitness)
print("Mean average precision:", results.box.map)
print("Mean average precision at IoU=0.50:", results.box.map50)
print("Mean average precision at IoU=0.75:", results.box.map75)
print("Mean average precision for different IoU thresholds:", results.box.maps)
print("Mean results for different metrics:", results.box.mean_results)
print("Mean precision:", results.box.mp)
print("Mean recall:", results.box.mr)
print("Precision:", results.box.p)
print("Precision curve:", results.box.p_curve)
print("Precision values:", results.box.prec_values)
print("Specific precision metrics:", results.box.px)
print("Recall:", results.box.r)
print("Recall curve:", results.box.r_curve)

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

Как работает тонкая настройка?

Тонкая настройка включает в себя взятие предварительно обученной модели и корректировку ее параметров для улучшения производительности на конкретной задаче или наборе данных. Этот процесс, также известный как переобучение модели, позволяет модели лучше понимать и прогнозировать результаты для конкретных данных, с которыми она столкнется в реальных приложениях. Вы можете переобучить свою модель на основе ее оценки для достижения оптимальных результатов.

Советы по точной настройке вашей модели

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

Начало с более высокой скорости обучения

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

При оценке вашей модели YOLO26 вы можете установить warmup_epochs validation parameter в warmup_epochs=0 чтобы скорость обучения не начиналась слишком низко. Следуя этому процессу, обучение будет продолжено с предоставленными весами, адаптируясь к нюансам ваших новых данных.

Разбиение изображений на фрагменты для небольших объектов

Разбиение изображений на фрагменты (Image tiling) может улучшить точность detect для мелких объектов. Разделяя большие изображения на более мелкие segment, например, разбивая изображения 1280x1280 на несколько segment 640x640, вы сохраняете исходное разрешение, и модель может обучаться на фрагментах высокого разрешения. При использовании YOLO26 убедитесь, что вы правильно настроили метки для этих новых segment.

Взаимодействие с сообществом

Обмен идеями и вопросами с другими энтузиастами компьютерного зрения может вдохновить на творческие решения проблем в ваших проектах. Вот несколько отличных способов учиться, устранять неполадки и общаться.

Поиск справки и поддержки

  • Проблемы GitHub: Изучите репозиторий YOLO26 на GitHub и используйте вкладку Issues, чтобы задавать вопросы, сообщать об ошибках и предлагать функции. Сообщество и сопровождающие готовы помочь с любыми проблемами, с которыми вы столкнетесь.
  • Сервер Ultralytics Discord: Присоединяйтесь к серверу Ultralytics Discord, чтобы общаться с другими пользователями и разработчиками, получать поддержку, делиться знаниями и генерировать идеи.

Официальная документация

  • Документация Ultralytics YOLO26: Ознакомьтесь с официальной документацией YOLO26 для получения исчерпывающих руководств и ценных сведений по различным задачам и проектам в области компьютерного зрения.

В заключение

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

Часто задаваемые вопросы

Каковы ключевые метрики для оценки производительности модели YOLO26?

Для оценки производительности модели YOLO26 важные метрики включают показатель достоверности (Confidence Score), пересечение по объединению (IoU) и среднюю точность (mAP). Показатель достоверности измеряет уверенность модели для каждого обнаруженного класса объектов. IoU оценивает, насколько хорошо предсказанный ограничивающий прямоугольник перекрывается с истинным значением. Средняя точность (mAP) объединяет показатели точности по классам, при этом mAP@.5 и mAP@.5:.95 являются двумя распространенными типами для различных порогов IoU. Узнайте больше об этих метриках в нашем руководстве по метрикам производительности YOLO26.

Как я могу тонко настроить предварительно обученную модель YOLO26 для моего конкретного набора данных?

Доводка предварительно обученной модели YOLO26 включает настройку ее параметров для улучшения производительности на конкретной задаче или наборе данных. Начните с оценки вашей модели с использованием метрик, затем установите более высокую начальную скорость обучения, регулируя warmup_epochs параметр на 0 для немедленной стабильности. Используйте такие параметры, как rect=true для эффективной обработки изображений различных размеров. Для получения более подробных инструкций обратитесь к нашему разделу о доводка моделей YOLO26.

Как я могу обрабатывать изображения переменного размера при оценке моей модели YOLO26?

Для обработки изображений переменного размера во время оценки используйте rect=true параметр в YOLO26, который регулирует шаг сети для каждого пакета на основе размеров изображений. The imgsz параметр устанавливает максимальный размер для изменения размера изображения, по умолчанию 640. Отрегулируйте imgsz в соответствии с вашим набором данных и объемом памяти GPU. Для получения более подробной информации посетите наш раздел об обработке переменных размеров изображений.

Какие практические шаги я могу предпринять для повышения средней точности для моей модели YOLO26?

Повышение средней точности (mAP) для модели YOLO26 включает несколько шагов:

  1. Настройка гиперпараметров: Экспериментируйте с различными скоростями обучения, размерами пакетов и аугментацией изображений.
  2. Аугментация данных: Используйте такие методы, как Mosaic и MixUp, для создания разнообразных обучающих выборок.
  3. Разбиение изображения на фрагменты: Разделите большие изображения на более мелкие фрагменты, чтобы повысить точность detect для небольших объектов. Обратитесь к нашему подробному руководству по тонкой настройке модели для получения конкретных стратегий.

Как получить доступ к метрикам оценки модели YOLO26 в Python?

Вы можете получить доступ к метрикам оценки модели YOLO26 с помощью Python, выполнив следующие шаги:

Использование

from ultralytics import YOLO

# Load the model
model = YOLO("yolo26n.pt")

# Run the evaluation
results = model.val(data="coco8.yaml")

# Print specific metrics
print("Class indices with average precision:", results.ap_class_index)
print("Average precision for all classes:", results.box.all_ap)
print("Mean average precision at IoU=0.50:", results.box.map50)
print("Mean recall:", results.box.mr)

Анализ этих метрик помогает донастроить и оптимизировать вашу модель YOLO26. Для более глубокого изучения ознакомьтесь с нашим руководством по метрикам YOLO26.



📅 Создано 1 год назад ✏️ Обновлено 7 дней назад
glenn-jocherRizwanMunawarUltralyticsAssistantpderrengerMatthewNoyceLaughing-qabirami-vina

Комментарии