Перейти к содержанию

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, что потенциально ограничивает доступность сторонних руководств и предварительно обученных весов для нишевых наборов данных.

Узнайте больше о YOLOv6

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.

Узнайте больше о YOLOX

Сравнение производительности: Метрики и анализ

В следующей таблице представлено прямое сравнение ключевых показателей производительности на датасете COCO.

Модельразмер
(пиксели)
mAPval
50-95
Скорость
CPU ONNX
(мс)
Скорость
T4 TensorRT10
(мс)
параметры
(M)
FLOPs
(B)
YOLOv6-3.0n64037.5-1.174.711.4
YOLOv6-3.0s64045.0-2.6618.545.3
YOLOv6-3.0m64050.0-5.2834.985.8
YOLOv6-3.0l64052.8-8.9559.6150.7
YOLOXnano41625.8--0.911.08
YOLOXtiny41632.8--5.066.45
YOLOXs64040.5-2.569.026.8
YOLOXm64046.9-5.4325.373.8
YOLOXl64049.7-9.0454.2155.6
YOLOXx64051.1-16.199.1281.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.


Комментарии