Ultralytics YOLO27:

Узнай об Ultralytics YOLOv8#

Обзор#

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

Графики сравнения производительности YOLOv8



Смотри: Обзор модели Ultralytics YOLOv8
Попробовать на платформе Ultralytics

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

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

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

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

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

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

МодельИмена файловЗадачаОбучениеВалидацияИнференсЭкспорт
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, указаны подходящие для них задачи и совместимость с различными режимами работы, такими как инференс, валидация, обучение и экспорт. Таблица демонстрирует универсальность и надёжность серии 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

# Загружаем предварительно обученную на COCO модель YOLOv8n
model = YOLO("yolov8n.pt")

# Показать информацию о модели (необязательно)
model.info()

# Обучить модель на демонстрационном наборе данных COCO8 в течение 100 эпох
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Запускаем инференс с моделью YOLOv8n на изображении 'bus.jpg'
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 поддерживает широкий спектр задач компьютерного зрения, включая обнаружение объектов, сегментацию экземпляров, классификацию, обнаружение позы и ключевых точек, а также обнаружение объектов с ориентированными ограничивающими рамками. Каждый вариант модели оптимизирован для своей задачи и совместим с различными режимами работы, такими как инференс, валидация, обучение и экспорт. Подробнее см. в разделе Поддерживаемые задачи и режимы.

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

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

    Пример
    from ultralytics import YOLO
    
    # Загружаем предварительно обученную на COCO модель YOLOv8n
    model = YOLO("yolov8n.pt")
    
    # Обучить модель на демонстрационном наборе данных COCO8 в течение 100 эпох
    results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

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

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

    Пример
    from ultralytics.utils.benchmarks import benchmark
    
    # Сравнительный тест на GPU
    benchmark(model="yolov8n.pt", data="coco8.yaml", imgsz=640, device=0)

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

Комментарии