YOLOX и YOLOv6-3.0#
Развитие компьютерного зрения во многом определялось стремительным прогрессом серии YOLO. Выбор подходящей архитектуры для развёртывания часто сводится к поиску баланса между пропускной способностью, простотой архитектуры и эффективностью обучения. Двумя заметными вехами на этом пути стали исследовательская ориентация YOLOX на модели без якорей и высокооптимизированная промышленная пропускная способность YOLOv6-3.0.
В этом техническом сравнении подробно рассматриваются архитектурные различия, показатели производительности и оптимальные варианты применения, а также представлены возможности нового поколения Ultralytics YOLO26 для разработчиков, которым нужно оптимальное решение для развёртывания на периферии и в облаке.
YOLOX: от исследований к промышленному применению#
YOLOX, разработанный исследователями из Megvii, был представлен как значительный шаг в сторону упрощения архитектуры YOLO благодаря полному отказу от якорей.
- Авторы: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li, Jian Sun
- Организация: Megvii
- Дата: 2021-07-18
- Arxiv: 2107.08430
- GitHub: Megvii-BaseDetection/YOLOX
Архитектурные особенности#
YOLOX успешно внедрил дизайн без якорей в семейство YOLO. Отказ от заранее заданных якорных блоков существенно сокращает количество проектных параметров и объём эвристической настройки, необходимых во время обучения. Благодаря этому YOLOX легко адаптируется к различным пользовательским наборам данных без ручного пересчёта якорей.
Кроме того, в YOLOX была введена архитектура раздельной головы. Разделяя задачи классификации и регрессии по разным ветвям, модель устраняет внутренний конфликт между определением того, что представляет собой объект, и того, где он находится. В сочетании со стратегией назначения меток SimOTA YOLOX обеспечивает более быструю сходимость и повышенное значение средней точности (mAP).
Детекторы без якорей, такие как YOLOX, часто лучше работают на пользовательских наборах данных с необычными соотношениями сторон объектов, поскольку не зависят от фиксированных априорных ограничивающих рамок, которые могут не соответствовать новым данным.
YOLOv6-3.0: промышленный тяжеловес#
YOLOv6-3.0, разработанный отделом Vision AI компании Meituan, целенаправленно оптимизирован для максимальной промышленной пропускной способности, особенно на NVIDIA GPU с использованием аппаратных ускорителей, таких как TensorRT.
- Авторы: Chuyi Li, Lulu Li, Yifei Geng и др.
- Организация: Meituan
- Дата: 2023-01-13
- Arxiv: 2301.05586
- GitHub: meituan/YOLOv6
Оптимизация для развёртывания#
YOLOv6-3.0 ориентирован на максимальное использование GPU. В модуль neck добавлен двунаправленный модуль конкатенации (BiC), улучшающий объединение признаков при сохранении высокой скорости инференса. Хотя на этапе инференса модель полностью работает без якорей, YOLOv6-3.0 использует инновационную стратегию обучения с помощью якорей (AAT), чтобы получить преимущества стабильности якорных методов на этапе обучения.
Базовая сеть построена на аппаратно-эффективной архитектуре EfficientRep, специально разработанной для минимизации затрат на доступ к памяти и максимизации вычислительной плотности на современных ускорителях. Это делает YOLOv6 исключительно сильным кандидатом для серверной видеоаналитики.
Сравнение производительности#
При сравнении этих моделей разработчикам необходимо сопоставить точность, скорость инференса и количество параметров. В следующей таблице представлены показатели производительности обоих семейств моделей для различных размеров.
| Модель | размер (пиксели) | 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 |
| YOLOv6-3.0n | 640 | 37.5 | - | 1.17 | 4.7 | 11.4 |
| YOLOv6-3.0s | 640 | 45.0 | - | 2.66 | 18.5 | 45.3 |
| YOLOv6-3.0m | 640 | 50.0 | - | 5.28 | 34.9 | 85.8 |
| YOLOv6-3.0l | 640 | 52.8 | - | 8.95 | 59.6 | 150.7 |
YOLOv6-3.0 демонстрирует более высокий mAP и отличную скорость в TensorRT для крупных вариантов, однако YOLOX остаётся весьма конкурентоспособным благодаря простоте и стабильной производительности на устаревшем оборудовании.
Варианты применения и рекомендации#
Выбор между YOLOX и YOLOv6 зависит от конкретных требований проекта, ограничений развёртывания и предпочтений в отношении экосистемы.
Когда стоит выбрать YOLOX#
YOLOX — хороший выбор для:
- Исследования обнаружения без якорей: Академические исследования, в которых чистая безъякорная архитектура YOLOX используется как базовая модель для экспериментов с новыми головками обнаружения или функциями потерь.
- Сверхлёгкие периферийные устройства: Развертывание на микроконтроллерах или устаревшем мобильном оборудовании, где критически важен чрезвычайно малый размер варианта YOLOX-Nano (0.91M параметров).
- Исследования назначения меток SimOTA: Исследовательские проекты, изучающие стратегии назначения меток на основе оптимального транспорта и их влияние на сходимость обучения.
Когда стоит выбрать YOLOv6#
YOLOv6 рекомендуется для:
- Развертывание с учетом промышленного оборудования: сценарии, в которых аппаратно-ориентированный дизайн модели и эффективная репараметризация обеспечивают оптимальную производительность на конкретном целевом оборудовании.
- Быстрое одностадийное обнаружение: приложения, в которых приоритетом является максимальная скорость инференса на GPU для обработки видео в реальном времени в контролируемых средах.
- Интеграция с экосистемой Meituan: команды, уже работающие в технологическом стеке и инфраструктуре развертывания Meituan.
Когда выбирать Ultralytics (YOLO26)#
Для большинства новых проектов Ultralytics YOLO26 предлагает лучшее сочетание производительности и удобства для разработчиков:
- Развертывания на периферийных устройствах без NMS: приложений, требующих стабильного вывода с низкой задержкой без сложной постобработки с подавлением немаксимумов.
- Сред без GPU: устройств без выделенного ускорения GPU, где до 43% более быстрый вывод YOLO26 на CPU дает решающее преимущество.
- Обнаружения мелких объектов: сложных сценариев, таких как аэрофотосъемка с дронов или анализ данных IoT-сенсоров, где ProgLoss и STAL значительно повышают точность обнаружения крошечных объектов.
Преимущества Ultralytics#
Хотя Megvii и Meituan предоставляют мощные исследовательские репозитории, развёртывание этих моделей в production часто требует значительных инженерных усилий. Интегрированная экосистема Ultralytics устраняет эти препятствия благодаря единому и подробному документированному API.
Используя пакет Ultralytics, ты получаешь доступ к непревзойденному пользовательскому опыту. Сюда входят встроенная автоаугментация, высокоэффективное управление памятью во время обучения (что радикально снижает требования к VRAM по сравнению с моделью трансформера RT-DETR) и бесшовные конвейеры экспорта в такие форматы, как ONNX и OpenVINO.
В отличие от специализированных моделей, архитектуры Ultralytics изначально универсальны и из коробки поддерживают детекцию объектов, сегментацию экземпляров, оценку позы, классификацию изображений и ориентированные ограничивающие рамки (OBB).
YOLO26: оптимальное решение для периферийных устройств#
Командам, начинающим новые проекты в области компьютерного зрения, мы настоятельно рекомендуем перейти на недавно выпущенную модель Ultralytics YOLO26. Развивая успех YOLO11 и YOLOv8, YOLO26 предлагает инновации, меняющие привычные подходы:
- Дизайн end-to-end без NMS: впервые опробованный в YOLOv10, YOLO26 изначально устраняет необходимость постобработки с использованием подавления немаксимумов (NMS). Это обеспечивает детерминированный инференс со сверхнизкой задержкой, критически важный для робототехники реального времени.
- Оптимизатор MuSGD: вдохновлённый методами обучения LLM, такими как Kimi K2 от Moonshot AI, YOLO26 использует оптимизатор MuSGD (гибрид SGD и Muon) для достижения исключительно стабильной динамики обучения и более быстрой сходимости.
- До 43% более быстрый инференс на CPU: благодаря удалению Distribution Focal Loss (DFL) и упрощению головы сети YOLO26 значительно оптимизирован для периферийных устройств, использующих выполнение на CPU, и существенно превосходит YOLOv6 в периферийных сценариях.
- ProgLoss + STAL: эти продвинутые формулировки функций потерь существенно повышают качество детекции небольших объектов, что делает YOLO26 идеальным решением для аэрофотосъёмки и микроскопического контроля дефектов.
Единый пример обучения#
С помощью Python API Ultralytics обучение современных моделей требует всего нескольких строк кода. Этот же чистый интерфейс подходит как для тестирования устаревшей модели YOLO, так и для развёртывания передовой инфраструктуры YOLO26.
from ultralytics import YOLO
# Load the next-generation YOLO26 model (NMS-free, optimized for edge)
model = YOLO("yolo26n.pt")
# Train the model on the COCO8 dataset
# The ecosystem handles downloading, caching, and auto-batching natively
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Validate the model and print mAP metrics
metrics = model.val()
print(f"Validation mAP50-95: {metrics.box.map}")
# Export the model for edge deployment
model.export(format="onnx")Для ещё более удобной работы управляй наборами данных, отслеживай эксперименты и обучай модели в облаке с помощью платформы Ultralytics без написания кода.
Рекомендации по вариантам использования#
При выборе между этими архитектурами учитывай конкретные ограничения оборудования и требования проекта:
- Выбирай YOLOX, если проводишь академическое исследование стратегий назначения меток или тебе нужен чистый, понятный базовый вариант модели без якорей для пользовательских архитектурных модификаций.
- Выбирай YOLOv6-3.0, если развёртываешь модель на промышленном сервере с высокопроизводительными NVIDIA GPU (например, A100 или T4), где можно использовать большие размеры пакетов и оптимизации TensorRT для одновременной обработки сотен видеопотоков.
- Выбирай YOLO26 для подавляющего большинства современных приложений. Если ты создаёшь приложения Edge AI для IoT-устройств, дронов или мобильных телефонов, встроенный дизайн YOLO26 без NMS, оптимизации для CPU и широкая поддержка экосистемы делают его бесспорно лучшим выбором для устранения разрыва между обучением и production.