Ultralytics YOLO11
Обзор
YOLO11 — это последняя итерация в серии Ultralytics YOLO детекторов объектов в реальном времени, переопределяющая возможности благодаря передовой точности, скорости и эффективности. Основываясь на впечатляющих достижениях предыдущих версий YOLO, YOLO11 представляет значительные улучшения в архитектуре и методах обучения, что делает его универсальным выбором для широкого спектра задач компьютерного зрения.
Ultralytics YOLO11 🚀 Подкаст, сгенерированный NotebookLM
Смотреть: Как использовать Ultralytics YOLO11 для обнаружения и отслеживания объектов | Как провести бенчмаркинг | YOLO11 ВЫПУЩЕН🚀
Основные характеристики
- Улучшенное извлечение признаков: YOLO11 использует улучшенную backbone и neck-архитектуру, что повышает возможности извлечения признаков для более точного обнаружения объектов и выполнения сложных задач.
- Оптимизировано для эффективности и скорости: YOLO11 представляет усовершенствованные архитектурные решения и оптимизированные конвейеры обучения, обеспечивающие более высокую скорость обработки и поддерживающие оптимальный баланс между точностью и производительностью.
- Более высокая точность с меньшим количеством параметров: Благодаря усовершенствованиям в конструкции модели, YOLO11m достигает более высокого среднего значения Average Precision (mAP) на наборе данных COCO, используя при этом на 22% меньше параметров, чем YOLOv8m, что делает его вычислительно эффективным без ущерба для точности.
- Адаптируемость в различных средах: YOLO11 можно легко развернуть в различных средах, включая периферийные устройства, облачные платформы и системы, поддерживающие NVIDIA GPU, что обеспечивает максимальную гибкость.
- Широкий спектр поддерживаемых задач: Будь то обнаружение объектов, сегментация экземпляров, классификация изображений, оценка позы или ориентированное обнаружение объектов (OBB), YOLO11 предназначен для решения разнообразных задач компьютерного зрения.
Поддерживаемые задачи и режимы
YOLO11 основывается на универсальном модельном ряде, представленном в YOLOv8, предлагая расширенную поддержку для различных задач компьютерного зрения:
Модель | Имена файлов | Задача | Инференс | Валидация | Обучение | Экспорт |
---|---|---|---|---|---|---|
YOLO11 | yolo11n.pt yolo11s.pt yolo11m.pt yolo11l.pt yolo11x.pt |
Обнаружение | ✅ | ✅ | ✅ | ✅ |
YOLO11-seg | yolo11n-seg.pt yolo11s-seg.pt yolo11m-seg.pt yolo11l-seg.pt yolo11x-seg.pt |
Сегментация экземпляров | ✅ | ✅ | ✅ | ✅ |
YOLO11-pose | yolo11n-pose.pt yolo11s-pose.pt yolo11m-pose.pt yolo11l-pose.pt yolo11x-pose.pt |
Поза/Ключевые точки | ✅ | ✅ | ✅ | ✅ |
YOLO11-obb | yolo11n-obb.pt yolo11s-obb.pt yolo11m-obb.pt yolo11l-obb.pt yolo11x-obb.pt |
Ориентированное обнаружение | ✅ | ✅ | ✅ | ✅ |
YOLO11-cls | yolo11n-cls.pt yolo11s-cls.pt yolo11m-cls.pt yolo11l-cls.pt yolo11x-cls.pt |
Классификация | ✅ | ✅ | ✅ | ✅ |
В этой таблице представлен обзор вариантов модели YOLO11, демонстрирующий их применимость в конкретных задачах и совместимость с операционными режимами, такими как Inference, Validation, Training и Export. Эта гибкость делает YOLO11 подходящей для широкого спектра приложений в компьютерном зрении, от обнаружения в реальном времени до сложных задач сегментации.
Метрики производительности
Производительность
Примеры использования этих моделей, обученных на COCO, которые включают 80 предварительно обученных классов, см. в документации по обнаружению.
Модель | размер (пиксели) |
mAPval 50-95 |
Скорость CPU ONNX (мс) |
Скорость T4 TensorRT10 (мс) |
параметры (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
YOLO11n | 640 | 39.5 | 56.1 ± 0.8 | 1.5 ± 0.0 | 2.6 | 6.5 |
YOLO11s | 640 | 47.0 | 90.0 ± 1.2 | 2.5 ± 0.0 | 9.4 | 21.5 |
YOLO11m | 640 | 51.5 | 183.2 ± 2.0 | 4.7 ± 0.1 | 20.1 | 68.0 |
YOLO11l | 640 | 53.4 | 238.6 ± 1.4 | 6.2 ± 0.1 | 25.3 | 86.9 |
YOLO11x | 640 | 54.7 | 462.8 ± 6.7 | 11.3 ± 0.2 | 56.9 | 194.9 |
Примеры использования этих моделей, обученных на COCO, которые включают 80 предварительно обученных классов, см. в документации по сегментации.
Модель | размер (пиксели) |
mAPbox 50-95 |
mAPmask 50-95 |
Скорость CPU ONNX (мс) |
Скорость T4 TensorRT10 (мс) |
параметры (M) |
FLOPs (B) |
---|---|---|---|---|---|---|---|
YOLO11n-seg | 640 | 38.9 | 32.0 | 65.9 ± 1.1 | 1.8 ± 0.0 | 2.9 | 10.4 |
YOLO11s-seg | 640 | 46.6 | 37.8 | 117.6 ± 4.9 | 2.9 ± 0.0 | 10.1 | 35.5 |
YOLO11m-seg | 640 | 51.5 | 41.5 | 281.6 ± 1.2 | 6.3 ± 0.1 | 22.4 | 123.3 |
YOLO11l-seg | 640 | 53.4 | 42.9 | 344.2 ± 3.2 | 7.8 ± 0.2 | 27.6 | 142.2 |
YOLO11x-seg | 640 | 54.7 | 43.8 | 664.5 ± 3.2 | 15.8 ± 0.7 | 62.1 | 319.0 |
Примеры использования этих моделей, обученных на ImageNet и включающих 1000 предварительно обученных классов, смотрите в документации по классификации.
Модель | размер (пиксели) |
acc top1 |
acc top5 |
Скорость CPU ONNX (мс) |
Скорость T4 TensorRT10 (мс) |
параметры (M) |
FLOPs (B) при 224 |
---|---|---|---|---|---|---|---|
YOLO11n-cls | 224 | 70.0 | 89.4 | 5.0 ± 0.3 | 1.1 ± 0.0 | 1.6 | 0.5 |
YOLO11s-cls | 224 | 75.4 | 92.7 | 7.9 ± 0.2 | 1.3 ± 0.0 | 5.5 | 1.6 |
YOLO11m-cls | 224 | 77.3 | 93.9 | 17.2 ± 0.4 | 2.0 ± 0.0 | 10.4 | 5.0 |
YOLO11l-cls | 224 | 78.3 | 94.3 | 23.2 ± 0.3 | 2.8 ± 0.0 | 12.9 | 6.2 |
YOLO11x-cls | 224 | 79.5 | 94.9 | 41.4 ± 0.9 | 3.8 ± 0.0 | 28.4 | 13.7 |
Примеры использования этих моделей, обученных на COCO и включающих 1 предварительно обученный класс ('person'), смотрите в документации по оценке позы.
Модель | размер (пиксели) |
mAPpose 50-95 |
mAPpose 50 |
Скорость CPU ONNX (мс) |
Скорость T4 TensorRT10 (мс) |
параметры (M) |
FLOPs (B) |
---|---|---|---|---|---|---|---|
YOLO11n-pose | 640 | 50.0 | 81.0 | 52.4 ± 0.5 | 1.7 ± 0.0 | 2.9 | 7.6 |
YOLO11s-pose | 640 | 58.9 | 86.3 | 90.5 ± 0.6 | 2.6 ± 0.0 | 9.9 | 23.2 |
YOLO11m-pose | 640 | 64.9 | 89.4 | 187.3 ± 0.8 | 4.9 ± 0.1 | 20.9 | 71.7 |
YOLO11l-pose | 640 | 66.1 | 89.9 | 247.7 ± 1.1 | 6.4 ± 0.1 | 26.2 | 90.7 |
YOLO11x-pose | 640 | 69.5 | 91.1 | 488.0 ± 13.9 | 12.1 ± 0.2 | 58.8 | 203.3 |
Примеры использования этих моделей, обученных на DOTAv1 и включающих 15 предварительно обученных классов, смотрите в документации по ориентированному обнаружению.
Модель | размер (пиксели) |
mAPtest 50 |
Скорость CPU ONNX (мс) |
Скорость T4 TensorRT10 (мс) |
параметры (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
YOLO11n-obb | 1024 | 78.4 | 117.6 ± 0.8 | 4.4 ± 0.0 | 2.7 | 17.2 |
YOLO11s-obb | 1024 | 79.5 | 219.4 ± 4.0 | 5.1 ± 0.0 | 9.7 | 57.5 |
YOLO11m-obb | 1024 | 80.9 | 562.8 ± 2.9 | 10.1 ± 0.4 | 20.9 | 183.5 |
YOLO11l-obb | 1024 | 81.0 | 712.5 ± 5.0 | 13.5 ± 0.6 | 26.2 | 232.0 |
YOLO11x-obb | 1024 | 81.3 | 1408.6 ± 7.7 | 28.6 ± 1.0 | 58.8 | 520.2 |
Примеры использования
В этом разделе представлены простые примеры обучения и инференса YOLO11. Полную документацию по этим и другим режимам смотрите на страницах документации Predict, Train, Val и Export.
Обратите внимание, что приведенный ниже пример предназначен для моделей YOLO11 Detect для обнаружения объектов. Информацию о других поддерживаемых задачах смотрите в документации Segment, Classify, OBB и Pose.
Пример
PyTorch предварительно обученные *.pt
модели, а также конфигурационные *.yaml
файлы могут быть переданы в YOLO()
class для создания экземпляра модели в Python:
from ultralytics import YOLO
# Load a COCO-pretrained YOLO11n model
model = YOLO("yolo11n.pt")
# 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 YOLO11n model on the 'bus.jpg' image
results = model("path/to/bus.jpg")
Для непосредственного запуска моделей доступны команды CLI:
# Load a COCO-pretrained YOLO11n model and train it on the COCO8 example dataset for 100 epochs
yolo train model=yolo11n.pt data=coco8.yaml epochs=100 imgsz=640
# Load a COCO-pretrained YOLO11n model and run inference on the 'bus.jpg' image
yolo predict model=yolo11n.pt source=path/to/bus.jpg
Цитирование и благодарности
Публикация Ultralytics YOLO11
Ultralytics не публиковала официальную исследовательскую работу по YOLO11 из-за быстро развивающегося характера моделей. Мы сосредоточены на развитии технологии и упрощении ее использования, а не на создании статической документации. Для получения самой актуальной информации об архитектуре, функциях и использовании YOLO, пожалуйста, обратитесь к нашему репозиторию GitHub и документации.
Если вы используете YOLO11 или любое другое программное обеспечение из этого репозитория в своей работе, пожалуйста, укажите ссылку на него в следующем формате:
@software{yolo11_ultralytics,
author = {Glenn Jocher and Jing Qiu},
title = {Ultralytics YOLO11},
version = {11.0.0},
year = {2024},
url = {https://github.com/ultralytics/ultralytics},
orcid = {0000-0001-5950-6979, 0000-0003-3783-7069},
license = {AGPL-3.0}
}
Обратите внимание, что DOI находится на рассмотрении и будет добавлен в цитату, как только он станет доступен. Модели YOLO11 предоставляются по лицензиям AGPL-3.0 и Enterprise.
Часто задаваемые вопросы
Каковы основные улучшения в Ultralytics YOLO11 по сравнению с предыдущими версиями?
Ultralytics YOLO11 представляет собой несколько значительных улучшений по сравнению с предыдущими версиями. Ключевые улучшения включают в себя:
- Улучшенное извлечение признаков: YOLO11 использует улучшенную архитектуру backbone и neck, расширяя возможности извлечения признаков для более точного обнаружения объектов.
- Оптимизированная эффективность и скорость: Усовершенствованные архитектурные решения и оптимизированные конвейеры обучения обеспечивают более высокую скорость обработки, сохраняя при этом баланс между точностью и производительностью.
- Более высокая точность с меньшим количеством параметров: YOLO11m достигает более высокого среднего значения Average Precision (mAP) на наборе данных COCO с на 22% меньшим количеством параметров, чем YOLOv8m, что делает его вычислительно эффективным без ущерба для точности.
- Адаптируемость в различных средах: YOLO11 может быть развернута в различных средах, включая периферийные устройства, облачные платформы и системы, поддерживающие NVIDIA GPU.
- Широкий спектр поддерживаемых задач: YOLO11 поддерживает различные задачи компьютерного зрения, такие как обнаружение объектов, сегментация экземпляров, классификация изображений, оценка позы и обнаружение ориентированных объектов (OBB).
Как обучить модель YOLO11 для обнаружения объектов?
Обучение модели YOLO11 для обнаружения объектов можно выполнить с помощью Python или команд CLI. Ниже приведены примеры для обоих методов:
Пример
from ultralytics import YOLO
# Load a COCO-pretrained YOLO11n model
model = YOLO("yolo11n.pt")
# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Load a COCO-pretrained YOLO11n model and train it on the COCO8 example dataset for 100 epochs
yolo train model=yolo11n.pt data=coco8.yaml epochs=100 imgsz=640
Для получения более подробных инструкций обратитесь к документации Train.
Какие задачи могут выполнять модели YOLO11?
Модели YOLO11 универсальны и поддерживают широкий спектр задач компьютерного зрения, включая:
- Обнаружение объектов: Идентификация и определение местоположения объектов на изображении.
- Сегментация экземпляров: Обнаружение объектов и определение их границ.
- Классификация изображений: Категоризация изображений по предопределенным классам.
- Оценка позы: Обнаружение и отслеживание ключевых точек на телах людей.
- Обнаружение ориентированных объектов (OBB): Обнаружение объектов с учетом поворота для повышения точности.
Для получения дополнительной информации о каждой задаче см. документацию Detection, Instance Segmentation, Classification, Pose Estimation и Oriented Detection.
Как YOLO11 достигает большей точности с меньшим количеством параметров?
YOLO11 обеспечивает более высокую точность с меньшим количеством параметров благодаря усовершенствованиям в конструкции модели и методах оптимизации. Улучшенная архитектура обеспечивает эффективное извлечение и обработку признаков, что приводит к более высокому среднему значению Average Precision (mAP) на наборах данных, таких как COCO, при использовании на 22% меньшего количества параметров, чем YOLOv8m. Это делает YOLO11 вычислительно эффективным без ущерба для точности, что делает его пригодным для развертывания на устройствах с ограниченными ресурсами.
Можно ли развернуть YOLO11 на периферийных устройствах?
Да, YOLO11 разработан для адаптации к различным средам, включая периферийные устройства. Его оптимизированная архитектура и эффективные возможности обработки делают его подходящим для развертывания на периферийных устройствах, облачных платформах и системах, поддерживающих NVIDIA GPU. Эта гибкость гарантирует, что YOLO11 можно использовать в различных приложениях, от обнаружения в реальном времени на мобильных устройствах до сложных задач сегментации в облачных средах. Для получения более подробной информации о вариантах развертывания обратитесь к документации Export.