Ultralytics YOLO27:

Изучите Ultralytics YOLOv8#

Обзор#

YOLOv8 выпущена компанией Ultralytics 10 января 2023 года и обеспечивает передовые показатели точности и скорости. Развивая достижения предыдущих версий YOLO, YOLOv8 представила новые функции и оптимизации, которые делают её идеальным выбором для различных задач обнаружения объектов в самых разных приложениях.

Сравнительные графики производительности YOLOv8



Watch: Ultralytics YOLOv8 Model Overview
Попробуй на платформе Ultralytics

Изучай модели YOLOv8 и запускай их прямо на платформе Ultralytics.

Ключевые особенности YOLOv8#

  • Продвинутые архитектуры backbone и neck: YOLOv8 использует современные архитектуры backbone и neck, обеспечивая улучшенные показатели извлечения признаков и обнаружения объектов.
  • Разделённая безанкорная голова Ultralytics: YOLOv8 использует разделённую безанкорную голову Ultralytics, которая обеспечивает более высокую точность и эффективный процесс обнаружения по сравнению с подходами на основе anchor.
  • Оптимизированный компромисс между точностью и скоростью: Благодаря фокусу на оптимальном балансе точности и скорости YOLOv8 подходит для задач обнаружения объектов в реальном времени в различных прикладных областях.
  • Разнообразие предварительно обученных моделей: YOLOv8 предлагает ряд предварительно обученных моделей для различных задач и требований к производительности, упрощая выбор подходящей модели для твоего конкретного сценария использования.

Поддерживаемые задачи и режимы#

Серия YOLOv8 предлагает разнообразные модели, каждая из которых специализируется на определённых задачах компьютерного зрения. Эти модели рассчитаны на различные требования — от обнаружения объектов до более сложных задач, таких как сегментация экземпляров, классификация, обнаружение позы/ключевых точек и обнаружение ориентированных объектов.

Каждый вариант серии YOLOv8 оптимизирован для своей задачи, что обеспечивает высокую производительность и точность. Кроме того, эти модели совместимы с различными рабочими режимами, включая Inference, Validation, Training и Export, что упрощает их использование на разных этапах развёртывания и разработки.

МодельИмена файловЗадачаОбучениеВалидацияВыводЭкспорт
YOLOv8yolov8n.pt yolov8s.pt yolov8m.pt yolov8l.pt yolov8x.ptОбнаружение
YOLOv8-segyolov8n-seg.pt yolov8s-seg.pt yolov8m-seg.pt yolov8l-seg.pt yolov8x-seg.ptСегментация экземпляров
YOLOv8-clsyolov8n-cls.pt yolov8s-cls.pt yolov8m-cls.pt yolov8l-cls.pt yolov8x-cls.ptКлассификация
YOLOv8-poseyolov8n-pose.pt yolov8s-pose.pt yolov8m-pose.pt yolov8l-pose.pt yolov8x-pose.pt yolov8x-pose-p6.ptПоза/ключевые точки
YOLOv8-obbyolov8n-obb.pt yolov8s-obb.pt yolov8m-obb.pt yolov8l-obb.pt yolov8x-obb.ptОриентированное обнаружение

В этой таблице представлен обзор вариантов моделей YOLOv8 с указанием их применимости для конкретных задач и совместимости с различными рабочими режимами, такими как Inference, Validation, Training и Export. Она демонстрирует универсальность и надёжность серии YOLOv8, благодаря чему модели подходят для самых разных приложений в области компьютерного зрения.

Метрики производительности#

Производительность

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

Модельразмер
(пиксели)
mAPval
50-95
Скорость
CPU ONNX
(мс)
Скорость
A100 TensorRT
(мс)
параметры
(M)
FLOPs
(B)
YOLOv8n64037.380.40.993.28.7
YOLOv8s64044.9128.41.2011.228.6
YOLOv8m64050.2234.71.8325.978.9
YOLOv8l64052.9375.22.3943.7165.1
YOLOv8x64053.9479.13.5368.2257.8

Примеры использования YOLOv8#

В этом примере приведены простые примеры обучения и инференса YOLOv8. Полную документацию по этим и другим режимам см. на страницах документации Predict, Train, Val и Export.

