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

YOLOv6-3.0 против YOLOX: Глубокий анализ эволюции обнаружения объектов в реальном времени

Область обнаружения объектов быстро развивается, а новые архитектуры постоянно расширяют границы скорости и точности. Двумя важными вехами в этом процессе являются YOLOv6.YOLOv6 и YOLOX. Хотя обе системы нацелены на обеспечение производительности в реальном времени, они значительно различаются по архитектурной философии и предполагаемым областям применения.

YOLOv6.YOLOv6, разработанный Meituan, специально предназначен для промышленного применения и ориентирован на высокую пропускную способность на специализированном оборудовании, таком как графические процессоры. Напротив, YOLOX от Megvii представил высокопроизводительную конструкцию детектора без анкеров, которая стала фаворитом в исследовательском сообществе благодаря своей чистой архитектуре и надежной базовой производительности.

Обзоры моделей

YOLOv6-3.0: Промышленный скоростной

Выпущенная как «полномасштабная переработка» оригинальной версии YOLOv6, версия 3.0 в значительной степени сосредоточена на инженерных оптимизациях для развертывания. В ней используется магистраль в стиле RepVGG, которая эффективна при выводах, но сложна при обучении, что делает ее лучшим выбором для автоматизации производства и статического наблюдения, где доступна GPU .

  • Авторы: Чуйи Ли, Лулу Ли, Ифэй Генг, Хунлян Цзян, Мэн Чэн, Бо Чжан, Зайдан Ке, Сяомин Сюй и Сянсян Чу
  • Организация:Meituan
  • Дата: 2023-01-13
  • Arxiv:YOLOv6 v3.0: A Full-Scale Reloading
  • GitHub:meituan/YOLOv6

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

YOLOX: пионер Anchor-Free

YOLOX оживил YOLO в 2021 году, перейдя на механизм без якорей и отделив головку прогнозирования. Это упростило процесс обучения, устранив необходимость в ручной кластеризации якорных ячеек, что было распространенной проблемой в предыдущих поколениях. Его стратегия присвоения меток «SimOTA» позволяет ему эффективно обрабатывать окклюзию и различные масштабы объектов.

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

Анализ производительности

При сравнении этих моделей важную роль играет аппаратное обеспечение. YOLOv6. YOLOv6 значительно оптимизирована для TensorRT графических процессоров NVIDIA , часто демонстрируя превосходную частоту кадров в этих конкретных средах. YOLOX обеспечивает сбалансированный профиль производительности, который остается конкурентоспособным, особенно в своих облегченных конфигурациях «Nano» и «Tiny» для периферийных устройств.

В таблице ниже представлены показатели производительности на 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. YOLOv6 демонстрирует более высокую частоту кадров на графических процессорах благодаря объединению блоков RepVGG, YOLOX-Nano остается невероятно легким вариантом для ограниченных процессоров, обладая меньшим количеством параметров и FLOP, чем самый маленький YOLOv6 .

Ключевые архитектурные различия

Инновации YOLOv6.0

YOLOv6 представляет двунаправленную сеть агрегации путей (Bi-PAN), которая улучшает слияние характеристик в разных масштабах. Она использует Anchor-Aided Training (AAT), гибридный подход, который использует назначение на основе якорей во время обучения для стабилизации головы инференции без якорей. Кроме того, она активно использует самодистилляцию для повышения точности меньших моделей без увеличения затрат на инференцию.

YOLOX Инновации

YOLOX отличается своей «развязанной головкой», которая разделяет задачи классификации и регрессии на разные ветви. Такое разделение обычно приводит к более быстрой конвергенции и повышению точности. Его основная инновация, SimOTA (Simplified Optimal Transport Assignment), рассматривает присвоение меток как задачу оптимального транспорта, динамически присваивая положительные образцы к реальным данным на основе глобальной функции затрат. Это делает YOLOX надежным в переполненных сценах, которые часто встречаются в аналитике розничной торговли.

Случаи использования и приложения

