EfficientDet и YOLOX#
При проектировании современного конвейера компьютерного зрения выбор подходящей модели — критически важное решение, определяющее как точность, так и возможность работы в реальном времени. В этом техническом руководстве подробно сравниваются две ключевые архитектуры в развитии нейронных сетей: EfficientDet от Google и YOLOX от Megvii. Мы проанализируем их архитектурные подходы, оценим результаты тестов производительности и рассмотрим, как они соотносятся с передовыми решениями, такими как недавно выпущенная Ultralytics YOLO26.
Обзор EfficientDet#
Представленная командой Google Brain, EfficientDet стала пионером строго структурированного подхода к масштабированию моделей, продемонстрировав, что высокой точности можно достичь при значительно меньшем количестве параметров, чем в современных ей сетях с большим числом параметров.
Сведения об EfficientDet:
- Авторы: Mingxing Tan, Ruoming Pang и Quoc V. Le
- Организация: Google
- Дата: 20.11.2019
- ArXiv: 1911.09070
- GitHub: google/automl/efficientdet
- Документация: Документация EfficientDet
Архитектурные особенности#
EfficientDet построена на основе бэкбона EfficientNet и использует метод составного масштабирования, который равномерно изменяет разрешение, глубину и ширину сети. Её отличительная особенность — двунаправленная пирамидальная сеть признаков (BiFPN), обеспечивающая быстрое и эффективное слияние признаков разных масштабов. Благодаря обучаемым весам для различных входных признаков BiFPN позволяет сети отдавать приоритет наиболее важным пространственным данным.
Хотя теоретическое количество FLOPs у EfficientDet исключительно мало, зависимость от экосистемы TensorFlow и устаревших конфигураций AutoML может усложнить интеграцию в современные динамично развивающиеся рабочие процессы на PyTorch. Кроме того, её сложная многоветочная архитектура иногда приводит к более высокому, чем ожидалось, потреблению памяти во время обучения по сравнению с современными вариантами YOLO.
Обзор YOLOX#
Выпущенная двумя годами позже, YOLOX стремилась устранить разрыв между академическими исследованиями и промышленным внедрением, преобразовав традиционную архитектуру YOLO в безанкорную.
Подробности о YOLOX:
- Авторы: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li и Jian Sun
- Организация: Megvii
- Дата: 2021-07-18
- ArXiv: 2107.08430
- GitHub: Megvii-BaseDetection/YOLOX
- Документация: Документация YOLOX
Архитектурные особенности#
YOLOX значительно упростила подход к обнаружению объектов. Переход на архитектуру без anchor-боксов устранил необходимость в сложной настройке anchor-боксов с учётом конкретного датасета и снизил объём эвристических настроек. Также в неё была добавлена разделённая голова, отделяющая задачи классификации и локализации, что существенно ускорило сходимость. Кроме того, стратегия назначения меток SimOTA оптимизировала динамическое распределение положительных образцов во время обучения.
Несмотря на эти улучшения, работа с репозиториями YOLOX часто требует ручной компиляции расширений на C++ и настройки сложных зависимостей, что может замедлить быстрое развёртывание моделей менее опытными командами.
Сравнение производительности#
При оценке моделей для промышленной эксплуатации крайне важно сбалансировать среднюю точность (mAP) и скорость инференса. В таблице ниже приведено прямое сравнение семейств EfficientDet и YOLOX на стандартных тестах COCO.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| YOLOXnano | 416 | 25.8 | - | - | 0.91 | 1.08 |
| YOLOXtiny | 416 | 32.8 | - | - | 5.06 | 6.45 |
| YOLOXs | 640 | 40.5 | - | 2.56 | 9.0 | 26.8 |
| YOLOXm | 640 | 46.9 | - | 5.43 | 25.3 | 73.8 |
| YOLOXl | 640 | 49.7 | - | 9.04 | 54.2 | 155.6 |
| YOLOXx | 640 | 51.1 | - | 16.1 | 99.1 | 281.9 |
Хотя EfficientDet обеспечивает высокую точность на своих более крупных вариантах d7, YOLOX демонстрирует значительно меньшую задержку на GPU (через TensorRT), что делает её лучшим выбором для приложений с высоким FPS, таких как автономное вождение или отслеживание спортсменов.
Варианты применения и рекомендации#
Выбор между EfficientDet и YOLOX зависит от конкретных требований твоего проекта, ограничений развёртывания и предпочтений в отношении экосистемы.
Когда стоит выбрать EfficientDet#
EfficientDet — хороший выбор для:
- Конвейеров Google Cloud и TPU: систем, тесно интегрированных с Google Cloud Vision API или инфраструктурой TPU, где EfficientDet имеет нативную оптимизацию.
- Исследований составного масштабирования: академических бенчмарков, посвящённых изучению влияния сбалансированного масштабирования глубины, ширины и разрешения сети.
- Мобильного развертывания через TFLite: проектов, которым необходим экспорт в TensorFlow Lite для Android или встраиваемых устройств под управлением Linux.
Когда стоит выбрать YOLOX#
YOLOX рекомендуется для следующих задач:
- Исследования обнаружения без якорей: Академические исследования, в которых чистая безъякорная архитектура YOLOX используется как базовая модель для экспериментов с новыми головками обнаружения или функциями потерь.
- Сверхлёгкие периферийные устройства: Развертывание на микроконтроллерах или устаревшем мобильном оборудовании, где критически важен чрезвычайно малый размер варианта YOLOX-Nano (0.91M параметров).
- Исследования назначения меток SimOTA: Исследовательские проекты, изучающие стратегии назначения меток на основе оптимального транспорта и их влияние на сходимость обучения.
Когда выбирать Ultralytics (YOLO26)#
Для большинства новых проектов Ultralytics YOLO26 предлагает лучшее сочетание производительности и удобства для разработчиков:
- Развертывания на периферийных устройствах без NMS: приложений, требующих стабильного вывода с низкой задержкой без сложной постобработки с подавлением немаксимумов.
- Сред без GPU: устройств без выделенного ускорения GPU, где до 43% более быстрый вывод YOLO26 на CPU дает решающее преимущество.
- Обнаружения мелких объектов: сложных сценариев, таких как аэрофотосъемка с дронов или анализ данных IoT-сенсоров, где ProgLoss и STAL значительно повышают точность обнаружения крошечных объектов.
Преимущество Ultralytics: знакомство с YOLO26#
Хотя EfficientDet и YOLOX стали значительными шагами вперёд в свои эпохи, современное компьютерное зрение требует большей универсальности, оптимизированных рабочих процессов и бескомпромиссной скорости. Разработчикам, которые ставят в приоритет простоту использования, низкое потребление памяти и хорошо поддерживаемую экосистему, мы настоятельно рекомендуем перейти на Ultralytics YOLO26, выпущенную в январе 2026 года.
YOLO26 знаменует смену парадигмы в развитии YOLO и системно преодолевает ограничения старых моделей, таких как YOLOX и EfficientDet:
- Сквозная архитектура без NMS: в отличие от EfficientDet и YOLOX, которым требуется затратная постобработка с подавлением немаксимумов (NMS), YOLO26 изначально работает сквозным образом. Это устраняет узкие места по задержке и значительно упрощает развёртывание на периферийных устройствах.
- До 43% более быстрый инференс на CPU: благодаря целенаправленной настройке архитектуры и удалению DFL (фокальная функция потерь распределения) YOLO26 уникальным образом оптимизирована для сред без выделенных GPU, полностью превосходя EfficientDet на оборудовании для периферийного ИИ, таком как Raspberry Pi.
- Оптимизатор MuSGD: вдохновлённая инновациями в обучении LLM, такими как Kimi K2 от Moonshot AI, YOLO26 использует гибрид SGD и Muon. Это обеспечивает исключительно стабильное обучение и более быструю сходимость, значительно превосходя старые оценщики TensorFlow.
- ProgLoss + STAL: продвинутые функции потерь заметно улучшают распознавание малых объектов — исторически слабое место как YOLOX, так и EfficientDet. Это критически важно для аналитики с дронов и IoT.
- Невероятная универсальность: в то время как EfficientDet и YOLOX предназначены исключительно для обнаружения ограничивающих рамок, YOLO26 изначально поддерживает сегментацию экземпляров, оценку позы (с использованием оценки остаточного логарифмического правдоподобия) и ориентированные ограничивающие рамки (OBB).
Оптимизированный пользовательский интерфейс и эффективность обучения#
Одно из самых серьёзных препятствий при работе с моделями вроде YOLOX — настройка среды обучения. Платформа Ultralytics предлагает единый Python SDK, с которым для обучения передовой модели требуется всего несколько строк кода. Кроме того, модели YOLO оснащены высокооптимизированными загрузчиками данных, что обеспечивает значительно меньшее потребление памяти CUDA по сравнению с моделями, в значительной степени основанными на Transformer, или старыми многоветочными сетями.
from ultralytics import YOLO
# Load the cutting-edge YOLO26n model (NMS-free!)
model = YOLO("yolo26n.pt")
# Train the model on your custom dataset with automated hyperparameter tuning
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Export the model seamlessly to ONNX or OpenVINO for edge deployment
model.export(format="openvino")Заключение: правильный выбор#
Если ты поддерживаешь устаревшую систему, глубоко интегрированную в экосистему TensorFlow, EfficientDet остаётся стабильным выбором, особенно в сценариях, где теоретически необходимо масштабирование с большим составным коэффициентом. И наоборот, если тебе нужна максимальная скорость на устаревших безанкорных кодовых базах, YOLOX станет быстрым и надёжным детектором.
Однако для любого нового проекта, переходящего в промышленную эксплуатацию, выбором без сомнений должна стать Ultralytics YOLO26 (или исключительно стабильная YOLO11 для поддержки устаревших корпоративных систем). Благодаря сквозной архитектуре без NMS, значительно повышенной скорости на CPU и бесшовному конвейеру развёртывания через такие платформы, как OpenVINO и TensorRT, YOLO26 обеспечивает готовность твоих приложений компьютерного зрения к будущему, высокую точность и исключительную простоту обслуживания.