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-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 |
| YOLOv6-3.0n | 640 | 37.5 | - | 1.17 | 4.7 | 11.4 |
| YOLOv6-3.0s | 640 | 45.0 | - | 2.66 | 18.5 | 45.3 |
| YOLOv6-3.0m | 640 | 50.0 | - | 5.28 | 34.9 | 85.8 |
| YOLOv6-3.0l | 640 | 52.8 | - | 8.95 | 59.6 | 150.7 |
EfficientDet: Масштабируемая эффективность
EfficientDet представил собой смену парадигмы в проектировании моделей, систематически оптимизируя глубину, ширину и разрешение сети. Построенный на основе EfficientNet, он представил двунаправленную сеть Feature Pyramid Network (BiFPN), позволяющую легко выполнять многомасштабное слияние признаков.
- Авторы: Mingxing Tan, Ruoming Pang и Quoc V. Le
- Организация: Google
- Дата: 2019-11-20
- Arxiv: https://arxiv.org/abs/1911.09070
- GitHub: https://github.com/google/automl/tree/master/efficientdet
- Документация: https://github.com/google/automl/tree/master/efficientdet#readme
Архитектурные инновации
Основой 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 отходит от чисто академических метрик, чтобы сосредоточиться на реальной пропускной способности, специально оптимизируясь для аппаратных ограничений, встречающихся в промышленных средах.
- Авторы: Chuyi Li, Lulu Li, Yifei Geng, Hongliang Jiang, Meng Cheng, Bo Zhang, Zaidan Ke, Xiaoming Xu и Xiangxiang Chu
- Организация: Meituan
- Дата: 2023-01-13
- Arxiv: https://arxiv.org/abs/2301.05586
- GitHub: https://github.com/meituan/YOLOv6
- Документация: https://docs.ultralytics.com/models/yolov6/
Архитектура и Дизайн
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.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?
- Простота использования и экосистема: В отличие от фрагментированных репозиториев исследовательских моделей, Ultralytics обеспечивает удобство работы. Согласованный Python API позволяет обучать, проверять и развертывать модели всего в несколько строк кода.
- Непревзойденная универсальность: YOLO11 не ограничивается ограничивающими прямоугольниками. Он изначально поддерживает Классификацию изображений, Сегментацию экземпляров, Оценку позы и Ориентированные ограничивающие прямоугольники (OBB), что делает его универсальным решением для сложных конвейеров искусственного интеллекта.
- Эффективность обучения: Модели Ultralytics оптимизированы с учетом требований к памяти, часто сходятся быстрее и используют меньше VRAM, чем тяжелые трансформеры или старые архитектуры. Эта доступность демократизирует разработку высококлассного ИИ для тех, у кого нет массивных вычислительных кластеров.
- Хорошо поддерживаемая экосистема: Экосистема 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")
Заключение
EfficientDet остается важной вехой в теории масштабирования моделей, идеально подходящей для академических исследований или автономной обработки, где точность является единственной метрикой. YOLOv6-3.0 расширяет возможности промышленного периферийного AI, предлагая отличную скорость на поддерживаемом оборудовании.
Однако для целостного решения, которое сочетает в себе передовую производительность с продуктивностью разработчиков, Ultralytics YOLO11 является рекомендуемым выбором. Ее интеграция различных задач компьютерного зрения, меньший объем памяти и надежная система поддержки позволяют разработчикам уверенно переходить от прототипа к производству.
Изучите другие модели
Если вам интересно узнать больше, ознакомьтесь с этими связанными сравнениями в нашей документации: