Исследуйте Ultralytics YOLOv8
Обзор
YOLOv8 была выпущена компанией Ultralytics 10 января 2023 года и предлагает передовую производительность в плане точности и скорости. Основываясь на достижениях предыдущих версий YOLO , YOLOv8 представила новые функции и оптимизации, которые делают ее идеальным выбором для решения различных задач обнаружения объектов в широком спектре приложений.
Смотреть: Ultralytics YOLOv8 Обзор моделей
Ключевые особенности YOLOv8
- Передовые архитектуры позвоночника и шеи: В YOLOv8 используются самые современные архитектуры позвоночника и шеи, что позволяет повысить эффективность извлечения признаков и обнаружения объектов.
- 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-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 , подчеркивающий их применимость в конкретных задачах и совместимость с различными режимами работы, такими как вывод, проверка, обучение и экспорт. Она демонстрирует универсальность и надежность серии YOLOv8 , что делает их подходящими для различных приложений в области компьютерного зрения.
Показатели производительности
Производительность
Примеры использования этих моделей, обученных на COCO и включающих 80 предварительно обученных классов, см. в Документах по обнаружению.
Примеры использования этих моделей, обученных на Open Image V7 и включающих 600 предварительно обученных классов, см. в Документах по обнаружению.
Примеры использования этих моделей, обученных на COCO и включающих 80 предварительно обученных классов, см. в разделе Segmentation Docs.
Модель | размер (пикселей) |
mAPbox 50-95 |
mAPmask 50-95 |
Скорость CPU ONNX (мс) |
Скорость A100 TensorRT (мс) |
params (M) |
FLOPs (B) |
---|---|---|---|---|---|---|---|
YOLOv8n-seg | 640 | 36.7 | 30.5 | 96.1 | 1.21 | 3.4 | 12.6 |
YOLOv8s-seg | 640 | 44.6 | 36.8 | 155.7 | 1.47 | 11.8 | 42.6 |
YOLOv8m-seg | 640 | 49.9 | 40.8 | 317.0 | 2.18 | 27.3 | 110.2 |
YOLOv8l-seg | 640 | 52.3 | 42.6 | 572.4 | 2.79 | 46.0 | 220.5 |
YOLOv8x-seg | 640 | 53.4 | 43.4 | 712.1 | 4.02 | 71.8 | 344.1 |
Примеры использования этих моделей, обученных на ImageNet и включающих 1000 предварительно обученных классов, см. в разделе Classification Docs.
Модель | размер (пикселей) |
acc top1 |
акк топ5 |
Скорость CPU ONNX (мс) |
Скорость A100 TensorRT (мс) |
params (M) |
FLOPs (B) на 224 |
---|---|---|---|---|---|---|---|
YOLOv8n-cls | 224 | 69.0 | 88.3 | 12.9 | 0.31 | 2.7 | 0.5 |
YOLOv8s-cls | 224 | 73.8 | 91.7 | 23.4 | 0.35 | 6.4 | 1.7 |
YOLOv8m-cls | 224 | 76.8 | 93.5 | 85.4 | 0.62 | 17.0 | 5.3 |
YOLOv8l-cls | 224 | 76.8 | 93.5 | 163.0 | 0.87 | 37.5 | 12.3 |
YOLOv8x-cls | 224 | 79.0 | 94.6 | 232.0 | 1.01 | 57.4 | 19.0 |
Примеры использования этих моделей, обученных на COCO и включающих 1 предварительно обученный класс "человек", см. в Документах по оценке позы.
Модель | размер (пикселей) |
mAPpose 50-95 |
mAPpose 50 |
Скорость CPU ONNX (мс) |
Скорость A100 TensorRT (мс) |
params (M) |
FLOPs (B) |
---|---|---|---|---|---|---|---|
YOLOv8n-pose | 640 | 50.4 | 80.1 | 131.8 | 1.18 | 3.3 | 9.2 |
YOLOv8s-pose | 640 | 60.0 | 86.2 | 233.2 | 1.42 | 11.6 | 30.2 |
YOLOv8m-pose | 640 | 65.0 | 88.8 | 456.3 | 2.00 | 26.4 | 81.0 |
YOLOv8l-pose | 640 | 67.6 | 90.0 | 784.5 | 2.59 | 44.4 | 168.6 |
YOLOv8x-pose | 640 | 69.2 | 90.2 | 1607.1 | 3.73 | 69.4 | 263.2 |
YOLOv8x-pose-p6 | 1280 | 71.6 | 91.2 | 4088.7 | 10.04 | 99.1 | 1066.4 |
Примеры использования этих моделей, обученных на DOTAv1 и включающих 15 предварительно обученных классов, см. в Документах по ориентированному обнаружению.
Модель | размер (пикселей) |
mAPtest 50 |
Скорость CPU ONNX (мс) |
Скорость A100 TensorRT (мс) |
params (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
YOLOv8n-obb | 1024 | 78.0 | 204.77 | 3.57 | 3.1 | 23.3 |
YOLOv8s-obb | 1024 | 79.5 | 424.88 | 4.07 | 11.4 | 76.3 |
YOLOv8m-obb | 1024 | 80.5 | 763.48 | 7.61 | 26.4 | 208.6 |
YOLOv8l-obb | 1024 | 80.7 | 1278.42 | 11.83 | 44.5 | 433.8 |
YOLOv8x-obb | 1024 | 81.36 | 1759.10 | 13.23 | 69.5 | 676.7 |
Примеры использования YOLOv8
В этом примере приведены простые примеры обучения и вывода YOLOv8 . Полную документацию по этим и другим режимам можно найти на страницах Predict, Train, Val и Export docs.
Обратите внимание, что ниже приведен пример для моделей 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")
CLI Команды доступны для прямого запуска моделей:
Цитаты и благодарности
Ultralytics YOLOv8 Публикация
Ultralytics не публиковала официальных научных работ по YOLOv8 из-за быстро развивающейся природы моделей. Мы сосредоточены на развитии технологии и упрощении ее использования, а не на создании статической документации. Самую свежую информацию об архитектуре, возможностях и использовании YOLO вы можете найти в нашем репозитории на GitHub и в документации.
Если вы используете модель YOLOv8 или любое другое программное обеспечение из этого репозитория в своей работе, пожалуйста, ссылайтесь на него в следующем формате:
Обратите внимание, что DOI находится на рассмотрении и будет добавлено в цитату, как только оно станет доступно. Модели YOLOv8 предоставляются по лицензиям AGPL-3.0 и лицензиями Enterprise.
ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ
Что такое YOLOv8 и чем она отличается от предыдущих версий YOLO ?
YOLOv8 разработан для повышения эффективности обнаружения объектов в реальном времени благодаря расширенным возможностям. В отличие от предыдущих версий, в YOLOv8 используется безъякорная разъемная головка Ultralytics , современные архитектуры позвоночника и шеи, а также оптимизированный компромисс между точностью и скоростью, что делает его идеальным для различных приложений. Более подробную информацию можно найти в разделах "Обзор" и "Ключевые особенности".
Как использовать YOLOv8 для решения различных задач компьютерного зрения?
YOLOv8 поддерживает широкий спектр задач компьютерного зрения, включая обнаружение объектов, сегментацию объектов, определение положения/ключевых точек, обнаружение ориентированных объектов и классификацию. Каждый вариант модели оптимизирован для решения конкретной задачи и совместим с различными режимами работы, такими как "Вывод", "Проверка", "Обучение" и "Экспорт". Дополнительную информацию см. в разделе " Поддерживаемые задачи и режимы ".
Каковы показатели производительности моделей YOLOv8 ?
YOLOv8 Модели достигают наилучшей производительности в различных эталонных наборах данных. Например, модель YOLOv8n достигает mAP (средняя точность) 37,3 на наборе данных COCO и скорости 0,99 мс на A100 TensorRT. Подробные показатели производительности для каждого варианта модели в различных задачах и наборах данных можно найти в разделе " Показатели производительности".
Как обучить модель YOLOv8 ?
Для обучения модели YOLOv8 можно использовать либо Python , либо CLI. Ниже приведены примеры обучения модели с использованием COCO-предтренированной модели YOLOv8 на наборе данных COCO8 в течение 100 эпох:
Пример
Более подробную информацию можно найти в документации по обучению.
Можно ли провести сравнительный анализ моделей YOLOv8 на предмет производительности?
Да, модели YOLOv8 можно сравнивать по скорости и точности работы с различными форматами экспорта. Для бенчмаркинга можно использовать модели PyTorch, ONNX, TensorRT и другие. Ниже приведены примеры команд для бенчмаркинга с использованием Python и CLI:
Пример
Дополнительную информацию можно найти в разделе " Показатели производительности".