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

DAMO-YOLO против YOLOv9: техническое сравнение

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

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

DAMO-YOLO — это фреймворк для обнаружения объектов, разработанный Alibaba с использованием методологии «once-for-all». Он уделяет первостепенное внимание низкой задержке и высокой пропускной способности, что делает его сильным претендентом для промышленных применений, требующих строго определенных ограничений скорости на конкретном оборудовании.

Авторы: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang и Xiuyu Sun
Организация:Alibaba Group
Дата: 2022-11-23
Arxiv:https://arxiv.org/abs/2211.15444
GitHub:https://github.com/tinyvision/DAMO-YOLO

Архитектурные инновации

DAMO-YOLO отличается автоматизированными процессами проектирования и эффективными компонентами:

  • Поиск нейронной архитектуры (NAS): Вместо ручного проектирования backbones, DAMO-YOLO использует поиск нейронной архитектуры (NAS) для обнаружения эффективных структур (TinyNAS), адаптированных к различным вычислительным бюджетам.
  • RepGFPN Neck: Он представляет собой эффективную вариацию Generalized Feature Pyramid Network (GFPN), получившую название RepGFPN. Этот компонент оптимизирует объединение признаков и поддерживает повторную параметризацию, что позволяет увеличить скорость инференса.
  • ZeroHead: В модели используется легкая головка обнаружения "ZeroHead", которая снижает вычислительные затраты, обычно связанные со сложными головками обнаружения.
  • AlignedOTA: Для повышения стабильности и точности обучения используется AlignedOTA — стратегия назначения меток, которая решает проблемы рассогласования между задачами классификации и регрессии.

Сильные стороны и ограничения

Основная сила DAMO-YOLO заключается в ее скорости вывода. Архитектура сильно оптимизирована для высокой пропускной способности GPU, что делает ее подходящей для конвейеров видеоаналитики, где критически важен объем обработки. Кроме того, использование дистилляции повышает производительность ее небольших моделей.

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

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

YOLOv9: Программируемые градиенты для максимальной эффективности

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

Авторы: Чен-Яо Ван, Хун-Юань Марк Ляо
Организация:Институт информатики, Academia Sinica, Тайвань
Дата: 2024-02-21
Arxiv:https://arxiv.org/abs/2402.13616
GitHub:https://github.com/WongKinYiu/yolov9
Документация:https://docs.ultralytics.com/models/yolov9/

Основная архитектура: PGI и GELAN

YOLOv9 представляет две новаторские технологии, которые отличают его от других:

  1. Программируемая градиентная информация (PGI): Глубокие сети часто страдают от информационного узкого места, где входные данные теряются при прохождении через слои. PGI предоставляет вспомогательную ветвь контроля, которая генерирует надежные градиенты, гарантируя, что глубокие слои получают полную информацию для точного обновления весов.
  2. Обобщенная эффективная сеть агрегации слоев (GELAN): Эта новая архитектура сочетает в себе сильные стороны CSPNet и ELAN. GELAN разработана для максимального использования параметров, обеспечивая модель, которая является одновременно легкой и невероятно мощной.

Почему важен PGI

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

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

При использовании YOLOv9 в экосистеме Ultralytics разработчики получают значительные преимущества по сравнению с автономными реализациями:

  • Простота использования: Python API и CLI от Ultralytics абстрагируют сложные конвейеры обучения в простые команды.
  • Эффективность обучения: Методологии Ultralytics обеспечивают оптимальное использование ресурсов. YOLOv9 обычно требует меньше памяти CUDA во время обучения по сравнению с детекторами на основе трансформеров, что делает его доступным на более широком спектре оборудования.
  • Универсальность: Хотя основное внимание в статье о YOLOv9 уделяется обнаружению, платформа Ultralytics облегчает расширение этих архитектур для других задач и обеспечивает беспрепятственный экспорт в такие форматы, как ONNX, TensorRT и OpenVINO.

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

Анализ производительности: Точность vs. Эффективность

В приведенном ниже сравнении освещаются компромиссы между DAMO-YOLO и YOLOv9. В то время как DAMO-YOLO предлагает конкурентоспособную скорость на определенном оборудовании, YOLOv9 стабильно обеспечивает более высокую среднюю точность (mAP) с меньшим количеством параметров, демонстрируя превосходную архитектурную эффективность.

