Режимы Ultralytics YOLO11
Введение
Ultralytics YOLO11 — это не просто еще одна модель обнаружения объектов; это универсальная платформа, разработанная для охвата всего жизненного цикла моделей машинного обучения — от приема данных и обучения модели до валидации, развертывания и отслеживания в реальных условиях. Каждый режим служит определенной цели и разработан для предоставления вам гибкости и эффективности, необходимых для различных задач и вариантов использования.
Смотреть: Учебное пособие по режимам Ultralytics: обучение, валидация, прогнозирование, экспорт и бенчмаркинг.
Режимы вкратце
Понимание различных режимов, которые поддерживает Ultralytics YOLO11, имеет решающее значение для максимальной отдачи от ваших моделей:
- Режим обучения (Train): Точная настройка вашей модели на пользовательских или предварительно загруженных наборах данных.
- Режим валидации (Val): Чекпойнт после обучения для проверки производительности модели.
- Режим прогнозирования (Predict): Раскройте прогностическую силу вашей модели на данных реального мира.
- Режим экспорта (Export): Подготовьте развертывание вашей модели в различных форматах.
- Режим отслеживания (Track): Расширьте свою модель обнаружения объектов до приложений отслеживания в реальном времени.
- Режим бенчмаркинга (Benchmark): Анализируйте скорость и точность вашей модели в различных средах развертывания.
Это подробное руководство призвано дать вам обзор и практическое представление о каждом режиме, помогая вам раскрыть весь потенциал YOLO11.
Обучение
Режим обучения используется для обучения модели YOLO11 на пользовательском наборе данных. В этом режиме модель обучается с использованием указанного набора данных и гиперпараметров. Процесс обучения включает в себя оптимизацию параметров модели, чтобы она могла точно предсказывать классы и местоположения объектов на изображении. Обучение необходимо для создания моделей, которые могут распознавать конкретные объекты, относящиеся к вашему приложению.
Валидация
Режим Val используется для проверки модели YOLO11 после ее обучения. В этом режиме модель оценивается на проверочном наборе данных для измерения ее точности и обобщающей способности. Проверка помогает выявить потенциальные проблемы, такие как переобучение, и предоставляет метрики, такие как средняя точность (mAP), для количественной оценки производительности модели. Этот режим имеет решающее значение для настройки гиперпараметров и повышения общей эффективности модели.
Прогнозирование
Режим Predict используется для выполнения предсказаний с использованием обученной модели YOLO11 на новых изображениях или видео. В этом режиме модель загружается из файла контрольной точки, и пользователь может предоставлять изображения или видео для выполнения инференса. Модель идентифицирует и локализует объекты на входных носителях, подготавливая их к реальным приложениям. Режим Predict — это путь к применению вашей обученной модели для решения практических задач.
Экспорт
Режим экспорта используется для преобразования модели YOLO11 в форматы, подходящие для развертывания на различных платформах и устройствах. Этот режим преобразует вашу модель PyTorch в оптимизированные форматы, такие как ONNX, TensorRT или CoreML, что позволяет развертывать ее в производственной среде. Экспорт необходим для интеграции вашей модели с различными программными приложениями или аппаратными устройствами, что часто приводит к значительному повышению производительности.
Отслеживание
Режим отслеживания расширяет возможности обнаружения объектов YOLO11 для отслеживания объектов на видеокадрах или в прямых трансляциях. Этот режим особенно ценен для приложений, требующих постоянной идентификации объектов, таких как системы видеонаблюдения или автомобили с автоматическим управлением. Режим отслеживания реализует сложные алгоритмы, такие как ByteTrack, для поддержания идентичности объекта между кадрами, даже когда объекты временно исчезают из поля зрения.
Бенчмарк
Режим бенчмаркинга профилирует скорость и точность различных форматов экспорта для YOLO11. Этот режим предоставляет исчерпывающие метрики по размеру модели, точности (mAP50-95 для задач обнаружения или accuracy_top5 для классификации) и времени инференса для различных форматов, таких как ONNX, OpenVINO и TensorRT. Бенчмаркинг помогает выбрать оптимальный формат экспорта, исходя из ваших конкретных требований к скорости и точности в вашей среде развертывания.
Часто задаваемые вопросы
Как обучить собственную модель обнаружения объектов с помощью Ultralytics YOLO11?
Обучение пользовательской модели обнаружения объектов с помощью Ultralytics YOLO11 включает использование режима train. Вам потребуется набор данных, отформатированный в формате YOLO, содержащий изображения и соответствующие файлы аннотаций. Используйте следующую команду, чтобы начать процесс обучения:
Пример
from ultralytics import YOLO
# Load a pre-trained YOLO model (you can choose n, s, m, l, or x versions)
model = YOLO("yolo11n.pt")
# Start training on your custom dataset
model.train(data="path/to/dataset.yaml", epochs=100, imgsz=640)
# Train a YOLO model from the command line
yolo train data=path/to/dataset.yaml epochs=100 imgsz=640
Более подробные инструкции можно найти в Руководстве по обучению Ultralytics.
Какие метрики использует Ultralytics YOLO11 для проверки производительности модели?
Ultralytics YOLO11 использует различные метрики в процессе валидации для оценки производительности модели. К ним относятся:
- mAP (средняя точность): оценивает точность обнаружения объектов.
- IOU (Intersection over Union): измеряет перекрытие между предсказанными и фактическими ограничивающими рамками.
- Точность и Полнота: Точность измеряет отношение истинно положительных обнаружений к общему количеству обнаруженных положительных результатов, в то время как полнота измеряет отношение истинно положительных обнаружений к общему количеству фактических положительных результатов.
Вы можете выполнить следующую команду, чтобы начать валидацию:
Пример
from ultralytics import YOLO
# Load a pre-trained or custom YOLO model
model = YOLO("yolo11n.pt")
# Run validation on your dataset
model.val(data="path/to/validation.yaml")
# Validate a YOLO model from the command line
yolo val data=path/to/validation.yaml
Подробности смотрите в Руководстве по валидации.
Как я могу экспортировать свою модель YOLO11 для развертывания?
Ultralytics YOLO11 предлагает функциональность экспорта для преобразования обученной модели в различные форматы развертывания, такие как ONNX, TensorRT, CoreML и другие. Используйте следующий пример для экспорта вашей модели:
Пример
from ultralytics import YOLO
# Load your trained YOLO model
model = YOLO("yolo11n.pt")
# Export the model to ONNX format (you can specify other formats as needed)
model.export(format="onnx")
# Export a YOLO model to ONNX format from the command line
yolo export model=yolo11n.pt format=onnx
Подробные инструкции для каждого формата экспорта можно найти в Руководстве по экспорту.
Каково назначение режима benchmark в Ultralytics YOLO11?
Режим бенчмарка в Ultralytics YOLO11 используется для анализа скорости и точность различных форматов экспорта, таких как ONNX, TensorRT и OpenVINO. Он предоставляет такие метрики, как размер модели, mAP50-95
для обнаружения объектов и время инференса на различных аппаратных конфигурациях, помогая вам выбрать наиболее подходящий формат для ваших нужд развертывания.
Пример
from ultralytics.utils.benchmarks import benchmark
# Run benchmark on GPU (device 0)
# You can adjust parameters like model, dataset, image size, and precision as needed
benchmark(model="yolo11n.pt", data="coco8.yaml", imgsz=640, half=False, device=0)
# Benchmark a YOLO model from the command line
# Adjust parameters as needed for your specific use case
yolo benchmark model=yolo11n.pt data='coco8.yaml' imgsz=640 half=False device=0
Для получения более подробной информации обратитесь к Руководству по бенчмаркам.
Как я могу выполнять отслеживание объектов в реальном времени с помощью Ultralytics YOLO11?
Отслеживание объектов в реальном времени может быть достигнуто с помощью режима track в Ultralytics YOLO11. Этот режим расширяет возможности обнаружения объектов для отслеживания объектов в видеокадрах или прямых трансляциях. Используйте следующий пример, чтобы включить отслеживание:
Пример
from ultralytics import YOLO
# Load a pre-trained YOLO model
model = YOLO("yolo11n.pt")
# Start tracking objects in a video
# You can also use live video streams or webcam input
model.track(source="path/to/video.mp4")
# Perform object tracking on a video from the command line
# You can specify different sources like webcam (0) or RTSP streams
yolo track source=path/to/video.mp4
Для получения подробных инструкций посетите Руководство по отслеживанию.