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 выполнять настоящее обнаружение от начала до конца, сокращая задержку инференса и упрощая развертывание на аппаратных ускорителях, таких как нейропроцессорные блоки (NPUs), где пользовательские операции NMS крайне сложно оптимизировать.
YOLO11: универсальность и производительность, основанные на экосистеме#
Выпущенная позднее в том же году, YOLO11 представляет собой результат непрерывного совершенствования семейства моделей Ultralytics с акцентом на оптимальный баланс скорости, точности и удобства для разработчиков.
- Авторы: Glenn Jocher и Jing Qiu
- Организация: Ultralytics
- Дата: 27 сентября 2024 года
- Исходный код: Ultralytics на GitHub
- Интеграция с платформой: Ultralytics Platform
YOLO11 разработана для промышленного использования. Хотя она отлично справляется со стандартным обнаружением ограничивающих рамок, её главное преимущество — универсальность. В отличие от YOLOv10, ориентированной главным образом на обнаружение объектов, YOLO11 изначально поддерживает задачи сегментации экземпляров, оценки позы, классификации изображений и ориентированных ограничивающих рамок (OBB) в рамках единой архитектуры. Она отличается исключительно низкими требованиями к памяти во время обучения, что делает её особенно доступной для команд, использующих [GPU](https://ultralytics-translation-4.invalid потребительского класса, по сравнению с более тяжёлыми архитектурами на базе Transformer.
Сравнение производительности и метрик#
При сравнении этих моделей бок о бок важно учитывать, как они показывают себя в различных вариантах масштаба на стандартных бенчмарках, таких как набор данных COCO.
В таблице ниже представлены различия в производительности. YOLO11 часто немного превосходит YOLOv10 по mAP в большинстве категорий размеров, сохраняя при этом весьма конкурентоспособную скорость инференса в TensorRT.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv10n | 640 | 39.5 | - | 1.56 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
| YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 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.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 |
Чтобы воспроизвести такую высокую скорость инференса локально, экспортируй модели в оптимизированные форматы, например OpenVINO для CPU Intel или TensorRT для GPU NVIDIA.
Подробный разбор архитектуры#
Методология и эффективность обучения#
Архитектура YOLOv10 ориентирована на сокращение вычислительной избыточности. Оптимизировав структуру backbone и neck с помощью комплексной стратегии, учитывающей эффективность и точность, авторы из Университета Цинхуа смогли значительно уменьшить количество параметров в моделях среднего уровня, таких как YOLOv10m, по сравнению с предыдущими версиями.
Однако эффективность обучения — одна из главных особенностей моделей Ultralytics. YOLO11 использует тщательно доработанный пакет ultralytics для Python, который скрывает сложность настройки гиперпараметров. Этот фреймворк автоматически обрабатывает расширенные аугментации данных, планирование скорости обучения и распределённое обучение на нескольких GPU сразу после установки. Архитектура YOLO11 также обеспечивает превосходный поток градиентов, что приводит к более быстрой сходимости и меньшему использованию VRAM на этапе обучения.
Простота использования и преимущества экосистемы#
Критически важным фактором внедрения в корпоративной среде является поддерживаемая экосистема. Исследовательские репозитории, несмотря на революционность, часто перестают развиваться после публикации исходной статьи. Экосистема Ultralytics, лежащая в основе YOLO11, обеспечивает плавный процесс разработки от начала до конца.
Благодаря бесшовной интеграции с такими инструментами, как Weights & Biases для отслеживания экспериментов и Roboflow для управления наборами данных, YOLO11 ускоряет переход от прототипа к промышленной эксплуатации. Простота использования проявляется в оптимизированном API, позволяющем разработчикам обучать и экспортировать модели всего несколькими строками кода.
from ultralytics import YOLO
# Initialize the YOLO11 small model
model = YOLO("yolo11s.pt")
# Train the model efficiently with optimized memory handling
results = model.train(data="coco8.yaml", epochs=50, imgsz=640, device="0")
# Export to ONNX format for deployment flexibility
model.export(format="onnx")Варианты применения и рекомендации#
Выбор между YOLOv10 и YOLO11 зависит от конкретных требований твоего проекта, ограничений при развертывании и предпочтений в отношении экосистемы.
Когда выбирать YOLOv10#
YOLOv10 — подходящий выбор для:
- Обнаружения объектов в реальном времени без NMS: приложений, которым полезно сквозное обнаружение без подавления немаксимумов, что снижает сложность развертывания.
- Сбалансированного соотношения скорости и точности: проектов, требующих удачного баланса между скоростью инференса и точностью обнаружения для моделей разных размеров.
- Приложений со стабильной задержкой: сценариев развертывания, где критически важны предсказуемые времена инференса, например в робототехнике или автономных системах.
Когда выбирать YOLO11#
YOLO11 рекомендуется для:
- Промышленного развертывания на периферийных устройствах: коммерческих приложений на таких устройствах, как Raspberry Pi или NVIDIA Jetson, где особенно важны надежность и активная поддержка.
- Многоцелевых приложений компьютерного зрения: проектов, которым в рамках единого унифицированного фреймворка требуются детектирование, сегментация, оценка позы и OBB.
- Быстрого прототипирования и развертывания: команд, которым нужно быстро перейти от сбора данных к промышленной эксплуатации с помощью оптимизированного Ultralytics Python API.
Когда выбирать Ultralytics (YOLO26)#
Для большинства новых проектов Ultralytics YOLO26 предлагает лучшее сочетание производительности и удобства для разработчиков:
- Развертывания на периферийных устройствах без NMS: приложений, требующих стабильного вывода с низкой задержкой без сложной постобработки с подавлением немаксимумов.
- Сред без GPU: устройств без выделенного ускорения GPU, где до 43% более быстрый вывод YOLO26 на CPU дает решающее преимущество.
- Обнаружения мелких объектов: сложных сценариев, таких как аэрофотосъемка с дронов или анализ данных IoT-сенсоров, где ProgLoss и STAL значительно повышают точность обнаружения крошечных объектов.
Изучение других архитектур#
Хотя YOLOv10 и YOLO11 — отличный выбор, для твоего конкретного сценария могут подойти и другие архитектуры, доступные в документации. Для рассуждений на основе последовательностей модели Transformer, такие как RT-DETR, обеспечивают высокую точность, хотя обычно требуют больше памяти. Если же тебе нужны возможности zero-shot для обнаружения новых классов без повторного обучения, YOLO-World предлагает подход с открытым словарём на основе подсказок на естественном языке.
Следующее поколение: YOLO26#
Для команд, которым нужен абсолютный передовой уровень технологий, недавно выпущенная модель Ultralytics YOLO26 объединяет лучшие функции обеих рассмотренных выше моделей. Выпущенная в январе 2026 года, YOLO26 — оптимальный выбор для современных сценариев развертывания.
Опираясь на основы предшественников, YOLO26 изначально включает сквозную архитектуру без NMS, эффективно устраняя узкие места постобработки, на которые YOLOv10 впервые обратила внимание, но уже в рамках надёжного фреймворка Ultralytics. Кроме того, YOLO26 поддерживает удаление DFL (Distribution Focal Loss), что значительно упрощает графы экспорта моделей и повышает совместимость с периферийными устройствами и IoT-устройствами с низким энергопотреблением.
Стабильность обучения также вышла на новый уровень благодаря появлению оптимизатора MuSGD — гибридного подхода, вдохновлённого методологиями обучения LLM и обеспечивающего исключительно быструю сходимость. В сочетании с такими продвинутыми функциями потерь, как ProgLoss + STAL, YOLO26 заметно улучшает распознавание небольших объектов. При развертывании на стандартных периферийных устройствах эти архитектурные усовершенствования обеспечивают до 43% более быстрый инференс на CPU, делая YOLO26 непревзойдённым выбором для любых задач компьютерного зрения.