EfficientDet против YOLOX: Всестороннее сравнение методов обнаружения объектов
При проектировании современного конвейера компьютерного зрения выбор правильной модели является критически важным решением, определяющим как точность, так и жизнеспособность в реальном времени. Это техническое руководство представляет углубленное сравнение двух ключевых архитектур в эволюции нейронных сетей: EfficientDet от Google и YOLOX от Megvii. Мы проанализируем их архитектурные парадигмы, оценим их производительность по бенчмаркам и исследуем, как они соотносятся с передовыми решениями, такими как недавно выпущенный Ultralytics YOLO26.
Обзор EfficientDet
Представленный командой Google Brain, EfficientDet стал пионером высокоструктурированного подхода к масштабированию моделей, демонстрируя, что высокая точность может быть достигнута со значительно меньшим количеством параметров, чем у сильно параметризованных современных сетей.
Подробности EfficientDet:
- Авторы: Мингксинг Тан, Руоминг Панг и Куок В. Ле
- Организация:Google
- Дата: 2019-11-20
- ArXiv:1911.09070
- GitHub:google/automl/efficientdet
- Документация:Документация EfficientDet
Архитектурные особенности
EfficientDet построен на основе backbone-сети EfficientNet, применяя метод составного масштабирования, который равномерно масштабирует разрешение, глубину и ширину сети. Его отличительной особенностью является двунаправленная пирамидальная сеть признаков (BiFPN), которая обеспечивает быстрое и эффективное слияние многомасштабных признаков. Используя обучаемые веса для различных входных признаков, BiFPN гарантирует, что сеть отдает приоритет более важным пространственным данным.
Хотя теоретические FLOPs EfficientDet удивительно низки, его зависимость от экосистемы TensorFlow и старых конфигураций AutoML может затруднить интеграцию в современные, быстро развивающиеся рабочие процессы PyTorch. Кроме того, его сложная многоветвевая сеть иногда может приводить к более высокому, чем ожидалось, потреблению памяти во время обучения по сравнению с современными вариантами YOLO.
Узнайте больше об EfficientDet
Обзор YOLOX
Выпущенный два года спустя, YOLOX стремился преодолеть разрыв между академическими исследованиями и промышленным развертыванием, преобразовав традиционную архитектуру YOLO в безанкерный фреймворк.
YOLOX Детали:
- Авторы: Чжэн Ге, Сунтао Лю, Фэн Ван, Цзэмин Ли и Цзянь Сунь
- Организация:Megvii
- Дата: 2021-07-18
- ArXiv:2107.08430
- GitHub:Megvii-BaseDetection/YOLOX
- Документация:Документация YOLOX
Архитектурные особенности
YOLOX значительно упростил парадигму detect объектов. Перейдя на безакорную архитектуру, YOLOX устранил необходимость в сложной, зависящей от набора данных настройке якорных боксов, уменьшив эвристические накладные расходы. Он также интегрировал разделенную голову (decoupled head), разделяющую задачи classify и локализации, что значительно улучшило скорость сходимости. Кроме того, внедрение стратегии присвоения меток 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), что делает его лучшим выбором для высокопроизводительных приложений, таких как автономное вождение или спортивный track.
Сценарии использования и рекомендации
Выбор между EfficientDet и YOLOX зависит от конкретных требований вашего проекта, ограничений развертывания и предпочтений экосистемы.
Когда следует выбирать EfficientDet
EfficientDet является отличным выбором для:
- Конвейеры Google Cloud и TPU: Системы, глубоко интегрированные с API Google Cloud Vision или инфраструктурой TPU, где EfficientDet имеет нативную оптимизацию.
- Исследование составного масштабирования: Академическое бенчмаркинг, сфокусированное на изучении влияния сбалансированного масштабирования глубины, ширины и разрешения сети.
- Мобильное развертывание через TFLite: Проекты, которые специально требуют экспорта TensorFlow Lite для Android или встраиваемых устройств на Linux.
Когда следует выбирать YOLOX
YOLOX рекомендуется для:
- Исследования безъякорного detect: Академические исследования, использующие чистую, безъякорную архитектуру YOLOX в качестве основы для экспериментов с новыми головами detect или функциями потерь.
- Сверхлегкие граничные устройства: Развертывание на микроконтроллерах или устаревшем мобильном оборудовании, где критически важен чрезвычайно малый объем (0,91 млн параметров) варианта YOLOX-Nano.
- Исследования по назначению меток SimOTA: Исследовательские проекты, изучающие стратегии назначения меток на основе оптимального транспорта и их влияние на сходимость обучения.
Когда выбирать Ultralytics (YOLO26)
Для большинства новых проектов Ultralytics YOLO26 предлагает наилучшее сочетание производительности и удобства для разработчиков:
- Развертывание на периферии без NMS: Приложения, требующие стабильного вывода с низкой задержкой без сложности постобработки методом Non-Maximum Suppression.
- Среды только с CPU: Устройства без выделенного ускорения 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 (Distribution Focal Loss) 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 Platform предлагает унифицированный Python SDK, где обучение современной модели требует всего нескольких строк кода. Кроме того, модели YOLO оснащены высокооптимизированными загрузчиками данных, что обеспечивает значительно меньшее использование памяти CUDA по сравнению с моделями, сильно нагруженными трансформерами, или старыми многоветвевыми сетями.
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 гарантирует, что ваши приложения компьютерного зрения будут перспективными, высокоточными и невероятно простыми в обслуживании.