Сравнение EfficientDet и YOLO11#
Выбор оптимальной архитектуры нейронной сети — это основа любого успешного приложения для computer vision. Это подробное руководство предлагает углубленное техническое сравнение между EfficientDet от Google и Ultralytics YOLO11, анализируя их архитектурные различия, показатели производительности и идеальные сценарии развертывания.
Стремишься ли ты добиться миллисекундной задержки на устройствах edge AI или тебе требуется масштабируемая точность для облачного инференса, понимание нюансов этих моделей имеет решающее значение.
Профили моделей и технические детали#
Понимание происхождения и лежащей в основе философии проектирования каждой архитектуры помогает контекстуализировать их производительность в реальных задачах object detection.
EfficientDet#
Разработанная исследователями из Google Brain, модель EfficientDet представила принципиальный подход к масштабированию сетей обнаружения объектов наряду с новой технологией BiFPN (двунаправленная пирамидальная сеть признаков).
- Авторы: Минсин Тан, Руомин Пан и Куок В. Ле
- Организация: 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
YOLO11#
YOLO11 представляет собой значительную эволюцию в экосистеме Ultralytics, расширяя границы производительности в реальном времени, эффективности параметров и многозадачного обучения.
- Авторы: Glenn Jocher и Jing Qiu
- Организация: Ultralytics
- Дата: 2024-09-27
- GitHub: https://github.com/ultralytics/ultralytics
- Документация: https://docs.ultralytics.com/models/yolo11
Архитектурное сравнение#
Архитектурные различия между этими двумя моделями подчеркивают расхождение в стратегиях проектирования на протяжении многих лет.
EfficientDet использует бэкбон EfficientNet и представляет BiFPN, что позволяет осуществлять нисходящее и восходящее многомасштабное слияние признаков. В нем применяется метод составного масштабирования, который одновременно и равномерно масштабирует разрешение, глубину и ширину для всех бэкбонов, сетей признаков и сетей предсказания ограничивающих прямоугольников/классов. Хотя это очень эффективно для максимизации mean Average Precision (mAP), сложная маршрутизация в BiFPN иногда может создавать узкое место для пропускной способности памяти во время инференса.
С другой стороны, YOLO11 использует оптимизированный модуль C3k2 и современную детекторную голову без привязки к анкорам (anchor-free). Такой рациональный подход минимизирует накладные расходы при извлечении признаков. Компания Ultralytics разработала YOLO11 так, чтобы максимизировать использование оборудования GPU, что приводит к значительно меньшим требованиям к памяти как во время обучения, так и при инференсе по сравнению со старыми архитектурами или тяжелыми моделями transformer.
В то время как EfficientDet является строго детектором объектов, YOLO11 отличается невероятной универсальностью. Одна архитектура YOLO11 нативно поддерживает Instance Segmentation, Image Classification, Pose Estimation и Oriented Bounding Boxes (OBB).
Тесты производительности#
В таблице ниже сопоставляется производительность обеих семейств моделей в различных масштабах на COCO dataset.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (М) | FLOPs (Б) |
|---|---|---|---|---|---|---|
| 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 |
| YOLO11n | 640 | 39.5 | 56.1 | 1.5 | 2.6 | 6.5 |
| YOLO11s | 640 | 47.0 | 90.0 | 2.5 | 9.4 | 21.5 |
| YOLO11m | 640 | 51.5 | 183.2 | 4.7 | 20.1 | 68.0 |
| YOLO11l | 640 | 53.4 | 238.6 | 6.2 | 25.3 | 86.9 |
| YOLO11x | 640 | 54.7 | 462.8 | 11.3 | 56.9 | 194.9 |
Сбалансированный анализ: сильные и слабые стороны#
Ускорение на GPU: YOLO11 доминирует в средах с GPU. Например, YOLO11m обеспечивает mAP 51.5% при молниеносных 4.7 мс на GPU T4 с использованием TensorRT. Для достижения сопоставимой точности EfficientDet-d5 требуется 67.86 мс — более чем в 14 раз медленнее. Это подчеркивает превосходный баланс производительности моделей Ultralytics для приложений реального времени.
Среды с CPU: EfficientDet демонстрирует высоко оптимизированную скорость инференса на CPU в своих меньших вариантах (таких как d0 и d1) с использованием ONNX. Однако его точность ухудшается при масштабировании без огромных штрафов за задержку GPU в более крупных вариантах, таких как d7.
Методология обучения и экосистема#
Опыт разработчика зачастую так же важен, как и теоретические возможности модели. Именно здесь экосистема Ultralytics показывает себя с лучшей стороны.
EfficientDet сильно зависит от устаревшей экосистемы TensorFlow и сложных библиотек AutoML. Настройка собственного пайплайна обучения сопряжена с крутой кривой обучения, сложным управлением зависимостями и ручной конфигурацией анкоров и loss functions.
Напротив, Ultralytics предлагает непревзойденную простоту использования. Опираясь на хорошо поддерживаемую экосистему PyTorch, обучение модели YOLO требует всего нескольких строк кода. Фреймворк автоматически управляет hyperparameter tuning, продвинутыми аугментациями данных и оптимальным планированием скорости обучения прямо из коробки.
Пример кода: начало работы с Ultralytics#
Этот надежный готовый к продакшену фрагмент кода демонстрирует, насколько просты обучение и инференс в Python API.
from ultralytics import YOLO
# Load a pre-trained YOLO11 small model
model = YOLO("yolo11s.pt")
# Train the model on your custom dataset with automated hyperparameter tuning
train_results = model.train(data="coco8.yaml", epochs=50, imgsz=640, device=0)
# Perform fast inference on an image
results = model.predict("https://ultralytics.com/images/bus.jpg")
results[0].show()Идеальные варианты использования#
Когда использовать EfficientDet: EfficientDet остается жизнеспособным выбором для исследовательских сред, сильно зависимых от конвейеров TensorFlow или специфических ограничений CPU, где ранние архитектуры, такие как d0, работают достаточно хорошо.
Когда использовать YOLO11: YOLO11 — это однозначный выбор для современного корпоративного развертывания. Его исключительная скорость делает его идеальным для autonomous vehicles, спортивной аналитики в реальном времени и высокопроизводительного обнаружения дефектов на производстве. Кроме того, его меньшее потребление памяти позволяет гибко развертывать его на оборудовании с ограниченными ресурсами, таком как NVIDIA Jetson.
Взгляд в будущее: обновление YOLO26#
Хотя YOLO11 обладает исключительными возможностями, разработчикам, начинающим новые проекты, стоит оценить и другие архитектуры Ultralytics, такие как проверенная YOLOv8 или недавно выпущенная YOLO26. Выпущенная в начале 2026 года, YOLO26 берет за основу фундамент YOLO11 и привносит несколько революционных инноваций:
- Дизайн End-to-End без NMS: Опираясь на наследие YOLOv10, YOLO26 полностью исключает подавление не максимальных пересечений (NMS) на этапе постобработки, сокращая задержку и упрощая пайплайны развертывания.
- Оптимизатор MuSGD: Гибридный оптимизатор, сочетающий стандартный SGD с Muon (вдохновленный обучением больших языковых моделей), что значительно повышает стабильность обучения.
- До 43% быстрее инференс на CPU: Специфические оптимизации делают YOLO26 невероятно мощной на edge-устройствах, у которых нет дискретных GPU.
- ProgLoss + STAL: Продвинутые функции потерь, которые значительно улучшают обнаружение мелких объектов, что критически важно для аэрофотосъемки и робототехники.
Изучи более широкий спектр архитектур компьютерного зрения, включая детекторные модели на основе трансформеров, такие как RT-DETR, в нашей подробной документации Ultralytics Docs.