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 (Bi-directional Feature Pyramid Network), которая позволяет легко и быстро выполнять слияние признаков на разных масштабах.
Несмотря на высокую эффективность для своего времени, зависимость EfficientDet от библиотеки AutoML в TensorFlow может сделать её использование менее гибким. Исследователям часто кажется сложным выполнять прунинг моделей и пользовательские модификации по сравнению с современными модульными фреймворками на основе PyTorch.
YOLO11: улучшенное извлечение признаков и универсальность
YOLO11 представляет собой значительный скачок вперед в архитектурах обнаружения объектов. Она опирается на успехи своих предшественников, внедряя усовершенствованные блоки C3k2 и улучшенный модуль пространственного пирамидального пулинга. Эти улучшения приводят к превосходному извлечению признаков, позволяя YOLO11 улавливать сложные визуальные паттерны с исключительной четкостью.
Главным преимуществом YOLO11 является её универсальность. В то время как EfficientDet — это строго модель для обнаружения объектов, YOLO11 нативно поддерживает сегментацию экземпляров, классификацию изображений, оценку позы и ориентированные ограничивающие рамки (OBB). Более того, YOLO11 может похвастаться невероятно низкими требованиями к памяти как при обучении, так и при инференсе, что делает её значительно превосходящей более старые модели и громоздкие трансформеры зрения при развертывании в средах Edge AI с ограниченными ресурсами.
Производительность и бенчмарки
Баланс между точностью, измеряемой в средней точности (mAP), и скоростью инференса является критическим решающим фактором для развертывания в реальных условиях. В таблице ниже показана базовая производительность обеих семейств моделей на стандартном датасете COCO.
| Модель | размер (пиксели) | 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.
Эта хорошо поддерживаемая экосистема означает, что разработчики могут установить пакет, загрузить предобученную модель и начать обучение на пользовательском датасете всего за несколько строк кода.
Пример кода на 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 включают:
- Дизайн без NMS (End-to-End NMS-Free): Устраняя подавление немаксимумов (NMS) при постобработке, YOLO26 обеспечивает стабильную, сверхнизкую задержку, что критически важно для высокоскоростной робототехники и автономного вождения.
- До 43% более быстрый инференс на CPU: Для развертываний, где отсутствуют выделенные GPU, YOLO26 специально оптимизирована для максимизации пропускной способности на стандартных процессорах.
- Оптимизатор MuSGD: Вдохновленный Kimi K2 от Moonshot AI, этот гибридный оптимизатор привносит стабильность обучения LLM в компьютерное зрение, обеспечивая более быструю сходимость.
- ProgLoss + STAL: Эти улучшенные функции потерь кардинально повышают распознавание малых объектов, что часто является болевой точкой в анализе спутниковых снимков и кадрах с дронов.
- Удаление DFL: Удаление функции потерь распределения (Distribution Focal Loss) упрощает процесс экспорта модели на граничные устройства.
Варианты использования и рекомендации
Выбор между YOLO11 и EfficientDet зависит от конкретных требований твоего проекта, ограничений развертывания и предпочтений в отношении экосистемы.
Когда выбирать YOLO11
YOLO11 — это отличный выбор для:
- Развертывания на периферии (Edge): коммерческих приложений на таких устройствах, как Raspberry Pi или NVIDIA Jetson, где надежность и активная поддержка имеют первостепенное значение.
- Многозадачных приложений компьютерного зрения: проектов, требующих обнаружения, сегментации, оценки позы и OBB в рамках единого унифицированного фреймворка.
- Быстрого прототипирования и развертывания: команд, которым необходимо быстро перейти от сбора данных к продакшену, используя оптимизированный Python API Ultralytics.
Когда выбирать EfficientDet
EfficientDet рекомендуется для:
- Конвейеров Google Cloud и TPU: Систем, глубоко интегрированных с API Google Cloud Vision или инфраструктурой TPU, где EfficientDet имеет нативную оптимизацию.
- Исследований в области составного масштабирования: Академических бенчмарков, сфокусированных на изучении эффектов сбалансированного масштабирования глубины, ширины и разрешения сети.
- Развертывания на мобильных устройствах через TFLite: Проектов, которые специально требуют экспорта в TensorFlow Lite для Android или встроенных Linux-устройств.
Когда выбирать Ultralytics (YOLO26)
Для большинства новых проектов Ultralytics YOLO26 предлагает лучшее сочетание производительности и опыта разработчика:
- Периферийное развертывание без NMS: Приложениям требуется стабильный вывод с низкой задержкой без сложности постобработки Non-Maximum Suppression.
- Среды только с CPU: Устройства без выделенного GPU-ускорения, где преимущество YOLO26 в виде до 43% более быстрого вывода на CPU является решающим.
- Обнаружение мелких объектов: Сложные сценарии, такие как аэросъемка с дронов или анализ данных IoT-датчиков, где ProgLoss и STAL значительно повышают точность распознавания крошечных объектов.
Заключение
EfficientDet была новаторской архитектурой, доказавшей жизнеспособность составного масштабирования в обнаружении объектов. Однако быстрый темп исследований в области ИИ привел к появлению моделей, которые попросту более функциональны, легче интегрируются и быстрее работают.
Благодаря надежным возможностям для выполнения нескольких задач, невероятной скорости инференса на GPU и, возможно, самому удобному для разработчиков API в индустрии, YOLO11 является явным победителем для современных конвейеров компьютерного зрения. Для тех, кто стремится к самому передовому краю технологий — особенно для развертываний, ориентированных на Edge — переход на YOLO26 обеспечивает максимальное сочетание скорости без NMS и непревзойденной точности.