Основы оценки и уточнения моделей
Введение
После того как вы обучили модель компьютерного зрения, необходимо оценить и доработать ее для достижения оптимальных результатов. Просто обучить модель недостаточно. Необходимо убедиться, что модель точна, эффективна и отвечает целям проекта по компьютерному зрению. Оценивая и настраивая модель, вы можете выявить слабые места, повысить ее точность и увеличить общую производительность.
В этом руководстве мы расскажем об оценке и тонкой настройке моделей, которые сделают этот этап проекта по компьютерному зрению более доступным. Мы расскажем, как понять метрики оценки и применить методы тонкой настройки, что позволит вам расширить возможности вашей модели.
Оценка эффективности модели с помощью метрик
Оценка того, насколько хорошо работает модель, помогает понять, насколько эффективно она работает. Для измерения эффективности используются различные метрики. Эти показатели дают четкие цифровые данные, которые могут помочь в улучшении модели, чтобы она достигла поставленных целей. Давайте подробнее рассмотрим несколько ключевых показателей.
Балл доверия
Показатель уверенности отражает уверенность модели в том, что обнаруженный объект принадлежит к определенному классу. Он варьируется от 0 до 1, при этом более высокие баллы означают большую уверенность. Показатель уверенности помогает фильтровать предсказания; только обнаружения с показателем уверенности выше заданного порога считаются достоверными.
Быстрый совет: При выполнении выводов, если вы не видите никаких предсказаний и проверили все остальные, попробуйте снизить порог доверия. Иногда порог слишком высок, что заставляет модель игнорировать достоверные предсказания. Снижение показателя позволяет модели рассмотреть больше возможностей. Это может не соответствовать целям вашего проекта, но это хороший способ увидеть, на что способна модель, и решить, как ее доработать.
Перекресток над Юнионом
Intersection over Union (IoU) - это метрика в обнаружении объектов, которая измеряет, насколько хорошо предсказанное ограничительное поле перекрывается с истинным ограничительным полем. Значения IoU варьируются от 0 до 1, где единица означает идеальное совпадение. IoU очень важен, поскольку он измеряет, насколько точно предсказанные границы совпадают с реальными границами объекта.
Среднее Среднее Точность
Среднее значение точности (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
Параметр проверки YOLO11 регулирует скорость сети для каждой партии в зависимости от размеров изображений, позволяя модели обрабатывать прямоугольные изображения без принудительного приведения их к единому размеру.
Сайт imgsz
Параметр проверки устанавливает максимальный размер для изменения размера изображения, который по умолчанию составляет 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)
Объект результатов также включает такие показатели скорости, как время препроцесса, время вывода, потери и время постпроцесса. Анализируя эти показатели, вы можете точно настроить и оптимизировать модель YOLO11 для повышения производительности, сделав ее более эффективной для конкретного случая использования.
Как работает тонкая настройка?
Тонкая настройка подразумевает использование предварительно обученной модели и корректировку ее параметров для улучшения производительности на конкретной задаче или наборе данных. Этот процесс, также известный как переобучение модели, позволяет модели лучше понимать и предсказывать результаты для конкретных данных, с которыми она столкнется в реальных приложениях. Для достижения оптимальных результатов можно переобучить модель на основе ее оценки.
Советы по доработке модели
Тонкая настройка модели означает пристальное внимание к нескольким жизненно важным параметрам и техникам для достижения оптимальной производительности. Вот несколько важных советов, которые помогут вам в этом процессе.
Начните с более высокой скорости обучения
Обычно во время первых эпох обучения скорость обучения начинается с низкого уровня и постепенно увеличивается, чтобы стабилизировать процесс обучения. Однако, поскольку ваша модель уже изучила некоторые характеристики из предыдущего набора данных, начало обучения с более высокой скоростью сразу может оказаться более выгодным.
При оценке модели YOLO11 вы можете установить warmup_epochs
параметр проверки 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 оценивает, насколько хорошо предсказанное ограничительное поле совпадает с истинным. Средняя точность (mAP) объединяет показатели точности по классам, при этом mAP@.5 и mAP@.5:.95 являются двумя распространенными типами для различных порогов IoU. Узнайте больше об этих метриках в нашем руководстве по метрикам производительностиYOLO11 .
Как можно точно настроить предварительно обученную модель YOLO11 для конкретного набора данных?
Тонкая настройка предварительно обученной модели YOLO11 заключается в корректировке ее параметров для повышения производительности на конкретной задаче или наборе данных. Начните с оценки модели с помощью метрик, затем установите более высокую начальную скорость обучения, настроив параметр warmup_epochs
параметр в 0 для достижения немедленной стабильности. Используйте такие параметры, как rect=true
для эффективной работы с изображениями разного размера. За более подробными рекомендациями обратитесь к нашему разделу точная настройка моделей YOLO11.
Как работать с изображениями разного размера при оценке модели YOLO11 ?
Чтобы обрабатывать изображения разного размера во время оценки, используйте rect=true
параметр в YOLO11, который регулирует скорость сети для каждой партии в зависимости от размера изображения. . imgsz
параметр задает максимальный размер для изменения размера изображения, по умолчанию 640. Настроить imgsz
в соответствии с вашим набором данных и памятью GPU . Для получения более подробной информации посетите наш Раздел о работе с изображениями разных размеров.
Какие практические шаги я могу предпринять для повышения средней точности модели YOLO11 ?
Повышение средней точности (mAP) для модели YOLO11 включает в себя несколько этапов:
- Настройка гиперпараметров: Экспериментируйте с различными скоростями обучения, размерами партий и дополнениями к изображениям.
- Дополнение данных: Используйте такие техники, как Mosaic и MixUp, для создания разнообразных обучающих образцов.
- Плитка изображения: Разделите большие изображения на более мелкие плитки, чтобы повысить точность обнаружения мелких объектов. Обратитесь к нашему подробному руководству по тонкой настройке модели, чтобы узнать о конкретных стратегиях.
Как получить доступ к метрикам оценки модели 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 .