Link to this sectionYOLOv10 против YOLOX#
Сфера компьютерного зрения движима быстрыми достижениями в архитектурах детектирования объектов в реальном времени. В этом подробном техническом сравнении рассматриваются две влиятельные модели, расширившие границы эффективности и парадигм проектирования: YOLOv10 и YOLOX. Изучая их архитектурные различия, метрики производительности и методологии обучения, разработчики и исследователи могут принимать обоснованные решения для развертывания надежных систем технического зрения.
Link to this sectionИстория создания и происхождение моделей#
Понимание происхождения этих моделей глубокого обучения дает полезный контекст относительно их архитектурных целей и целевых вариантов использования.
Link to this sectionYOLOv10: отказ от NMS для полноценного сквозного (end-to-end) детектирования#
Разработанная для устранения давних проблем с задержками, модель YOLOv10 представила подход нативного сквозного детектирования для семейства YOLO.
- Авторы: Ао Ван, Хуэй Чен, Лихао Лю и др.
- Организация: Tsinghua University
- Дата: 23 мая 2024 г.
- ArXiv: 2405.14458
- GitHub: THU-MIG/yolov10
- Документация: Документация Ultralytics YOLOv10
Link to this sectionYOLOX: преодолевая разрыв между научными исследованиями и промышленностью#
YOLOX появился как версия традиционного дизайна YOLO без использования якорей (anchor-free), предлагая более простую методологию с конкурентоспособной производительностью, специально ориентированную на упрощение развертывания в промышленных сообществах.
- Авторы: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li и Jian Sun
- Организация: Megvii
- Дата: 18 июля 2021 г.
- ArXiv: 2107.08430
- GitHub: Megvii-BaseDetection/YOLOX
- Документация: Официальная документация YOLOX
Link to this sectionАрхитектурные особенности и инновации#
Обе структуры отходят от традиционных детекторов на основе якорей, но они решают разные проблемы в конвейере детектирования объектов.
Link to this sectionАрхитектура YOLOX#
YOLOX привнесла несколько важных обновлений в экосистему в 2021 году. Ее основным вкладом стал переход на дизайн anchor-free детектора. За счет устранения предопределенных якорных рамок (anchor boxes) YOLOX значительно сократила количество параметров проектирования и эвристической настройки, требуемых для различных наборов данных.
Кроме того, YOLOX использует раздельную голову (decoupled head), отделяющую задачи классификации и регрессии. Это разрешило конфликт между двумя целями, значительно ускорив сходимость во время обучения. Также используется SimOTA для продвинутого назначения меток (label assignment), что улучшает обработку сцен с высокой плотностью объектов и перекрытиями, характерными для набора данных COCO.
Конструкции без якорей, подобные той, что была впервые применена в YOLOX, значительно снижают сложность настройки модели. Разработчикам больше не нужно выполнять k-средних кластеризацию на пользовательских наборах данных для определения оптимальных размеров якорных рамок, что экономит ценное время на подготовку.
Link to this sectionАрхитектура YOLOv10#
Хотя YOLOX улучшила голову детектирования, она по-прежнему полагалась на подавление немаксимумов (NMS) во время инференса, что вызывает вариативность задержек. YOLOv10 целенаправленно устранила этот недостаток, представив стратегию согласованного двойного назначения (consistent dual assignment) для обучения без NMS. Во время обучения используются как one-to-many, так и one-to-one назначения меток, но во время инференса одна из голов полностью отключается, выдавая чистые предсказания без постобработки NMS.
YOLOv10 также отличается целостным дизайном модели, ориентированным на эффективность и точность. Она включает в себя облегченные головы классификации и пространственно-канальную раздельную дискретизацию (downsampling), значительно уменьшая количество параметров и FLOPs без ущерба для точности.
Link to this sectionСравнение производительности#
Оценка этих моделей на таком оборудовании, как GPU NVIDIA T4, выявляет явные преимущества в зависимости от масштаба. Ниже представлена полная сравнительная таблица.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (М) | FLOPs (Б) |
|---|---|---|---|---|---|---|
| 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 отличается наименьшим общим объемом для сильно ограниченных сред.
Link to this sectionМетодологии обучения и требования к ресурсам#
При внедрении моделей в производство экосистема обучения и требования к ресурсам так же важны, как и чистая скорость инференса.
YOLOX часто опирается на старые конфигурации среды, которыми может быть сложно управлять. Кроме того, ее устаревшая кодовая база требует больше шаблонного кода для реализации распределенного обучения на нескольких GPU или оптимизации смешанной точности.
В отличие от нее, YOLOv10 легко интегрируется с современными рабочими процессами PyTorch, но именно экосистема Ultralytics по-настоящему меняет опыт разработчика. Модели Ultralytics характеризуются значительно меньшим использованием памяти CUDA во время обучения по сравнению с архитектурами на базе Transformer, такими как RT-DETR.
Link to this sectionПример кода: Оптимизированное обучение#
Используя единый 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, «из коробки».
Link to this sectionСценарии использования и рекомендации#
Выбор между YOLOv10 и YOLOX зависит от конкретных требований твоего проекта, ограничений развертывания и предпочтений в отношении экосистемы.
Link to this sectionКогда стоит выбрать YOLOv10#
YOLOv10 — отличный выбор для:
- Детекции в реальном времени без NMS: Приложения, которым полезна сквозная (end-to-end) детекция без использования Non-Maximum Suppression, что снижает сложность развертывания.
- Сбалансированного соотношения скорости и точности: Проекты, требующие оптимального баланса между скоростью вывода и точностью детекции для различных масштабов моделей.
- Приложений с постоянной задержкой: Сценарии развертывания, где критически важна предсказуемость времени вывода, например, в робототехнике или автономных системах.
Link to this sectionКогда выбирать YOLOX#
YOLOX рекомендуется для:
- Исследований безъякорного обнаружения: академических исследований, использующих чистую безъякорную архитектуру YOLOX как базу для экспериментов с новыми головами детекции или функциями потерь.
- Сверхлегких Edge-устройств: развертывания на микроконтроллерах или устаревшем мобильном оборудовании, где критически важен чрезвычайно малый вес варианта YOLOX-Nano (0.91 млн параметров).
- Изучения назначения меток SimOTA: исследовательских проектов, анализирующих стратегии назначения меток на основе оптимального транспорта и их влияние на сходимость обучения.
Link to this sectionКогда выбирать Ultralytics (YOLO26)#
Для большинства новых проектов Ultralytics YOLO26 предлагает наилучшее сочетание производительности и опыта разработчика:
- Развертывания на периферии без NMS: приложений, требующих стабильного вывода с низкой задержкой без сложности постобработки подавления немаксимумов.
- Среды только с CPU: устройств без выделенного GPU-ускорения, где до 43% более быстрый вывод на CPU у YOLO26 дает решающее преимущество.
- Детектирования мелких объектов: сложных сценариев, таких как аэросъемка с дронов или анализ датчиков IoT, где ProgLoss и STAL значительно повышают точность на крошечных объектах.
Link to this sectionБудущее ИИ в компьютерном зрении: встречай 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 в рамках одной единой библиотеки.
Для максимально простого пути к продакшену разработчики могут использовать платформу Ultralytics для разметки наборов данных, обучения моделей YOLO26 в облаке и развертывания на любом граничном устройстве без необходимости настройки.
Link to this sectionПрименение в реальных условиях#
Выбор правильной модели определяет успех реальных внедрений в различных отраслях.
Link to this sectionВысокоскоростная видеоаналитика#
Для обработки плотных видеопотоков, например, в системах управления трафиком «умного города», YOLOv10 дает значительное преимущество благодаря своей постобработке без NMS. Устранение узкого места NMS позволяет добиться стабильно низкой задержки, что делает его идеальным в сочетании с алгоритмами трекинга, такими как BoT-SORT.
Link to this sectionРазвертывание на устаревшем граничном оборудовании#
Для старых академических установок или устаревших приложений Android, сильно оптимизированных под чистые сверточные парадигмы, более компактные модели, такие как YOLOX-Tiny, все еще могут найти специализированное применение там, где поддержание старых сред PyTorch является приемлемым компромиссом.
Link to this sectionСовременные граничные устройства и IoT#
Для развертывания на оборудовании нового поколения, таком как робототехника, дроны и системы анализа полок в розничной торговле, YOLO26 является идеальным решением. Его радикально сниженная задержка на CPU и превосходное детектирование мелких объектов делают его уникально подходящим для автономной навигации и детализированного управления запасами.
Для получения дополнительных сравнений и расширения своего инструментария глубокого обучения, ты также можешь изучить, как эти модели соотносятся с альтернативами, такими как гибкий YOLO11 или работающий на трансформерах RT-DETR.