YOLOv5 YOLOX: техническое сравнение архитектур обнаружения объектов
В быстро развивающейся области компьютерного зрения центральной темой дискуссий является сравнение детекторов на основе анкоров и детекторов без анкоров. В данном сравнении рассматриваются технические различия между YOLOv5, отраслевого стандарта по удобству использования и скорости, и YOLOX, высокопроизводительного детектора без якорей.
Происхождение и обзор модели
YOLOv5
Автор: Гленн Джочер
Организация: Ultralytics
Дата: 26.06.2020
GitHub: yolov5
YOLOX
Авторы: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li и Jian Sun
Организация: Megvii
Дата: 18.07.2021
GitHub: Megvii-BaseDetection/YOLOX
YOLOv5 произвела революцию в этой области не только благодаря изменениям в архитектуре, но и благодаря созданию удобного пользовательского интерфейса. Она уделяла приоритетное внимание простоте обучения, экспортируемости и скорости развертывания, что сделало ее лучшим выбором для предприятий и разработчиков. YOLOX, выпущенная годом позже, была направлена на преодоление разрыва между YOLO и академической тенденцией к обнаружению без анкеров, представив развязанную головку и новую стратегию присвоения меток.
Метрики производительности
В следующей таблице сравниваются характеристики обеих моделей. В то время как YOLOX достиг немного более высоких mAP , YOLOv5 демонстрирует более высокую скорость инференса, особенно на CPU, и значительно меньшую сложность развертывания.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.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 |
Архитектурные различия
Основное техническое различие заключается в том, как каждая модель обрабатывает прогнозирование ограничивающей рамки.
YOLOv5: Стандарт на основе Anchor
YOLOv5 механизм на основе якорей. Он прогнозирует смещения от заранее определенных якорных рамок, что помогает стабилизировать обучение для объектов известных масштабов.
- Основа: использует модифицированный CSPDarknet53, улучшая градиентный поток и уменьшая вычислительные узкие места.
- Увеличение объема данных: впервые применил широкое использование увеличения Mosaic и MixUp процессе обучения, что значительно повысило устойчивость модели к окклюзии.
- Основной акцент: архитектура в значительной степени оптимизирована для реального развертывания, что обеспечивает эффективное сопоставление уровней с аппаратными ускорителями, такими как Edge TPU.
YOLOX: вызов без якоря
YOLOX переходит к подходу без анкеров, непосредственно прогнозируя центр объекта.
- Разделенные «головки»: в отличие от более ранних YOLO , YOLOX разделяет задачи классификации и локализации на разные «головки», что, по их мнению, разрешает конфликт между этими двумя целями во время сходимости.
- SimOTA: передовая стратегия динамического присвоения меток, которая рассматривает процесс обучения как задачу оптимального транспорта.
- Ссылка: Подробные технические сведения см. в статье YOLOX arXiv.
Компромисс между разъединенными головками
Хотя развязанная головка в YOLOX улучшает скорость и точность сходимости, она часто влечет за собой дополнительные вычислительные накладные расходы, что приводит к немного более медленному выводу по сравнению с конструкцией соединенной головки, используемой в YOLOv5 YOLOv8.
Экосистема и простота использования
При оценке моделей для производства окружающая экосистема имеет такое же важное значение, как и сама архитектура. Именно здесь Ultralytics предоставляют явное преимущество.
YOLOv5 интегрирован в зрелую, хорошо поддерживаемую экосистему. Пользователи получают преимущества от Ultralytics (ранее HUB), которая оптимизирует аннотирование, обучение и развертывание наборов данных. Платформа справляется со сложностями инфраструктуры, позволяя разработчикам сосредоточиться на данных и результатах.
В отличие от этого, YOLOX предлагает высокую академическую производительность, но часто требует более сложной ручной настройки для развертывания. Ultralytics уделяют приоритетное внимание эффективности обучения, предлагая готовые предварительно обученные веса и меньшее использование памяти во время обучения. Эта эффективность использования памяти особенно заметна по сравнению с более новыми моделями на основе трансформаторов, такими как RT-DETR, которые могут быть ресурсоемкими.
Эволюция: вступает YOLO26
Хотя YOLOv5 YOLOX по-прежнему остаются отличным выбором, в этой области произошли значительные изменения. Для разработчиков, начинающих новые проекты в 2026 году, YOLO26 представляет собой вершину этой эволюции, сочетая в себе удобство использования YOLOv5 инновациями YOLOX, не требующими использования якорей, и превосходя обе эти технологии.
YOLO26 разработан для обеспечения максимального баланса производительности для пограничных вычислений и анализа в реальном времени.
Почему стоит перейти на YOLO26?
- End-to-End NMS: Как и YOLOX, YOLO26 отходит от использования анкоров, но идет еще дальше, становясь изначально end-to-end. Это устраняет Non-Maximum Suppression (NMS), этап постобработки, который часто усложняет развертывание на таких устройствах, как FPGA или CoreML.
- MuSGD Optimizer: вдохновленный методами обучения больших языковых моделей (LLM) (в частности, Kimi K2 от Moonshot AI), этот гибридный оптимизатор обеспечивает стабильную динамику обучения, эффективно привнося стабильность LLM в задачи зрительного восприятия.
- Скорость: YOLO26 обеспечивает до 43% более быстрое CPU по сравнению с предыдущими поколениями, что достигается за счет удаления Distribution Focal Loss (DFL) и архитектурной обрезки.
- ProgLoss + STAL: эти усовершенствованные функции потерь специально нацелены на распознавание небольших объектов, устраняя распространенный недостаток ранних детекторов.
Универсальность в различных задачах
В отличие от YOLOX, который в первую очередь ориентирован на обнаружение, Ultralytics поддерживает полный набор задач из коробки, включая оценку позы, сегментацию экземпляров и ориентированное обнаружение объектов (OBB).
Приложения в реальном мире
Выбор между этими моделями часто зависит от сценария развертывания.
- Промышленная инспекция (YOLOv5): для производственных линий, требующих высокой пропускной способности, конструкция со сдвоенной головкой и TensorRTUltralytics обеспечивают минимальную задержку.
- Аэрофотосъемка (YOLO26): Благодаря новым функциям ProgLoss + STAL, YOLO26 превосходно справляется с обнаружением небольших объектов, таких как транспортные средства или домашний скот, на снимках, сделанных с помощью дронов, что было затруднительным для более старых моделей, основанных на анкерах.
- Академические исследования (YOLOX): Исследователи, изучающие стратегии присвоения меток, часто используют YOLOX в качестве базового варианта из-за его четкой реализации SimOTA.
Пример кода
Переход между моделями в Ultralytics происходит беспрепятственно. Следующий код демонстрирует, как загрузить и запустить инференцию, показывая унифицированный API, который работает для YOLOv5, YOLO11 и рекомендуемого YOLO26.
from ultralytics import YOLO
# Load a model (YOLOv5 or the recommended YOLO26)
# The API unifies usage, making it easy to swap models for comparison
model = YOLO("yolo26n.pt") # Loading the latest Nano model
# Run inference on a local image
results = model("path/to/image.jpg")
# Process the results
for result in results:
result.show() # Display prediction
result.save(filename="result.jpg") # Save to disk
Заключение
И YOLOv5 YOLOX заслужили свое место в истории компьютерного зрения. YOLOv5 планку удобства использования и развертывания, а YOLOX раздвинул границы обнаружения без анкоров.
Однако для современных приложений, требующих максимальной эффективности, Ultralytics является лучшим выбором. Благодаря интеграции конструкции NMS, революционного оптимизатора MuSGD и архитектуры, оптимизированной для периферийных устройств, он предлагает надежное, перспективное решение, поддерживаемое обширной Ultralytics .