YOLO11 против EfficientDet#
Выбор оптимальной нейронной сети для проектов в области computer vision требует глубокого понимания доступных архитектур. Это руководство представляет собой детальное техническое сравнение между Ultralytics YOLO11 и EfficientDet от Google. Мы изучим их архитектурные различия, performance metrics, эффективность обучения и идеальные сценарии развертывания, чтобы помочь тебе принять взвешенное решение для твоих рабочих нагрузок machine learning.
Предыстория и характеристики моделей#
Обе модели оказали значительное влияние на ландшафт deep learning, хотя они происходят из разных философских концепций проектирования и эпох развития ИИ.
Детали 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 ecosystem обеспечивает непревзойденный опыт разработки, предлагая обширную документацию, активную поддержку сообщества и бесшовные возможности экспорта в такие форматы, как ONNX и TensorRT.
Архитектурные инновации#
EfficientDet: BiFPN и составное масштабирование#
Представленный в конце 2019 года, EfficientDet был нацелен на максимизацию точности при минимизации вычислительных затрат. Он достигает этого главным образом за счет двух механизмов. Во-первых, он использует backbone EfficientNet, который согласованно масштабирует глубину, ширину и разрешение. Во-вторых, в нем появилась двунаправленная сеть пирамиды признаков (BiFPN), которая обеспечивает простое и быстрое многомасштабное feature fusion.
Будучи весьма эффективным для своего времени, EfficientDet из-за своей зависимости от библиотеки TensorFlow AutoML может оказаться громоздким. Исследователи часто находят model pruning и пользовательские модификации сложными по сравнению с современными модульными фреймворками на базе PyTorch.
YOLO11: улучшенное извлечение признаков и универсальность#
YOLO11 представляет собой значительный шаг вперед в области object detection architectures. Модель опирается на успехи своих предшественниц, представляя усовершенствованные блоки C3k2 и улучшенный модуль Spatial Pyramid Pooling. Эти улучшения приводят к превосходному feature extraction, позволяя YOLO11 фиксировать сложные визуальные паттерны с исключительной четкостью.
Главным преимуществом YOLO11 является его универсальность. В то время как EfficientDet является строго моделью object detection, YOLO11 нативно поддерживает instance segmentation, image classification, pose estimation и oriented bounding boxes (OBB). Более того, YOLO11 может похвастаться невероятно низкими требованиями к памяти как во время обучения, так и при выводе, что делает его намного превосходящим старые модели и громоздкие vision transformers при развертывании в средах edge AI с ограниченными ресурсами.
Производительность и бенчмарки#
Баланс между точностью, измеряемой в mean Average Precision (mAP), и скоростью вывода является критически важным фактором при принятии решений для реальных развертываний. Таблица ниже иллюстрирует «сырую» производительность обоих семейств моделей на стандартном COCO dataset.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (М) | FLOPs (Б) |
|---|---|---|---|---|---|---|
| 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 |
| 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.
Эта ухоженная экосистема означает, что ты можешь установить пакет, загрузить предобученную модель и начать обучение на пользовательском dataset всего за несколько строк кода.
Пример кода на Python#
Вот полностью рабочий пример, демонстрирующий простоту API Ultralytics. Этот скрипт загружает предобученную модель YOLO11, обучает её и выполняет быстрое предсказание.
from ultralytics import YOLO
# Initialize a pretrained YOLO11 nano model
model = YOLO("yolo11n.pt")
# Train the model efficiently using the integrated PyTorch engine
# Training efficiency is high, requiring less VRAM than legacy models
results = model.train(data="coco8.yaml", epochs=10, imgsz=640, device="cpu")
# Run real-time inference on a sample image
prediction = model.predict("https://ultralytics.com/images/bus.jpg")
# Display the output bounding boxes
prediction[0].show()Взгляд в будущее: преимущество YOLO26#
Хотя YOLO11 исключительно мощен, команды, начинающие новые проекты с нуля, должны серьезно рассмотреть Ultralytics YOLO26, выпущенный в январе 2026 года. YOLO26 представляет собой смену парадигмы в простоте развертывания и производительности на периферийных устройствах.
Ключевые инновации YOLO26 включают:
- Конструкция End-to-End NMS-Free: Исключая подавление немаксимумов (NMS) во время постобработки, YOLO26 обеспечивает стабильную ультранизкую задержку, что крайне важно для высокоскоростной robotics и автономного вождения.
- До 43% быстрее при инференсе на CPU: Для развертываний, где отсутствуют выделенные GPU, YOLO26 специально оптимизирована для максимизации пропускной способности на стандартных процессорах.
- Оптимизатор MuSGD: Вдохновленный Kimi K2 от Moonshot AI, этот гибридный оптимизатор привносит стабильность обучения LLM в компьютерное зрение, обеспечивая более быструю сходимость.
- ProgLoss + STAL: Эти улучшенные функции потерь кардинально улучшают распознавание мелких объектов, что часто является больной темой в satellite image analysis и на кадрах с дронов.
- Удаление DFL: Удаление Distribution Focal Loss упрощает процесс экспорта модели на периферийные устройства.
Сценарии использования и рекомендации#
Выбор между YOLO11 и EfficientDet зависит от твоих конкретных требований к проекту, ограничений развертывания и предпочтений в экосистеме.
Когда выбирать YOLO11#
YOLO11 — отличный выбор для:
- Развертывание на периферийных устройствах для продакшена: Коммерческие приложения на таких устройствах, как Raspberry Pi или NVIDIA Jetson, где надежность и активное обслуживание имеют первостепенное значение.
- Многозадачные приложения компьютерного зрения: Проекты, требующие обнаружения, сегментации, оценки позы и OBB в рамках единого универсального фреймворка.
- Быстрое прототипирование и развертывание: Команды, которым необходимо быстро перейти от сбора данных к продакшену с помощью удобного Ultralytics Python API.
Когда стоит выбрать EfficientDet#
EfficientDet рекомендуется для:
- Конвейеры Google Cloud и TPU: Системы с глубокой интеграцией в Google Cloud Vision API или инфраструктуру TPU, где EfficientDet имеет встроенную оптимизацию.
- Исследования составного масштабирования: Академическое тестирование, сфокусированное на изучении эффектов сбалансированного масштабирования глубины, ширины и разрешения сети.
- Мобильное развертывание через TFLite: Проекты, которым специально требуется экспорт TensorFlow Lite для Android или встраиваемых устройств Linux.
Когда выбирать Ultralytics (YOLO26)#
Для большинства новых проектов Ultralytics YOLO26 предлагает наилучшее сочетание производительности и удобства для разработчика:
- Развертывания на периферии без NMS: приложений, требующих стабильного вывода с низкой задержкой без сложности постобработки подавления немаксимумов.
- Среды только с CPU: устройств без выделенного GPU-ускорения, где до 43% более быстрый вывод на CPU у YOLO26 дает решающее преимущество.
- Обнаружение малых объектов: Сложные сценарии, такие как aerial drone imagery или анализ с помощью IoT-сенсоров, где ProgLoss и STAL значительно повышают точность для крошечных объектов.
Заключение#
EfficientDet была новаторской архитектурой, доказавшей жизнеспособность составного масштабирования при обнаружении объектов. Однако стремительный темп исследований в области ИИ привел к появлению моделей, которые просто более функциональны, легче интегрируются и работают быстрее.
Благодаря своим надежным многозадачным возможностям, невероятной скорости вывода на GPU и, пожалуй, самому удобному для разработчиков API в индустрии, YOLO11 является бесспорным победителем для современных конвейеров компьютерного зрения. Для тех, кто нацелен на самый передний край технологий — особенно для периферийного развертывания — обновление до YOLO26 обеспечивает максимальную комбинацию скорости без NMS и непревзойденной точности.