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
- Дата: 20.11.2019
- 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 была призвана максимизировать точность при минимизации вычислительных затрат. В основном это достигается двумя механизмами. Во-первых, в ней используется базовая сеть EfficientNet, которая согласованно масштабирует глубину, ширину и разрешение. Во-вторых, в ней впервые была применена двунаправленная пирамидальная сеть признаков (BiFPN), обеспечивающая простое и быстрое объединение признаков в нескольких масштабах.
Несмотря на высокую эффективность для своего времени, зависимость EfficientDet от библиотеки AutoML для TensorFlow может делать модель негибкой. По сравнению с современными модульными фреймворками на основе 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.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: благодаря устранению подавления немаксимумов (NMS) на этапе постобработки YOLO26 обеспечивает стабильную сверхнизкую задержку, что особенно важно для высокоскоростной робототехники и автономного вождения.
- До 43% более быстрый вывод на CPU: для развертываний без выделенных GPU YOLO26 специально оптимизирована для максимальной пропускной способности на стандартных процессорах.
- Оптимизатор MuSGD: этот гибридный оптимизатор, вдохновлённый Kimi K2 от Moonshot AI, переносит стабильность обучения больших языковых моделей в компьютерное зрение и ускоряет сходимость.
- ProgLoss + STAL: эти улучшенные функции потерь значительно повышают качество распознавания небольших объектов, что часто является проблемой при анализе спутниковых изображений и обработке видеозаписей с дронов.
- Удаление 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: приложений, требующих стабильного вывода с низкой задержкой без сложной постобработки с подавлением немаксимумов.
- Сред без GPU: устройств без выделенного ускорения GPU, где до 43% более быстрый вывод YOLO26 на CPU дает решающее преимущество.
- Обнаружения мелких объектов: сложных сценариев, таких как аэрофотосъемка с дронов или анализ данных IoT-сенсоров, где ProgLoss и STAL значительно повышают точность обнаружения крошечных объектов.
Заключение#
EfficientDet стала новаторской архитектурой, доказавшей жизнеспособность составного масштабирования в обнаружении объектов. Однако стремительное развитие исследований в области ИИ привело к появлению моделей, которые просто функциональнее, проще интегрируются и быстрее работают.
Благодаря широким возможностям решения нескольких задач, невероятно высокой скорости вывода на GPU и, вероятно, самому удобному для разработчиков API в отрасли, YOLO11 является очевидным победителем для современных конвейеров компьютерного зрения. Тем, кто стремится использовать самые передовые технологии, особенно при развертывании с приоритетом периферийных устройств, переход на YOLO26 обеспечит идеальное сочетание скорости без NMS и непревзойдённой точности.