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

YOLOv7 против EfficientDet: Техническое сравнение архитектур обнаружения объектов в реальном времени

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

Архитектурный дизайн и философия

Принципиальное различие между этими двумя архитектурами заключается в целях оптимизации. EfficientDet, разработанная командой Google Brain, ставит во главу угла эффективность параметров и операций с плавающей точкой (FLOPs). Она использует масштабируемую архитектуру, которая позволяет пользователям линейно выбирать между ресурсами и точностью. В отличие от него, YOLOv7созданная авторами YOLOv4 (Chien-Yao Wang et al.), ориентирована на максимальную скорость вычислений на аппаратном обеспечении GPU при сохранении современной точности.

EfficientDet: Масштабирование соединений и BiFPN

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

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

YOLOv7: E-ELAN и перепараметризация модели

В YOLOv7 представлена расширенная эффективная сеть агрегирования слоев (E-ELAN). Эта архитектура управляет кратчайшим и длинным градиентными путями для улучшения способности сети к обучению без разрушения исходного градиентного пути. Кроме того, в YOLOv7 используется перепараметризация модели- метод, при котором сложная структура обучения упрощается до рационализированной структуры вывода. В результате модель получается надежной в процессе обучения и чрезвычайно быстрой при развертывании на графических процессорах.

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

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

При сравнении производительности выбор часто зависит от используемого оборудования. EfficientDet отлично работает в средах с низким энергопотреблением (CPU), в то время как YOLOv7 разработан для высокопроизводительных выводов GPU .

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

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

  • Латентность против эффективности: В то время как EfficientDet-d0 использует значительно меньше параметров (3,9 М), YOLOv7l предлагает гораздо более высокий mAP (51,4 %) при чрезвычайно низкой задержке на GPU (6,84 мс). Это свидетельствует о превосходном использовании YOLOv7 мощности параллельных вычислений.
  • Масштабируемость: EfficientDet обеспечивает гранулярное масштабирование от d0 до d7, позволяя разработчикам точно настроить размер модели под конкретные ограничения CPU .
  • Высокая точность: В верхней части EfficientDet-d7 достигает превосходной точности (53,7% mAP), но ценой высокой задержки (~128 мс). YOLOv7x достигает сопоставимой точности (53,1 % mAP) при менее чем одной десятой времени вывода (11,57 мс) на GPU T4.

Аппаратные соображения

Если целью вашего развертывания является обычный CPU или мобильный процессор, более низкие значения FLOP в моделях EfficientDet (в частности, d0-d2) часто приводят к лучшему времени автономной работы и тепловому режиму. Для граничных GPU (например, NVIDIA Jetson) или серверов облачных вычислений, YOLOv7 обеспечивает значительно более высокую частоту кадров для видеоаналитики в реальном времени.

Методики обучения и оптимизация

Стратегии обучения для этих моделей отражают их архитектурные цели.

YOLOv7 Используется подход "Bag-of-Freebies", включающий методы, которые увеличивают стоимость обучения, но повышают точность, не влияя на скорость вывода. Ключевые методы включают:

  • Глубокий надзор от грубого к тонкому: Вспомогательная головка используется для контроля средних слоев сети, при этом стратегии присвоения меток направляют вспомогательную головку иначе, чем ведущую.
  • Динамическое присвоение меток: В процессе обучения модель адаптирует присвоение объектам истины якорей, что улучшает сходимость.

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

  • Стохастическая глубина: Случайное удаление слоев во время обучения для улучшения обобщения.
  • Активация Swish: Гладкая, немонотонная функция, которая постоянно превосходит ReLU в более глубоких сетях.

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

Хотя YOLOv7 и EfficientDet являются мощными, ландшафт компьютерного зрения быстро развивается. ЭкосистемаUltralytics предлагает такие современные альтернативы, как YOLO11 которые синтезируют лучшие черты предыдущих архитектур, повышая при этом удобство для разработчиков.

Простота использования и экосистема

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

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

Модели Ultralytics не ограничиваются ограничивающими рамками. Они поддерживают сегментацию объектов, оценку позы, классификацию и ориентированное обнаружение объектов (OBB). Что касается производительности, то современные версии YOLO (например, YOLOv8 и YOLO11) часто достигают более высокой точности на параметр, чем EfficientDet, и более быстрого вывода, чем YOLOv7, что обеспечивает идеальный баланс для реального применения.

Память и эффективность обучения

Модели Ultralytics YOLO известны своей эффективностью использования памяти. Они обычно требуют меньше памяти CUDA во время обучения по сравнению с детекторами на базе Transformer или более старыми масштабируемыми архитектурами. Это позволяет исследователям обучать самые современные модели на аппаратном обеспечении потребительского класса. Кроме того, обучение трансферу упрощается благодаря высококачественным предварительно обученным весам, доступным для немедленной загрузки.

from ultralytics import YOLO

# Load the latest YOLO11 model
model = YOLO("yolo11n.pt")

# Train on a custom dataset with a single command
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference with high speed
predictions = model("https://ultralytics.com/images/bus.jpg")

Технические характеристики модели

YOLOv7

EfficientDet

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

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

EfficientDet остается сильным кандидатом для встраиваемых систем, где ускорение GPU недоступно.

  • Мобильные приложения: Приложения для iOS , выполняющие обнаружение объектов на CPU.
  • Удаленные датчики IoT: Устройства с питанием от батарей, отслеживающие изменения окружающей среды, где важен каждый милливатт вычислений.

Когда выбирать YOLOv7

YOLOv7 отлично работает в высокопроизводительных промышленных условиях.

  • Автономное вождение: Обнаружение пешеходов и автомобилей с высокой частотой кадров для обеспечения безопасности.
  • Умные города: Анализ нескольких видеопотоков одновременно для управления трафиком на пограничных серверах.

Заключение

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

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

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

Если вам интересно сравнить другие архитектуры обнаружения объектов, обратите внимание на эти ресурсы:


Комментарии