Перейти к содержанию

EfficientDet против YOLOX: архитектурные изменения в обнаружении объектов

Эволюция компьютерного зрения была отмечена ключевыми моментами, когда новые архитектуры переопределили баланс между скоростью и точностью. Двумя такими вехами являются EfficientDet и YOLOX. В то время как EfficientDet ввел концепцию масштабируемой эффективности за счет составного масштабирования, YOLOX преодолел разрыв между академическими исследованиями и промышленным применением благодаря своей конструкции без якорей.

В этом руководстве представлено всестороннее техническое сравнение этих двух влиятельных моделей с анализом их архитектуры, показателей производительности и идеальных вариантов использования, чтобы помочь вам выбрать подходящий инструмент для вашего проекта. Мы также рассмотрим, как современные решения, такие как Ultralytics , используют эти основы для обеспечения производительности нового поколения.

Анализ эталонных показателей производительности

Чтобы понять компромиссы между этими архитектурами, необходимо проанализировать их производительность на стандартных тестах, таких как COCO . В таблице ниже показано, как разные размеры моделей соотносятся с точностью (mAP) и скоростью вывода на GPU CPU GPU .

Модельразмер
(пиксели)
mAPval
50-95
Скорость
CPU ONNX
(мс)
Скорость
T4 TensorRT10
(мс)
параметры
(M)
FLOPs
(B)
EfficientDet-d064034.610.23.923.92.54
EfficientDet-d164040.513.57.316.66.1
EfficientDet-d264043.017.710.928.111.0
EfficientDet-d364047.528.019.5912.024.9
EfficientDet-d464049.742.833.5520.755.2
EfficientDet-d564051.572.567.8633.7130.0
EfficientDet-d664052.692.889.2951.9226.0
EfficientDet-d764053.7122.0128.0751.9325.0
YOLOXnano41625.8--0.911.08
YOLOXtiny41632.8--5.066.45
YOLOXs64040.5-2.569.026.8
YOLOXm64046.9-5.4325.373.8
YOLOXl64049.7-9.0454.2155.6
YOLOXx64051.1-16.199.1281.9

EfficientDet: Масштабируемая эффективность

EfficientDet, разработанный командой Google , представляет собой системный подход к масштабированию моделей. Он был разработан для оптимизации эффективности в условиях широкого спектра ограничений по ресурсам, от мобильных устройств до высокопроизводительных ускорителей.

Узнайте больше об EfficientDet

Ключевые архитектурные особенности

EfficientDet построен на основе EfficientNet, который использует составное масштабирование для равномерного масштабирования глубины, ширины и разрешения сети. Важным нововведением стала сеть BiFPN (Bi-directional Feature Pyramid Network), которая позволяет легко и быстро объединять многомасштабные характеристики. В отличие от традиционных FPN, BiFPN вводит обучаемые веса для различных входных характеристик, подчеркивая важность конкретных карт характеристик во время объединения.

Идеальные варианты использования

EfficientDet превосходит другие алгоритмы в сценариях, где основными ограничениями являются размер модели и FLOP, например, в мобильных приложениях или устройствах с батарейным питанием. Его архитектура особенно хорошо подходит для обработки статических изображений, где задержка менее важна, чем эффективность параметров. Однако его сложные слои слияния функций иногда могут приводить к более низкой скорости вывода на GPU по сравнению с более простыми архитектурами, такими как YOLO.

Комбинированное масштабирование

Основная философия EfficientDet заключается в том, что масштабирование модели не должно быть произвольным. Благодаря одновременному балансированию глубины, ширины и разрешения EfficientDet достигает более высокой точности с меньшим количеством параметров, чем модели, масштабированные только в одном измерении.

YOLOX: Anchor-Free инновация

YOLOX значительно отличается от конструкций своих предшественников (таких как YOLOv4 и YOLOv5), основанных на анкерах. Разработанная компанией Megvii, она вновь внедрила в YOLO механизм без анкеров, упростив процесс обучения и улучшив производительность.

Узнайте больше о YOLOX

Ключевые архитектурные особенности

YOLOX включает в себя Decoupled Head, который разделяет задачи классификации и регрессии на разные ветви. Такой выбор конструкции разрешает конфликт между достоверностью классификации и точностью локализации, что приводит к более быстрой конвергенции. Кроме того, YOLOX использует SimOTA (Simplified Optimal Transport Assignment) для динамического присвоения меток, что обеспечивает устойчивость к различным гиперпараметрам и повышает точность обнаружения.

