YOLOX против YOLOv10: эволюция от обнаружения без анкоров к сквозному обнаружению
В период с 2021 по 2024 год ситуация в области обнаружения объектов кардинально изменилась. Выпущенная компанией Megvii система YOLOX стала важным отходом от методов, основанных на анкорах, и представила упрощенную конструкцию без анкоров, которая стала фаворитом для базовых исследований. Три года спустя исследователи из Университета Цинхуа представили YOLOv10, продвинув эту парадигму еще дальше за счет полного устранения необходимости в немаксимальном подавлении (NMS) благодаря сквозной архитектуре.
В этом сравнении рассматриваются технические достижения от развязанных головок YOLOX до стратегии двойного назначения YOLOv10, что помогает разработчикам выбрать подходящий инструмент для своего конвейера компьютерного зрения.
Краткое сравнение
Хотя обе модели нацелены на обеспечение производительности в режиме реального времени, они решают проблему обнаружения по-разному. YOLOX фокусируется на упрощении процесса обучения с помощью динамического присвоения меток, тогда как YOLOv10 задержки вывода путем устранения узких мест в постобработке.
YOLOX: пионер Anchor-Free
YOLOX был представлен в июле 2021 года Чжэн Гэ и командой Megvii. Он перевел YOLO на механизм без анкеров, что сократило количество параметров проектирования (таких как размеры анкерных коробок), которые инженерам необходимо было настраивать.
- Ключевая инновация: развязанная головка и SimOTA (упрощенное оптимальное транспортное назначение).
- Архитектура: Модифицированная магистраль CSPDarknet с акцентом на баланс скорости и точности.
- Статус наследия: Широко используется в качестве надежной базовой линии в научных работах, таких как отчет YOLOX Arxiv.
YOLOv10: Обнаружение в реальном времени End-to-End
YOLOv10, выпущенный в мае 2024 года исследователями из Университета Цинхуа, решает проблему задержки NMS. Используя последовательную стратегию двойного назначения во время обучения, он учится предсказывать одно поле на объект, что позволяет осуществлять истинное сквозное развертывание.
- Ключевая инновация: обучение NMS с помощью двойных меток (один ко многим для контроля, один к одному для вывода).
- Эффективность: Внедрение комплексного проектирования моделей, ориентированного на эффективность и точность, включая проектирование блоков с учетом ранга.
- Интеграция: поддерживается в Ultralytics для удобного обучения и развертывания.
Анализ производительности
Разница в производительности между этими поколениями значительна, особенно с точки зрения эффективности (FLOP) и скорости вывода на современном оборудовании. YOLOv10 более новые архитектурные блоки для достижения более высокой средней точности (mAP) с меньшим количеством параметров.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
Критические различия
- Задержка: YOLOv10 NMS . На периферийных устройствах NMS занимать значительную часть общего времени вывода, что делает YOLOv10 более быстрым в реальных конвейерах.
- Точность: YOLOv10x достигает 54,4% mAP, что заметно выше, чем у YOLOX-x ( 51,1%), несмотря на то, что YOLOX-x имеет почти вдвое больше параметров (99,1 млн против 56,9 млн).
- Вычислительная эффективность: количество FLOP для YOLOv10 , как правило, ниже при эквивалентной точности, что снижает нагрузку на GPU и энергопотребление.
Архитектурное Глубокое Погружение
YOLOX: Разделенные головка и SimOTA
YOLOX отличается от предыдущих YOLO использованием развязанной головы. В традиционных детекторах задачи классификации и локализации использовали общие сверточные характеристики. YOLOX разделил их на две ветви, что улучшило скорость сходимости и точность.
Кроме того, YOLOX представил SimOTA, стратегию динамического присвоения меток. Вместо фиксированных правил сопоставления ячеек ground truth с анкерами, SimOTA рассматривает процесс сопоставления как задачу оптимального транспорта, присваивая метки на основе глобального расчета затрат. Такой подход делает YOLOX устойчивым к различным наборам данных без сложной настройки гиперпараметров.
YOLOv10: Последовательные двойные назначения
Основной вклад YOLOv10 заключается в устранении несоответствия между обучением и инференсом, обнаруженного в моделях NMS.
- Обучение «один ко многим»: во время обучения модель присваивает несколько положительных образцов одному объекту, чтобы обеспечить богатые контрольные сигналы.
- Один-к-одному вывод: благодаря последовательной метрике сопоставления модель учится выбирать единственную лучшую коробку во время вывода, устраняя необходимость в NMS.
Кроме того, YOLOv10 модули Large-Kernel Convolutions и Partial Self-Attention (PSA) для эффективного захвата глобального контекста без значительных вычислительных затрат, характерных для полных трансформаторов.
Почему важен NMS-Free
Немаксимальное подавление (NMS) — это алгоритм постобработки, который фильтрует перекрывающиеся ограничительные рамки. Несмотря на свою эффективность, он является последовательным и его сложно ускорить на таком оборудовании, как ПЛИС или НПУ. Его удаление делает конвейер развертывания строго детерминированным и более быстрым.
Идеально подходящие варианты использования
Когда следует выбирать YOLOX
- Академические базовые показатели: если вы пишете исследовательскую работу и вам нужен чистый, стандартный детектор без анкоров для сравнения.
- Устаревшие системы: среды, уже проверенные на кодовой базе Megvii или в фреймворках OpenMMLab, где обновление всего механизма вывода не представляется возможным.
Когда выбирать YOLOv10
- Приложения с низкой задержкой: сценарии, такие как автономные тормозные системы или высокоскоростная промышленная сортировка, где важна каждая миллисекунда постобработки.
- Устройства с ограниченными ресурсами: Устройства с ограниченной CPU получают огромную выгоду от устранения этапа NMS .
Преимущество Ultralytics
Хотя YOLOX и YOLOv10 мощными архитектурами, Ultralytics обеспечивает связь между исходным кодом модели и готовыми к производству приложениями.
Простая интеграция
Ultralytics YOLOv10 Ultralytics YOLOv10 , позволяя переключаться между моделями с помощью одной строки кода. Это избавляет от необходимости изучать различные API или форматы данных (например, преобразование меток в COCO для YOLOX).
from ultralytics import YOLO
# Load YOLOv10n or the newer YOLO26n
model = YOLO("yolov10n.pt")
# Train on your data with one command
model.train(data="coco8.yaml", epochs=100, imgsz=640)
Универсальность и экосистема
В отличие от автономного репозитория YOLOX, Ultralytics широкий спектр задач, выходящих за рамки обнаружения, включая сегментацию экземпляров, оценку позы и OBB. Всеми этими задачами можно управлять через Ultralytics , которая предлагает веб-управление наборами данных, обучение в один клик и развертывание в таких форматах, как CoreML, ONNX и TensorRT.
Эффективность обучения
Ultralytics оптимизированы для эффективного использования памяти. В то время как некоторые модели на основе трансформаторов (такие как RT-DETR) требуют значительного CUDA ,YOLO Ultralytics YOLO разработаны для обучения на потребительских графических процессорах, что делает доступ к передовым технологиям искусственного интеллекта более демократичным.
Будущее: YOLO26
Разработчикам, стремящимся к максимальной производительности и простоте использования, мы рекомендуем обратить внимание не только YOLOv10 , но и YOLOv10 недавно выпущенную версию YOLO26.
Выпущенная в январе 2026 года, YOLO26 основана на прорывной технологии YOLOv10 , NMS, YOLOv10 усовершенствована с точки зрения стабильности и скорости производства.
- MuSGD Optimizer: вдохновленный инновациями в области обучения LLM от Moonshot AI, этот оптимизатор обеспечивает более быструю конвергенцию и стабильное выполнение обучения.
- Удаление DFL: благодаря удалению Distribution Focal Loss (распределенная фокальная потеря) YOLO26 упрощает граф модели, делая экспорт на пограничные устройства более плавным и менее подверженным несовместимости операторов.
- Скорость: оптимизирован специально для CPU , обеспечивая скорость до 43 % выше по сравнению с предыдущими поколениями, что делает его идеальным для стандартного оборудования IoT.
Заключение
YOLOX остается важной вехой в истории обнаружения объектов, доказав, что методы без анкоров могут достигать высочайшей точности. YOLOv10 представляет собой следующий логический шаг, устраняя последнее препятствие NMS обеспечить истинную сквозную обработку.
Однако для надежного долгосрочного решения Ultralytics , возглавляемая YOLO26, предлагает наиболее полный пакет. Благодаря превосходной документации, активной поддержке сообщества и платформе, которая обрабатывает все, от аннотирования данных до экспорта моделей, Ultralytics успех ваших проектов в области компьютерного зрения от прототипа до производства.
Дополнительная литература
- Показатели производительности YOLO: объяснение
- Руководство по обнаружению объектов
- Сравнение: YOLOv8 YOLOv10
- YOLO11 по Ultralytics YOLO11