YOLOv10 против YOLOX: Эволюция безъякорного обнаружения объектов и обнаружения объектов без NMS
Область компьютерного зрения движима быстрыми достижениями в архитектурах обнаружения объектов в реальном времени. Это подробное техническое сравнение исследует две влиятельные модели, которые расширили границы эффективности и парадигм проектирования: YOLOv10 и YOLOX. Изучая их архитектурные различия, метрики производительности и методологии обучения, разработчики и исследователи могут принимать обоснованные решения для развертывания надежных систем компьютерного зрения.
Предыстория и происхождение моделей
Понимание истоков этих моделей глубокого обучения дает ценный контекст относительно их архитектурных целей и целевых сценариев использования.
YOLOv10: Устранение NMS для истинного сквозного обнаружения
Разработанный для устранения давних узких мест задержки, YOLOv10 представил нативный сквозной подход для семейства YOLO.
- Авторы: Ao Wang, Hui Chen, Lihao Liu, и др.
- Организация:Университет Цинхуа
- Дата: 23 мая 2024 г.
- ArXiv:2405.14458
- GitHub:THU-MIG/yolov10
- Документация:Документация Ultralytics YOLOv10
YOLOX: Преодоление разрыва между исследованиями и промышленностью
YOLOX появился как безанкерная версия традиционной архитектуры YOLO, предлагая более простую методологию с конкурентоспособной производительностью, специально нацеленную на упрощение развертывания в промышленных сообществах.
- Авторы: Чжэн Ге, Сунтао Лю, Фэн Ван, Цзэмин Ли и Цзянь Сунь
- Организация:Megvii
- Дата: 18 июля 2021 г.
- ArXiv:2107.08430
- GitHub:Megvii-BaseDetection/YOLOX
- Документация:Официальная документация YOLOX
Основные архитектурные особенности и инновации
Обе архитектуры отличаются от традиционных детекторов, основанных на якорях, но решают разные задачи в конвейере обнаружения объектов.
Архитектура YOLOX
В 2021 году YOLOX внес несколько ключевых обновлений в экосистему. Его основной вклад заключался в переходе к безанкерной архитектуре детектора. За счет исключения предопределенных якорных боксов YOLOX значительно сократил количество проектных параметров и необходимость в эвристической настройке для различных наборов данных.
Кроме того, YOLOX использует разделенную голову, разделяя задачи классификации и регрессии. Это разрешило конфликт между двумя целями, значительно ускорив сходимость во время обучения. Он также использует SimOTA для продвинутого присвоения меток, улучшая обработку переполненных сцен и окклюзий, распространенных в наборе данных COCO.
Преимущество безанкерного подхода
Безанкерные архитектуры, такие как разработанная YOLOX, значительно снижают сложность настройки модели. Разработчикам больше не нужно выполнять кластеризацию k-средних на пользовательских наборах данных для определения оптимальных размеров якорных боксов, что экономит ценное время на подготовку.
Архитектура YOLOv10
Хотя YOLOX улучшил голову detect, он всё ещё полагался на Non-Maximum Suppression (NMS) во время inference, что вызывало вариативность задержки. YOLOv10 специально устранил этот недостаток, представив стратегию последовательного двойного назначения для NMS-free обучения. Во время обучения он использует как назначения меток «один-ко-многим», так и «один-к-одному», но во время inference полностью отбрасывает голову «один-ко-многим», выдавая чистые предсказания без постобработки NMS.
YOLOv10 также отличается целостным дизайном модели, ориентированным на эффективность и точность. Он включает легковесные классификационные головки и пространственно-канальное разделенное понижение дискретизации, значительно сокращая количество параметров и FLOPs без ущерба для точности.
Сравнение производительности
Оценка этих моделей на аппаратном обеспечении, таком как GPU NVIDIA T4, выявляет явные преимущества в зависимости от масштаба. Ниже представлена подробная сравнительная таблица.
| Модель | размер (пиксели) | 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 |
| YOLOXnano | 416 | 25.8 | - | - | 0.91 | 1.08 |
| YOLOXtiny | 416 | 32.8 | - | - | 5.06 | 6.45 |
| YOLOXs | 640 | 40.5 | - | 2.56 | 9.0 | 26.8 |
| YOLOXm | 640 | 46.9 | - | 5.43 | 25.3 | 73.8 |
| YOLOXl | 640 | 49.7 | - | 9.04 | 54.2 | 155.6 |
| YOLOXx | 640 | 51.1 | - | 16.1 | 99.1 | 281.9 |
Как показано выше, YOLOv10 исключительно хорошо масштабируется. YOLOv10x вариант достигает наивысшей точности (54.4 mAP), в то время как YOLOv10n вариант обеспечивает самый быстрый инференс с использованием TensorRT интеграции. И наоборот, устаревшая модель YOLOX nano имеет наименьший общий размер для сильно ограниченных сред.
Методологии обучения и требования к ресурсам
При внедрении моделей в производство экосистема обучения и требования к ресурсам столь же важны, как и чистая скорость инференса.
YOLOX часто полагается на старые конфигурации среды, которые могут быть громоздкими в управлении. Кроме того, его устаревшая кодовая база требует больше шаблонного кода для достижения распределенного обучения на нескольких GPU или оптимизации смешанной точности.
В отличие от этого, YOLOv10 бесшовно интегрируется с современными рабочими процессами PyTorch, но именно экосистема Ultralytics действительно преобразует опыт разработчиков. Модели Ultralytics характеризуются значительно меньшим использованием памяти CUDA во время обучения по сравнению с архитектурами на основе трансформеров, такими как RT-DETR.
Пример кода: Оптимизированное обучение
Используя унифицированный API Ultralytics, вы можете бесшовно обучать передовые модели всего за несколько строк Python-кода. Это позволяет избежать ручной компиляции операторов C++ или использования сложных файлов конфигурации.
from ultralytics import YOLO
# Initialize a pre-trained YOLOv10 model
model = YOLO("yolov10s.pt")
# Train the model on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Validate the model's performance
metrics = model.val()
# Export the optimized model to ONNX format
model.export(format="onnx")
Этот простой синтаксис обеспечивает немедленный доступ к автоматическому смешиванию точности, автоматизированной аугментации данных и интеграции с такими инструментами, как Weights & Biases, из коробки.
Сценарии использования и рекомендации
Выбор между YOLOv10 и YOLOX зависит от конкретных требований вашего проекта, ограничений развертывания и предпочтений экосистемы.
Когда выбирать YOLOv10
YOLOv10 — отличный выбор для:
- Обнаружение в реальном времени без NMS: Приложения, выигрывающие от сквозного обнаружения без Non-Maximum Suppression, что снижает сложность развертывания.
- Сбалансированный компромисс между скоростью и точностью: Проекты, требующие оптимального баланса между скоростью инференса и точностью обнаружения для моделей различных масштабов.
- Приложения с предсказуемой задержкой: Сценарии развертывания, где критически важны предсказуемые времена инференса, например, в робототехнике или автономных системах.
Когда следует выбирать YOLOX
YOLOX рекомендуется для:
- Исследования безъякорного detect: Академические исследования, использующие чистую, безъякорную архитектуру YOLOX в качестве основы для экспериментов с новыми головами detect или функциями потерь.
- Сверхлегкие граничные устройства: Развертывание на микроконтроллерах или устаревшем мобильном оборудовании, где критически важен чрезвычайно малый объем (0,91 млн параметров) варианта YOLOX-Nano.
- Исследования по назначению меток SimOTA: Исследовательские проекты, изучающие стратегии назначения меток на основе оптимального транспорта и их влияние на сходимость обучения.
Когда выбирать Ultralytics (YOLO26)
Для большинства новых проектов Ultralytics YOLO26 предлагает наилучшее сочетание производительности и удобства для разработчиков:
- Развертывание на периферии без NMS: Приложения, требующие стабильного вывода с низкой задержкой без сложности постобработки методом Non-Maximum Suppression.
- Среды только с CPU: Устройства без выделенного ускорения GPU, где до 43% более быстрая инференция YOLO26 на CPU обеспечивает решающее преимущество.
- Обнаружение мелких объектов: Сложные сценарии, такие как аэрофотосъемка с дронов или анализ данных с IoT-датчиков, где ProgLoss и STAL значительно повышают точность на крошечных объектах.
Будущее ИИ для зрения: Представляем YOLO26
Хотя YOLOv10 и YOLOX представляют собой важные вехи, область компьютерного зрения неуклонно движется вперед. Для разработчиков, начинающих новые проекты сегодня, Ultralytics YOLO26 является окончательной рекомендацией.
Выпущенный в январе 2026 года, Ultralytics YOLO26 основывается на фундаментальном прорыве сквозной бе NMS архитектуры, впервые примененной в YOLOv10, улучшая ее для еще большей стабильности и скорости.
YOLO26 выделяется внедрением нескольких значительных прорывов:
- До 43% более быстрая инференция на CPU: За счет стратегического удаления Distribution Focal Loss (DFL), YOLO26 достигает значительно превосходной производительности на периферийных устройствах без GPU.
- Оптимизатор MuSGD: Вдохновленный стабильностью обучения LLM, этот новый гибрид SGD и Muon обеспечивает более быструю сходимость и высокостабильные циклы обучения.
- ProgLoss + STAL: Эти передовые функции потерь обеспечивают заметные улучшения в распознавании мелких объектов, что является критическим фактором для аэроснимков и датчиков IoT.
- Непревзойденная универсальность: В отличие от YOLOX, который является исключительно детектором объектов, YOLO26 нативно поддерживает сегментацию экземпляров, оценку позы, классификацию изображений и OBB detect в рамках единой унифицированной библиотеки.
Используйте платформу Ultralytics
Для максимально простого пути к развертыванию в продакшене разработчики могут использовать Ultralytics Platform для аннотирования наборов данных, обучения моделей YOLO26 в облаке и развертывания на любом периферийном устройстве без необходимости настройки.
Приложения в реальном мире
Выбор правильной модели определяет успех реальных развертываний в различных отраслях.
Высокоскоростная видеоаналитика
Для обработки плотных видеопотоков, таких как управление дорожным движением в умных городах, YOLOv10 обеспечивает значительное преимущество благодаря своей постобработке без NMS. Устранение узкого места NMS обеспечивает стабильно низкую задержку, что делает его идеальным для использования в сочетании с алгоритмами track, такими как BoT-SORT.
Устаревшее периферийное развертывание
Для старых академических установок или устаревших приложений Android, сильно оптимизированных под чистые сверточные парадигмы, меньшие модели, такие как YOLOX-Tiny, все еще могут найти специализированные варианты использования, где поддержание старых сред PyTorch является приемлемым компромиссом.
Современные периферийные устройства и устройства IoT
Для развертывания на аппаратном обеспечении следующего поколения, таком как робототехника, дроны и анализ полок магазинов, YOLO26 является идеальным решением. Его значительно сниженная задержка CPU и превосходное обнаружение мелких объектов делают его уникально подходящим для автономной навигации и детального управления запасами.
Для дополнительных сравнений, чтобы расширить ваш инструментарий глубокого обучения, вы также можете изучить, как эти модели соотносятся с альтернативами, такими как гибкий YOLO11 или RT-DETR на основе трансформеров.