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

EfficientDet vs YOLOv7: техническое сравнение

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

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

EfficientDet: Масштабируемая и эффективная архитектура

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

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

Архитектура EfficientDet построена на трех основных компонентах:

  • EfficientNet Backbone: Он использует высокоэффективный EfficientNet в качестве своей базовой сети для извлечения признаков, которая оптимизирована для превосходного баланса между точностью и вычислительными затратами.
  • BiFPN (Bi-directional Feature Pyramid Network): В отличие от традиционных FPN, которые суммируют признаки в одном направлении, BiFPN обеспечивает многомасштабное слияние признаков со взвешенными соединениями, обеспечивая более богатое представление признаков с меньшим количеством параметров.
  • Комплексное масштабирование (Compound Scaling): EfficientDet представляет метод комплексного масштабирования, который равномерно масштабирует глубину, ширину и разрешение backbone, сети признаков и prediction head. Это позволяет масштабировать модель от малого EfficientDet-D0 до большого D7, удовлетворяя различные ограничения ресурсов.

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

  • Высокая эффективность параметров: Модели EfficientDet достигают конкурентоспособной точности при значительно меньшем количестве параметров и FLOPs по сравнению с другими моделями своего времени.
  • Масштабируемость: Метод масштабирования обеспечивает четкий путь для масштабирования модели вверх или вниз, что делает ее адаптируемой для различного оборудования, от периферийных устройств до мощных облачных серверов.
  • Высокая производительность на CPU: Меньшие варианты EfficientDet хорошо работают на CPU, что делает их подходящими для приложений, где GPU недоступен.

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

  • Более медленный инференс на GPU: Несмотря на свою эффективность по FLOPs, EfficientDet может быть медленнее, чем такие модели, как YOLOv7, на GPU, поскольку его архитектура менее оптимизирована для параллельной обработки.
  • Специфичность задачи: EfficientDet в основном разработан для обнаружения объектов, и ему не хватает встроенной многозадачной универсальности, которая есть в более современных фреймворках.
  • Сложность: Концепции BiFPN и составного масштабирования, хотя и мощные, могут добавить сложности в понимание и настройку модели.

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

YOLOv7: Новый эталон в обнаружении в реальном времени

YOLOv7 стал значительным шагом вперед в серии YOLO, установив новый уровень для детекторов объектов реального времени. Он представил несколько архитектурных оптимизаций и оптимизаций обучения для повышения точности без ущерба для скорости вывода.

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

Увеличение производительности YOLOv7 обусловлено несколькими ключевыми инновациями:

  • Расширенная сеть агрегации эффективных слоев (E-ELAN): Этот модуль, используемый в backbone модели, повышает способность сети к эффективному обучению и сходимости за счет управления путями градиента.
  • Ре-параметризация модели: YOLOv7 использует запланированную ре-параметризованную свертку — метод, который объединяет несколько модулей в один во время инференса, чтобы уменьшить вычислительные издержки и увеличить скорость.
  • Обучаемый набор бесплатных улучшений: Он представляет передовые методы обучения, такие как вспомогательные заголовки, которые углубляют контроль, и поэтапное обучение с управляемым лидером, которые повышают точность, не увеличивая окончательную стоимость вывода.

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

  • Исключительный компромисс между скоростью и точностью: YOLOv7 обеспечивает выдающуюся скорость вывода в реальном времени на GPU, сохраняя при этом очень высокую точность, превосходя многие другие модели.
  • Расширенные оптимизации обучения: Подход "bag-of-freebies" позволяет достигать более высоких показателей mAP, не утяжеляя развернутую модель.
  • Проверенная производительность: Она была тщательно протестирована на стандартных наборах данных, таких как MS COCO, демонстрируя свои возможности.

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

  • Интенсивное обучение с использованием ресурсов: Большие модели YOLOv7 могут быть требовательными к вычислениям и требовать значительного объема памяти GPU для обучения.
  • Ограниченная универсальность: Хотя официальный репозиторий включает расширения для таких задач, как оценка позы и сегментация, он не является интегрированным многозадачным фреймворком, как более новые модели Ultralytics.
  • Сложность: Архитектура и конвейер обучения сложны, что может быть барьером для разработчиков, желающих настроить или глубоко понять модель.

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

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

При сравнении EfficientDet и YOLOv7 ключевое различие заключается в их целях оптимизации. EfficientDet уделяет приоритетное внимание эффективности параметров и FLOP, в то время как YOLOv7 фокусируется на максимизации скорости инференса (FPS) на GPU для заданной точности.

Модель размер
(пиксели)
mAPval
50-95
Скорость
CPU ONNX
(мс)
Скорость
T4 TensorRT
(мс)
параметры
(M)
FLOPs
(B)
YOLOv7l 640 51.4 - 6.84 36.9 104.7
YOLOv7x 640 53.1 - 11.57 71.3 189.9
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

На основании таблицы можно сделать несколько выводов:

  • Точность: Самая большая модель EfficientDet (d7) достигает самого высокого mAP, но YOLOv7x очень близка к ней.
  • Эффективность: Модели EfficientDet исключительно легкие с точки зрения параметров и FLOPs, особенно небольшие варианты. EfficientDet-d0 является явным лидером для сред с ограниченными ресурсами.
  • Скорость: Модели YOLOv7 значительно быстрее на GPU (TensorRT). Например, YOLOv7l достигает 51,4 mAP всего за 6,84 мс, тогда как сопоставимая EfficientDet-d5 достигает 51,5 mAP, но занимает гораздо больше времени — 67,86 мс. Это делает YOLOv7 гораздо более подходящей для приложений реального времени, требующих высокой пропускной способности.

Почему стоит выбрать модели Ultralytics YOLO?

Несмотря на то, что YOLOv7 демонстрирует отличную производительность, новые модели Ultralytics YOLO, такие как YOLOv8 и YOLO11, предоставляют значительные преимущества:

  • Простота использования: Модели Ultralytics поставляются с оптимизированным Python API, обширной документацией и понятными командами CLI, что упрощает обучение, проверку и развертывание.
  • Развитая экосистема: Воспользуйтесь преимуществами активной разработки, сильного сообщества открытого исходного кода, частых обновлений и интеграции с такими инструментами, как Ultralytics HUB для бесшовного MLOps.
  • Баланс производительности: Модели Ultralytics обеспечивают превосходный компромисс между скоростью и точностью, что делает их подходящими для различных реальных сценариев, от периферийных устройств до облачных серверов.
  • Эффективность использования памяти: Модели Ultralytics YOLO разработаны для эффективного использования памяти во время обучения и инференса, часто требуя меньше памяти CUDA, чем модели на основе трансформеров или даже некоторые варианты EfficientDet или YOLOv7.
  • Универсальность: Такие модели, как YOLOv8 и YOLO11, поддерживают несколько задач, помимо обнаружения объектов, включая сегментацию, классификацию, оценку позы и ориентированное обнаружение объектов (OBB), предлагая унифицированное решение.
  • Эффективность обучения: Воспользуйтесь преимуществами эффективных процессов обучения, готовых предварительно обученных весов на наборах данных, таких как COCO, и более быстрого времени сходимости.

Заключение

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

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

Сравнения с другими моделями

Для дальнейшего изучения рассмотрите эти сравнения с участием EfficientDet, YOLOv7 и других соответствующих моделей:



📅 Создано 1 год назад ✏️ Обновлено 1 месяц назад

Комментарии