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

YOLOX против DAMO-YOLO: глубокий анализ эволюции object detection

Ландшафт object detection постоянно развивается, и исследователи постоянно расширяют границы точности, скорости вывода и архитектурной эффективности. Двумя заметными вкладами в эту область являются YOLOX и DAMO-YOLO. YOLOX оживил семейство YOLO, представив механизм без привязки к якорям, а DAMO-YOLO использовал Neural Architecture Search (NAS) для оптимизации производительности специально для промышленных приложений.

В этом руководстве представлено всестороннее техническое сравнение, которое поможет разработчикам и исследователям понять нюансы каждой модели, их идеальные варианты использования и то, как они соотносятся с современными решениями, такими как Ultralytics YOLO11.

YOLOX: пионер Anchor-Free

YOLOX, разработанная Megvii, ознаменовала собой значительный сдвиг в родословной YOLO, когда была выпущена в 2021 году. Переключившись на безякорную конструкцию, она упростила процесс обучения и устранила необходимость в сложных вычислениях якорных рамок, которые были основным элементом предыдущих итераций, таких как YOLOv4 и YOLOv5.

Технические детали:

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

Ключевые архитектурные особенности

YOLOX объединяет несколько передовых методов для достижения своей производительности:

  1. Механизм без Anchor: Прогнозируя центры объектов напрямую, YOLOX уменьшает количество параметров проектирования и эвристических этапов настройки, связанных с методами на основе anchor.
  2. Разделенная голова (Decoupled Head): В отличие от связанных голов, которые обрабатывают классификацию и регрессию вместе, YOLOX разделяет эти задачи. Это разделение улучшает скорость сходимости и общую точность.
  3. SimOTA: Продвинутая стратегия назначения меток, называемая Simplified Optimal Transport Assignment (SimOTA), динамически назначает положительные примеры ground truths, оптимизируя цель обучения более эффективно, чем статическое сопоставление.

Почему без привязки к якорям?

Детекторы без якорей упрощают структуру модели, устраняя необходимость вручную настраивать гиперпараметры рамок-якорей (такие как размер и соотношение сторон) для конкретных наборов данных. Это часто приводит к лучшей генерализации для объектов различных форм.

DAMO-YOLO: оптимизированный поиск нейронной архитектуры

DAMO-YOLO, выпущенная Alibaba Group в конце 2022 года, направлена на устранение разрыва между высокой производительностью и низкой задержкой. В ней используются автоматизированные методы машинного обучения для обнаружения эффективных сетевых структур, что делает ее сильным претендентом для промышленных приложений, требующих обработки в реальном времени.

Технические детали:

Узнайте больше о DAMO-YOLO

Ключевые архитектурные особенности

DAMO-YOLO представляет несколько "новых технологий" в экосистеме YOLO:

  1. Бэкбон MAE-NAS: Модель использует бэкбон, сгенерированный с помощью поиска нейронной архитектуры (NAS) на основе метрики Mean Absolute Error (MAE). Это гарантирует, что экстрактор признаков идеально подходит для задачи detect.
  2. RepGFPN: Тяжелая конструкция neck на основе Generalized Feature Pyramid Network (GFPN), использующая репараметризацию для максимальной эффективности слияния признаков при сохранении низкой задержки при выводе.
  3. ZeroHead: упрощенная головка обнаружения, которая снижает вычислительные затраты без ущерба для точности предсказаний.
  4. AlignedOTA: Эволюция назначения меток, которая лучше согласовывает оценки классификации с точностью регрессии, обеспечивая приоритет высококачественным прогнозам.

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

При сравнении этих двух моделей крайне важно учитывать компромиссы между точностью (mAP) и скоростью инференса (задержкой). В таблице ниже показано, что, хотя YOLOX остается конкурентоспособной, новая архитектура DAMO-YOLO обычно обеспечивает более высокую скорость на оборудовании GPU при аналогичных уровнях точности.

Модельразмер
(пиксели)
mAPval
50-95
Скорость
CPU ONNX
(мс)
Скорость
T4 TensorRT10
(мс)
параметры
(M)
FLOPs
(B)
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
DAMO-YOLOt64042.0-2.328.518.1
DAMO-YOLOs64046.0-3.4516.337.8
DAMO-YOLOm64049.2-5.0928.261.8
DAMO-YOLOl64050.8-7.1842.197.3

