YOLOv9 EfficientDet: техническое сравнение архитектуры и производительности
В постоянно развивающейся области компьютерного зрения выбор правильной архитектуры обнаружения объектов является критически важным решением, которое влияет на задержку системы, точность и сложность развертывания. В этом руководстве представлено подробное техническое сравнение между YOLOv9, современной модели, представленной в начале 2024 года, и EfficientDet, очень влиятельной архитектурой от Google своей эффективной масштабируемостью. Мы анализируем их структурные различия, показатели производительности и пригодность для реальных приложений.
Анализ метрик производительности
В следующей таблице сравниваются характеристики различных масштабов моделей. YOLOv9 в целом демонстрирует более высокое соотношение точности и параметров, а также более высокую скорость вывода на современном оборудовании по сравнению со старой архитектурой EfficientDet.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
Обзоры моделей
YOLOv9
Авторы: Чень-Яо Ван, Хун-Юань Марк Ляо
Организация: Институт информационных наук, Академия Синика, Тайвань
Дата: 21.02.2024
Ссылки:Arxiv | GitHub | Docs
YOLOv9 значительные архитектурные инновации для решения проблемы «информационного узкого места» в глубоких сетях. Основным вкладом является Programmable Gradient Information (PGI), которая генерирует надежные градиенты через вспомогательную ветвь контроля, чтобы обеспечить сохранение критически важной информации о характеристиках в глубоких слоях. Кроме того, она использует Generalized Efficient Layer Aggregation Network (GELAN), легкую архитектуру, которая максимизирует эффективность параметров.
EfficientDet
Авторы: Минсин Тан, Жуомин Пан, Куок В. Ле
Организация:Google
Дата: 20.11.2019
Ссылки:Arxiv | GitHub
EfficientDet был пионерской работой в области AutoML, в которой была представлена двунаправленная пирамидальная сеть (BiFPN). В отличие от традиционных FPN, BiFPN позволяет легко объединять многомасштабные характеристики за счет внедрения обучаемых весов. В модели также используется метод Compound Scaling, который равномерно масштабирует разрешение, глубину и ширину, что позволяет достичь отличной производительности в широком спектре ограничений ресурсов (от D0 до D7).
Архитектурное Глубокое Погружение
Слияние функций: GELAN против BiFPN
Основное отличие заключается в том, как эти модели агрегируют функции. EfficientDet опирается на сложную структуру BiFPN, которая, хотя и теоретически эффективна в FLOP, может быть требовательной к памяти и более сложной для оптимизации под конкретные аппаратные ускорители, такие как TensorRT.
В отличие от этого, архитектура GELAN YOLOv9 сочетает в себе лучшие аспекты CSPNet и ELAN. Она отдает приоритет планированию градиентного пути над сложными слияниями соединений. В результате получается сеть, которая не только имеет более легкие параметры, но и более «аппаратно-дружественная», что приводит к более высокой GPU во время обучения и инференции.
Градиентный поток и потеря информации
EfficientDet использует стандартную обратную пропогацию через очень глубокую основу EfficientNet. YOLOv9 проблему, при которой глубокие сети «забывают» детали входных данных. С помощью PGI YOLOv9 вспомогательную обратимое ветвление, которое направляет процесс обучения, обеспечивая, чтобы основная ветвь улавливала надежные семантические особенности без вычислительных затрат на поддержание этих вспомогательных ветвей во время вывода.
Предупреждение: Преимущества PGI
Программируемая градиентная информация (PGI) позволяет YOLOv9 лучшей конвергенции с меньшим объемом данных, что делает ее особенно эффективной для пользовательских наборов данных, в которых аннотированные примеры могут быть редкими.
Экосистема и простота использования
Одним из наиболее существенных отличий для разработчиков является экосистема, окружающая эти модели.
EfficientDet в основном основан на TensorFlow . Несмотря на свою мощность, его использование часто требует навигации по сложным цепочкам зависимостей или старым репозиториям, которые могут не обновляться достаточно часто.
YOLOv9, интегрированный в Ultralytics , предлагает оптимизированный интерфейс. Разработчики могут получить доступ к модели через простой Python , что позволяет выполнять обучение, валидацию и развертывание за считанные минуты. Ultralytics обрабатывает увеличение объема данных, ведение журналов (например, в MLflow или Comet) и экспорт данных.
from ultralytics import YOLO
# Load a pretrained YOLOv9c model
model = YOLO("yolov9c.pt")
# Train the model on a custom dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Export to ONNX for deployment
model.export(format="onnx")
Этот фрагмент кода демонстрирует простоту использования, присущую Ultralytics . Фреймворк также поддерживает автоматическую смешанную точность (AMP) иGPU без дополнительных настроек, обеспечивая эффективность обучения.
Универсальность и развертывание
Поддержка задач
EfficientDet в основном предназначен для обнаружения объектов. Адаптация его для таких задач, как сегментация или оценка позы, требует значительных изменений в архитектуре и написания специального кода.
Ultralytics , включая YOLOv9 ее последующие версии, построены на универсальной кодовой базе, которая изначально поддерживает:
- Обнаружение объектов
- Сегментация экземпляров
- Оценка позы
- Oriented Bounding Box (OBB)
- Классификация
Совместимость с Edge и память
Хотя EfficientDet-D0 имеет небольшой размер, масштабирование до D7 влечет за собой огромные затраты памяти из-за масштабирования разрешения (до 1536x1536). YOLOv9 стандартный входной размер 640x640 для большинства тестов, обеспечивая при этом превосходную точность. Это более низкое разрешение входа значительно снижает требования к памяти VRAM, позволяя использовать более крупные пакеты данных и проводить более быстрые эксперименты на потребительских графических процессорах.
Кроме того, Ultralytics поддерживают экспорт в один клик в такие форматы, как TFLite для мобильных устройств, OpenVINO для Intel и CoreML устройств Apple, что обеспечивает широкую совместимость с Edge.
Реальные примеры использования
Выбор модели часто определяет успех конкретного применения:
- Аналитика розничной торговли: для подсчета товаров на полках, YOLOv9 превосходит другие системы благодаря высокой точности (mAP) при распознавании мелких объектов, что обусловлено способностью PGI сохранять мелкие детали.
- Автономные дроны: в сценариях, требующих вывода в реальном времени на встроенном оборудовании (например, Jetson Orin), эффективная архитектура GELAN YOLOv9 обеспечивает необходимую частоту кадров в секунду, которую сложные слои BiFPN EfficientDet часто не могут обеспечить.
- Устаревшие системы:EfficientDet остается актуальным в сравнительных исследованиях или устаревших TPU Google TPU , где конкретная архитектура модели жестко запрограммирована в аппаратном конвейере.
Будущее: YOLO26
Несмотря YOLOv9 исключительную производительность YOLOv9 , область искусственного интеллекта быстро развивается. Ultralytics внедрять инновации с помощью YOLO26, который рекомендуется использовать для новых проектов.
YOLO26 основан на сильных сторонах предыдущих YOLO , но имеет встроенную сквозную конструкцию NMS, что устраняет задержку и сложность постобработки с подавлением не максимальных значений. Он оснащен оптимизатором MuSGD— гибридом SGD Muon — и устраняет распределенную фокальную потерю (DFL) для упрощения экспорта. Эти изменения приводят к ускорению CPU до 43 % и повышению стабильности обучения.
Кроме того, YOLO26 включает в себя ProgLoss + STAL (Soft-Target Anchor Loss), что обеспечивает значительное улучшение распознавания мелких объектов, что крайне важно для робототехники и аэрофотосъемки. Для разработчиков, стремящихся к оптимальному балансу скорости, точности и простоты внедрения, YOLO26 представляет собой новый стандарт.
Заключение
Обе архитектуры заслужили свое место в истории компьютерного зрения. EfficientDet продемонстрировал мощь составного масштабирования, а YOLOv9 продемонстрировала, как программируемые градиенты могут восстанавливать информацию в глубоких сетях. Однако для современных производственных сред Ultralytics , поддерживающая как YOLOv9 более новую YOLO26, предлагает явное преимущество с точки зрения обслуживаемости, скорости обучения и гибкости развертывания.
См. также
- YOLOv10 EfficientDet: сравнение с первым YOLO NMS.
- YOLO26 против YOLOv9: подробный анализ обновлений последнего поколения.
- Ultralytics : самый простой способ обучения и развертывания ваших моделей.