YOLOv6-3.0 против YOLOX: глубокое погружение в индустриальную скорость и точность без привязки к anchor
Выбор оптимальной архитектуры object detection является критически важным решением, которое влияет на эффективность и возможности систем компьютерного зрения. В этом техническом сравнении рассматриваются YOLOv6-3.0 и YOLOX, две влиятельные модели, которые сформировали ландшафт detection в реальном времени. Мы анализируем их архитектурные инновации, эталонные показатели производительности и пригодность для различных сценариев развертывания.
YOLOv6-3.0: Разработан для промышленной эффективности
Авторы: Chuyi Li, Lulu Li, Yifei Geng, Hongliang Jiang, Meng Cheng, Bo Zhang, Zaidan Ke, Xiaoming Xu и Xiangxiang Chu
Организация: Meituan
Дата: 2023-01-13
Arxiv: YOLOv6 v3.0: A Full-Scale Reloading
GitHub: meituan/YOLOv6
Документация: Ultralytics YOLOv6 Documentation
YOLOv6-3.0, разработанная отделом Vision AI компании Meituan, разработана специально для промышленных приложений, где аппаратные ресурсы часто ограничены, но скорость в реальном времени является обязательным условием. Она фокусируется на максимизации пропускной способности конвейеров обнаружения объектов на стандартном оборудовании GPU.
Архитектура и ключевые особенности
YOLOv6-3.0 представляет собой серию "bag-of-freebies" для повышения точности без увеличения стоимости inference.
- Репараметризуемый Backbone: Он использует EfficientRep backbone, который позволяет использовать сложную многоветвленную структуру во время обучения (захват богатых признаков), которая сворачивается в простую и быструю однопутевую структуру во время инференса.
- Обучение с использованием Anchor (AAT): Хотя модель работает как детектор без anchor во время inference, она использует вспомогательные ветви на основе anchor во время обучения, чтобы стабилизировать сходимость и повысить производительность.
- Самодистилляция: Техника дистилляции знаний, при которой модель-ученик учится на предсказаниях своей собственной модели-учителя, повышая свою точность без внешних зависимостей.
Сильные и слабые стороны
Основная сила YOLOv6-3.0 заключается в ее оптимизации задержки. Она достигает исключительной скорости вывода на NVIDIA GPU при оптимизации с помощью TensorRT, что делает ее сильным кандидатом для автоматизации производства с высокой пропускной способностью и умного города. Кроме того, ее поддержка quantization-aware training (QAT) помогает при развертывании на периферийных устройствах с пониженными требованиями к точности.
Однако, модель несколько специализирована. Ей не хватает встроенной многозадачной универсальности, присущей более широким фреймворкам, и она фокусируется почти исключительно на detect. Кроме того, ее экосистема, хотя и надежна, меньше, чем сообщество, окружающее модели Ultralytics, что потенциально ограничивает доступность сторонних руководств и предварительно обученных весов для нишевых наборов данных.
YOLOX: Простота и инновации Anchor-Free
Авторы: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li и Jian Sun
Организация: Megvii
Дата: 2021-07-18
Arxiv: YOLOX: Exceeding YOLO Series in 2021
GitHub: Megvii-BaseDetection/YOLOX
Документация: YOLOX Documentation
YOLOX представил собой смену парадигмы, внедрив anchor-free detectors в основную линейку YOLO. Устраняя необходимость в предварительно определенных anchor boxes, он упростил процесс проектирования и улучшил обобщение для различных форм объектов.
Архитектура и ключевые особенности
YOLOX объединяет несколько передовых методов для повышения производительности, сохраняя при этом чистую архитектуру:
- Разделенная голова (Decoupled Head): В отличие от предыдущих версий YOLO, в которых использовалась связанная голова (с общими признаками для классификации и локализации), YOLOX разделяет эти задачи, что приводит к более быстрой сходимости и повышению точности.
- Назначение меток SimOTA: Продвинутая стратегия динамического назначения меток, которая рассматривает процесс обучения как задачу оптимальной транспортировки, автоматически назначая положительные примеры ground truths таким образом, чтобы минимизировать стоимость.
- Сильная аугментация: Она в значительной степени использует аугментации MixUp и Mosaic, что позволяет модели изучать надежные функции даже без предварительно обученных магистральных сетей.
Сильные и слабые стороны
YOLOX превосходен в точности и гибкости исследований. Его природа без anchor делает его особенно эффективным для detect объектов с необычными пропорциями, часто превосходя anchor-based аналоги в этих сценариях. Модель YOLOX-Nano также отличается небольшим весом (менее 1M параметров), что делает ее идеальной для микроконтроллеров с крайне низким энергопотреблением.
С другой стороны, YOLOX может быть более вычислительно затратным с точки зрения FLOPs по сравнению с новыми моделями, такими как YOLOv6 или YOLO11, для того же уровня точности. Его конвейер обучения, хотя и эффективен, может быть медленнее из-за сложных вычислений динамического назначения меток и, как правило, требует больше памяти GPU во время обучения по сравнению с высокооптимизированными реализациями Ultralytics.
Сравнение производительности: Метрики и анализ
В следующей таблице представлено прямое сравнение ключевых показателей производительности на датасете COCO.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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.0 доминирует в аппаратной эффективности. Например, YOLOv6-3.0n достигает молниеносного времени инференса в 1.17 мс на GPU T4, что значительно быстрее, чем типичные бенчмарки для моделей этого класса. The YOLOv6-3.0l также превосходит самую большую модель YOLOX (YOLOXx) в точности (52.8 против 51.1 mAP), используя почти вдвое меньше FLOPs.
YOLOX, наоборот, выигрывает в категории сверхлегких моделей. The YOLOXnano имеет менее 1 миллиона параметров, что является достижением, которое мало кто из современных детекторов повторяет, что делает его уникально подходящим для конкретных IoT-приложений, где хранение в памяти является основным узким местом, а не вычислительная скорость. Однако для обнаружения общего назначения YOLOX, как правило, требует больше параметров для сопоставимой точности по сравнению с YOLOv6.
Рекомендации по аппаратному обеспечению
Если ваша цель развертывания — современный NVIDIA GPU (например, Jetson Orin, T4, A100), YOLOv6-3.0, вероятно, обеспечит лучшую пропускную способность благодаря своей специализированной магистральной сети. Если вы ориентируетесь на универсальный CPU или устаревшую встроенную систему с очень жесткими ограничениями по объему памяти, YOLOX Nano может оказаться лучшим вариантом.
Преимущество Ultralytics: Почему стоит выбрать YOLO11?
Хотя YOLOv6 и YOLOX предлагают надежные решения для конкретных ниш, Ultralytics YOLO11 представляет собой кульминацию современных исследований, предлагая превосходный баланс скорости, точности и удобства использования для подавляющего большинства разработчиков.
Непревзойденная универсальность и экосистема
В отличие от конкурентов, которые часто сосредотачиваются исключительно на object detection ограничивающих рамок, YOLO11 обеспечивает встроенную поддержку широкого спектра задач компьютерного зрения, включая Instance Segmentation, Pose Estimation, Oriented Object Detection (OBB) и Classification. Это позволяет разработчикам решать сложные многоэтапные задачи с помощью единого фреймворка.
Кроме того, экосистема Ultralytics активно поддерживается, обеспечивая совместимость с последними версиями python, обновлениями PyTorch и целевыми платформами развертывания, такими как CoreML, OpenVINO и ONNX.
Эффективность и простота использования
YOLO11 разработан для эффективности обучения, обычно требуя меньше памяти GPU, чем альтернативы на основе transformer (например, RT-DETR) или более старые версии YOLO. Это позволяет исследователям обучать более крупные модели на оборудовании потребительского класса. API Python разработан для простоты, позволяя пользователям перейти от установки к inference всего за несколько строк кода:
from ultralytics import YOLO
# Load the YOLO11 model (n, s, m, l, or x)
model = YOLO("yolo11n.pt")
# Perform inference on an image
results = model("path/to/image.jpg")
# Export to ONNX for deployment
model.export(format="onnx")
Баланс производительности в реальном мире
Эталонные тесты неизменно показывают, что YOLO11 достигает более высоких показателей mAP при сопоставимой или более высокой скорости inference, чем YOLOv6 и YOLOX. Эта "оптимальная по Парето" производительность делает его рекомендуемым выбором для приложений, начиная от автономных транспортных средств и заканчивая анализом медицинских изображений.
Заключение
При сравнении YOLOv6-3.0 и YOLOX выбор во многом зависит от ваших конкретных ограничений. YOLOv6-3.0 — это идеальный вариант для строго промышленных развертываний GPU, где критически важна задержка на уровне миллисекунд. YOLOX остается отличным выбором для исследований архитектур без привязки к якорям и для сред со сверхмалым объемом хранилища благодаря своей модели Nano.
Однако, для разработчиков, ищущих перспективное решение, сочетающее в себе первоклассную производительность с простой в использовании и многофункциональной платформой, Ultralytics YOLO11 является безусловным лидером. Его способность беспрепятственно справляться с несколькими задачами в сочетании с обширной документацией и широкой поддержкой развертывания ускоряет жизненный цикл разработки от концепции до производства.
Ознакомьтесь с другими сравнениями, чтобы увидеть, как модели Ultralytics соотносятся с RT-DETR или YOLOv7.