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

Watch: Ultralytics YOLOv8 Model Overview
Изучай модели YOLOv8 и запускай их прямо на платформе Ultralytics.
Ключевые особенности YOLOv8#
- Продвинутые архитектуры backbone и neck: YOLOv8 использует современные архитектуры backbone и neck, обеспечивая улучшенные показатели извлечения признаков и обнаружения объектов.
- Разделённая безанкорная голова Ultralytics: YOLOv8 использует разделённую безанкорную голову Ultralytics, которая обеспечивает более высокую точность и эффективный процесс обнаружения по сравнению с подходами на основе anchor.
- Оптимизированный компромисс между точностью и скоростью: Благодаря фокусу на оптимальном балансе точности и скорости YOLOv8 подходит для задач обнаружения объектов в реальном времени в различных прикладных областях.
- Разнообразие предварительно обученных моделей: YOLOv8 предлагает ряд предварительно обученных моделей для различных задач и требований к производительности, упрощая выбор подходящей модели для твоего конкретного сценария использования.
Поддерживаемые задачи и режимы#
Серия YOLOv8 предлагает разнообразные модели, каждая из которых специализируется на определённых задачах компьютерного зрения. Эти модели рассчитаны на различные требования — от обнаружения объектов до более сложных задач, таких как сегментация экземпляров, классификация, обнаружение позы/ключевых точек и обнаружение ориентированных объектов.
Каждый вариант серии YOLOv8 оптимизирован для своей задачи, что обеспечивает высокую производительность и точность. Кроме того, эти модели совместимы с различными рабочими режимами, включая Inference, Validation, Training и Export, что упрощает их использование на разных этапах развёртывания и разработки.
| Модель | Имена файлов | Задача | Обучение | Валидация | Вывод | Экспорт |
|---|---|---|---|---|---|---|
| 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 с указанием их применимости для конкретных задач и совместимости с различными рабочими режимами, такими как Inference, Validation, Training и Export. Она демонстрирует универсальность и надёжность серии YOLOv8, благодаря чему модели подходят для самых разных приложений в области компьютерного зрения.
Метрики производительности#
Примеры использования этих моделей, обученных на COCO и включающих 80 предварительно обученных классов, см. в документации по обнаружению.
Примеры использования 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 из-за быстро развивающегося характера моделей. Мы сосредоточены на развитии технологии и упрощении её использования, а не на создании статичной документации. Самую актуальную информацию об архитектуре 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)Дополнительную информацию см. в разделе Показатели производительности.