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

Смотри: Обзор модели Ultralytics YOLOv8
Изучай модели YOLOv8 и запускай их прямо на платформе Ultralytics.
Ключевые особенности YOLOv8#
- Продвинутые архитектуры backbone и neck: YOLOv8 использует самые современные архитектуры backbone и neck, что повышает качество извлечения признаков и обнаружения объектов.
- Разделённая голова Ultralytics без якорей: YOLOv8 использует разделённую голову Ultralytics без якорей, что обеспечивает более высокую точность и более эффективный процесс обнаружения по сравнению с подходами на основе якорей.
- Оптимальный компромисс между точностью и скоростью: YOLOv8 ориентирована на оптимальный баланс точности и скорости и подходит для задач обнаружения объектов в реальном времени в самых разных областях применения.
- Разнообразие предварительно обученных моделей: YOLOv8 предлагает широкий выбор предварительно обученных моделей для разных задач и требований к производительности, упрощая выбор подходящей модели для конкретного сценария использования.
Поддерживаемые задачи и режимы#
Серия YOLOv8 предлагает широкий выбор моделей, каждая из которых предназначена для решения определённых задач компьютерного зрения. Модели рассчитаны на разные потребности: от обнаружения объектов до более сложных задач, таких как сегментация экземпляров, классификация, обнаружение позы и ключевых точек, а также обнаружение объектов с ориентированными ограничивающими рамками.
Каждый вариант модели серии YOLOv8 оптимизирован для соответствующей задачи, что обеспечивает высокую производительность и точность. Кроме того, модели совместимы с различными режимами работы, включая инференс, валидацию, обучение и экспорт, что позволяет использовать их на разных этапах разработки и развёртывания.
| Модель | Имена файлов | Задача | Обучение | Валидация | Инференс | Экспорт |
|---|---|---|---|---|---|---|
| YOLOv8 | yolov8n.pt yolov8s.pt yolov8m.pt yolov8l.pt yolov8x.pt | Обнаружение | ✅ | ✅ | ✅ | ✅ |
| YOLOv8-seg | yolov8n-seg.pt yolov8s-seg.pt yolov8m-seg.pt yolov8l-seg.pt yolov8x-seg.pt | Сегментация экземпляров | ✅ | ✅ | ✅ | ✅ |
| YOLOv8-cls | yolov8n-cls.pt yolov8s-cls.pt yolov8m-cls.pt yolov8l-cls.pt yolov8x-cls.pt | Классификация | ✅ | ✅ | ✅ | ✅ |
| YOLOv8-pose | yolov8n-pose.pt yolov8s-pose.pt yolov8m-pose.pt yolov8l-pose.pt yolov8x-pose.pt yolov8x-pose-p6.pt | Поза/ключевые точки | ✅ | ✅ | ✅ | ✅ |
| YOLOv8-obb | yolov8n-obb.pt yolov8s-obb.pt yolov8m-obb.pt yolov8l-obb.pt yolov8x-obb.pt | Обнаружение ориентированных объектов | ✅ | ✅ | ✅ | ✅ |
В этой таблице представлен обзор вариантов моделей YOLOv8, указаны подходящие для них задачи и совместимость с различными режимами работы, такими как инференс, валидация, обучение и экспорт. Таблица демонстрирует универсальность и надёжность серии YOLOv8, благодаря которым модели подходят для самых разных задач компьютерного зрения.
Метрики производительности#
Примеры использования этих моделей, обученных на COCO и включающих 80 предобученных классов, см. в документации по обнаружению объектов.
Примеры использования 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, поскольку модели быстро развиваются. Мы сосредоточены на совершенствовании технологий и упрощении их использования, а не на создании статичной документации. Самую актуальную информацию об архитектуре 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)Дополнительную информацию см. в разделе Метрики производительности.