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

EfficientDet против YOLOv5: баланс между масштабируемостью и производительностью в реальном времени

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

В то время как EfficientDet представил революционные концепции в области масштабирования соединений, YOLOv5 в этой области, сделав высокопроизводительное компьютерное зрение доступным благодаря оптимизированному API и надежной экосистеме.

Обзор модели

Google EfficientDet

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

Ultralytics YOLOv5

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

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

Сравнение технической архитектуры

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

EfficientDet: Комбинированное масштабирование и BiFPN

Основная инновация EfficientDet — это BiFPN (взвешенная двунаправленная пирамидальная сеть). В отличие от стандартных FPN, которые суммируют характеристики без разбора, BiFPN использует обучаемые веса, чтобы понять важность различных входных характеристик. Это позволяет сети приоритезировать более информативные характеристики во время слияния.

Кроме того, EfficientDet использует Compound Scaling, который одновременно увеличивает разрешение, глубину и ширину основной сети, сети признаков и сети прогнозирования. Это позволяет пользователям выбирать из семейства моделей (от D0 до D7) в зависимости от своих ресурсных ограничений. Однако такая сложность может привести к более высокой задержке на периферийных устройствах, которые не имеют специализированной поддержки для этих операций.

YOLOv5: CSPDarknet и PANet

YOLOv5 магистраль CSPDarknet, которая интегрирует сети Cross Stage Partial. Эта конструкция уменьшает количество параметров и FLOPS, сохраняя точность за счет разделения карты признаков на базовом уровне.

Для агрегации признаков YOLOv5 сеть агрегации путей (PANet). Эта структура улучшает поток информации от нижних слоев к верхним, улучшая локализацию объектов, что имеет решающее значение для точного определения границ. Головка основана на якорях и предсказывает смещения от заранее определенных якорных рамок. Эта архитектура высоко оптимизирована для GPU , что приводит к более быстрым временам вывода по сравнению со сложными операциями масштабирования EfficientDet.

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

Выбор YOLOv5 доступ к Ultralytics , обеспечивая беспроблемную интеграцию с инструментами для аннотирования данных, отслеживания экспериментов и облачного обучения через Ultralytics . Такая структура поддержки часто отсутствует в репозиториях, ориентированных на исследования, таких как EfficientDet.

Метрики производительности

При оценке производительности очень важно учитывать как точность (mAP), так и скорость (задержка). Хотя EfficientDet обеспечивает более высокую точность благодаря своим более крупным вариантам (D7), он часто приводит к значительному снижению скорости по сравнению с YOLOv5 сопоставимого размера.

В таблице ниже показаны различия в производительности. Обратите внимание, что YOLOv5 значительно более высокую CPU , что делает его гораздо более практичным для развертывания без использования специализированных ускорителей.

Модельразмер
(пиксели)
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
YOLOv5n64028.073.61.122.67.7
YOLOv5s64037.4120.71.929.124.0
YOLOv5m64045.4233.94.0325.164.2
YOLOv5l64049.0408.46.6153.2135.0
YOLOv5x64050.7763.211.8997.2246.4

Анализ

  1. Скорость против точности: EfficientDet-d0 очень эффективен с точки зрения FLOP, но на практике YOLOv5n и YOLOv5s часто работают быстрее на стандартных графических процессорах благодаря более удобным для аппаратного обеспечения операциям (избегая разделяемых по глубине сверток, которые могут быть медленными на некоторых старых CUDA ).
  2. Эффективность использования памяти: YOLOv5 требует меньше VRAM во время обучения, что позволяет использовать более крупные пакеты данных на потребительском оборудовании. Сложные соединения EfficientDet могут увеличить нагрузку на память.
  3. Оптимизация: EfficientDet в значительной степени полагается на поиск архитектуры с помощью AutoML, который может быть сложен для модификации. YOLOv5 более легко настраивать кратные значения глубины и ширины непосредственно в конфигурации YAML.

Обучение и удобство использования

Эффективность обучения

Ultralytics YOLOv5 своей способностью «тренироваться из коробки». Репозиторий включает в себя увеличение объема данных Mosaic, автоматический расчет анкоров и эволюцию гиперпараметров. Это означает, что пользователи могут достигать отличных результатов на пользовательских наборах данных без значительной настройки. Реализации EfficientDet часто требуют более тщательной ручной настройки TensorFlow и тщательного планирования скорости обучения.

Универсальность развертывания

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

Кроме того, развертывание YOLOv5 благодаря режиму экспорта, который поддерживает конвертацию в ONNX, TensorRT, CoreML и TFLite одним щелчком мыши.

from ultralytics import YOLO

# Load a pretrained YOLOv5 model
model = YOLO("yolov5s.pt")

# Train the model on a custom dataset
model.train(data="coco128.yaml", epochs=100)

# Export to ONNX format for deployment
model.export(format="onnx")

Готовность к будущему: аргументы в пользу YOLO26

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

YOLO26 представляет собой сквозную конструкцию NMS, устраняющую необходимость в постобработке с помощью не максимального подавления. Это сокращает задержку и упрощает процесс развертывания, что является значительным преимуществом по сравнению с EfficientDet и YOLOv5. Кроме того, YOLO26 использует оптимизатор MuSGD, вдохновленный обучением LLM, что обеспечивает более быструю сходимость и стабильное обучение даже на сложных наборах данных.

Если ваш проект связан с пограничным искусственным интеллектом, YOLO26 специально оптимизирован для CPU , обеспечивая скорость до 43 % выше, чем предыдущие поколения.

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

Идеальные варианты использования

Когда следует выбирать EfficientDet

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

Когда выбирать Ultralytics YOLOv5 или YOLO26)

  • Приложения реального времени: автономное вождение, видеоаналитика и робототехника, где низкая задержка является обязательным условием.
  • Развертывание на периферии: работа на Raspberry Pi, NVIDIA или мобильных устройствах, где критически важны эффективность использования памяти иTensorRT .
  • Быстрое развитие: проекты, требующие быстрых циклов итерации, простого управления наборами данных и надежных предварительно обученных весов.
  • Разнообразные задачи: если ваш проект может расшириться и включить оценку позы или обнаружение ориентированных объектов (OBB), Ultralytics поддерживает эти функции изначально.

Обзор

Как EfficientDet, так и YOLOv5 значительный вклад в развитие компьютерного зрения. EfficientDet продемонстрировал мощь систематического масштабирования, а YOLOv5 высокопроизводительное обнаружение YOLOv5 . Для большинства практических приложений на сегодняшний день Ultralytics , представленная YOLOv5 передовой YOLO26, предлагает превосходный баланс скорости, точности и простоты использования, поддерживаемый постоянно обновляемой кодовой базой и процветающим сообществом.

Для получения дополнительной информации о сравнении моделей изучите, как YOLO соотносятся с другими, например YOLOv8 EfficientDet или основанная на трансформере RT-DETR.


Комментарии