EfficientDet vs. YOLOv8: техническое сравнение гигантов в области detect object
В быстро развивающейся области компьютерного зрения выбор правильной архитектуры имеет решающее значение для успеха проекта. В этом анализе сравниваются две влиятельные модели: EfficientDet, исследовательская веха от Google, ориентированная на эффективность параметров, и YOLOv8, современная модель от Ultralytics, разработанная для приложений реального времени и простоты использования.
Несмотря на то, что EfficientDet представила новаторские концепции в масштабировании моделей, новые архитектуры, такие как YOLOv8 и передовая YOLO11, с тех пор переопределили стандарты скорости, точности и универсальности развертывания.
Метрики производительности: Скорость, точность и эффективность
При выборе модели для производства разработчики должны взвешивать компромиссы между задержкой вывода и точностью обнаружения. В таблице ниже представлено прямое сравнение показателей производительности на наборе данных COCO.
| Модель | размер (пиксели) | 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 |
| YOLOv8n | 640 | 37.3 | 80.4 | 1.47 | 3.2 | 8.7 |
| YOLOv8s | 640 | 44.9 | 128.4 | 2.66 | 11.2 | 28.6 |
| YOLOv8m | 640 | 50.2 | 234.7 | 5.86 | 25.9 | 78.9 |
| YOLOv8l | 640 | 52.9 | 375.2 | 9.06 | 43.7 | 165.2 |
| YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
Анализ данных
Метрики подчеркивают явное расхождение в философии проектирования. EfficientDet минимизирует FLOPs (операции с плавающей точкой), что исторически коррелировало с теоретической эффективностью. Однако на практике в сценариях вывода в реальном времени — особенно на GPU — YOLOv8 демонстрирует значительное преимущество.
- Задержка GPU: YOLOv8n примерно в 2.6 раза быстрее, чем EfficientDet-d0 на GPU T4 с TensorRT, несмотря на немного более высокие FLOPs. Это связано с тем, что архитектура YOLOv8 оптимизирована для аппаратного параллелизма, тогда как depth-wise separable convolutions EfficientDet могут быть ограничены пропускной способностью памяти на ускорителях.
- Точность в масштабе: В верхнем диапазоне YOLOv8x достигает превосходного mAP 53,9 со скоростью inference 14,37 мс, что значительно превосходит EfficientDet-d7, который отстает на 128,07 мс при аналогичной точности.
- Размер модели: YOLOv8n требует меньше параметров (3.2M), чем самый маленький EfficientDet (3.9M), что делает его весьма эффективным с точки зрения хранения для мобильных приложений.
Эффективность vs. Задержка
Низкое количество FLOP не всегда означает быстрое выполнение. EfficientDet в высшей степени оптимизирован для теоретической вычислительной стоимости, но YOLOv8 более эффективно использует возможности параллельной обработки современных GPU (таких как NVIDIA T4/A100), что приводит к снижению реальной задержки.
Архитектура и философия проектирования
Понимание архитектурных нюансов объясняет наблюдаемые выше различия в производительности.
Подробности EfficientDet
- Авторы: Мингксинг Тан, Руоминг Панг и Куок В. Ле
- Организация:Google
- Дата: Ноябрь 2019 г.
- Статья:EfficientDet: масштабируемое и эффективное обнаружение объектов
- Репозиторий:Google AutoML
EfficientDet был разработан на принципе Compound Scaling, который равномерно масштабирует разрешение, глубину и ширину сети. Он использует бэкбон EfficientNet и представляет BiFPN (Bidirectional Feature Pyramid Network). BiFPN обеспечивает взвешенное слияние признаков, определяя, какие признаки наиболее важны. Хотя это обеспечивает высокую эффективность параметров, сложные нерегулярные соединения BiFPN могут быть вычислительно затратными для выполнения на оборудовании, которое отдает предпочтение регулярным шаблонам доступа к памяти.
Узнайте больше об EfficientDet
YOLOv8 Подробности
- Авторы: Гленн Джокер, Аюш Чаурасия и Цзин Цю
- Организация:Ultralytics
- Дата: Январь 2023 г.
- Репозиторий:Ultralytics GitHub
YOLOv8 представляет собой переход к механизму обнаружения без anchor boxes, упрощающему процесс обучения за счет устранения необходимости ручного вычисления anchor boxes. Он имеет backbone CSPDarknet, модифицированный модулями C2f, которые улучшают распространение градиента и насыщенность признаков по сравнению с предыдущими версиями. Голова использует разделенную структуру, обрабатывая задачи классификации и регрессии независимо, и использует Task Aligned Assign для динамического назначения меток. Эта архитектура специально разработана для максимальной пропускной способности на GPU.
Преимущество Ultralytics
Несмотря на то, что EfficientDet является выдающимся академическим достижением, экосистема Ultralytics, окружающая YOLOv8 и YOLO11, предлагает ощутимые преимущества для разработчиков, ориентированных на поставку продуктов и MLOps.
1. Простота использования и внедрения
Реализация EfficientDet часто требует навигации по сложным файлам конфигурации и зависимостям в экосистеме TensorFlow. В отличие от этого, модели Ultralytics уделяют приоритетное внимание удобству разработчиков. Модель можно загрузить, обучить и развернуть всего за несколько строк python.
from ultralytics import YOLO
# Load a pre-trained YOLOv8 model
model = YOLO("yolov8n.pt")
# Train on a custom dataset with a single command
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image
detection = model("https://ultralytics.com/images/bus.jpg")
2. Универсальность в различных задачах
EfficientDet — это, прежде всего, архитектура detectирования объектов. Ultralytics YOLOv8 выходит далеко за рамки простых ограничивающих рамок. В рамках той же структуры пользователи могут выполнять:
- Сегментация экземпляров: Маскирование объектов на уровне пикселей.
- Оценка позы: Детектирование ключевых точек для отслеживания скелета.
- Классификация изображений: Категоризация целого изображения.
- Ориентированные ограничивающие рамки (OBB): Детектирование для повернутых объектов (например, аэрофотоснимки).
3. Эффективность обучения и использование памяти
Обучение современных Transformer или сложных многомасштабных архитектур может потребовать больших ресурсов. Модели Ultralytics YOLO известны своей эффективностью использования памяти.
- Меньшее использование VRAM: Эффективные модули C2f и оптимизированные функции потерь позволяют YOLOv8 обучаться на GPU потребительского класса, где другие модели могут столкнуться с ошибками нехватки памяти (OOM).
- Быстрая сходимость: Продвинутые методы аугментации, такие как Mosaic, ускоряют обучение, сокращая количество эпох, необходимых для достижения высокой точности.
Интегрированная экосистема
Модели Ultralytics легко интегрируются с такими инструментами, как Weights & Biases, Comet и ClearML для отслеживания экспериментов, а также Roboflow для управления наборами данных.
Приложения в реальном мире
Выбор между этими моделями часто определяет возможность развертывания в конкретных средах.
- EfficientDet Use Cases: Ее высокая эффективность параметров делает ее интересной для академических исследований законов масштабирования или строго ограниченных CPU устаревших систем, где FLOPs являются жестким ограничением, хотя задержка все еще может быть выше, чем у YOLOv8n.
- Сценарии использования YOLOv8:
- Автономные системы: Высокая частота кадров (FPS) на Edge AI устройствах, таких как NVIDIA Jetson, делает YOLOv8 идеальным для дронов и робототехники.
- Производство: Используется для обнаружения дефектов в реальном времени на сборочных линиях, где важна каждая миллисекунда.
- Интеллектуальная розничная торговля: Возможности, такие как подсчет объектов и отслеживание, обеспечивают расширенную аналитику для планировки магазинов и управления очередями.
Заключение
EfficientDet остается значительным вкладом в область глубокого обучения, доказывая, что интеллектуальное масштабирование может создавать компактные модели. Однако для подавляющего большинства современных практических приложений Ultralytics YOLOv8 (и более новый YOLO11) предлагает превосходное решение.
Сочетание молниеносной скорости inference на современном оборудовании, всеобъемлющего Python SDK и возможности обрабатывать несколько задач computer vision делает модели Ultralytics рекомендуемым выбором для разработчиков. Независимо от того, строите ли вы систему охранной сигнализации или анализируете спутниковые снимки, экосистема Ultralytics предоставляет инструменты для эффективного перевода вашего проекта от концепции к производству.
Изучите другие модели
Для более широкого взгляда на выбор обнаружения объектов, рассмотрите эти сравнения:
- YOLOv8 и YOLOv7
- YOLO11 vs. EfficientDet
- RT-DETR против EfficientDet
- YOLOv5 против EfficientDet
- YOLOv10 vs YOLOv8