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

EfficientDet vs. YOLOv9: эволюция эффективности detect object

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

EfficientDet: Передовая масштабируемая эффективность

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

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

Архитектура и ключевые особенности

EfficientDet построен на основе EfficientNet и представляет Bi-directional Feature Pyramid Network (BiFPN). В отличие от традиционных FPN, BiFPN обеспечивает простое и быстрое многомасштабное слияние признаков, вводя обучаемые веса для изучения важности различных входных признаков. Модель использует метод составного масштабирования, который равномерно масштабирует разрешение, глубину и ширину для всех backbone, сети признаков и сетей прогнозирования box/class одновременно.

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

EfficientDet был революционным благодаря своей способности достигать высокой точности с меньшим количеством параметров, чем его современники, такие как YOLOv3. Его основная сила заключается в его масштабируемости; семейство моделей (от D0 до D7) позволяет пользователям выбирать конкретный компромисс в отношении ресурсов.

Однако, по современным стандартам, EfficientDet страдает от более низкой скорости вывода, особенно на GPU. Его сложные слои слияния признаков, хотя и точные, не так удобны для оборудования, как новые архитектуры. Кроме того, в оригинальной реализации отсутствуют удобные инструменты, имеющиеся в современных фреймворках, что делает обучение и развертывание более трудоемким.

Случаи использования

EfficientDet остается актуальным для:

  • Академические исследования: Понимание принципов составного масштабирования и объединения признаков.
  • Устаревшие системы: Поддержка существующих конвейеров, построенных в экосистеме TensorFlow.
  • Среды только с CPU: Где ее эффективность параметров все еще может предложить разумную производительность для приложений с низкой частотой кадров.

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

YOLOv9: Переосмысление производительности в реальном времени

YOLOv9, представленный в начале 2024 года, представляет собой скачок вперед в серии YOLO, направленный на устранение информационных узких мест глубокого обучения для достижения превосходной эффективности. Он полностью поддерживается в рамках python-пакета Ultralytics, обеспечивая удобство работы для разработчиков.

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

Архитектура и ключевые особенности

YOLOv9 представляет две новаторские концепции: Programmable Gradient Information (PGI) и Generalized Efficient Layer Aggregation Network (GELAN).

  • PGI решает проблему потери информации, которая происходит при прохождении данных через глубокие слои нейронной сети, гарантируя, что градиенты, используемые для обновления весов модели, являются надежными.
  • GELAN — это легкая архитектура, в которой приоритет отдается вычислительной эффективности. Она позволяет модели достигать более высокой точности с меньшим количеством параметров и вычислительных затрат (FLOPs) по сравнению с методами, основанными на depth-wise convolution.

Сильные стороны и преимущества

  • Превосходный компромисс между скоростью и точностью: Как показывают тесты, YOLOv9 значительно превосходит EfficientDet по задержке inference, сохраняя или превосходя точность.
  • Экосистема Ultralytics: Интеграция с Ultralytics означает доступ к простому Python API, инструментам CLI и простому экспорту в такие форматы, как ONNX, TensorRT и CoreML.
  • Эффективность обучения: Модели YOLOv9 обычно требуют меньше памяти во время обучения и быстрее сходятся, чем старые архитектуры, благодаря оптимизированному конвейеру обучения Ultralytics.
  • Универсальность: Помимо стандартного detect, архитектура поддерживает сложные задачи, открывая путь для продвинутого segmentation и многозадачного обучения.

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

Вы знали?

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

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

Следующее сравнение подчеркивает значительные улучшения в скорости и эффективности вывода, которые YOLOv9 привносит по сравнению с семейством EfficientDet.

Модельразмер
(пиксели)
mAPval
50-95
Скорость
CPU ONNX
(мс)
Скорость
T4 TensorRT10
(мс)
параметры
(M)
FLOPs
(B)
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
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

Ключевые выводы сравнительного анализа

  1. Огромное преимущество в скорости: Модель YOLOv9c достигает конкурентоспособного показателя 53.0 mAP при скорости inference всего 7.16 мс на T4 GPU. Для сравнения, сопоставимая EfficientDet-d6 (52.6 mAP) работает со скоростью 89.29 мс. Это делает YOLOv9 примерно в 12 раз быстрее при аналогичной точности, что является критическим фактором для приложений реального времени, таких как автономные транспортные средства или мониторинг дорожного движения.
  2. Эффективность параметров: В нижнем сегменте спектра YOLOv9t предлагает впечатляющие 38.3 mAP, используя всего 2.0 миллиона параметров, превосходя базовый показатель EfficientDet-d0 по точности, при этом используя почти вдвое меньше параметров и работая значительно быстрее.
  3. Высокая точность: Для задач, требующих максимальной точности, YOLOv9e расширяет границы с 55.6 mAP, превосходя самую большую модель EfficientDet-d7, сохраняя при этом задержку (16.77 мс), которая все еще подходит для обработки видео, в отличие от непомерных 128 мс D7.

Интеграция и простота использования

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

Преимущество Ultralytics

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

  • Простой API: Вы можете обучать, проверять и развертывать модели, используя всего несколько строк кода на python.
  • Broad Compatibility: Экспортируйте свои модели без усилий в ONNX, TensorRT, OpenVINO и CoreML, используя режим экспорта.
  • Поддержка сообщества: Обширная документация и активное сообщество обеспечивают легкий доступ к решениям распространенных проблем.

Вот практический пример того, как легко запустить вывод с помощью YOLOv9, используя Ultralytics Python API:

from ultralytics import YOLO

# Load a pre-trained YOLOv9 compact model
model = YOLO("yolov9c.pt")

# Run inference on an image
results = model("path/to/image.jpg")

# Process results
for result in results:
    result.show()  # Display predictions
    result.save()  # Save image to disk

Универсальность в применении

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

Заключение

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

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

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

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

Если вам интересно изучить больше вариантов в семействе Ultralytics, рассмотрите следующие модели:

  • YOLO11: Последняя эволюция в серии YOLO, предлагающая современную производительность в задачах обнаружения, сегментации и классификации.
  • YOLOv10: Детектор реального времени end-to-end, который устраняет необходимость в Non-Maximum Suppression (NMS).
  • RT-DETR: Детектор на основе трансформера, который отличается высокой точностью, предоставляя современную альтернативу архитектурам на основе CNN.

Комментарии