DAMO-YOLO vs. EfficientDet: техническое сравнение
Выбор подходящей модели обнаружения объектов — это критически важное решение, которое уравновешивает точность, скорость и вычислительные затраты. На этой странице представлено подробное техническое сравнение DAMO-YOLO, высокопроизводительного детектора от Alibaba Group, и EfficientDet, семейства высокоэффективных моделей от Google. Несмотря на то, что обе модели являются мощными, они основаны на разных принципах проектирования: DAMO-YOLO отдает приоритет передовой скорости и точности благодаря новым архитектурным компонентам, в то время как EfficientDet фокусируется на максимальной эффективности параметров и FLOP за счет составного масштабирования.
Мы проанализируем их архитектуры, эталонные показатели производительности и идеальные варианты использования, чтобы помочь вам определить, что лучше всего подходит для вашего проекта. Мы также рассмотрим, как современные альтернативы, такие как модели Ultralytics YOLO, предлагают убедительное сочетание этих атрибутов в рамках удобной и универсальной экосистемы.
DAMO-YOLO
DAMO-YOLO — это современная модель обнаружения объектов в реальном времени, разработанная исследователями из Alibaba Group. В ней представлено несколько новых методов для расширения границ производительности и эффективности детекторов объектов. Модель использует поиск нейронной архитектуры (NAS) для обнаружения оптимальных базовых сетей и включает в себя эффективную сеть пирамиды признаков и облегченную головку обнаружения для достижения впечатляющих результатов.
Технические детали
- Авторы: Сяньчжэ Сюй, Ици Цзян, Вэйхуа Чэнь, Илунь Хуан, Юань Чжан и Сююй Сунь
- Организация: Alibaba Group
- Дата: 23.11.2022
- Arxiv: https://arxiv.org/abs/2211.15444v2
- GitHub: https://github.com/tinyvision/DAMO-YOLO
- Документация: https://github.com/tinyvision/DAMO-YOLO/blob/master/README.md
Архитектура и ключевые особенности
Архитектура DAMO-YOLO основана на нескольких ключевых инновациях:
- NAS-Powered Backbone: Вместо использования разработанного вручную backbone, DAMO-YOLO использует Neural Architecture Search (NAS) для поиска более эффективной структуры, в результате чего получается пользовательский backbone "MazeNet", оптимизированный для извлечения признаков.
- Эффективный RepGFPN Neck: Он использует эффективную версию Generalized Feature Pyramid Network (GFPN) с методами повторной параметризации. Это обеспечивает мощное многомасштабное слияние признаков с минимальными вычислительными затратами во время инференса.
- ZeroHead: Модель представляет собой облегченную anchor-free detector структуру под названием ZeroHead, которая значительно сокращает количество параметров и вычислений, необходимых для окончательных прогнозов обнаружения.
- Назначение меток AlignedOTA: Используется улучшенная стратегия назначения меток под названием AlignedOTA, которая помогает модели лучше обучаться, более эффективно сопоставляя фактические ограничивающие рамки с прогнозами во время обучения.
Сильные стороны
- Высокая скорость инференса на GPU: DAMO-YOLO исключительно быстра на GPU, что делает ее лучшим выбором для приложений, требующих производительности в реальном времени.
- Высокая точность: Достигает высокой средней точности (mAP), конкурируя или превосходя многие другие модели в своем классе скорости.
- Инновационный дизайн: Использование NAS и пользовательского neck/head демонстрирует современный подход к проектированию детекторов, расширяя границы возможного.
Слабые стороны
- Экосистема и удобство использования: Модель менее интегрирована в комплексную платформу, что может усложнить обучение, развертывание и обслуживание по сравнению с решениями с надежной экосистемой.
- Производительность CPU: Модель в значительной степени оптимизирована для оборудования GPU, и ее производительность на CPU не так хорошо документирована или приоритетна.
- Специализация по задачам: DAMO-YOLO разработан специально для обнаружения объектов, и ему не хватает встроенной универсальности для обработки других задач компьютерного зрения, таких как сегментация или оценка позы.
Идеальные варианты использования
DAMO-YOLO лучше всего подходит для сценариев, где основным требованием является высокоскоростное и высокоточное обнаружение на GPU-оборудовании. Это включает в себя такие приложения, как видеоаналитика в реальном времени, робототехника и передовые системы наблюдения.
EfficientDet
EfficientDet — это семейство масштабируемых моделей обнаружения объектов, разработанное командой Google Brain. Его основное нововведение — это сочетание эффективного backbone, новой сети объединения признаков и метода составного масштабирования, который равномерно масштабирует глубину, ширину и разрешение модели. Этот подход позволяет EfficientDet достичь высокой эффективности с точки зрения как количества параметров, так и FLOPs.
Узнайте больше об EfficientDet
Технические детали
- Авторы: Мингксинг Тан, Руоминг Панг и Куок В. Ле
- Организация: Google
- Дата: 20.11.2019
- Arxiv: https://arxiv.org/abs/1911.09070
- GitHub: https://github.com/google/automl/tree/master/efficientdet
- Документация: https://github.com/google/automl/tree/master/efficientdet#readme
Архитектура и ключевые особенности
Архитектура EfficientDet определяется тремя основными компонентами:
- EfficientNet Backbone: Он использует высокоэффективный EfficientNet в качестве своей базовой сети для извлечения признаков, которая сама была разработана с использованием NAS.
- BiFPN (Bi-directional Feature Pyramid Network): EfficientDet представляет BiFPN, новую сеть признаков, которая обеспечивает простое и быстрое объединение многомасштабных признаков. Она включает в себя взвешенные соединения для определения важности различных входных признаков и многократно применяет объединение сверху вниз и снизу вверх.
- Составное масштабирование: Ключевой особенностью является метод составного масштабирования, который принципиально масштабирует backbone сеть, сеть признаков и detection head. Это гарантирует, что по мере увеличения модели ее точность предсказуемо улучшается без потери вычислительных ресурсов.
Сильные стороны
- Эффективность параметров и FLOP: Модели EfficientDet исключительно эффективны, требуя меньше параметров и FLOPs, чем многие другие модели с аналогичным уровнем точности.
- Масштабируемость: Семейство моделей масштабируется от легкой D0 до большой D7, предоставляя широкий спектр опций для соответствия различным вычислительным возможностям, от периферийных устройств до облачных серверов.
- Высокая производительность CPU: Благодаря своей эффективности, EfficientDet хорошо работает на CPU, что делает его жизнеспособным вариантом для развертываний без выделенного оборудования GPU.
Слабые стороны
- Более медленный инференс на GPU: Будучи эффективным, EfficientDet может иметь более высокую задержку на GPU, чем такие модели, как DAMO-YOLO, которые специально оптимизированы для скорости.
- Сложность объединения признаков: BiFPN, хотя и эффективен, добавляет уровень сложности, который может привести к более высокой задержке по сравнению с более простыми односторонними путями объединения.
- Ограниченная универсальность: Как и DAMO-YOLO, EfficientDet — это в первую очередь детектор объектов, который изначально не поддерживает другие задачи компьютерного зрения в рамках своего оригинального фреймворка.
Идеальные варианты использования
EfficientDet — отличный выбор для приложений, где вычислительные ресурсы и размер модели являются существенными ограничениями. Он превосходен в сценариях edge AI, мобильных приложениях и масштабных облачных сервисах, где минимизация эксплуатационных расходов имеет решающее значение. Его масштабируемость делает его подходящим для проектов, которые, возможно, потребуется развернуть на различных аппаратных платформах.
Анализ производительности: скорость в сравнении с точностью
Производительность DAMO-YOLO и EfficientDet подчеркивает их различные приоритеты проектирования.
Модель | размер (пиксели) |
mAPval 50-95 |
Скорость CPU ONNX (мс) |
Скорость T4 TensorRT10 (мс) |
параметры (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
DAMO-YOLOt | 640 | 42.0 | - | 2.32 | 8.5 | 18.1 |
DAMO-YOLOs | 640 | 46.0 | - | 3.45 | 16.3 | 37.8 |
DAMO-YOLOm | 640 | 49.2 | - | 5.09 | 28.2 | 61.8 |
DAMO-YOLOl | 640 | 50.8 | - | 7.18 | 42.1 | 97.3 |
EfficientDet-d0 | 640 | 34.6 | 10.2 | 3.92 | 3.9 | 2.54 |
EfficientDet-d1 | 640 | 40.5 | 13.5 | 7.31 | 6.6 | 6.1 |
EfficientDet-d2 | 640 | 43.0 | 17.7 | 10.92 | 8.1 | 11.0 |
EfficientDet-d3 | 640 | 47.5 | 28.0 | 19.59 | 12.0 | 24.9 |
EfficientDet-d4 | 640 | 49.7 | 42.8 | 33.55 | 20.7 | 55.2 |
EfficientDet-d5 | 640 | 51.5 | 72.5 | 67.86 | 33.7 | 130.0 |
EfficientDet-d6 | 640 | 52.6 | 92.8 | 89.29 | 51.9 | 226.0 |
EfficientDet-d7 | 640 | 53.7 | 122.0 | 128.07 | 51.9 | 325.0 |
- DAMO-YOLO явно доминирует по скорости GPU, при этом его самая маленькая модель достигает задержки в 2,32 мс. Он предлагает сильный mAP для своей скорости, что делает его лидером производительности для приложений GPU в реальном времени.
- EfficientDet превосходен в эффективности использования ресурсов. Модель EfficientDet-D0 имеет наименьшее количество параметров (3,9 млн) и FLOPs (2,54 млрд) с большим отрывом, а также лучшую скорость CPU. Семейство масштабируется до самой высокой точности (53,7 mAP для D7), но это достигается за счет значительного снижения скорости инференса, особенно на GPU.
Преимущество Ultralytics: Превосходная альтернатива
Несмотря на то, что DAMO-YOLO и EfficientDet сильны в своих нишах, разработчикам часто требуется решение, которое обеспечивает превосходный баланс производительности, удобства использования и универсальности. Модели Ultralytics, такие как YOLOv8 и новейшая YOLO11, предлагают убедительную и часто превосходящую альтернативу.
Ключевые преимущества использования моделей Ultralytics включают:
- Простота использования: Оптимизированный Python API, подробная документация и понятное использование CLI значительно упрощают начало работы, обучение и развертывание моделей.
- Хорошо поддерживаемая экосистема: Ultralytics предоставляет активно разрабатываемую и поддерживаемую экосистему с сильным сообществом на GitHub, частыми обновлениями и бесшовной интеграцией с Ultralytics HUB для управления наборами данных и MLOps.
- Баланс производительности: Модели Ultralytics высоко оптимизированы для достижения превосходного компромисса между скоростью и точностью на CPU и GPU, что делает их подходящими для широкого спектра реальных сценариев развертывания.
- Эффективность использования памяти: Модели Ultralytics YOLO разработаны для эффективного использования памяти, часто требуя меньше памяти CUDA для обучения и инференса по сравнению с более сложными архитектурами.
- Универсальность: В отличие от однозадачных моделей, модели Ultralytics YOLO изначально поддерживают несколько задач компьютерного зрения, включая обнаружение объектов, сегментацию экземпляров, классификацию изображений, оценку позы и ориентированные ограничивающие рамки (OBB), и все это в рамках единой унифицированной структуры.
- Эффективность обучения: Воспользуйтесь преимуществами быстрого времени обучения, эффективной загрузки данных и готовых предварительно обученных весов на наборах данных, таких как COCO.
Заключение
И DAMO-YOLO, и EfficientDet предлагают мощные возможности для обнаружения объектов. DAMO-YOLO - это выбор для пользователей, которым нужна максимальная скорость инференса GPU с высокой точностью. EfficientDet предоставляет масштабируемое семейство моделей с беспрецедентной эффективностью параметров и FLOP, что делает его идеальным для сред с ограниченными ресурсами.
Однако, для большинства разработчиков и исследователей часто предпочтительнее целостное решение. Модели Ultralytics, такие как YOLOv8 и YOLO11, выделяются тем, что предлагают превосходное сочетание высокой производительности, исключительной простоты использования и надежной многозадачной экосистемы. Их сбалансированный дизайн, активное обслуживание и универсальность делают их рекомендуемым выбором для широкого спектра проектов компьютерного зрения, от академических исследований до коммерческих приложений производственного уровня.
Изучите другие сравнения моделей
Для получения дополнительной информации изучите, как DAMO-YOLO и EfficientDet сравниваются с другими современными моделями в документации Ultralytics:
- YOLOv8 vs. DAMO-YOLO
- YOLO11 vs. DAMO-YOLO
- RT-DETR против DAMO-YOLO
- YOLOv8 vs. EfficientDet
- YOLO11 vs. EfficientDet
- YOLOX в сравнении с EfficientDet