YOLO11 и EfficientDet#
Для выбора нейронной сети под проекты компьютерного зрения нужно понимать доступные архитектуры. В этом руководстве сравниваются Ultralytics YOLO11 и EfficientDet от Google: рассматриваются различия в архитектуре, показатели производительности, эффективность обучения и подходящие сценарии развертывания, чтобы ты мог выбрать модель для своих задач машинного обучения.
История и характеристики моделей#
Обе модели повлияли на исследования в области обнаружения объектов с помощью глубокого обучения, но основаны на разных принципах проектирования и принадлежат к разным этапам развития ИИ.
Подробнее о YOLO11#
- Авторы: Glenn Jocher и Jing Qiu
- Организация: Ultralytics
- Дата: 2024-09-27
- GitHub: https://github.com/ultralytics/ultralytics
- Документация: https://docs.ultralytics.com/models/yolo11
Сведения об EfficientDet#
- Авторы: 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
Окружающая экосистема не менее важна, чем сама модель. Экосистема Ultralytics предлагает подробную документацию, активную поддержку сообщества и экспорт одной командой в такие форматы, как ONNX и TensorRT.
Архитектурные инновации#
EfficientDet: BiFPN и составное масштабирование#
Представленная в конце 2019 года EfficientDet была нацелена на максимальную точность при минимальных вычислительных затратах. Это достигается главным образом двумя механизмами. Во-первых, её backbone взят из семейства EfficientNet, которое одновременно масштабирует глубину, ширину и разрешение с помощью составного масштабирования. Во-вторых, в модели представлена двунаправленная пирамидальная сеть признаков (BiFPN), упрощающая и ускоряющая многомасштабное объединение признаков.
Для своего времени EfficientDet была эффективной, но её реализация AutoML на основе TensorFlow может быть негибкой. По сравнению с современными модульными фреймворками на базе PyTorch исследователям часто сложнее выполнять прореживание моделей и вносить собственные изменения.
YOLO11: улучшенное извлечение признаков и универсальность#
YOLO11 развивает идеи предыдущих моделей, сочетая блоки C3k2 и пространственное внимание C2PSA с быстрым модулем Spatial Pyramid Pooling (SPPF). Эти изменения улучшают извлечение признаков и помогают YOLO11 выделять тонкие детали изображения.
Главное преимущество YOLO11 — её универсальность. EfficientDet предназначена исключительно для обнаружения объектов, тогда как YOLO11 из коробки поддерживает сегментацию экземпляров, классификацию изображений, оценку позы и ориентированные ограничивающие рамки (OBB). YOLO11 также требует мало памяти во время обучения и инференса, что даёт ей преимущество перед старыми моделями и более крупными визуальными Transformer на оборудовании периферийного ИИ с ограниченными ресурсами.
Производительность и тесты#
Баланс между точностью, измеряемой средним значением точности (mAP), и скоростью инференса часто определяет возможность развертывания в реальных условиях. В таблице ниже показана производительность семейств обеих моделей на наборе данных COCO.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLO11n | 640 | 39.5 | 56.1 | 1.5 | 2.6 | 6.5 |
| YOLO11s | 640 | 47.0 | 90.0 | 2.5 | 9.4 | 21.6 |
| YOLO11m | 640 | 51.5 | 183.2 | 4.7 | 20.1 | 68.1 |
| YOLO11l | 640 | 53.4 | 238.6 | 6.2 | 25.3 | 87.2 |
| YOLO11x | 640 | 54.7 | 462.8 | 11.3 | 56.9 | 195.3 |
| EfficientDet-d0 | 512 | 34.6 | - | 3.92 | 3.9 | 2.54 |
| EfficientDet-d1 | 640 | 40.5 | - | 7.31 | 6.6 | 6.1 |
| EfficientDet-d2 | 768 | 43.0 | - | 10.92 | 8.1 | 11.0 |
| EfficientDet-d3 | 896 | 47.5 | - | 19.59 | 12.0 | 24.9 |
| EfficientDet-d4 | 1024 | 49.7 | - | 33.55 | 20.7 | 55.2 |
| EfficientDet-d5 | 1280 | 51.5 | - | 67.86 | 33.7 | 130.0 |
| EfficientDet-d6 | 1280 | 52.6 | - | 89.29 | 51.9 | 226.0 |
| EfficientDet-d7 | 1536 | 53.7 | - | 128.07 | 51.9 | 325.0 |
YOLO11 намного быстрее на GPU при сопоставимой точности. YOLO11s почти не уступает EfficientDet-d3 (47.0 против 47.5 mAP), выполняя инференс за 2.5 мс вместо 19.59 мс на T4 с TensorRT, а YOLO11x обеспечивает наивысшую точность (54.7 mAP) за 11.3 мс против 128.07 мс у EfficientDet-d7 (53.7 mAP). У EfficientDet-d0 наименьшее число FLOPs (2.54B).
Эффективность обучения и экосистема#
Модели Ultralytics созданы для простоты использования. Для обучения EfficientDet часто приходится разбираться в сложной конфигурации вычислительного графа TensorFlow и цепочках зависимостей, тогда как YOLO11 построена на современной основе PyTorch.
Благодаря хорошо поддерживаемой экосистеме разработчики могут установить пакет, загрузить предварительно обученную модель и начать обучение на собственном датасете, написав всего несколько строк кода.
Пример кода на Python#
Вот полностью готовый к запуску пример, который показывает, насколько просто пользоваться API Ultralytics. Скрипт скачивает предварительно обученную модель YOLO11, обучает её и выполняет быстрый прогноз.
from ultralytics import YOLO
# Инициализируй предварительно обученную nano-модель YOLO11
model = YOLO("yolo11n.pt")
# Эффективно обучай модель с помощью встроенного движка PyTorch
# Обучение проходит эффективно и требует меньше VRAM, чем для устаревших моделей
results = model.train(data="coco8.yaml", epochs=10, imgsz=640, device="cpu")
# Выполни инференс в реальном времени на тестовом изображении
prediction = model.predict("https://ultralytics.com/images/bus.jpg")
# Отобрази выходные ограничивающие рамки
prediction[0].show()Взгляд в будущее: преимущества YOLO26#
Командам, начинающим новые проекты, стоит рассмотреть Ultralytics YOLO26, выпущенную в январе 2026 года: она упрощает развертывание и повышает производительность на периферийных устройствах.
Ключевые нововведения YOLO26:
- Сквозная архитектура без NMS: опциональная голова one-to-one (
nms=False) пропускает постобработку методом подавления немаксимумов (NMS), обеспечивая YOLO26 стабильную низкую задержку для высокоскоростной робототехники и автономного вождения. - До 43% быстрее на CPU: для развертываний без выделенных GPU YOLO26n работает на CPU до 43% быстрее, чем YOLO11n.
- Оптимизатор MuSGD: этот гибрид SGD и Muon, вдохновлённый Kimi K2 от Moonshot AI, переносит стабильность обучения больших языковых моделей (LLM) в компьютерное зрение и ускоряет сходимость.
- ProgLoss + STAL: Progressive Loss и Small-Target-Aware Label Assignment (STAL) улучшают распознавание мелких объектов, которое часто представляет сложность при анализе спутниковых снимков и видеосъёмке с дронов.
- Удаление DFL: Удаление Distribution Focal Loss упрощает экспорт модели на периферийные устройства.
Сценарии использования и рекомендации#
Выбор между YOLO11 и EfficientDet зависит от конкретных требований твоего проекта, ограничений развертывания и предпочтительной экосистемы.
Когда выбирать YOLO11#
YOLO11 — отличный выбор для следующих задач:
- Промышленное развертывание на периферийных устройствах: коммерческие приложения на устройствах вроде Raspberry Pi или NVIDIA Jetson, где особенно важны надёжность и активная поддержка.
- Многозадачные приложения компьютерного зрения: проекты, которым нужны обнаружение объектов, сегментация, оценка позы и OBB в рамках единого фреймворка.
- Быстрое прототипирование и развертывание: командам, которым нужно быстро пройти путь от сбора данных до промышленной эксплуатации с помощью Ultralytics Python API.
Когда стоит выбрать EfficientDet#
EfficientDet подойдёт для следующих задач:
- Конвейеры Google Cloud и TPU: системы на базе TensorFlow в инфраструктуре Google Cloud TPU, где эталонная реализация EfficientDet поддерживает обучение на TPU.
- Исследования составного масштабирования: Академические исследования и сравнительное тестирование, посвящённые влиянию сбалансированного масштабирования глубины, ширины и разрешения сети.
- Развертывание на мобильных устройствах через LiteRT: Проекты, для которых требуется экспорт в LiteRT (ранее TensorFlow Lite) для Android или встраиваемых устройств с Linux.
Когда выбирать Ultralytics (YOLO26)#
Для большинства новых проектов Ultralytics YOLO26 предлагает лучшее сочетание производительности и удобства для разработчиков:
- Развертывание на периферийных устройствах без NMS: Приложения, которым необходим стабильный инференс с низкой задержкой без усложнения постобработки подавлением немаксимумов.
- Среды, работающие только на CPU: устройства без выделенного ускорения на GPU, на которых преимущество YOLO26n особенно заметно: инференс на CPU выполняется до 43% быстрее, чем у YOLO11n.
- Обнаружение небольших объектов: сложные сценарии, например аэрофотосъемка с дронов или анализ данных датчиков IoT, где ProgLoss и STAL повышают точность обнаружения небольших объектов.
Заключение#
EfficientDet стала новаторской архитектурой, доказавшей ценность составного масштабирования для обнаружения объектов. Более новые модели функциональнее, проще интегрируются и быстрее работают на GPU.
Благодаря поддержке нескольких задач, быстрому инференсу на GPU и простому API YOLO11 лучше подходит для современных конвейеров компьютерного зрения. Для новых проектов, особенно ориентированных на периферийные устройства, YOLO26 добавляет опциональный инференс без NMS и повышенную точность.