YOLOv9 vs. EfficientDet: Подробное техническое сравнение
Выбор правильной модели обнаружения объектов — это ключевое решение в разработке компьютерного зрения, напрямую влияющее на скорость, точность и эффективность использования ресурсов вашего приложения. В этом руководстве представлено углубленное техническое сравнение между Ultralytics YOLOv9 и EfficientDet, анализирующее их архитектурные инновации, показатели производительности и пригодность для современных сценариев развертывания.
Анализ производительности
Эволюция detect объектов была стремительной, и новые архитектуры значительно превосходят своих предшественников. В таблице ниже представлено прямое сравнение ключевых показателей, подчеркивающее достижения 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 демонстрируют значительно более высокую скорость инференса на GPU. Например, YOLOv9c (53.0% mAP) более чем в 12 раз быстрее, чем сопоставимая по точности EfficientDet-d6 (52.6% mAP).
- Эффективность параметров: Архитектура YOLOv9 позволяет достичь более высокой точности с меньшим количеством параметров. YOLOv9s достигает 46.8% mAP, используя всего 7.1M параметров, в то время как EfficientDet требует более крупного варианта D3 (12.0M параметров) для достижения аналогичного уровня точности в 47.5%.
- Современная точность: Самая крупная модель, YOLOv9e, устанавливает высокую планку с 55,6% mAP, превосходя самую тяжелую модель EfficientDet-d7 при сохранении части задержки.
YOLOv9: новая эра программируемой информации о градиентах
YOLOv9, представленная в начале 2024 года, представляет собой значительный скачок вперед в серии YOLO. Разработанная Чиен-Яо Вангом и Хонг-Юанем Марком Ляо, она решает фундаментальные проблемы в глубоком обучении, связанные с потерей информации во время передачи признаков.
Технические детали:
- Авторы: Чен-Яо Ванг, Хонг-Юань Марк Ляо
- Организация:Институт информатики, Academia Sinica, Тайвань
- Дата: 21.02.2024
- Arxiv:YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information
- GitHub:WongKinYiu/yolov9
- Документация:Документация Ultralytics YOLOv9
Архитектурные инновации
YOLOv9 представляет две основные концепции для решения проблемы "информационного узкого места":
- Программируемая градиентная информация (PGI): Вспомогательная структура контроля, которая генерирует надежные градиенты для обновления весов сети, гарантируя, что модель сохраняет критически важную информацию на протяжении глубоких слоев.
- Обобщенная эффективная сеть агрегации слоев (GELAN): Новая легкая архитектура, сочетающая в себе сильные стороны CSPNet и ELAN. Она отдает приоритет планированию градиентного пути, что позволяет повысить эффективность параметров и увеличить скорость логического вывода без ущерба для точности.
Вы знали?
Архитектура GELAN разработана как аппаратно-агностическая, оптимизирующая inference не только для high-end GPU, но и для периферийных устройств, где вычислительные ресурсы ограничены.
Сильные стороны и варианты использования
- Баланс производительности: YOLOv9 предлагает исключительный компромисс между скоростью и точностью, что делает его идеальным для приложений инференса в реальном времени, таких как автономное вождение и видеоаналитика.
- Экосистема Ultralytics: Интеграция с Ultralytics предоставляет оптимизированный Python API и CLI, упрощая обучение, валидацию и развертывание.
- Эффективность обучения: Благодаря своей эффективной архитектуре, YOLOv9 обычно требует меньше памяти во время обучения по сравнению с альтернативами на основе трансформеров, что облегчает пользовательское обучение на GPU потребительского класса.
Пример кода: Использование YOLOv9 с Ultralytics
Вы можете легко запустить инференс или обучить YOLOv9, используя пакет Ultralytics.
from ultralytics import YOLO
# Load a pre-trained YOLOv9c model
model = YOLO("yolov9c.pt")
# Run inference on an image
results = model.predict("path/to/image.jpg")
# Train the model on a custom dataset (e.g., COCO8)
model.train(data="coco8.yaml", epochs=100, imgsz=640)
EfficientDet: Передовая масштабируемая архитектура
EfficientDet, выпущенный Google Research в конце 2019 года, был новаторской моделью, которая представила систематический способ масштабирования детекторов объектов. Он фокусируется на оптимизации эффективности в широком спектре ограничений ресурсов.
Технические детали:
- Авторы: Мингксинг Тан, Руоминг Панг, Куок В. Ле
- Организация:Google Research
- Дата: 20.11.2019
- Arxiv:EfficientDet: Масштабируемое и эффективное обнаружение объектов
- GitHub:google/automl/efficientdet
Архитектурные особенности
EfficientDet построен на основе EfficientNet и представляет несколько ключевых особенностей:
- Двунаправленная пирамида признаков (BiFPN): В отличие от традиционных FPN, BiFPN позволяет легко объединять признаки разных масштабов, вводя обучаемые веса для различных входных признаков.
- Compound Scaling: Этот метод равномерно масштабирует разрешение, глубину и ширину backbone, сети признаков и сетей предсказания box/class, позволяя создать семейство моделей (от D0 до D7), адаптированных к различным бюджетам ресурсов.
Сильные и слабые стороны
- Масштабируемость: Структура семейства D0-D7 позволяет пользователям выбирать модель, которая соответствует их конкретному бюджету FLOPs.
- Историческая значимость: Он установил стандарт эффективности в 2020 году, оказав большое влияние на последующие исследования в области поиска нейронных архитектур.
- Устаревшая производительность: Будучи эффективным для своего времени, EfficientDet теперь отстает от современных детекторов, таких как YOLOv9, с точки зрения задержки на GPU. Его интенсивное использование depth-wise separable convolutions, хотя и эффективно с точки зрения FLOPs, часто приводит к более медленному выводу на таком оборудовании, как NVIDIA T4, по сравнению с оптимизированными dense convolutions, используемыми в архитектурах YOLO.
Узнайте больше об EfficientDet
Подробный сравнительный анализ
При выборе между YOLOv9 и EfficientDet следует учитывать несколько факторов, помимо простого mAP. Вот разбивка их сравнения в практических средах разработки.
Скорость и задержка
Наиболее заметное различие заключается в скорости вывода. YOLOv9 использует архитектуру GELAN, которая оптимизирована для массового параллельного выполнения на GPU. В отличие от этого, опора EfficientDet на сложное слияние признаков (BiFPN) и разделяемые по глубине свертки может создавать узкие места доступа к памяти на ускорителях. Как видно из таблицы производительности, модели YOLOv9 стабильно в 2–10 раз быстрее на TensorRT, чем их аналоги EfficientDet с аналогичной точностью.
Экосистема и простота использования
Экосистема Ultralytics предоставляет значительное преимущество для YOLOv9. В то время как EfficientDet требует среды TensorFlow и часто сложных скриптов установки, YOLOv9 интегрирована в удобный пакет, который поддерживает:
- Установка в одну строку:
pip install ultralytics - Широкая поддержка экспорта: Простой экспорт в ONNX, TensorRT, CoreML, OpenVINO и другие через
model.export()функцию. - Активное сопровождение: Частые обновления, поддержка сообщества и подробные руководства по таким задачам, как отслеживание объектов и развертывание.
Гибкость развертывания
Модели YOLOv9, обученные с помощью Ultralytics, можно легко развернуть на периферийных устройствах, используя такие форматы, как TFLite или Edge TPU. Ознакомьтесь с нашим руководством по интеграции TFLite для получения более подробной информации.
Эффективность обучения и память
Обучение современных моделей компьютерного зрения может потребовать больших ресурсов. Модели Ultralytics YOLO известны своим эффективным использованием памяти GPU. Это позволяет разработчикам обучать модели с большим размером пакета на потребительском оборудовании по сравнению со старыми архитектурами или тяжелыми моделями на основе трансформеров. Кроме того, Ultralytics предоставляет готовые предварительно обученные веса, что позволяет использовать перенос обучения, который сходится намного быстрее, чем обучение EfficientDet с нуля.
Универсальность
Несмотря на то, что EfficientDet является строго детектором объектов, архитектурные принципы, лежащие в основе YOLOv9 (и более широкого семейства Ultralytics YOLO), распространяются на несколько задач. Фреймворк Ultralytics поддерживает:
Эта универсальность позволяет разработчикам использовать единый унифицированный API для решения разнообразных задач компьютерного зрения.
Заключение
Для большинства новых проектов YOLOv9 является превосходным выбором. Он обеспечивает современную точность со значительно более высокой скоростью inference, что делает его пригодным для приложений реального времени. Его интеграция в экосистему Ultralytics обеспечивает плавную разработку, от подготовки данных до развертывания модели.
EfficientDet остается ценным ориентиром для понимания составного масштабирования и слияния признаков, но, как правило, не соответствует показателям производительности на ватт и задержки на современном оборудовании.
Разработчикам, которые ищут самые последние достижения в области компьютерного зрения, также следует изучить YOLO11, которая опирается на эти достижения, чтобы предложить еще большую эффективность и производительность.
Изучите другие модели
Если вам интересны дальнейшие сравнения, рассмотрите возможность изучения этих связанных моделей:
- YOLO11 vs. YOLOv9: Посмотрите, как последнее поколение улучшает YOLOv9.
- RT-DETR: Детектор на основе трансформера, обеспечивающий высокую точность для сценариев реального времени.
- YOLOv8: Универсальное семейство моделей, поддерживающее detect, segment и оценку позы.