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

EfficientDet vs. DAMO-YOLO: техническое сравнение

В быстро развивающейся области компьютерного зрения выбор правильной архитектуры для обнаружения объектов имеет решающее значение для успеха приложения. Две известные архитектуры, сформировавшие эту область, — это EfficientDet, разработанная Google Research, и DAMO-YOLO, разработанная DAMO Academy компании Alibaba. Хотя обе они направлены на максимизацию производительности, они существенно расходятся в своих философиях проектирования: одна фокусируется на эффективности параметров и масштабируемости, а другая — на логическом выводе с низкой задержкой на промышленном оборудовании.

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

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

Следующие эталонные тесты иллюстрируют различные компромиссы между EfficientDet и DAMO-YOLO. EfficientDet известен своим низким количеством параметров и FLOP, что делает его теоретически эффективным, тогда как DAMO-YOLO оптимизирован для скорости вывода в реальном мире на GPU.

Модельразмер
(пиксели)
mAPval
50-95
Скорость
CPU ONNX
(мс)
Скорость
T4 TensorRT10
(мс)
параметры
(M)
FLOPs
(B)
EfficientDet-d064034.610.23.923.92.54
EfficientDet-d164040.513.57.316.66.1
EfficientDet-d264043.017.710.928.111.0
EfficientDet-d364047.528.019.5912.024.9
EfficientDet-d464049.742.833.5520.755.2
EfficientDet-d564051.572.567.8633.7130.0
EfficientDet-d664052.692.889.2951.9226.0
EfficientDet-d764053.7122.0128.0751.9325.0
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

Основные выводы из бенчмарков

Из приведенных выше данных вытекает несколько важных различий:

  • Превосходство по задержке GPU: DAMO-YOLO демонстрирует значительно более высокую скорость inference на оборудовании GPU. Например, DAMO-YOLOm достигает mAP 49.2 с задержкой всего 5.09 мс на GPU T4. В отличие от этого, сопоставимый EfficientDet-d4 (49.7 mAP) требует 33.55 мс—почти в 6 раз медленнее.
  • Эффективность параметров: EfficientDet превосходит другие модели в метриках сжатия моделей. Модель EfficientDet-d0 использует всего 3.9M параметров и 2.54B FLOPs, предлагая легковесное решение, идеально подходящее для устройств с ограниченным объемом памяти.
  • Производительность CPU: EfficientDet предоставляет установленные бенчмарки для производительности CPU, что делает его предсказуемым выбором для неускоренных периферийных устройств. Однако его сложные слои слияния признаков часто приводят к более низкой реальной пропускной способности по сравнению с более простыми архитектурами.

EfficientDet: Масштабируемый и эффективный

EfficientDet произвел революцию в detectировании объектов, представив принципиальный способ масштабирования размеров модели. Построенный на основе EfficientNet, он направлен на достижение высокой точности при минимизации теоретической вычислительной стоимости (FLOPs).

Подробности EfficientDet:

Архитектурные особенности

Основное новшество EfficientDet заключается в двух основных компонентах:

  1. BiFPN (Bidirectional Feature Pyramid Network): В отличие от традиционных FPN, которые суммируют признаки из разных масштабов, BiFPN вводит обучаемые веса для различных входных признаков и позволяет информации перемещаться как сверху вниз, так и снизу вверх многократно. Это улучшает объединение признаков, но увеличивает вычислительную сложность.
  2. Compound Scaling: EfficientDet предлагает составной коэффициент, который совместно масштабирует backbone, BiFPN, сеть class/box и входное разрешение. Это гарантирует, что все части сети растут сбалансированно, а не масштабируется только одно измерение (например, глубина или ширина) произвольно.

Сильные и слабые стороны

Основная сила EfficientDet заключается в ее теоретической эффективности. Она достигает современной точности с гораздо меньшим количеством параметров, чем предыдущие детекторы, такие как YOLOv3 или RetinaNet. Однако ее интенсивное использование depthwise separable convolutions и сложные шаблоны доступа к памяти BiFPN могут привести к снижению использования на современных GPU, что приведет к более высокой задержке, несмотря на меньшее количество FLOPs.

Рекомендации по развертыванию

