EfficientDet против YOLOv9: сравнение архитектуры и производительности
В быстро развивающейся области компьютерного зрения выбор правильной архитектуры обнаружения объектов является критически важным решением, которое влияет на все: от затрат на обучение до задержки развертывания. В этом техническом анализе представлено всестороннее сравнение EfficientDet, передовой архитектуры от Google на эффективное масштабирование, и YOLOv9, современной итерацией YOLO , которая использует программируемую градиентную информацию для более эффективного обучения.
Краткое изложение
Хотя EfficientDet представил революционные концепции в области масштабирования моделей и слияния функций, в настоящее время он считается устаревшей архитектурой. Его зависимость от сложных слоев BiFPN часто приводит к снижению скорости вывода на современном оборудовании по сравнению с оптимизированными конструкциями YOLO .
YOLOv9 представляет собой значительный шаг вперед, предлагая более высокую точность и значительно более высокую скорость вывода. Кроме того, как часть Ultralytics , YOLOv9 преимуществами унифицированного API, упрощенного развертывания и надежной поддержки сообщества, что делает его рекомендуемым выбором для производственных сред.
EfficientDet: Масштабируемое и эффективное обнаружение объектов
EfficientDet был разработан для эффективного решения проблемы масштабирования детекторов объектов. Предыдущие модели часто масштабировались просто путем увеличения размера основной структуры, что приводило к нарушению баланса между разрешением, глубиной и шириной.
Ключевые архитектурные особенности
- Комбинированное масштабирование: EfficientDet предлагает метод комбинированного масштабирования, который равномерно масштабирует разрешение, глубину и ширину для всех сетей основной структуры, сетей признаков и сетей прогнозирования ячеек/классов.
- BiFPN (Bidirectional Feature Pyramid Network): ключевая инновация, которая позволяет легко объединять многомасштабные характеристики. В отличие от традиционных FPN, BiFPN добавляет восходящие пути и удаляет узлы с одним входом, включая обучаемые веса для понимания важности различных входных характеристик.
- EfficientNet Backbone: использует EfficientNet в качестве основы, которая оптимизирована для эффективности параметров.
Авторы: Минсин Тан, Руоминг Панг и Куок В. Ле
Организация:Google
Дата: 20.11.2019
Ссылки:Arxiv | GitHub
Узнайте больше об EfficientDet
YOLOv9: Программируемая градиентная информация
YOLOv9 решает фундаментальную проблему глубокого обучения: информационные «узкие места». По мере прохождения данных через слои глубокой нейронной сети неизбежно происходит потеря информации. YOLOv9 эту проблему с помощью программируемой градиентной информации (PGI) и новой архитектуры под названием GELAN.
Ключевые архитектурные особенности
- GELAN (Generalized Efficient Layer Aggregation Network): эта архитектура сочетает в себе лучшие аспекты CSPNet и ELAN. Она оптимизирует пути градиентного спуска, обеспечивая обучение модели легким, но богатым информацией признакам.
- PGI (Programmable Gradient Information): PGI предоставляет вспомогательную ветвь контроля, которая направляет процесс обучения, обеспечивая сохранение в основной ветви важной информации, необходимой для точного обнаружения. Это особенно полезно для обнаружения сложных целей в сложных условиях.
- Простота: несмотря на эти внутренние сложности, структура вывода остается оптимизированной, что позволяет избежать значительных вычислительных затрат, связанных с BiFPN, используемым в EfficientDet.
Авторы: Чень-Яо Ван и Хун-Юань Марк Ляо
Организация: Институт информационных наук, Академия Синика, Тайвань
Дата: 21.02.2024
Ссылки:Arxiv | GitHub
Сравнение технических характеристик
При сравнении этих моделей становится очевидным компромисс между эффективностью параметров и фактической задержкой выполнения. Хотя EfficientDet эффективен с точки зрения параметров, его сложная структура графа (BiFPN) менее подходит для GPU , чем стандартные свертки, используемые в YOLOv9.
| Модель | размер (пиксели) | 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 |
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.1 | 26.4 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.0 | 76.3 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.3 | 102.1 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 57.3 | 189.0 |
Анализ производительности
YOLOv9 превосходит EfficientDet по соотношению скорости и точности. Например, YOLOv9c достигает сопоставимого mAP 53,0%) с EfficientDet-d6 (52,6%), но работает более чем в 12 раз быстрее на GPU T4 GPU 7,16 мс против 89,29 мс). Это делает YOLOv9 лучшим выбором для приложений, работающих в режиме реального времени.
Обучение и опыт работы в экосистеме
Основным отличием между этими архитектурами является простота использования и поддержка экосистемы, предоставляемая Ultralytics.
Вызовы EfficienDet
Обучение EfficientDet обычно включает в себя навигацию по APITensorFlow Detection или устаревшим репозиториям. Их может быть сложно настроить из-за конфликтов зависимостей, и зачастую они не поддерживают современные функции, такие как автоматическое обучение со смешанной точностью или простая интеграция с облачным логированием.
Преимущество Ultralytics
Использование YOLOv9 Ultralytics обеспечивает беспроблемную работу. Экосистема автоматически обрабатывает увеличение объема данных, эволюцию гиперпараметров и экспорт.
- Простота использования: Вы можете начать обучение с нескольких строк кода.
- Эффективность использования памяти: Ultralytics оптимизированы для использования меньшего объема VRAM во время обучения, что позволяет использовать более крупные пакеты данных на потребительских графических процессорах по сравнению со сложными многоветвленными сетями.
- Универсальность: помимо обнаружения, Ultralytics поддерживает сегментацию экземпляров и оценку позы — функции, которые не доступны в стандартных реализациях EfficientDet.
from ultralytics import YOLO
# Load a pretrained YOLOv9 model
model = YOLO("yolov9c.pt")
# Train on a custom dataset with a single command
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
Приложения в реальном мире
Выбор модели существенно влияет на осуществимость различных приложений.
Идеальные сценарии использования EfficientDet
- Академические исследования: полезно для изучения методов слияния признаков и теорий масштабирования соединений.
- Сценарии с низким энергопотреблением/низкой скоростью: в очень специфических крайних случаях, когда устаревшее оборудование жестко запрограммировано для использования магистралей EfficientNet (например, некоторые старые TPU Coral), варианты EfficientDet-Lite могут по-прежнему быть актуальными.
Идеальные сценарии использования для YOLOv9.
- Автономная навигация: высокая скорость вывода заключений имеет решающее значение для самоуправляемых автомобилей, которые должны обрабатывать входные данные за миллисекунды, чтобы обеспечить безопасность.
- Аналитика розничной торговли: для таких приложений, как управление запасами, YOLOv9 точность, необходимую для различения схожих продуктов, не вызывая задержек в работе систем оформления заказов.
- Здравоохранение: при анализе медицинских изображений архитектура PGI помогает сохранить мелкие детали, необходимые для обнаружения небольших аномалий на рентгеновских снимках или МРТ-сканах.
Будущее: переход на YOLO26
Несмотря на то, что YOLOv9 мощным инструментом, Ultralytics расширять границы искусственного интеллекта в области зрения. Для разработчиков, стремящихся к абсолютному передовому уровню, YOLO26 предлагает значительные усовершенствования по сравнению с EfficientDet и YOLOv9.
YOLO26 представляет собой сквозную конструкцию NMS, полностью исключающую необходимость в постобработке с помощью немаксимального подавления. Это приводит к упрощению процессов развертывания и ускорению вывода. Кроме того, благодаря новому оптимизатору MuSGD— гибриду SGD Muon — YOLO26 обеспечивает более стабильное обучение и более быструю конвергенцию.
Для периферийного развертывания YOLO26 оптимизирован для ускорения CPU до 43% и включает функцию удаления DFL для лучшей совместимости с устройствами с низким энергопотреблением. Независимо от того, занимаетесь ли вы робототехникой или высокопроизводительной видеоаналитикой, YOLO26 представляет собой новый стандарт.
Пользователям, интересующимся другими современными архитектурами, мы также рекомендуем ознакомиться с YOLO11 и RT-DETR в Ultralytics .