YOLOX и YOLOv6-3.0#
Развитие компьютерного зрения во многом определялось быстрым прогрессом серии YOLO. Выбор подходящей архитектуры для развёртывания часто сводится к поиску баланса между пропускной способностью, простотой архитектуры и эффективностью обучения. Два важных этапа этого развития — исследовательская безанкерная модель YOLOX и оптимизированная для промышленной пропускной способности YOLOv6-3.0.
В этом техническом сравнении рассматриваются различия в архитектуре, показатели производительности и оптимальные сценарии использования. Также здесь представлены возможности нового поколения — Ultralytics YOLO26, предназначенной для разработчиков, которым нужно оптимальное решение для развёртывания на периферии и в облаке.
YOLOX: от исследований к промышленности#
Разработанная исследователями Megvii, YOLOX стала важным шагом к упрощению архитектуры 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 это обеспечивает более быструю сходимость и повышает среднюю точность по всем классам (mAP).
Безанкерные детекторы, например YOLOX, часто лучше работают на пользовательских наборах данных с необычными соотношениями сторон объектов, поскольку не полагаются на фиксированные априорные ограничивающие рамки, которые могут не соответствовать новым данным.
YOLOv6-3.0: промышленный тяжеловес#
Разработанная подразделением Vision AI компании Meituan, YOLOv6-3.0 без лишних оговорок оптимизирована для максимальной промышленной пропускной способности, особенно на GPU NVIDIA с использованием аппаратных ускорителей, таких как TensorRT.
- Авторы: Chuyi Li, Lulu Li, Yifei Geng и др.
- Организация: Meituan
- Дата: 2023-01-13
- Arxiv: 2301.05586
- GitHub: meituan/YOLOv6
Оптимизация для развёртывания#
YOLOv6-3.0 ориентирована на максимальное использование GPU. В шейке модели применяется модуль двунаправленной конкатенации (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,91 млн параметров).
- Исследования назначения меток SimOTA: Исследовательские проекты по изучению стратегий назначения меток на основе оптимального транспорта и их влияния на сходимость обучения.
Когда стоит выбрать YOLOv6#
YOLOv6 рекомендуется для следующих задач:
- Развертывание с учетом промышленного оборудования: сценарии, в которых аппаратно-ориентированный дизайн и эффективная репараметризация модели обеспечивают оптимальную производительность на конкретном целевом оборудовании.
- Быстрая одноэтапная детекция: приложения, где приоритетом является максимальная скорость инференса на GPU для обработки видео в реальном времени в контролируемых условиях.
- Интеграция с экосистемой Meituan: команды, уже работающие с технологическим стеком и инфраструктурой развертывания Meituan.
Когда выбирать Ultralytics (YOLO26)#
Для большинства новых проектов Ultralytics YOLO26 предлагает оптимальное сочетание производительности и удобства разработки:
- Развертывание на периферийных устройствах без NMS: Приложения, которым необходим стабильный инференс с низкой задержкой без усложнения постобработки подавлением немаксимумов.
- Среды только с CPU: Устройства без выделенного ускорителя GPU, где до 43% более быстрый инференс YOLO26 на CPU даёт решающее преимущество.
- Обнаружение небольших объектов: Сложные сценарии, например съёмка с дронов или анализ данных IoT-датчиков, где ProgLoss и STAL заметно повышают точность обнаружения крошечных объектов.
Преимущества Ultralytics#
Megvii и Meituan предлагают мощные исследовательские репозитории, но для развёртывания их моделей в производственной среде часто требуются значительные инженерные усилия. Интегрированная экосистема Ultralytics устраняет эти трудности благодаря унифицированному API с подробной документацией.
Используя пакет Ultralytics, разработчики получают доступ к исключительному удобству работы. В их распоряжении — встроенная автоматическая аугментация, эффективное управление памятью во время обучения (требования к VRAM значительно ниже, чем у моделей на основе Transformer, например RT-DETR) и удобные конвейеры экспорта в такие форматы, как ONNX и OpenVINO.
В отличие от специализированных моделей, архитектуры Ultralytics универсальны и из коробки поддерживают обнаружение объектов, сегментацию экземпляров, оценку позы, классификацию изображений и ориентированные ограничивающие рамки (OBB).
Представляем YOLO26: оптимальное решение для периферийных устройств#
Командам, начинающим новые проекты в области компьютерного зрения, настоятельно рекомендуем перейти на недавно выпущенную Ultralytics YOLO26. Развивая успех YOLO11 и YOLOv8, YOLO26 предлагает инновации, меняющие привычные подходы:
- Сквозная конструкция без NMS: впервые опробованная в YOLOv10, необязательная голова one-to-one в YOLO26 (
nms=False) устраняет необходимость в постобработке — подавлении немаксимумов (NMS). Это гарантирует детерминированный инференс со сверхнизкой задержкой, необходимый для робототехники реального времени. - Оптимизатор MuSGD: вдохновлённая методами обучения LLM, например Kimi K2 от Moonshot AI, YOLO26 использует оптимизатор MuSGD — гибрид SGD и Muon, который обеспечивает исключительно стабильное обучение и ускоряет сходимость.
- До 43% более быстрый инференс на CPU: благодаря удалению распределения фокальной потери (DFL) и упрощению головы сети YOLO26 хорошо оптимизирована для периферийных устройств, использующих вычисления на CPU, и значительно превосходит YOLOv6 в сценариях на периферии.
- ProgLoss + STAL: эти продвинутые функции потерь значительно повышают качество обнаружения небольших объектов, поэтому YOLO26 отлично подходит для анализа аэрофотоснимков и обнаружения микроскопических дефектов.
Пример унифицированного обучения#
С помощью API Ultralytics для Python для обучения передовых моделей достаточно нескольких строк кода. Этот же удобный интерфейс подходит как для тестирования устаревшей модели 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 dataset downloading, caching, and 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, если развёртываешь модель на промышленном сервере с мощными GPU NVIDIA, например A100 или T4, и можешь использовать большие размеры пакетов и оптимизации TensorRT для одновременной обработки сотен видеопотоков.
- Выбирай YOLO26 для подавляющего большинства современных приложений. Если ты разрабатываешь приложения Edge AI для устройств IoT, дронов или мобильных телефонов, встроенная конструкция YOLO26 без NMS, оптимизации для CPU и комплексная поддержка экосистемы делают эту модель бесспорно лучшим выбором для перехода от обучения к производственной эксплуатации.