Несмотря на то, что EfficientDet имеет низкие FLOPs, «низкие FLOPs» не всегда означают «быстрый inference». На таком оборудовании, как GPU или TPU, пропускная способность памяти и накладные расходы на запуск ядра часто имеют большее значение. Сложная структура графов EfficientDet иногда может быть узким местом в сценариях инференса в реальном времени.

DAMO-YOLO: Инновации, ориентированные на скорость

DAMO-YOLO был разработан с конкретной целью: преодолеть разрыв между высокой производительностью и низкой задержкой на промышленном оборудовании. Он включает в себя передовые технологии поиска нейронной архитектуры (NAS) для нахождения оптимальной структуры для задач обнаружения.

Подробности DAMO-YOLO:

Архитектурные особенности

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

  1. Бэкбон MAE-NAS: Он использует поиск нейронной архитектуры (NAS), управляемый максимальной энтропией, для обнаружения эффективных бэкбонов, которые эффективно обрабатывают различные входные разрешения.
  2. RepGFPN: Это улучшение по сравнению со стандартным Generalized FPN, включающее репараметризацию для оптимизации блока слияния, максимизируя использование оборудования.
  3. ZeroHead & AlignedOTA: Дизайн "ZeroHead" значительно снижает сложность detection head, в то время как AlignedOTA (Optimal Transport Assignment) обеспечивает надежную стратегию назначения меток во время обучения для решения проблемы несоответствия между классификацией и регрессией.

Сильные и слабые стороны

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

Ultralytics YOLO11: Целостная альтернатива

Несмотря на то, что EfficientDet предлагает эффективность параметров, а DAMO-YOLO — скорость GPU, Ultralytics YOLO11 обеспечивает превосходный баланс того и другого, заключенный в удобную для разработчиков экосистему. Для большинства практических приложений — от edge AI до облачных развертываний — YOLO11 представляет собой оптимальный выбор.

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

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

  1. Непревзойденная универсальность: В отличие от EfficientDet и DAMO-YOLO, которые в основном являются детекторами объектов, Ultralytics YOLO11 изначально поддерживает широкий спектр задач компьютерного зрения, включая instance segmentation, оценку позы, detect объектов с ориентированными ограничивающими рамками (obb) и image classification. Это позволяет использовать единый фреймворк для различных проектных требований.
  2. Баланс производительности: YOLO11 расширяет границы точности и задержки. Он часто соответствует или превосходит точность более тяжелых моделей, сохраняя при этом скорость инференса, сравнимую со специализированными моделями реального времени.
  3. Простота использования и экосистема: API Ultralytics разработан для простоты. Благодаря обширной документации и поддержке сообщества разработчики могут перейти от установки к обучению за считанные минуты. Экосистема включает в себя простую интеграцию для аннотации данных, отслеживания экспериментов и экспорта в один клик в такие форматы, как ONNX, TensorRT, CoreML и TFLite.
  4. Эффективность обучения: Модели Ultralytics оптимизированы для быстрой сходимости. Они используют передовые стратегии аугментации данных и эффективные загрузчики данных, сокращая время и затраты, связанные с обучением высокопроизводительных моделей.
  5. Эффективность памяти: По сравнению с моделями на основе Transformer или более старыми архитектурами, YOLO11 требует значительно меньше CUDA памяти для обучения, что делает его доступным на GPU потребительского класса.

Пример кода: Начало работы с YOLO11

Реализация современной системы detect с Ultralytics не представляет сложности. Следующий фрагмент кода демонстрирует, как загрузить предварительно обученную модель YOLO11 и запустить inference на изображении:

from ultralytics import YOLO

# Load a pre-trained YOLO11n model
model = YOLO("yolo11n.pt")

# Run inference on a local image or URL
results = model.predict("https://ultralytics.com/images/bus.jpg")

# Display the results
results[0].show()

# Export the model to ONNX format for deployment
path = model.export(format="onnx")

Простая интеграция

Модели Ultralytics легко интегрируются с популярными инструментами MLOps. Независимо от того, используете ли вы MLflow для ведения журнала или Ray Tune для оптимизации гиперпараметров, функциональность встроена непосредственно в библиотеку.

Заключение

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

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

Изучите другие сравнения

Чтобы лучше понимать ландшафт моделей обнаружения объектов, изучите эти дополнительные сравнения:


Комментарии