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

Watch: Ultralytics YOLOv8 Model Overview
Исследуй и запускай модели YOLOv8 прямо на Ultralytics Platform.
Ключевые особенности YOLOv8
- Усовершенствованные архитектуры backbone и neck: YOLOv8 использует современные архитектуры backbone и neck, что приводит к улучшению производительности feature extraction и object detection.
- Раздельная Ultralytics-голова без привязки к якорям (anchor-free): YOLOv8 использует раздельную Ultralytics-голову без привязки к якорям, что способствует повышению точности и более эффективному процессу обнаружения по сравнению с подходами, основанными на якорях.
- Оптимизированный баланс точности и скорости: С фокусом на поддержании оптимального баланса между точностью и скоростью, YOLOv8 подходит для задач обнаружения объектов в реальном времени в различных областях применения.
- Разнообразие предобученных моделей: YOLOv8 предлагает ряд предобученных моделей для удовлетворения различных задач и требований к производительности, что упрощает поиск подходящей модели для твоего конкретного случая использования.
Поддерживаемые задачи и режимы
Серия YOLOv8 предлагает разнообразный ряд моделей, каждая из которых специализируется на определенных задачах компьютерного зрения. Эти модели разработаны для удовлетворения различных требований, от обнаружения объектов до более сложных задач, таких как instance segmentation, обнаружение поз/ключевых точек, ориентированное обнаружение объектов и классификация.
Каждый вариант серии YOLOv8 оптимизирован для соответствующей задачи, обеспечивая высокую производительность и точность. Кроме того, эти модели совместимы с различными рабочими режимами, включая Inference, Validation, Training и Export, что облегчает их использование на разных этапах развертывания и разработки.
| Модель | Имена файлов | Задача | Логический вывод | Валидация | Обучение | Экспорт (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-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-cls | yolov8n-cls.pt yolov8s-cls.pt yolov8m-cls.pt yolov8l-cls.pt yolov8x-cls.pt | Классификация | ✅ | ✅ | ✅ | ✅ |
Эта таблица дает обзор вариантов моделей YOLOv8, выделяя их применимость в конкретных задачах и совместимость с различными рабочими режимами, такими как Inference, Validation, Training и Export. Она демонстрирует универсальность и надежность серии YOLOv8, делая их подходящими для множества приложений в computer vision.
Метрики производительности
Смотри документацию по детекции для примеров использования этих моделей, обученных на COCO, которые включают 80 предобученных классов.
Примеры использования YOLOv8
В этом примере представлены простые варианты обучения и инференса YOLOv8. Полную документацию по этим и другим режимам смотри на страницах Predict, Train, Val и Export.
Обрати внимание: приведенный ниже пример относится к моделям YOLOv8 Detect для обнаружения объектов. Другие поддерживаемые задачи ищи в документации по Segment, Classify, OBB и Pose.
Предобученные PyTorch модели в формате *.pt, а также файлы конфигурации *.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.
Часто задаваемые вопросы (FAQ)
Что такое YOLOv8 и чем она отличается от предыдущих версий YOLO?
YOLOv8 разработана для улучшения производительности обнаружения объектов в реальном времени с помощью передовых функций. В отличие от ранних версий, YOLOv8 включает в себя безанкорную архитектуру Ultralytics head, современный backbone и архитектуру neck, а также предлагает оптимизированный баланс точности и скорости, что делает ее идеальной для различных задач. Более подробную информацию см. в разделах Обзор и Основные возможности.
Как использовать YOLOv8 для различных задач компьютерного зрения?
YOLOv8 поддерживает широкий спектр задач компьютерного зрения, включая обнаружение объектов, сегментацию экземпляров, обнаружение поз/ключевых точек, ориентированное обнаружение объектов и классификацию. Каждый вариант модели оптимизирован для конкретной задачи и совместим с различными режимами работы, такими как Inference, Validation, Training и Export. Для получения дополнительной информации обратись к разделу Поддерживаемые задачи и режимы.
Каковы показатели производительности моделей YOLOv8?
Модели YOLOv8 достигают передовых показателей производительности на различных наборах данных для тестирования. Например, модель YOLOv8n достигает mAP (средней точности) 37.3 на наборе данных COCO и скорости 0.99 мс на A100 TensorRT. Подробные показатели производительности для каждого варианта модели в зависимости от задач и наборов данных можно найти в разделе Показатели производительности.
Как обучить модель YOLOv8?
Обучение модели YOLOv8 можно выполнить с помощью Python или CLI. Ниже приведены примеры обучения модели на основе предобученной на COCO модели YOLOv8 с использованием набора данных 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)Для получения дополнительных сведений посети документацию Training.
Могу ли я провести бенчмаркинг производительности моделей YOLOv8?
Да, модели YOLOv8 можно протестировать на производительность по скорости и точности в различных форматах экспорта. Для бенчмаркинга ты можешь использовать PyTorch, ONNX, TensorRT и другие. Ниже приведены примеры команд для бенчмаркинга через Python и CLI:
from ultralytics.utils.benchmarks import benchmark
# Benchmark on GPU
benchmark(model="yolov8n.pt", data="coco8.yaml", imgsz=640, half=False, device=0)Для получения дополнительной информации ознакомься с разделом Показатели производительности.