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

EfficientDet vs. YOLOv6-3.0: всестороннее техническое сравнение

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

Сравнение метрик производительности

Следующие эталонные тесты на наборе данных COCO иллюстрируют компромисс между архитектурной эффективностью и задержкой вывода. YOLOv6-3.0 демонстрирует превосходную скорость на оборудовании GPU, используя методы репараметризации, тогда как 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
YOLOv6-3.0n64037.5-1.174.711.4
YOLOv6-3.0s64045.0-2.6618.545.3
YOLOv6-3.0m64050.0-5.2834.985.8
YOLOv6-3.0l64052.8-8.9559.6150.7

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

EfficientDet представил собой смену парадигмы в проектировании моделей, систематически оптимизируя глубину, ширину и разрешение сети. Построенный на основе EfficientNet, он представил двунаправленную сеть Feature Pyramid Network (BiFPN), позволяющую легко выполнять многомасштабное слияние признаков.

Архитектурные инновации

Основой EfficientDet является BiFPN, которая позволяет информации течь как сверху вниз, так и снизу вверх, многократно объединяя признаки в разных масштабах. Это контрастирует с более простыми Feature Pyramid Networks (FPN), часто используемыми в более старых детекторах. Кроме того, EfficientDet использует Compound Scaling — метод, который равномерно масштабирует backbone, BiFPN и сети классов/боксов, используя один составной коэффициент $\phi$. Такой структурированный подход гарантирует сбалансированность ресурсов по всем измерениям модели, избегая узких мест, часто встречающихся в архитектурах, разработанных вручную.

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

EfficientDet превосходен в эффективности параметров, достигая высокого mAP с относительно меньшим количеством параметров, чем его современники, такие как YOLOv3. Он особенно эффективен для задач классификации изображений и detect, где размер модели (хранилище) является ограничением, но задержка является договорной. Однако сложные нерегулярные соединения в слое BiFPN и широкое использование depthwise separable convolutions могут быть неэффективными на стандартных GPU, что приводит к более высокой задержке inference, несмотря на меньшее количество FLOP.

Задержка vs. FLOPs

Несмотря на то, что EfficientDet имеет низкие FLOPs (операции с плавающей запятой), это не всегда означает более высокую скорость на GPU. Затраты на доступ к памяти при использовании depthwise separable convolutions могут снизить производительность по сравнению со стандартными convolutions, используемыми в моделях YOLO.

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

YOLOv6-3.0: Промышленная скорость

YOLOv6-3.0 отходит от чисто академических метрик, чтобы сосредоточиться на реальной пропускной способности, специально оптимизируясь для аппаратных ограничений, встречающихся в промышленных средах.

Архитектура и Дизайн

YOLOv6-3.0 использует EfficientRep Backbone, который использует репараметризацию (в стиле RepVGG) для разделения архитектур во время обучения и во время inference. Во время обучения модель использует сложные многокомпонентные блоки для лучшего потока градиента; во время inference они сворачиваются в отдельные свертки $3 \times 3$, максимизируя вычислительную плотность GPU. Версия 3.0 также интегрировала передовые стратегии, такие как Quantization-Aware Training (QAT) и самодистилляцию, что позволяет модели сохранять точность даже при квантовании до точности INT8 для развертывания на периферийных устройствах.

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

Благодаря своей аппаратно-ориентированной конструкции, YOLOv6-3.0 идеально подходит для:

  • Высокоскоростное производство: Detect дефектов на быстро движущихся конвейерных лентах, где скорость inference не подлежит обсуждению.
  • Автоматизация розничной торговли: Обеспечение работы кассовых систем без кассира, требующих распознавания объектов с низкой задержкой.
  • Аналитика умного города: Обработка нескольких видеопотоков для анализа трафика или систем безопасности.

Узнайте больше о YOLOv6-3.0

Сравнительный анализ

Различие в философии проектирования между этими двумя моделями создает различные преимущества в зависимости от аппаратного обеспечения развертывания.

Точность и скорость

Как показано в таблице, YOLOv6-3.0l достигает сопоставимого mAP (52.8) с EfficientDet-d6 (52.6), но работает почти в 10 раз быстрее на T4 GPU (8.95ms против 89.29ms). Этот огромный разрыв подчеркивает неэффективность глубинных сверток на высокопроизводительном оборудовании по сравнению с плотными свертками YOLOv6. EfficientDet сохраняет небольшое преимущество в абсолютной точности со своим самым большим вариантом D7, но за счет задержки, которая препятствует выводу в реальном времени.

Обучение и универсальность

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

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

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

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

  1. Простота использования и экосистема: В отличие от фрагментированных репозиториев исследовательских моделей, Ultralytics обеспечивает удобство работы. Согласованный Python API позволяет обучать, проверять и развертывать модели всего в несколько строк кода.
  2. Непревзойденная универсальность: YOLO11 не ограничивается ограничивающими прямоугольниками. Он изначально поддерживает Классификацию изображений, Сегментацию экземпляров, Оценку позы и Ориентированные ограничивающие прямоугольники (OBB), что делает его универсальным решением для сложных конвейеров искусственного интеллекта.
  3. Эффективность обучения: Модели Ultralytics оптимизированы с учетом требований к памяти, часто сходятся быстрее и используют меньше VRAM, чем тяжелые трансформеры или старые архитектуры. Эта доступность демократизирует разработку высококлассного ИИ для тех, у кого нет массивных вычислительных кластеров.
  4. Хорошо поддерживаемая экосистема: Экосистема Ultralytics, поддерживаемая активным сообществом и частыми обновлениями, гарантирует, что ваши проекты останутся перспективными благодаря простой интеграции с инструментами для аннотации данных, ведения журналов и развертывания.

Оптимизированная разработка

С Ultralytics переключение с обнаружения объектов на сегментацию экземпляров так же просто, как изменение имени модели (например, yolo11n.pt в yolo11n-seg.pt). Эта гибкость значительно сокращает время разработки по сравнению с адаптацией различных архитектур, таких как EfficientDet, для новых задач.

Пример кода

Оцените простоту API Ultralytics по сравнению со сложными исследовательскими кодовыми базами:

from ultralytics import YOLO

# Load a pre-trained YOLO11 model
model = YOLO("yolo11n.pt")

# Train the model on your custom dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference on an image
results = model.predict("https://ultralytics.com/images/bus.jpg")

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

Заключение

EfficientDet остается важной вехой в теории масштабирования моделей, идеально подходящей для академических исследований или автономной обработки, где точность является единственной метрикой. YOLOv6-3.0 расширяет возможности промышленного периферийного AI, предлагая отличную скорость на поддерживаемом оборудовании.

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

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

Если вам интересно узнать больше, ознакомьтесь с этими связанными сравнениями в нашей документации:


Комментарии