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

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

Введение

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



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

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

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

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

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

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

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

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

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

Обзор Intersection over Union

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

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

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

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

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

Обзор средней точности

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

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

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

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

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

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

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

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

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

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

from ultralytics import YOLO

# Load the model
model = YOLO("yolo11n.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)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

В заключение

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

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

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

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

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

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

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

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

Какие практические шаги я могу предпринять, чтобы улучшить среднюю точность (mean average precision) для моей модели YOLO11?

Улучшение средней точности (mAP) для модели YOLO11 включает несколько этапов:

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

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

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

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

from ultralytics import YOLO

# Load the model
model = YOLO("yolo11n.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)

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



📅 Создано 1 год назад ✏️ Обновлено 5 месяцев назад

Комментарии