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 и составное масштабирование#
Модель EfficientDet, представленная в конце 2019 года, стремилась повысить точность и одновременно снизить вычислительные затраты. В первую очередь она достигает этого за счет двух механизмов. Во-первых, она использует EfficientNet в качестве базовой сети, которая согласованно масштабирует глубину, ширину и разрешение. Во-вторых, в EfficientDet была представлена двунаправленная пирамидальная сеть признаков (BiFPN), которая позволяет легко и быстро выполнять объединение признаков на разных масштабах.
В своё время EfficientDet была очень эффективной, однако зависимость от библиотеки TensorFlow AutoML может ограничивать гибкость. Исследователи часто считают структурное прореживание моделей и их кастомизацию сложной задачей по сравнению с современными модульными фреймворками на PyTorch.
YOLO11: улучшенное извлечение признаков и универсальность#
YOLO11 — значительный шаг вперёд в развитии архитектур обнаружения объектов. Модель развивает успех предшественников, представляя усовершенствованные блоки C3k2 и улучшенный модуль пространственного пирамидального пулинга. Эти улучшения обеспечивают более эффективное извлечение признаков, позволяя YOLO11 с исключительной точностью улавливать сложные визуальные паттерны.
Одно из главных преимуществ YOLO11 — её универсальность. EfficientDet предназначена только для обнаружения объектов, тогда как YOLO11 изначально поддерживает сегментацию экземпляров, классификацию изображений, оценку позы и ориентированные ограничивающие рамки (OBB). Кроме того, YOLO11 требует очень мало памяти как при обучении, так и при инференсе, поэтому значительно превосходит устаревшие модели и громоздкие визуальные трансформеры при развертывании в средах периферийного ИИ с ограниченными ресурсами.
Производительность и тесты#
Для развертывания в реальных условиях решающим фактором становится баланс между точностью, измеряемой средней точностью (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 | 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 |
Как видно, YOLO11 обеспечивает весьма удачный баланс производительности. YOLO11x показывает наивысшую общую точность (54,7 mAP), а компактные варианты YOLO11 уверенно лидируют по скорости инференса на GPU (всего 1,5 мс на T4 при использовании TensorRT).
Эффективность обучения и экосистема#
Одна из ключевых особенностей моделей 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#
YOLO11 — очень мощная модель, но командам, которые начинают новые проекты с нуля, стоит серьёзно рассмотреть Ultralytics YOLO26, выпущенную в январе 2026 года. YOLO26 меняет подход к простоте развертывания и производительности на периферийных устройствах.
Ключевые нововведения YOLO26:
- Сквозная архитектура без NMS: Опциональная голова с сопоставлением один к одному (
nms=False) пропускает постобработку методом подавления немаксимумов (NMS), обеспечивая YOLO26 стабильно низкую задержку, необходимую для высокоскоростной робототехники и автономного вождения. - Инференс на CPU до 43% быстрее: Для развертываний без выделенных GPU YOLO26 специально оптимизирована для максимальной пропускной способности стандартных процессоров.
- Оптимизатор MuSGD: Этот гибридный оптимизатор, вдохновлённый Kimi K2 от Moonshot AI, переносит стабильность обучения LLM в компьютерное зрение и ускоряет сходимость.
- ProgLoss + STAL: Эти улучшенные функции потерь значительно повышают точность распознавания небольших объектов, что часто представляет проблему при анализе спутниковых снимков и видеосъёмки с дронов.
- Удаление DFL: Удаление Distribution Focal Loss упрощает экспорт модели на периферийные устройства.
Сценарии использования и рекомендации#
Выбор между YOLO11 и EfficientDet зависит от конкретных требований твоего проекта, ограничений развертывания и предпочтительной экосистемы.
Когда выбирать YOLO11#
YOLO11 — отличный выбор для следующих задач:
- Промышленное развертывание на периферийных устройствах: коммерческие приложения на устройствах вроде Raspberry Pi или NVIDIA Jetson, где особенно важны надёжность и активная поддержка.
- Многозадачные приложения компьютерного зрения: проекты, в которых в рамках единого фреймворка требуются обнаружение объектов, сегментация, оценка позы и OBB.
- Быстрое прототипирование и развертывание: команды, которым нужно быстро пройти путь от сбора данных до промышленной эксплуатации с помощью удобного Python API Ultralytics.
Когда стоит выбрать EfficientDet#
EfficientDet подойдёт для следующих задач:
- Google Cloud и конвейеры TPU: Системы, тесно интегрированные с API Google Cloud Vision или инфраструктурой TPU, где EfficientDet оптимизирована изначально.
- Исследования составного масштабирования: Академические исследования и сравнительное тестирование, посвящённые влиянию сбалансированного масштабирования глубины, ширины и разрешения сети.
- Развертывание на мобильных устройствах через LiteRT: Проекты, для которых требуется экспорт в LiteRT (ранее TensorFlow Lite) для Android или встраиваемых устройств с Linux.
Когда выбирать Ultralytics (YOLO26)#
Для большинства новых проектов Ultralytics YOLO26 предлагает оптимальное сочетание производительности и удобства разработки:
- Развертывание на периферийных устройствах без NMS: Приложения, которым необходим стабильный инференс с низкой задержкой без усложнения постобработки подавлением немаксимумов.
- Среды только с CPU: Устройства без выделенного ускорителя GPU, где до 43% более быстрый инференс YOLO26 на CPU даёт решающее преимущество.
- Обнаружение небольших объектов: Сложные сценарии, например съёмка с дронов или анализ данных IoT-датчиков, где ProgLoss и STAL заметно повышают точность обнаружения крошечных объектов.
Заключение#
EfficientDet стала новаторской архитектурой, доказавшей применимость составного масштабирования в обнаружении объектов. Однако стремительный прогресс исследований в области ИИ привёл к появлению более функциональных, простых в интеграции и быстрых моделей.
Благодаря широким возможностям решения нескольких задач, впечатляющей скорости инференса на GPU и, пожалуй, самому удобному для разработчиков API в отрасли YOLO11 — очевидный лидер для современных конвейеров компьютерного зрения. Тем, кто стремится использовать самые передовые технологии, особенно при развертывании с приоритетом периферийных устройств, переход на YOLO26 обеспечит идеальное сочетание скорости благодаря отсутствию NMS и непревзойдённой точности.