YOLO11 и YOLOv8#
Область компьютерного зрения пережила значительный прогресс благодаря непрерывному развитию архитектур обнаружения объектов. При выборе моделей для развертывания в реальных условиях разработчики часто сравнивают преимущества Ultralytics YOLO11 и его чрезвычайно успешного предшественника — Ultralytics YOLOv8. Обе модели установили отраслевые стандарты скорости, точности и удобства работы разработчиков, но ориентированы на несколько разные жизненные циклы проектов и требования к производительности.
В этом руководстве подробно анализируются их архитектуры, методики обучения и оптимальные варианты использования, чтобы помочь тебе выбрать лучшее решение для твоих инициатив в области искусственного интеллекта.
Архитектурные инновации#
Переход от YOLOv8 к YOLO11 привнес несколько важных архитектурных улучшений, направленных на повышение эффективности извлечения признаков при одновременном снижении вычислительных затрат.
Архитектура YOLO11#
YOLO11 представляет собой значительный шаг вперед в оптимизации использования параметров. В ней традиционные модули C2f заменены усовершенствованными блоками C3k2, которые улучшают обработку пространственных признаков без резкого увеличения количества параметров. Кроме того, YOLO11 внедряет в backbone модуль C2PSA (частичная пространственная обработка с вниманием между этапами). Этот механизм внимания позволяет модели фокусироваться на критически важных областях интереса, существенно улучшая обнаружение небольших объектов и обработку сложных перекрытий.
- Авторы: Glenn Jocher и Jing Qiu
- Организация: Ultralytics
- Дата: 2024-09-27
- GitHub: Репозиторий Ultralytics
- Документация: Документация YOLO11
Архитектура YOLOv8#
Выпущенная годом ранее, YOLOv8 стала первой моделью, реализовавшей переход к голове обнаружения без якорей, что устранило необходимость вручную настраивать anchor boxes и упростило формулировку функции потерь. Ее архитектура в значительной степени опирается на блок C2f — решение, успешно сбалансировавшее глубину сети и поток градиентов, благодаря чему модель отличается высокой надежностью в широком спектре приложений компьютерного зрения.
- Авторы: Glenn Jocher, Ayush Chaurasia и Jing Qiu
- Организация: Ultralytics
- Дата: 2023-01-10
- GitHub: Репозиторий Ultralytics
- Документация: Документация YOLOv8
Если YOLOv8 заложила основу для обнаружения без якорей в экосистеме Ultralytics, то YOLO11 усовершенствовала этот подход с помощью механизмов пространственного внимания, обеспечив более высокую точность при меньших вычислительных затратах.
Производительность и бенчмарки#
При развертывании моделей на периферийных устройствах, таких как Raspberry Pi, или на высокопроизводительных серверах с NVIDIA TensorRT крайне важно понимать компромисс между скоростью и точностью. Таблица ниже показывает, что YOLO11 стабильно превосходит YOLOv8 во всех вариантах размера.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLO11n | 640 | 39.5 | 56.1 | 1.5 | 2.6 | 6.5 |
| YOLO11s | 640 | 47.0 | 90.0 | 2.5 | 9.4 | 21.5 |
| YOLO11m | 640 | 51.5 | 183.2 | 4.7 | 20.1 | 68.0 |
| YOLO11l | 640 | 53.4 | 238.6 | 6.2 | 25.3 | 86.9 |
| YOLO11x | 640 | 54.7 | 462.8 | 11.3 | 56.9 | 194.9 |
| YOLOv8n | 640 | 37.3 | 80.4 | 1.47 | 3.2 | 8.7 |
| YOLOv8s | 640 | 44.9 | 128.4 | 2.66 | 11.2 | 28.6 |
| YOLOv8m | 640 | 50.2 | 234.7 | 5.86 | 25.9 | 78.9 |
| YOLOv8l | 640 | 52.9 | 375.2 | 9.06 | 43.7 | 165.2 |
| YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
Анализ метрик#
YOLO11 достигает заметно более высокой средней точности (mAP), одновременно сокращая количество параметров и число операций с плавающей точкой (FLOPs). Например, модель YOLO11m требует на 22% меньше параметров, чем YOLOv8m, но обеспечивает на 1,3% более высокий показатель mAP на наборе данных COCO. Кроме того, измерения скорости инференса на CPU при экспорте в формат ONNX показывают, что YOLO11 работает существенно быстрее, что делает ее отличным кандидатом для развертывания без выделенного ускорения на GPU.
Преимущества экосистемы Ultralytics#
Независимо от того, выберешь ли ты YOLO11 или YOLOv8, обе модели получают преимущества от комплексной экосистемы Ultralytics, которая значительно упрощает жизненный цикл машинного обучения.
Простота использования и удобный API#
Пакет ultralytics для Python предоставляет удобный API, позволяющий инженерам и исследователям обучать, проверять и экспортировать модели всего несколькими строками кода. Это избавляет от типичных сложностей, связанных с настройкой сред глубокого обучения в PyTorch.
Эффективность обучения и требования к памяти#
В отличие от ресурсоемких Vision Transformers (например, RT-DETR), модели Ultralytics YOLO известны низким потреблением памяти во время обучения. Такая эффективность использования памяти позволяет разработчикам обучать современные сети на пользовательских GPU или в облачных средах, таких как Google Colab, без ошибок нехватки памяти.
Универсальность в задачах компьютерного зрения#
И YOLO11, и YOLOv8 являются полноценными моделями для решения нескольких задач. Помимо стандартного обнаружения объектов с ограничивающими рамками, они изначально поддерживают сегментацию экземпляров, классификацию изображений, оценку позы человека и ориентированные ограничивающие рамки (OBB) для аэрофотосъемки.
Варианты применения и рекомендации#
Выбор между YOLO11 и YOLOv8 зависит от конкретных требований твоего проекта, ограничений развертывания и предпочтений в отношении экосистемы.
Когда выбирать YOLO11#
YOLO11 — отличный выбор для:
- Промышленного развертывания на периферийных устройствах: коммерческих приложений на таких устройствах, как Raspberry Pi или NVIDIA Jetson, где особенно важны надежность и активная поддержка.
- Многоцелевых приложений компьютерного зрения: проектов, которым в рамках единого унифицированного фреймворка требуются детектирование, сегментация, оценка позы и OBB.
- Быстрого прототипирования и развертывания: команд, которым нужно быстро перейти от сбора данных к промышленной эксплуатации с помощью оптимизированного Ultralytics Python API.
Когда стоит выбрать YOLOv8#
YOLOv8 рекомендуется для:
- Универсальное развертывание для нескольких задач: проектов, которым нужна проверенная модель для обнаружения, сегментации, классификации и оценки позы в экосистеме Ultralytics.
- Сформировавшиеся промышленные системы: существующих производственных сред, уже построенных на архитектуре YOLOv8 и использующих стабильные, тщательно протестированные конвейеры развертывания.
- Широкая поддержка сообщества и экосистемы: приложений, получающих преимущества от обширных руководств по YOLOv8, сторонних интеграций и активных ресурсов сообщества.
Когда выбирать Ultralytics (YOLO26)#
Для большинства новых проектов Ultralytics YOLO26 предлагает лучшее сочетание производительности и удобства для разработчиков:
- Развертывания на периферийных устройствах без NMS: приложений, требующих стабильного вывода с низкой задержкой без сложной постобработки с подавлением немаксимумов.
- Сред без GPU: устройств без выделенного ускорения GPU, где до 43% более быстрый вывод YOLO26 на CPU дает решающее преимущество.
- Обнаружения мелких объектов: сложных сценариев, таких как аэрофотосъемка с дронов или анализ данных IoT-сенсоров, где ProgLoss и STAL значительно повышают точность обнаружения крошечных объектов.
Пример кода: начало работы#
Развертывание и обучение модели Ultralytics отличаются высокой интуитивностью. В следующем примере показано, как загрузить предварительно обученную модель YOLO11, дообучить ее на пользовательском наборе данных и экспортировать для развертывания на периферийном устройстве с использованием Apple CoreML:
from ultralytics import YOLO
# Initialize the YOLO11 small model
model = YOLO("yolo11s.pt")
# Train the model efficiently with optimized memory requirements
results = model.train(data="coco8.yaml", epochs=50, imgsz=640)
# Evaluate the validation performance
metrics = model.val()
# Run real-time inference on a test image
predictions = model("https://ultralytics.com/images/bus.jpg")
# Export to CoreML for fast mobile deployment
export_path = model.export(format="coreml")Поскольку API Ultralytics стандартизирован, для обновления устаревшего конвейера с YOLOv8 до YOLO11 обычно достаточно изменить строку с весами с "yolov8n.pt" на "yolo11n.pt".
Взгляд в будущее: вершина периферийного ИИ с YOLO26#
Хотя YOLO11 представляет собой зрелую и высокоэффективную архитектуру, стремительное развитие ИИ продолжается. Для разработчиков, начинающих новые проекты и нуждающихся в самых передовых технологиях, Ultralytics YOLO26 (выпущенная в январе 2026 года) является оптимальным выбором.
YOLO26 расширяет границы компьютерного зрения благодаря нескольким революционным возможностям:
- Сквозная архитектура без NMS: Развивая концепции, опробованные в YOLOv10, YOLO26 изначально исключает постобработку подавления немаксимумов (NMS), обеспечивая меньшую и более предсказуемую задержку на любом оборудовании для развертывания.
- До 43% более быстрый инференс на CPU: Полностью удалив ветвь распределенной фокальной функции потерь (DFL), YOLO26 специально оптимизирована для периферийных вычислительных устройств, не оснащенных мощными GPU.
- Оптимизатор MuSGD: Вдохновленный методами обучения больших языковых моделей (LLM), YOLO26 использует гибридный оптимизатор MuSGD, обеспечивающий исключительно стабильную и быструю сходимость обучения.
- ProgLoss + STAL: Эти усовершенствованные функции потерь обеспечивают заметное улучшение распознавания крошечных и сильно перекрытых объектов, что особенно важно для автономной робототехники и аналитики на основе дронов.
Будь то проверенная надежность YOLOv8, оптимизированная архитектура YOLO11 или возможности нового поколения YOLO26, платформа Ultralytics предоставляет все необходимые инструменты, чтобы без проблем перевести приложения компьютерного зрения на базе ИИ от идеи к промышленной эксплуатации. Обязательно изучи доступные интеграции, с помощью которых можно подключить свои модели к корпоративным рабочим процессам и аналитическим панелям.