EfficientDet vs. DAMO-YOLO: техническое сравнение
В быстро развивающейся области компьютерного зрения выбор правильной архитектуры обнаружения объектов имеет решающее значение для успеха приложения. Две заметные архитектуры, которые сформировали эту область, - EfficientDet, разработанная Google Research, и YOLO, разработанная Академией DAMO компании Alibaba. Хотя обе архитектуры нацелены на максимальную производительность, они значительно отличаются друг от друга по философии проектирования: одна из них сосредоточена на эффективности параметров и масштабируемости, а другая нацелена на создание выводов с низкой задержкой на промышленном оборудовании.
В этом руководстве представлен глубокий технический анализ этих двух моделей, сравнение их архитектур, показателей производительности и идеальных сценариев использования, что поможет разработчикам принять обоснованное решение.
Анализ производительности: Эффективность в сравнении с задержкой
Следующие бенчмарки иллюстрируют различные компромиссы между EfficientDet и YOLO. EfficientDet славится низким количеством параметров и FLOPs, что делает его теоретически эффективным, в то время как YOLO оптимизирован для реальной скорости вычислений на графических процессорах.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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-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 |
Основные выводы по бенчмаркам
Из приведенных выше данных следует несколько важнейших различий:
- Преобладание латентностиGPU : YOLO демонстрирует значительно более высокую скорость вычислений на аппаратном обеспечении GPU . Например, DAMO-YOLOm достигает mAP 49,2 при задержке всего 5,09 мс на GPU T4. Для сравнения, сопоставимый EfficientDet-d4 (49,7 mAP) требует 33,55 мс - почти в 6 раз медленнее.
- Эффективность параметров: EfficientDet превосходит по показателям сжатия модели. Модель EfficientDet-d0 использует всего 3,9 М параметров и 2,54 Б операций FLOP, предлагая легкую площадь, идеальную для устройств с ограниченным объемом памяти.
- ПроизводительностьCPU : EfficientDet обеспечивает установленные контрольные показатели производительности CPU , что делает его предсказуемым выбором для краевых устройств без ускорения. Однако сложные слои слияния функций часто приводят к снижению производительности в реальном мире по сравнению с более простыми архитектурами.
EfficientDet: Масштабируемый и эффективный
EfficientDet произвел революцию в обнаружении объектов, представив принципиальный способ масштабирования размеров модели. Построенная на основе EfficientNet, она нацелена на достижение высокой точности при минимизации теоретических вычислительных затрат (FLOPs).
EfficientDet Details:
- Авторы: Мингксинг Тан, Руоминг Панг и Куок В. Ле
- Организация:Google
- Дата: 20.11.2019
- Arxiv:https://arxiv.org/abs/1911.09070
- GitHub:https://github.com/google/automl/tree/master/efficientdet
Архитектурные особенности
Инновации EfficientDet заключаются в двух основных компонентах:
- BiFPN (Bidirectional Feature Pyramid Network): В отличие от традиционных FPN, которые суммируют признаки из разных шкал, BiFPN вводит обучаемые веса для различных входных признаков и позволяет передавать информацию как сверху вниз, так и снизу вверх многократно. Это улучшает слияние признаков, но увеличивает вычислительную сложность.
- Составное масштабирование: EfficientDet предлагает комбинированный коэффициент, который совместно масштабирует магистраль, BiFPN, сеть классов/боксов и входное разрешение. Это обеспечивает сбалансированный рост всех частей сети, а не произвольное масштабирование только одного измерения (например, глубины или ширины).
Сильные и слабые стороны
Основная сила EfficientDet заключается в его теоретической эффективности. Он достигает современной точности с гораздо меньшим количеством параметров, чем предыдущие детекторы, такие как YOLOv3 или RetinaNet. Однако широкое использование глубинных сепарабельных сверток и сложные схемы доступа к памяти в BiFPN могут привести к снижению производительности современных графических процессоров, что приводит к увеличению задержек, несмотря на меньшее количество FLOP.
Соображения по развертыванию
Хотя EfficientDet имеет низкое количество FLOP, "низкое количество FLOP" не всегда означает "быстрый вывод". На таком оборудовании, как GPU или TPU, пропускная способность памяти и накладные расходы на запуск ядра часто имеют большее значение. Сложная структура графа EfficientDet иногда может стать узким местом в сценариях вывода в реальном времени.
YOLO: инновации, ориентированные на скорость
YOLO был разработан с конкретной целью: преодолеть разрыв между высокой производительностью и низкой задержкой на промышленном оборудовании. В нем применены передовые технологии поиска нейронной архитектуры (NAS) для поиска оптимальной структуры для задач обнаружения.
YOLO Детали:
- Авторы: Сяньчжэ Сюй, Ици Цзян, Вэйхуа Чэнь, Илунь Хуан, Юань Чжан и Сююй Сунь
- Организация:Alibaba Group
- Дата: 23.11.2022
- Arxiv:https://arxiv.org/abs/2211.15444v2
- GitHub:https://github.com/tinyvision/DAMO-YOLO
Архитектурные особенности
YOLO представляет несколько "новых технологических" компонентов в семействе YOLO :
- MAE-NAS Backbone: It utilizes Neural Architecture Search (NAS) driven by Maximum Entropy to discover efficient backbones that handle varying input resolutions effectively.
- RepGFPN: Это усовершенствование стандартного обобщенного FPN, включающее репараметризацию для оптимизации блока слияния и максимального использования оборудования.
- ZeroHead и AlignedOTA: конструкция "ZeroHead" значительно снижает сложность головки обнаружения, а AlignedOTA (Optimal Transport Assignment) обеспечивает надежную стратегию присвоения меток во время обучения для решения проблемы несоответствия между классификацией и регрессией.
Сильные и слабые стороны
YOLO превосходит всех по скорости. Благодаря приоритету структур, дружественных к аппаратному ускорению (например, TensorRT), он достигает значительной пропускной способности. Однако зависимость от сложных архитектур, генерируемых NAS, может затруднить их модификацию и тонкую настройку для пользовательских исследований по сравнению с более простыми архитектурами, создаваемыми вручную. Кроме того, ему не хватает широкой поддержки сообщества и простоты использования на нескольких платформах, как в более распространенных версиях YOLO .
Ultralytics YOLO11: холистическая альтернатива
В то время как EfficientDet предлагает эффективность параметров, а YOLO - скорость GPU , Ultralytics YOLO11 обеспечивает превосходный баланс того и другого, заключенный в удобную для разработчиков экосистему. Для большинства практических приложений - от краевого ИИ до облачных YOLO11 - YOLO11 представляет собой оптимальный выбор.
Почему стоит выбрать модели Ultralytics ?
- Непревзойденная универсальность: В отличие от EfficientDet и YOLO, которые в основном являются детекторами объектов, Ultralytics YOLO11 поддерживает широкий спектр задач компьютерного зрения, включая сегментацию объектов, оценку позы, ориентированные ограничительные рамки (OBB) и классификацию изображений. Это позволяет использовать один фреймворк для различных требований проекта.
- Баланс производительности: YOLO11 позволяет преодолеть границу между точностью и задержкой. Он часто соответствует или превосходит по точности более тяжелые модели, сохраняя при этом скорость вывода, конкурентоспособную со специализированными моделями реального времени.
- Простота использования и экосистема: API Ultralytics разработан для простоты использования. Благодаря обширной документации и поддержке сообщества разработчики могут пройти путь от установки до обучения за считанные минуты. Экосистема включает в себя бесшовные интеграции для аннотирования данных, отслеживания экспериментов и экспорта в один клик в такие форматы, как ONNX, TensorRT, CoreML и TFLite.
- Эффективность обучения: Модели Ultralytics оптимизированы для быстрой сходимости. В них используются передовые стратегии дополнения данных и эффективные загрузчики данных, что сокращает время и затраты, связанные с обучением высокопроизводительных моделей.
- Эффективность использования памяти: По сравнению с моделями на базе Transformer или более старыми архитектурами, YOLO11 требует значительно меньше памяти CUDA для обучения, что делает его доступным на графических процессорах потребительского класса.
Пример кода: Начало работы с YOLO11
Реализовать современное обнаружение с помощью Ultralytics очень просто. Следующий фрагмент кода демонстрирует, как загрузить предварительно обученную модель YOLO11 и выполнить вывод на изображении:
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 и YOLO выбор во многом зависит от конкретных аппаратных ограничений. EfficientDet остается сильным кандидатом для теоретической эффективности и сценариев, в которых количество параметров является основным узким местом. YOLO - явный победитель для высокопроизводительных приложений, работающих на современных GPU, где задержка имеет первостепенное значение.
Однако для решения, сочетающего в себе лучшее из двух миров - высокую производительность, простоту использования и многозадачность, - необходимо решение.Ultralytics YOLO11 является отраслевым стандартом. Его надежная экосистема и постоянные улучшения обеспечивают разработчиков самыми надежными инструментами для создания масштабируемых решений в области компьютерного зрения.
Изучите другие сравнения
Чтобы лучше понять ландшафт моделей обнаружения объектов, изучите эти дополнительные сравнения:
- YOLO11 vs. EfficientDet
- YOLOv8 vs. DAMO-YOLO
- RT-DETR против DAMO-YOLO
- YOLO11 vs. RT-DETR
- YOLOX в сравнении с EfficientDet