Основные пункты сравнения

  • Скорость vs. Точность: DAMO-YOLO-Tiny (DAMO-YOLOt) достигает более высокого mAP (42.0), чем YOLOX-Small (40.5), при этом работает быстрее (2.32 мс против 2.56 мс) и использует меньше FLOPs. Это демонстрирует эффективность NAS-оптимизированного backbone.
  • Эффективность параметров: YOLOX-Nano чрезвычайно легок (0,91 млн параметров), что делает его жизнеспособным вариантом для крайне ограниченных в ресурсах периферийных устройств, где важен каждый байт, хотя DAMO-YOLO не предлагает прямого конкурента в этом конкретном масштабе.
  • Максимальная производительность: В то время как YOLOX-X повышает точность до 51,1 mAP, он делает это с огромным количеством параметров (99,1M). DAMO-YOLO-Large достигает сопоставимого 50,8 mAP с менее чем половиной параметров (42,1M), что подчеркивает более современный и эффективный дизайн.

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

Выбор между YOLOX и DAMO-YOLO часто зависит от конкретной среды развертывания.

  • YOLOX хорошо подходит для исследовательских сред и сценариев, требующих простой реализации anchor-free. Его зрелость означает, что существует множество ресурсов сообщества и руководств. Это сильный кандидат для задач object detection общего назначения, где требуется совместимость с устаревшими системами.
  • DAMO-YOLO превосходен в промышленной автоматизации и приложениях умного города, где критически важна низкая задержка на GPU. Его оптимизированная архитектура делает его идеальным для высокопроизводительной видеоаналитики и обнаружения дефектов в режиме реального времени в производстве.

Ultralytics YOLO11: Превосходная альтернатива

В то время как YOLOX и DAMO-YOLO предлагают надежные возможности detectирования, они в значительной степени ограничены этой единственной задачей и не имеют единой, поддерживающей экосистемы. Для разработчиков, ищущих комплексное решение, Ultralytics YOLO11 представляет собой современный уровень развития в области vision AI.

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

Модели Ultralytics разработаны не просто как архитектуры, а как полноценные инструменты для разработчиков.

Почему стоит выбрать Ultralytics YOLO11?

  1. Универсальность в различных задачах: В отличие от YOLOX и DAMO-YOLO, которые в основном сосредоточены на detection ограничивающих прямоугольников, YOLO11 изначально поддерживает широкий спектр задач компьютерного зрения. Это включает в себя сегментацию экземпляров, оценку позы, detection ориентированных объектов (OBB) и классификацию изображений.
  2. Непревзойденная простота использования: Ultralytics Python API позволяет обучать, проверять и развертывать модели всего несколькими строками кода. Нет необходимости клонировать сложные репозитории или вручную настраивать пути среды.
  3. Хорошо поддерживаемая экосистема: Ultralytics предоставляет частые обновления, обеспечивая совместимость с последними версиями PyTorch, ONNX и TensorRT. Активное сообщество и обширная документация означают, что вы никогда не останетесь без поддержки.
  4. Эффективность обучения и память: YOLO11 разработана для эффективности. Обычно она требует меньше памяти GPU во время обучения по сравнению со старыми архитектурами или тяжелыми моделями на основе трансформеров, что позволяет быстрее выполнять итерации и снижает затраты на облачные вычисления.
  5. Баланс производительности: YOLO11 опирается на наследие предыдущих версий YOLO, чтобы обеспечить оптимальный баланс скорости и точности, что делает его пригодным для развертывания на всем, от периферийных устройств NVIDIA Jetson до облачных серверов корпоративного уровня.

Простота использования с Ultralytics

Обучение модели YOLO11 невероятно просто по сравнению с традиционными фреймворками.

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.pt")  # load a pretrained model

# Train the model
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference
results = model("path/to/image.jpg")

Заключение

И YOLOX, и DAMO-YOLO заслужили свое место в истории компьютерного зрения. YOLOX успешно популяризировал парадигму без привязки к якорям, в то время как DAMO-YOLO продемонстрировал возможности поиска нейронной архитектуры для оптимизации промышленных детекторов. Однако, для современных приложений, требующих гибкости, долгосрочной поддержки и многозадачности, Ultralytics YOLO11 выделяется как лучший выбор. Его интеграция в надежную экосистему, в сочетании с современной производительностью и минимальным объемом памяти, позволяет разработчикам с легкостью создавать масштабируемые и эффективные решения AI.

Изучите другие модели

Для более широкого взгляда на то, как эти модели соотносятся с другими современными архитектурами, изучите наши подробные страницы сравнения:


Комментарии