Идеально подходит для YOLOv6-3.0

  • Промышленная инспекция: высокая пропускная способность модели на графических процессорах T4 делает ее идеальной для обнаружения дефектов на быстро движущихся сборочных линиях.
  • Умное городское наблюдение: для одновременной обработки нескольких видеопотоков в режиме реального времени, например, для подсчета транспортных средств или анализа транспортных потоков.
  • Автоматизация розничной торговли: высокоскоростные системы оформления покупок, требующие низкой задержки на выделенных пограничных серверах.

Идеально подходит для YOLOX

  • Академические исследования: чистая кодовая база и логика без анкоров делают его отличной отправной точкой для тестирования новых теорий в области компьютерного зрения.
  • Устаревшие периферийные устройства: Варианты Nano и Tiny в значительной степени оптимизированы для мобильных чипсетов, в которых вычислительные ресурсы сильно ограничены, например, для старых конфигураций Raspberry Pi.
  • Общее обнаружение: для проектов, требующих баланса между точностью и простотой понимания без сложности обучения с учетом квантования.

Преимущество экосистемы Ultralytics

Хотя YOLOv6 и YOLOX предлагают надежные возможности, их использование через экосистему Ultralytics предоставляет отчетливые преимущества для разработчиков и предприятий.

  1. Единый API и простота использования: Ultralytics сложные циклы обучения в простой Python . Независимо от того, используете ли вы YOLOv6, YOLOX или новейший YOLO26, код остается неизменным.
  2. Универсальность: в отличие от исходных репозиториев, которые в основном ориентированы на обнаружение, Ultralytics поддержку сегментации экземпляров, оценки положения и ориентированных ограничивающих прямоугольников (OBB) для всех поддерживаемых моделей.
  3. Эффективность обучения: Модели Ultralytics оптимизированы для снижения потребления памяти во время обучения. Это критический фактор по сравнению со многими моделями на основе трансформеров (такими как RT-DETR), которые часто требуют значительной памяти CUDA.
  4. Развертывание: Экспорт в такие форматы, как ONNX, TensorRT, CoreML и OpenVINO, осуществляется бесшовно, гарантируя эффективную работу ваших моделей на любом оборудовании.
  5. Ultralytics : Ultralytics позволяет управлять наборами данных, проводить обучение в облаке и развертывать модели без написания обширного шаблонного кода.

Следующее поколение: YOLO26

Для разработчиков, стремящихся к абсолютному передовому уровню, модель YOLO26 превосходит как YOLOX, так и YOLOv6 критически важных областях, что представляет собой значительный скачок вперед в 2026 году.

  • Сквозной дизайн NMS: YOLO26 изначально является сквозным, что исключает необходимость постобработки с помощью алгоритма Non-Maximum Suppression (NMS). Это обеспечивает более быстрое и простое развертывание, а также меньшую вариативность задержки.
  • Оптимизатор MuSGD: вдохновленный инновациями в области обучения LLM, новый оптимизатор MuSGD обеспечивает более стабильную динамику обучения и более быструю конвергенцию, что является первым достижением для моделей зрения.
  • Скорость и эффективность: благодаря устранению распределительной фокальной потери (DFL) и оптимизации для пограничных вычислений YOLO26 обеспечивает ускорение CPU до 43%, открывая новые возможности для IoT и робототехники.
  • Повышенная точность: такие функции, как ProgLoss и STAL, обеспечивают заметное улучшение распознавания мелких объектов, что имеет решающее значение для аэрофотосъемки и применения дронов.

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

Пример кода

Обучение модели с помощью Ultralytics сложности. Фреймворк автоматически обрабатывает увеличение объема данных, настройку гиперпараметров и ведение журнала.

from ultralytics import YOLO

# Load a pretrained model (YOLO26 recommended for best performance)
model = YOLO("yolo26n.pt")

# Train the model on the COCO8 example dataset
# The system automatically handles data downloading and preparation
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")

Независимо от того, выберете ли вы промышленную мощность YOLOv6. YOLOv6, удобный для исследований YOLOX или ультрасовременный YOLO26, Ultralytics гарантирует, что ваш рабочий процесс останется эффективным, масштабируемым и перспективным.


Комментарии