Идеальные варианты использования

YOLOX очень эффективен для задач общего назначения по обнаружению объектов, где требуется баланс между скоростью и точностью. Он широко используется в исследовательских базовых моделях благодаря своей чистой структуре кода и более простому дизайну по сравнению с детекторами на основе якорей. Он хорошо работает в динамичных средах, что делает его подходящим для видеоаналитики и базовых автономных систем.

Ultralytics : за пределами устаревших архитектур

Хотя EfficientDet и YOLOX по-прежнему остаются важными эталонами, в этой области наблюдается быстрое развитие. Современные разработки требуют инструментов, которые не только хорошо работают, но и просты в интеграции, обучении и развертывании. Именно в этом превосходство Ultralytics .

Модели, такие как YOLO11 и ультрасовременные YOLO26 предлагают значительные преимущества по сравнению с этими устаревшими архитектурами:

  1. Простота использования: Ultralytics унифицированный Python «от нуля до героя». Вы можете обучить модель, проверить ее и экспортировать для развертывания всего за несколько строк кода. Это резко контрастирует со сложными конфигурационными файлами и фрагментированными репозиториями старых исследовательских моделей.
  2. Баланс производительности: Ultralytics разработаны для обеспечения оптимального соотношения скорости и точности. Они стабильно превосходят предшественников по стандартным показателям, сохраняя при этом более низкую задержку.
  3. Эффективность использования памяти: в отличие от моделей на основе трансформаторов или старых тяжелых архитектур,YOLO Ultralytics YOLO требуют значительно меньше CUDA во время обучения. Это позволяет использовать более крупные пакеты данных на потребительских графических процессорах, что делает высокопроизводительный ИИ доступным для широкого круга пользователей.
  4. Хорошо поддерживаемая экосистема: благодаря частым обновлениям, активной поддержке сообщества и обширной документации Ultralytics , что ваши проекты останутся актуальными в будущем. Ultralytics еще больше упрощает управление наборами данных и обучение моделей.

В центре внимания: YOLO26

Для разработчиков, стремящихся к абсолютному передовому уровню, YOLO26 представляет собой вершину эффективности и производительности.

  • Полная NMS: благодаря устранению немаксимального подавления (NMS) YOLO26 упрощает процессы развертывания и снижает изменчивость задержки вывода.
  • Оптимизация по краям: такие функции, как удаление Distribution Focal Loss (DFL), делают YOLO26 на 43 % быстрее при CPU , что идеально подходит для приложений искусственного интеллекта по краям.
  • Универсальность: помимо обнаружения, YOLO26 изначально поддерживает сегментацию, оценку позы и OBB, предлагая комплексный набор инструментов для различных задач машинного зрения.

Узнайте больше о YOLO26

Краткое сравнение

ФункциональностьEfficientDetYOLOXUltralytics YOLO26
АрхитектураBiFPN + EfficientNetБез анкера, разъемная головкаСквозной, NMS
НаправленностьЭффективность параметровИсследования и общее обнаружениеСкорость в реальном времени и развертывание на периферии
Простота использованияУмеренная (TensorFlow )Хорошо (PyTorch)Отлично (унифицированный API)
РазвертываниеКомплексный (NMS )Комплексный (NMS )Простой (NMS)
ЗадачиОбнаружениеОбнаружениеОбнаружение, Сегментация, Поза, OBB, Классификация

Пример кода: Обучение с Ultralytics

Простота Ultralytics позволяет быстро выполнять итерации. Вот как легко вы можете начать обучение современной модели по сравнению со сложными настройками устаревших фреймворков:

from ultralytics import YOLO

# Load a pre-trained YOLO26 model (recommended for transfer learning)
model = YOLO("yolo26n.pt")

# Train the model on the COCO8 dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference on an image
results = model("path/to/image.jpg")

Независимо от того, занимаетесь ли вы промышленной автоматизацией или системой наблюдения для «умного города», выбор современной поддерживаемой платформы, такой как Ultralytics вы будете тратить меньше времени на борьбу с кодом и больше времени на решение реальных проблем.

Дополнительная литература

Изучите другие сравнения, чтобы углубить свое понимание области обнаружения объектов:


Комментарии