YOLOv6.0 против YOLOX: глубокое погружение в промышленную скорость и безъякорную точность
Выбор оптимальной архитектуры обнаружения объектов - критически важное решение, влияющее на эффективность и возможности систем компьютерного зрения. В данном техническом сравнении рассматриваются YOLOv6.0 и YOLOX- две влиятельные модели, сформировавшие ландшафт обнаружения объектов в реальном времени. Мы анализируем их архитектурные инновации, эталонные показатели производительности и пригодность для различных сценариев развертывания.
YOLOv6.0: Разработано для промышленной эффективности
Авторы: Chuyi Li, Lulu Li, Yifei Geng, Hongliang Jiang, Meng Cheng, Bo Zhang, Zaidan Ke, Xiaoming Xu, and Xiangxiang Chu
Organization: Meituan
Дата: 2023-01-13
Arxiv: YOLOv6 v3.0: A Full-Scale Reloading
GitHub: YOLOv6
Docs: Ultralytics YOLOv6 Documentation
Разработанный отделом Vision AI компании Meituan, YOLOv6.0 предназначен специально для промышленных приложений, где аппаратные ресурсы часто ограничены, а скорость работы в реальном времени не подлежит обсуждению. Он ориентирован на максимальное увеличение производительности конвейеров обнаружения объектов на стандартном оборудовании GPU .
Архитектура и ключевые особенности
В YOLOv6.0 введена серия "бесплатных мешков" для повышения точности без увеличения стоимости выводов.
- Перепараметризуемая основа: В нем используется основа EfficientRep, которая позволяет создавать сложную, многоразветвленную структуру во время обучения (улавливая богатые возможности), которая сворачивается в простую и быструю однопутевую структуру во время вывода.
- Обучение с помощью якорей (AAT): Хотя модель работает как детектор без якорей во время вывода, она использует вспомогательные ветви с якорями во время обучения, чтобы стабилизировать сходимость и улучшить производительность.
- Самодистилляция: Метод дистилляции знаний, при котором модель ученика учится на собственных предсказаниях модели учителя, повышая свою точность без внешних зависимостей.
Сильные и слабые стороны
Основная сила YOLOv6.0 заключается в оптимизации задержек. Он достигает исключительной скорости вычислений на графических процессорах NVIDIA , когда оптимизируется с помощью TensorRTчто делает его сильным кандидатом для высокопроизводительной автоматизации фабрик и наблюдения за "умными" городами. Кроме того, поддержка обучения с учетом квантования (QAT) помогает в развертывании на пограничных устройствах с пониженными требованиями к точности.
Однако эта модель является несколько специализированной. Она лишена встроенной многозадачности, присущей более широким фреймворкам, и сосредоточена почти исключительно на обнаружении. Кроме того, ее экосистема, хотя и является надежной, меньше, чем сообщество, окружающее модели Ultralytics , что потенциально ограничивает доступность сторонних учебных пособий и предварительно обученных весов для нишевых наборов данных.
YOLOX: простота и инновации без якорей
Авторы: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li, and Jian Sun
Organization: Megvii
Дата: 2021-07-18
Arxiv: YOLOX: Превышение серии YOLO в 2021 году
GitHub: Megvii-BaseDetection/YOLOX
Docs: Документация YOLOX
YOLOX представляет собой смену парадигмы, привнося безъякорные детекторы в основную линейку YOLO . Устранив необходимость в предопределенных якорных ящиках, он упростил процесс проектирования и улучшил обобщение для объектов различной формы.
Архитектура и ключевые особенности
YOLOX объединяет несколько передовых технологий для повышения производительности при сохранении чистой архитектуры:
- Отсоединенная голова: в отличие от предыдущих версий YOLO , в которых использовалась объединенная голова (совместное использование функций для классификации и локализации), YOLOX разделяет эти задачи, что приводит к ускорению сходимости и повышению точности.
- SimOTA Label Assignment: Усовершенствованная динамическая стратегия присвоения меток, которая рассматривает процесс обучения как оптимальную транспортную задачу, автоматически присваивая положительные образцы "истинам" таким образом, чтобы минимизировать затраты.
- Сильное усиление: В нем широко используется MixUp и дополнения Mosaic, что позволяет модели обучаться надежным признакам даже без предварительно обученной основы.
Сильные и слабые стороны
YOLOX отличается высокой точностью и гибкостью исследований. Благодаря своей безъякорной природе он особенно эффективен для обнаружения объектов с необычным соотношением сторон, часто превосходя в этих сценариях аналоги, основанные на якорях. Модель YOLOX-Nano также отличается малым весом (менее 1 М), что делает ее идеальным решением для микроконтроллеров с крайне низким энергопотреблением.
С другой стороны, YOLOX может быть более затратным в плане вычислительных операций по сравнению с новыми моделями, такими как YOLOv6 или YOLO11 , при одинаковом уровне точности. Его конвейер обучения, хотя и эффективный, может быть медленнее из-за сложных вычислений динамического присвоения меток, и он обычно требует больше памяти GPU во время обучения по сравнению с высоко оптимизированными реализациями Ultralytics .
Сравнение производительности: Метрики и анализ
В следующей таблице представлено сравнение основных показателей производительности на наборе данныхCOCO .
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv6.0n | 640 | 37.5 | - | 1.17 | 4.7 | 11.4 |
| YOLOv6.0s | 640 | 45.0 | - | 2.66 | 18.5 | 45.3 |
| YOLOv6.0m | 640 | 50.0 | - | 5.28 | 34.9 | 85.8 |
| YOLOv6.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.0 доминирует в эффективности с учетом аппаратного обеспечения. Например. YOLOv6-3.0n достигает молниеносного времени вывода 1,17 мс на графических процессорах T4, что значительно быстрее, чем в типичных бенчмарках для моделей этого класса. Сайт YOLOv6-3.0l также превосходит самую большую модель YOLOX (YOLOXx) по точности (52,8 против 51,1 mAP) при использовании почти половины FLOPs.
YOLOXИ наоборот, побеждает в категории ультралегких. Сайт YOLOXnano YOLOX имеет менее 1 млн. параметров, что является достижением немногих современных детекторов, что делает его уникально подходящим для специфических IoT-приложений, где основным узким местом является память, а не скорость вычислений. Однако для обнаружения общего назначения YOLOX требует большего количества параметров для достижения сопоставимой с YOLOv6 точности.
Аппаратные соображения
Если ваша цель - современныйGPU NVIDIA (например, Jetson Orin, T4, A100), YOLOv6.0, вероятно, обеспечит лучшую пропускную способность благодаря своей специализированной магистрали. Если вы нацелены на общий CPU или устаревшую встраиваемую систему с очень жесткими ограничениями по объему памяти, YOLOX Nano может оказаться более подходящим вариантом.
Преимущество Ultralytics: Почему стоит выбрать YOLO11?
В то время как YOLOv6 и YOLOX предлагают надежные решения для конкретных ниш, Ultralytics YOLO11 представляет собой кульминацию самых современных исследований, предлагая превосходный баланс скорости, точности и удобства использования для подавляющего большинства разработчиков.
Непревзойденная универсальность и экосистема
В отличие от конкурентов, которые часто фокусируются только на обнаружении ограничительных рамок, YOLO11 обеспечивает встроенную поддержку широкого спектра задач компьютерного зрения, включая сегментацию объектов, оценку позы, обнаружение ориентированных объектов (OBB) и классификацию. Это позволяет разработчикам решать сложные, многоступенчатые задачи с помощью одного фреймворка.
Кроме того, экосистемаUltralytics активно поддерживается, обеспечивая совместимость с последними версиями Python , обновлениями PyTorch и целями развертывания, такими как CoreML, OpenVINOи ONNX.
Эффективность и простота использования
YOLO11 разработан для повышения эффективности обучения и обычно требует меньше памяти GPU , чем альтернативы на основе трансформаторов (например, RT-DETR) или старые версии YOLO . Это позволяет исследователям обучать более крупные модели на оборудовании потребительского класса. API на Python отличается простотой, позволяя пользователям переходить от установки к выводам всего за несколько строк кода:
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 при сопоставимой или более высокой скорости вычислений, чем YOLOv6 и YOLOX. Такая "оптимальная по Парето" производительность делает его рекомендованным выбором для приложений, начиная от автономных транспортных средств и заканчивая анализом медицинских изображений.
Заключение
При сравнении YOLOv6.0 и YOLOX выбор в значительной степени зависит от ваших конкретных ограничений. YOLOv6.0 - лучший выбор для строго промышленного развертывания GPU , где критична задержка на уровне миллисекунд. YOLOX остается надежным выбором для исследований в области безъякорных архитектур и для сред хранения данных со сверхвысокими ограничениями благодаря модели Nano.
Однако для разработчиков, которые ищут перспективное решение, сочетающее в себе высочайшую производительность и простую в использовании, многофункциональную платформу, Ultralytics YOLO11 является безусловным победителем. Его способность легко справляться с множеством задач в сочетании с обширной документацией и широкой поддержкой развертывания ускоряет жизненный цикл разработки от концепции до производства.
Изучите другие сравнения, чтобы узнать, как модели Ultralytics соотносятся с RT-DETR или YOLOv7.