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

YOLOv9 против EfficientDet: Всестороннее техническое сравнение

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

Анализ производительности

Обнаружение объектов развивается быстрыми темпами, и новые архитектуры значительно превосходят своих предшественников. В таблице ниже представлено прямое сравнение ключевых показателей, подчеркивающее достижения в YOLOv9 в отношении скорости вывода и эффективности параметров по сравнению с более старым семейством EfficientDet.

Модельразмер
(пиксели)
mAPval
50-95
Скорость
CPU ONNX
(мс)
Скорость
T4 TensorRT10
(мс)
параметры
(M)
FLOPs
(B)
YOLOv9t64038.3-2.32.07.7
YOLOv9s64046.8-3.547.126.4
YOLOv9m64051.4-6.4320.076.3
YOLOv9c64053.0-7.1625.3102.1
YOLOv9e64055.6-16.7757.3189.0
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

Основные выводы:

  • Превосходство в скорости: Модели YOLOv9 демонстрируют значительно более высокую скорость вычислений на аппаратном обеспечении GPU . Например, YOLOv9c (53,0% mAP) более чем в 12 раз быстрее, чем сравнительно точная EfficientDet-d6 (52,6% mAP).
  • Эффективность параметров: Архитектура YOLOv9 позволяет ему достигать более высокой точности с меньшим количеством параметров. YOLOv9s достигает 46,8 % mAP всего с 7,1 М параметров, в то время как EfficientDet требуется более крупный вариант D3 (12,0 М параметров) для достижения аналогичного уровня точности в 47,5 %.
  • Современная точность: Самая крупная модель, YOLOv9e, устанавливает высокую планку с 55,6% mAP, превосходя самую тяжелую модель EfficientDet-d7 при сохранении части задержки.

YOLOv9: новая эра программируемой информации о градиенте

YOLOv9, представленный в начале 2024 года, представляет собой значительный скачок вперед в серии YOLO . Разработанная Чиен-Яо Вангом и Хонг-Юаном Марком Ляо, она решает фундаментальные проблемы глубокого обучения, связанные с потерей информации при передаче признаков.

Технические детали:

Архитектурные инновации

YOLOv9 представляет две основные концепции для решения проблемы "информационного узкого места":

  1. Программируемая градиентная информация (PGI): Вспомогательная система контроля, которая генерирует надежные градиенты для обновления весов сети, обеспечивая сохранение критической информации в глубоких слоях модели.
  2. Обобщенная эффективная сеть агрегации уровней (Generalized Efficient Layer Aggregation Network, GELAN): Новая облегченная архитектура, объединяющая сильные стороны CSPNet и ELAN. В ней приоритет отдается градиентному планированию пути, что позволяет повысить эффективность параметров и скорость вывода без ущерба для точности.

Знаете ли вы?

Архитектура GELAN разработана с учетом аппаратной независимости, что позволяет оптимизировать выводы не только для высокопроизводительных графических процессоров, но и для пограничных устройств, где вычислительные ресурсы ограничены.

Сильные стороны и примеры использования

  • Баланс производительности: 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)

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

EfficientDet: Новаторская масштабируемая архитектура

EfficientDet, выпущенная Google Research в конце 2019 года, стала новаторской моделью, которая представила систематический способ масштабирования детекторов объектов. Она нацелена на оптимизацию эффективности в широком спектре ресурсных ограничений.

Технические детали:

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

EfficientDet построен на базе EfficientNet и имеет несколько ключевых особенностей:

  1. Двунаправленная сеть пирамид признаков (BiFPN): В отличие от традиционных FPN, BiFPN позволяет легко объединять разномасштабные признаки путем введения обучаемых весов для различных входных признаков.
  2. Компаунд-масштабирование: Этот метод равномерно масштабирует разрешение, глубину и ширину магистрали, сети признаков и сети предсказания ящиков/классов, позволяя создавать семейство моделей (от D0 до D7), приспособленных к различным бюджетам ресурсов.

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

  • Масштабируемость: Структура семейства D0-D7 позволяет пользователям выбрать модель, соответствующую их бюджету на FLOPs.
  • Историческое значение: Она установила стандарт эффективности в 2020 году, оказав значительное влияние на последующие исследования в области поиска нейронных архитектур.
  • Устаревшая производительность: Будучи эффективным для своего времени, EfficientDet сегодня отстает от современных детекторов, таких как YOLOv9 , по задержкам на GPU. Широкое использование разделимых сверток по глубине, хотя и является FLOP-эффективным, часто приводит к более медленному выводу на таком оборудовании, как NVIDIA T4, по сравнению с оптимизированными плотными свертками, используемыми в архитектуре YOLO .

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

Подробный сравнительный анализ

При выборе между YOLOv9 и EfficientDet в игру вступают несколько факторов, помимо сырого mAP . Здесь мы рассмотрим их сравнение в практических условиях разработки.

Скорость и задержка

Самое заметное отличие заключается в скорости вывода. YOLOv9 использует архитектуру GELAN, которая оптимизирована для массового распараллеливания на графических процессорах. В отличие от этого, опора 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 является лучшим выбором. Он обеспечивает современную точность при значительно более высокой скорости вывода, что делает его подходящим для приложений, работающих в режиме реального времени. Его интеграция в экосистемуUltralytics обеспечивает плавную разработку, от подготовки данных до развертывания модели.

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

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

Изучите другие модели

Если вы заинтересованы в дальнейшем сравнении, изучите эти родственные модели:

  • YOLO11 против YOLOv9: Узнайте, как последнее поколение улучшает YOLOv9.
  • RT-DETR: Детектор на основе трансформатора, обеспечивающий высокую точность в сценариях реального времени.
  • YOLOv8: Универсальное семейство моделей, поддерживающее обнаружение, сегментацию и оценку позы.

Комментарии