Обрати внимание: приведённый ниже пример предназначен для моделей YOLOv8 Detect для обнаружения объектов. Информацию о дополнительных поддерживаемых задачах см. в документации по Segment, Classify, Pose и OBB.

Пример

Предварительно обученные модели *.pt PyTorch, а также файлы конфигурации *.yaml можно передать классу YOLO(), чтобы создать экземпляр модели в Python:

from ultralytics import YOLO

# Load a COCO-pretrained YOLOv8n model
model = YOLO("yolov8n.pt")

# Display model information (optional)
model.info()

# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference with the YOLOv8n model on the 'bus.jpg' image
results = model("path/to/bus.jpg")

Цитирование и благодарности#

Публикация Ultralytics YOLOv8

Ultralytics не публиковала официальную исследовательскую статью о YOLOv8 из-за быстро развивающегося характера моделей. Мы сосредоточены на развитии технологии и упрощении её использования, а не на создании статичной документации. Самую актуальную информацию об архитектуре YOLO, функциях и использовании см. в нашем репозитории GitHub и документации.

Если ты используешь модель YOLOv8 или любое другое программное обеспечение из этого репозитория в своей работе, укажи его в публикации в следующем формате:

Цитата
@software{yolov8_ultralytics,
  author = {Glenn Jocher and Ayush Chaurasia and Jing Qiu},
  title = {Ultralytics YOLOv8},
  version = {8.0.0},
  year = {2023},
  url = {https://github.com/ultralytics/ultralytics},
  orcid = {0000-0001-5950-6979, 0000-0002-7603-6750, 0000-0003-3783-7069},
  license = {AGPL-3.0}
}

Обрати внимание: DOI пока не присвоен и будет добавлен в библиографическое описание, как только станет доступен. Модели YOLOv8 предоставляются по лицензиям AGPL-3.0 и Enterprise.

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

  • YOLOv8 разработана для повышения производительности обнаружения объектов в реальном времени благодаря передовым функциям. В отличие от предыдущих версий, YOLOv8 включает разделённую безанкорную голову Ultralytics, современные архитектуры backbone и neck, а также оптимизированный компромисс между точностью и скоростью, что делает её идеальной для различных приложений. Подробнее см. разделы Обзор и Ключевые особенности.

  • YOLOv8 поддерживает широкий спектр задач компьютерного зрения, включая обнаружение объектов, сегментацию экземпляров, обнаружение позы/ключевых точек, обнаружение ориентированных объектов и классификацию. Каждый вариант модели оптимизирован для своей задачи и совместим с различными рабочими режимами, такими как Inference, Validation, Training и Export. Дополнительную информацию см. в разделе Поддерживаемые задачи и режимы.

  • Модели YOLOv8 обеспечивают передовые показатели на различных наборах данных для бенчмаркинга. Например, модель YOLOv8n достигает mAP (средней точности) 37,3 на наборе данных COCO и работает со скоростью 0,99 мс на A100 TensorRT. Подробные показатели производительности каждого варианта модели для разных задач и наборов данных приведены в разделе Показатели производительности.

  • Модель YOLOv8 можно обучать с помощью Python или CLI. Ниже приведены примеры обучения модели YOLOv8, предварительно обученной на COCO, на наборе данных COCO8 в течение 100 эпох:

    Пример
    from ultralytics import YOLO
    
    # Load a COCO-pretrained YOLOv8n model
    model = YOLO("yolov8n.pt")
    
    # Train the model on the COCO8 example dataset for 100 epochs
    results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

    Подробнее см. в документации по обучению.

  • Да, производительность моделей YOLOv8 можно оценивать по скорости и точности в различных форматах экспорта. Для бенчмаркинга можно использовать PyTorch, ONNX, TensorRT и другие инструменты. Ниже приведены примеры команд для бенчмаркинга с использованием Python и CLI:

    Пример
    from ultralytics.utils.benchmarks import benchmark
    
    # Benchmark on GPU
    benchmark(model="yolov8n.pt", data="coco8.yaml", imgsz=640, device=0)

    Дополнительную информацию см. в разделе Показатели производительности.

Комментарии