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

EfficientDet против YOLOv9: эволюция эффективности обнаружения объектов

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

EfficientDet: Новаторство в области масштабируемой эффективности

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

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

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

EfficientDet построен на базе EfficientNet и представляет двунаправленную сеть пирамид признаков (BiFPN). В отличие от традиционных FPN, BiFPN позволяет легко и быстро объединять разномасштабные признаки за счет введения обучаемых весов для изучения важности различных входных признаков. В модели используется метод комбинированного масштабирования, который равномерно масштабирует разрешение, глубину и ширину для всех опорных сетей, сетей признаков и сетей предсказания классов/боксов одновременно.

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

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

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

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

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

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

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

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

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

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

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

В YOLOv9 представлены две новаторские концепции: Программируемая градиентная информация (PGI) и обобщенная эффективная сеть агрегирования слоев (GELAN).

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

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

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

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

Знаете ли вы?

Архитектура GELAN в YOLOv9 спроектирована таким образом, чтобы быть аппаратно-агностичной, то есть эффективно работать на широком спектре устройств вывода, от граничных TPU до high-end 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 со скоростью вывода всего 7,16 мс на GPU T4. Для сравнения, сопоставимая модель 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 .
  • Широкая совместимость: Экспортируйте свои модели в 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: сквозной детектор в реальном времени, который устраняет необходимость в подавлении без максимумаNMS).
  • RT-DETR: детектор на основе трансформатора, отличающийся высокой точностью и являющийся современной альтернативой архитектурам на основе CNN.

Комментарии