Модельразмер
(пиксели)
mAPval
50-95
Скорость
CPU ONNX
(мс)
Скорость
T4 TensorRT10
(мс)
параметры
(M)
FLOPs
(B)
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
YOLOv9t64038.3-2.32.07.7
YOLOv9s64046.8-3.547.126.4
YOLOv9m64051.4-6.4320.076.3
YOLOv9c64053.0-7.1625.3102.1
YOLOv9e64055.6-16.7757.3189.0

Основные выводы:

  • Эффективность параметров: YOLOv9s достигает более высокого mAP (46,8), чем DAMO-YOLOs (46,0), используя при этом менее половины параметров (7,1 млн против 16,3 млн). Это делает YOLOv9 значительно более удобным для хранения и более простым в обновлении по беспроводной сети для устройств периферийного ИИ.
  • Максимальная точность: Самые крупные варианты YOLOv9 (c и e) расширяют границы точности далеко за пределы DAMO-YOLO, достигая 55,6 mAP.
  • Скорость: В то время как DAMO-YOLO демонстрирует небольшое преимущество в необработанной задержке TensorRT для средних моделей, YOLOv9t чрезвычайно быстр (2.3 мс), что делает его идеальным для мобильных приложений реального времени.

Методологии обучения и удобство использования

Опыт обучения значительно различается между двумя моделями. Зависимость DAMO-YOLO от NAS подразумевает сложную фазу поиска для получения архитектуры или использование предварительно найденных backbones. Ее подход "один раз для всего" может быть вычислительно затратным, если требуется настройка структуры backbone.

В отличие от этого, YOLOv9, поддерживаемый Ultralytics, предлагает оптимизированный режим обучения. Пользователи могут точно настраивать модели на пользовательских наборах данных, таких как Open Images V7, или специализированных коллекциях с минимальной конфигурацией. Интеграция с Ultralytics HUB обеспечивает облачное обучение, визуализацию и развертывание в один клик, демократизируя доступ к передовому искусственному интеллекту, не требуя глубоких знаний в NAS или настройке гиперпараметров.

Пример кода: Обучение YOLOv9

Реализация YOLOv9 проста с пакетом Ultralytics python.

from ultralytics import YOLO

# Load a pre-trained YOLOv9 model
model = YOLO("yolov9c.pt")

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

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

Идеальные варианты использования

Когда следует выбирать DAMO-YOLO

  • Масштабная обработка видео: Если вы обрабатываете тысячи видеопотоков на определенных серверных GPU, где каждая миллисекунда задержки приводит к значительной экономии затрат на инфраструктуру, оптимизация DAMO-YOLO для высокой пропускной способности может быть полезной.
  • Фиксированные аппаратные ограничения: Для сценариев, где аппаратное обеспечение известно и статично, можно выбрать архитектуры, полученные с помощью NAS, чтобы идеально заполнить доступный вычислительный бюджет.

Когда следует выбирать YOLOv9

  • Универсальное компьютерное зрение: Для большинства разработчиков, работающих в области робототехники, безопасности или розничной аналитики, YOLOv9 предлагает наилучший баланс точности и простоты использования.
  • Развертывание на периферии: Благодаря превосходной эффективности параметров (например, YOLOv9s), он лучше подходит для устройств с ограничениями, таких как Raspberry Pi или NVIDIA Jetson, оставляя больше места для других приложений.
  • Исследования и разработки: Архитектура PGI предоставляет увлекательную основу для дальнейших исследований в области эффективности глубокого обучения.
  • Требуется зрелая экосистема: Если вашему проекту требуется надежный tracking, простой экспорт в CoreML или TFLite и активная поддержка сообщества, то экосистема Ultralytics, окружающая YOLOv9, не имеет себе равных.

Заключение

DAMO-YOLO и YOLOv9 демонстрируют быстрые инновации в области object detection. DAMO-YOLO доказывает ценность Neural Architecture Search для максимального повышения скорости. Однако YOLOv9 выделяется как более универсальное и мощное решение для большинства пользователей.

Решая проблему узкого места информации глубокого контроля с помощью PGI и оптимизируя слои с помощью GELAN, YOLOv9 обеспечивает высочайшую точность с замечательной эффективностью. В сочетании с экосистемой Ultralytics он предлагает надежную, хорошо поддерживаемую и удобную платформу, которая ускоряет путь от концепции до развертывания. Для разработчиков, стремящихся создавать передовые приложения компьютерного зрения с уверенностью, модели Ultralytics YOLO остаются превосходным выбором.

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

Если вам интересно изучить другие современные варианты в семействе Ultralytics или провести дальнейшее сравнение, рассмотрите следующие ресурсы:


Комментарии