YOLOv10 и YOLO11#
Компьютерное зрение постоянно развивается: новые архитектуры расширяют возможности обработки в реальном времени. Разработчикам и исследователям, работающим в этой динамичной области, важно понимать различия между передовыми моделями. В этом подробном сравнении рассматриваются технические особенности, компромиссы в производительности и оптимальные сценарии применения YOLOv10 и Ultralytics YOLO11 — двух эффективных фреймворков для обнаружения объектов.
Обе модели показывают впечатляющие результаты на тестовых наборах данных, однако их основные принципы проектирования и интеграция с экосистемами существенно различаются. Изучив архитектуры, можно определить, какое решение лучше соответствует ограничениям развертывания и целям проекта.
YOLOv10: новаторское сквозное обнаружение без NMS#
Выпущенная весной 2024 года модель YOLOv10 предложила новый подход к традиционному конвейеру обнаружения объектов, напрямую устранив задержки, связанные с постобработкой.
- Авторы: Ao Wang, Hui Chen, Lihao Liu и др.
- Организация: Университет Цинхуа
- Дата: 23 мая 2024 года
- Научная статья: arXiv:2405.14458
- Исходный код: THU-MIG/yolov10 на GitHub
- Документация: Документация YOLOv10
Главное нововведение YOLOv10 — стратегия согласованного двойного назначения, позволяющая обучать модель без NMS. Традиционные детекторы объектов активно используют подавление немаксимумов (NMS), чтобы отфильтровывать избыточные предсказания ограничивающих рамок. Устранив этот этап, YOLOv10 обеспечивает настоящее сквозное обнаружение, снижает задержку инференса и упрощает развертывание на аппаратных ускорителях, таких как нейронные процессоры (NPU), на которых крайне сложно оптимизировать пользовательские операции NMS.
YOLO11: универсальность и производительность благодаря экосистеме#
Выпущенная позднее в том же году модель YOLO11 стала результатом дальнейшего развития семейства моделей Ultralytics. Основное внимание уделено оптимальному балансу скорости, точности и удобства для разработчиков.
- Авторы: Glenn Jocher и Jing Qiu
- Организация: Ultralytics
- Дата: 27 сентября 2024 года
- Исходный код: Ultralytics на GitHub
- Интеграция с платформой: Платформа Ultralytics
YOLO11 создана для промышленной эксплуатации. Она отлично справляется с обнаружением объектов по ограничивающим рамкам, но ее главное преимущество — универсальность. В отличие от YOLOv10, ориентированной главным образом на обнаружение объектов, YOLO11 изначально поддерживает сегментацию экземпляров, оценку позы, классификацию изображений и задачи с ориентированными ограничивающими рамками (OBB) в рамках единой архитектуры. При обучении ей требуется очень мало памяти, поэтому она отлично подходит командам, использующим потребительские GPU, в отличие от более ресурсоемких архитектур на базе Transformer.
Сравнение производительности и метрик#
При прямом сравнении этих моделей важно проверить их производительность на стандартных тестах, например на наборе данных COCO, с вариантами разных размеров.
В таблице ниже показаны различия в производительности. YOLO11 часто немного превосходит YOLOv10 по mAP в большинстве категорий размеров, сохраняя при этом высокую скорость инференса в TensorRT.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv10n | 640 | 38.5 | - | 1.84 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.3 | - | 2.49 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.1 | - | 4.74 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.5 | - | 5.74 | 19.1 | 92.0 |
| YOLOv10l | 640 | 53.2 | - | 7.28 | 24.4 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 10.70 | 29.5 | 160.4 |
| 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 |
Чтобы воспроизвести эту высокую скорость инференса локально, экспортируй модели в оптимизированные форматы, например OpenVINO для CPU Intel или TensorRT для GPU NVIDIA.
Подробный разбор архитектуры#
Методика и эффективность обучения#
Архитектура YOLOv10 направлена на сокращение избыточных вычислений. Оптимизируя backbone и neck на основе комплексного подхода, ориентированного на эффективность и точность, авторы из Университета Цинхуа значительно сократили количество параметров в моделях среднего размера (например, YOLOv10m) по сравнению с предыдущими версиями.
Однако эффективность обучения — ключевое преимущество моделей Ultralytics. YOLO11 использует тщательно доработанный пакет Python ultralytics, который упрощает сложную настройку гиперпараметров. Этот фреймворк автоматически выполняет расширенную аугментацию данных, настройку скорости обучения и распределенное обучение на нескольких GPU. Архитектура YOLO11 также обеспечивает эффективное распространение градиентов, что ускоряет сходимость и снижает потребление VRAM на этапе обучения.
Простота использования и преимущества экосистемы#
Важный фактор внедрения в корпоративной среде — хорошо поддерживаемая экосистема. Исследовательские репозитории могут быть новаторскими, но часто перестают развиваться после публикации исходной статьи. Экосистема Ultralytics, в которую входит YOLO11, обеспечивает разработчикам удобный сквозной процесс работы.
Благодаря удобной интеграции с такими инструментами, как Weights & Biases для отслеживания экспериментов и Roboflow для управления наборами данных, YOLO11 ускоряет переход от прототипа к промышленной эксплуатации. Простота использования обеспечивается упрощенным API, позволяющим обучать и экспортировать модели всего несколькими строками кода.
from ultralytics import YOLO
# Инициализируй малую модель YOLO11
model = YOLO("yolo11s.pt")
# Эффективно обучи модель с оптимизированным управлением памятью
results = model.train(data="coco8.yaml", epochs=50, imgsz=640, device="0")
# Экспортируй модель в формат ONNX для гибкого развертывания
model.export(format="onnx")Сценарии использования и рекомендации#
Выбор между YOLOv10 и YOLO11 зависит от конкретных требований проекта, ограничений развертывания и предпочтений в отношении экосистемы.
Когда выбирать YOLOv10#
YOLOv10 — хороший выбор для:
- Детектирование в реальном времени без NMS: Приложения, которым полезно сквозное детектирование без подавления немаксимумов, что упрощает развертывание.
- Сбалансированное соотношение скорости и точности: Проекты, в которых важно найти оптимальный баланс между скоростью инференса и точностью детектирования для моделей разных размеров.
- Приложения с постоянной задержкой: Сценарии развертывания, где важны предсказуемые времена инференса, например в робототехнике или автономных системах.
Когда выбирать YOLO11#
YOLO11 рекомендуется для:
- Промышленное развертывание на периферийных устройствах: коммерческие приложения на устройствах вроде Raspberry Pi или NVIDIA Jetson, где особенно важны надёжность и активная поддержка.
- Многозадачные приложения компьютерного зрения: проекты, в которых в рамках единого фреймворка требуются обнаружение объектов, сегментация, оценка позы и OBB.
- Быстрое прототипирование и развертывание: команды, которым нужно быстро пройти путь от сбора данных до промышленной эксплуатации с помощью удобного Python API Ultralytics.
Когда выбирать Ultralytics (YOLO26)#
Для большинства новых проектов Ultralytics YOLO26 предлагает оптимальное сочетание производительности и удобства разработки:
- Развертывание на периферийных устройствах без NMS: Приложения, которым необходим стабильный инференс с низкой задержкой без усложнения постобработки подавлением немаксимумов.
- Среды только с CPU: Устройства без выделенного ускорителя GPU, где до 43% более быстрый инференс YOLO26 на CPU даёт решающее преимущество.
- Обнаружение небольших объектов: Сложные сценарии, например съёмка с дронов или анализ данных IoT-датчиков, где ProgLoss и STAL заметно повышают точность обнаружения крошечных объектов.
Другие архитектуры#
Хотя YOLOv10 и YOLO11 — отличные варианты, в зависимости от сценария использования могут подойти и другие архитектуры из документации. Для задач рассуждения на основе последовательностей высокую точность обеспечивают модели Transformer, например RT-DETR, хотя им обычно требуется больше памяти. Если же нужно выявлять новые классы без повторного обучения, воспользуйся YOLO-World: эта модель с открытым словарем работает на основе текстовых запросов на естественном языке.
Следующее поколение: YOLO26#
Командам, которым нужны самые передовые решения, стоит обратить внимание на недавно выпущенную Ultralytics YOLO26, объединяющую лучшие характеристики обеих рассмотренных моделей. Выпущенная в январе 2026 года YOLO26 — оптимальный выбор для современных сценариев развертывания.
Развивая идеи предшественников, YOLO26 изначально поддерживает опциональную сквозную архитектуру без NMS (nms=False), эффективно устраняя узкие места постобработки, на которые впервые обратила внимание YOLOv10, но уже в надежном фреймворке Ultralytics. Кроме того, YOLO26 поддерживает удаление DFL (Distribution Focal Loss), что значительно упрощает графы экспорта моделей и улучшает совместимость с периферийными устройствами и маломощными устройствами IoT.
Стабильность обучения также вышла на новый уровень благодаря оптимизатору MuSGD — гибридному подходу, основанному на методах обучения LLM и обеспечивающему исключительно быструю сходимость. В сочетании с продвинутыми функциями потерь, такими как ProgLoss + STAL, YOLO26 заметно лучше распознает мелкие объекты. На стандартных периферийных устройствах эти архитектурные улучшения обеспечивают до 43% более быстрый инференс на CPU, благодаря чему YOLO26 становится непревзойденным выбором для любых задач компьютерного зрения.