YOLO11 и YOLOv8#
Сфера компьютерного зрения достигла впечатляющих успехов благодаря непрерывному развитию архитектур обнаружения объектов. При выборе моделей для реального развертывания разработчики часто сравнивают сильные стороны Ultralytics YOLO11 и её чрезвычайно успешной предшественницы — Ultralytics YOLOv8. Обе модели задали отраслевые стандарты скорости, точности и удобства разработки, но рассчитаны на несколько разные этапы жизненного цикла проекта и уровни производительности.
В этом руководстве подробно анализируются архитектуры, методики обучения и оптимальные сценарии применения моделей, чтобы помочь тебе выбрать лучшее решение для своих проектов в области искусственного интеллекта.
Архитектурные инновации#
Переход от YOLOv8 к YOLO11 привнёс несколько важных архитектурных усовершенствований, призванных повысить эффективность извлечения признаков и одновременно сократить вычислительные затраты.
Архитектура YOLO11#
YOLO11 обеспечивает значительный прогресс в оптимизации использования параметров. Вместо традиционных модулей C2f в ней используются усовершенствованные блоки C3k2, улучшающие обработку пространственных признаков без резкого увеличения количества параметров. Кроме того, в основу сети YOLO11 встроен модуль C2PSA (Cross-Stage Partial Spatial Attention). Этот механизм внимания позволяет модели сосредоточиться на важных областях интереса, значительно улучшая обнаружение небольших объектов и обработку сложных случаев перекрытия объектов.
- Авторы: Glenn Jocher и Jing Qiu
- Организация: Ultralytics
- Дата: 2024-09-27
- GitHub: Репозиторий Ultralytics
- Документация: Документация YOLO11
Архитектура YOLOv8#
Выпущенная годом ранее, YOLOv8 стала первой моделью, в которой использовалась безанкорная голова обнаружения: это устранило необходимость вручную настраивать анкорные боксы и упростило формулировку функции потерь. Архитектура в значительной степени опирается на блок 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.6 |
| YOLO11m | 640 | 51.5 | 183.2 | 4.7 | 20.1 | 68.1 |
| YOLO11l | 640 | 53.4 | 238.6 | 6.2 | 25.3 | 87.2 |
| YOLO11x | 640 | 54.7 | 462.8 | 11.3 | 56.9 | 195.3 |
| 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.1 |
| 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#
Python-пакет ultralytics предоставляет удобный API, с помощью которого инженеры и исследователи могут обучать, проверять и экспортировать модели всего за несколько строк кода. Он избавляет от типичных сложностей настройки сред глубокого обучения в PyTorch.
Эффективность обучения и требования к памяти#
В отличие от ресурсоёмких Vision Transformers (например, RT-DETR), модели Ultralytics YOLO известны низким потреблением памяти во время обучения. Благодаря этому разработчики могут обучать самые современные сети на потребительских GPU или в облачных средах, таких как Google Colab, не сталкиваясь с ошибками нехватки памяти.
Универсальность для задач компьютерного зрения#
И YOLO11, и YOLOv8 — полноценные модели для решения множества задач. Помимо стандартного обнаружения объектов с помощью ограничивающих рамок, они изначально поддерживают сегментацию экземпляров, классификацию изображений, оценку позы человека и ориентированные ограничивающие рамки (OBB) для аэрофотоснимков.
Сценарии использования и рекомендации#
Выбор между YOLO11 и YOLOv8 зависит от требований конкретного проекта, ограничений развертывания и предпочтительной экосистемы.
Когда выбирать YOLO11#
YOLO11 — отличный выбор для следующих задач:
- Промышленное развертывание на периферийных устройствах: коммерческие приложения на устройствах вроде Raspberry Pi или NVIDIA Jetson, где особенно важны надёжность и активная поддержка.
- Многозадачные приложения компьютерного зрения: проекты, в которых в рамках единого фреймворка требуются обнаружение объектов, сегментация, оценка позы и OBB.
- Быстрое прототипирование и развертывание: команды, которым нужно быстро пройти путь от сбора данных до промышленной эксплуатации с помощью удобного Python API Ultralytics.
Когда выбрать YOLOv8#
YOLOv8 подойдет для:
- Универсальное решение для нескольких задач: проекты, которым нужна проверенная модель для обнаружения объектов, сегментации, классификации и оценки позы в экосистеме Ultralytics.
- Уже работающие системы: существующие промышленные среды, построенные на архитектуре YOLOv8 и использующие стабильные, тщательно проверенные конвейеры развертывания.
- Широкая поддержка сообщества и экосистемы: приложения, которым помогают многочисленные руководства по YOLOv8, сторонние интеграции и активное сообщество.
Когда выбирать Ultralytics (YOLO26)#
Для большинства новых проектов Ultralytics YOLO26 предлагает оптимальное сочетание производительности и удобства разработки:
- Развертывание на периферийных устройствах без NMS: Приложения, которым необходим стабильный инференс с низкой задержкой без усложнения постобработки подавлением немаксимумов.
- Среды только с CPU: Устройства без выделенного ускорителя GPU, где до 43% более быстрый инференс YOLO26 на CPU даёт решающее преимущество.
- Обнаружение небольших объектов: Сложные сценарии, например съёмка с дронов или анализ данных IoT-датчиков, где ProgLoss и STAL заметно повышают точность обнаружения крошечных объектов.
Пример кода: начало работы#
Развертывать и обучать модели Ultralytics очень просто. В следующем примере показано, как загрузить предварительно обученную модель YOLO11, дообучить её на пользовательском наборе данных и экспортировать для развертывания на периферийном устройстве с помощью Apple CoreML:
from ultralytics import YOLO
# Инициализируй малую модель YOLO11
model = YOLO("yolo11s.pt")
# Эффективно обучи модель с оптимизированными требованиями к памяти
results = model.train(data="coco8.yaml", epochs=50, imgsz=640)
# Оцени качество на валидационной выборке
metrics = model.val()
# Запусти инференс в реальном времени на тестовом изображении
predictions = model("https://ultralytics.com/images/bus.jpg")
# Экспортируй в CoreML для быстрого развертывания на мобильных устройствах
export_path = model.export(format="coreml")Благодаря стандартизированному API Ultralytics для обновления устаревшего конвейера с YOLOv8 до YOLO11 обычно достаточно изменить строку с весами с "yolov8n.pt" на "yolo11n.pt".
Взгляд в будущее: вершина периферийного ИИ с YOLO26#
YOLO11 — зрелая и мощная архитектура, однако ИИ продолжает стремительно развиваться. Разработчикам, начинающим новые проекты и которым нужна самая передовая производительность, мы рекомендуем Ultralytics YOLO26 (выпущена в январе 2026 года).
YOLO26 расширяет возможности компьютерного зрения благодаря нескольким революционным функциям:
- Сквозная архитектура без NMS: Развивая идеи, рассмотренные в YOLOv10, YOLO26 предлагает опциональную голову «один к одному» (
nms=False), которая пропускает постобработку с подавлением немаксимумов (NMS), обеспечивая меньшую и более предсказуемую задержку на любом оборудовании для развертывания. - Инференс на CPU до 43% быстрее: Благодаря полному удалению ветви Distribution Focal Loss (DFL) YOLO26 специально оптимизирована для периферийных вычислительных устройств, которым не хватает мощных GPU.
- Оптимизатор MuSGD: Вдохновлённая методами обучения больших языковых моделей (LLM), YOLO26 использует гибридный оптимизатор MuSGD, обеспечивающий исключительно стабильную и быструю сходимость при обучении.
- ProgLoss + STAL: Эти продвинутые функции потерь заметно улучшают распознавание крошечных и сильно перекрытых объектов, что важно для автономной робототехники и аналитики с использованием дронов.
Будь то проверенная надёжность YOLOv8, оптимизированная архитектура YOLO11 или возможности нового поколения YOLO26, платформа Ultralytics предоставляет инструменты, необходимые для плавного перехода от концепции к производству приложений компьютерного зрения с ИИ. Изучи доступные интеграции, чтобы подключить модели к корпоративным рабочим процессам и аналитическим панелям.