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

EfficientDet против YOLOX: техническое сравнение

Выбор оптимальной модели обнаружения объектов — это критически важное решение, которое балансирует точность, скорость и вычислительные затраты. На этой странице представлено подробное техническое сравнение между EfficientDet и YOLOX, двумя влиятельными моделями, которые представляют различные философии проектирования в компьютерном зрении. EfficientDet от Google Research отдает приоритет вычислительной эффективности и масштабируемости, в то время как YOLOX от Megvii представляет конструкцию без привязки к YOLO семейству для достижения высокой производительности. Мы углубимся в их архитектуры, показатели производительности и идеальные варианты использования, чтобы помочь вам сделать осознанный выбор для вашего проекта.

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

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

Технические детали:

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

В основе конструкции EfficientDet лежат три ключевых принципа:

  • EfficientNet Backbone: В качестве основы для извлечения признаков используется высокоэффективная сеть EfficientNet. Модели EfficientNet масштабируются с использованием составного метода, который равномерно балансирует глубину, ширину и разрешение сети.
  • BiFPN (Bi-directional Feature Pyramid Network): Для объединения многомасштабных признаков EfficientDet представляет BiFPN, взвешенную двунаправленную сеть пирамиды признаков. В отличие от традиционных FPN, BiFPN обеспечивает более эффективный поток информации между различными уровнями признаков, повышая точность с меньшим количеством параметров и вычислений.
  • Комплексное масштабирование (Compound Scaling): Новый метод комплексного масштабирования применяется ко всему детектору, совместно масштабируя backbone, BiFPN и detection heads. Это обеспечивает сбалансированное распределение ресурсов по всем частям модели, от малого D0 до большого варианта D7.

Сильные стороны

  • Высокая эффективность: Модели EfficientDet известны небольшим количеством параметров и FLOPs, что делает их идеальными для развертывания на периферийных AI устройствах.
  • Масштабируемость: Семейство моделей предлагает широкий спектр опций (D0-D7), позволяя разработчикам выбирать оптимальный компромисс между точностью и использованием ресурсов для своего конкретного оборудования.
  • Высокое соотношение точности и эффективности: Достигает конкурентоспособных показателей mAP, требуя при этом значительно меньше ресурсов, чем многие современные модели.

Слабые стороны

  • Скорость инференса на GPU: Несмотря на эффективность с точки зрения FLOPs, EfficientDet может быть медленнее с точки зрения фактической задержки на GPU по сравнению с такими моделями, как YOLOX или Ultralytics YOLO, которые в высшей степени оптимизированы для параллельной обработки.
  • Зависимость от фреймворка: Официальная реализация основана на TensorFlow, что может потребовать дополнительных усилий для интеграции в пайплайны на основе PyTorch.
  • Специализация по задачам: EfficientDet в основном разработан для обнаружения объектов, и ему не хватает встроенной универсальности для других задач, таких как сегментация экземпляров или оценка позы.

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

EfficientDet — отличный выбор для:

  • Edge Computing: Развертывание моделей на устройствах с ограниченными ресурсами, таких как Raspberry Pi или мобильные телефоны.
  • Облачные приложения с ограниченным бюджетом: Минимизация вычислительных затрат в облачных сервисах инференса.
  • Промышленная автоматизация: Приложения в производстве, где ключевыми факторами являются эффективность и масштабируемость на различных производственных линиях.

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

YOLOX: высокопроизводительное обнаружение без привязки к якорям

YOLOX был разработан компанией Megvii для повышения производительности серии YOLO путем внедрения anchor-free дизайна. Такой подход упрощает конвейер обнаружения и, как было показано, улучшает производительность за счет устранения необходимости в настраиваемых вручную anchor boxes.

Технические детали:

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

YOLOX представляет несколько значительных модификаций в традиционную архитектуру YOLO:

  • Anchor-Free Design: Благодаря прямому прогнозированию свойств объекта без anchor boxes, YOLOX уменьшает количество параметров проектирования и упрощает процесс обучения.
  • Разделенная Head: Она использует отдельные heads для задач классификации и регрессии. Показано, что такое разделение устраняет конфликт между этими двумя задачами, что приводит к повышению точности и более быстрой сходимости.
  • Продвинутое назначение меток: YOLOX использует стратегию динамического назначения меток под названием SimOTA (Simplified Optimal Transport Assignment), которая формулирует задачу назначения как задачу оптимальной транспортировки для выбора наилучших положительных образцов для обучения.
  • Надежные аугментации: Она включает в себя надежные методы аугментации данных, такие как MixUp и Mosaic, для повышения устойчивости и обобщающей способности модели.

Сильные стороны

  • Высокая точность: YOLOX достигает самых современных показателей, часто превосходя аналогичные по размеру аналоги на основе якорей.
  • Быстрый вывод на GPU: Оптимизированная конструкция без привязки к якорям способствует высокой скорости вывода, что делает ее подходящей для вывода в реальном времени.
  • Упрощенный конвейер: Удаление anchor-ов устраняет сложную логику, связанную с сопоставлением anchor-ов, и уменьшает количество гиперпараметров.

Слабые стороны

  • Внешняя экосистема: YOLOX не является частью пакета Ultralytics, а это означает, что ей не хватает простой интеграции с такими инструментами, как Ultralytics HUB, и обширной поддержки сообщества Ultralytics.
  • Сложность обучения: Хотя конструкция без якоря проще, продвинутые стратегии, такие как SimOTA, могут увеличить сложность конвейера обучения.
  • Ограниченная универсальность: Как и EfficientDet, YOLOX в основном ориентирован на обнаружение объектов и не предлагает встроенной поддержки других задач компьютерного зрения в рамках того же фреймворка.

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

YOLOX хорошо подходит для приложений, в которых приоритет отдается высокой точности и скорости на оборудовании с GPU:

  • Автономные системы: Задачи восприятия в автономных транспортных средствах и робототехнике, где высокая точность имеет решающее значение.
  • Расширенное наблюдение: Высокопроизводительный видеоанализ для систем безопасности.
  • Исследования: Служит надежной отправной точкой для изучения методологий без привязки к anchor boxes и передовых методов обучения.

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

Сравнение производительности: эффективность и скорость

В таблице ниже представлено количественное сравнение различных моделей EfficientDet и YOLOX. EfficientDet превосходит по задержке CPU и эффективности параметров, особенно с его меньшими вариантами. Например, EfficientDet-d0 имеет очень низкое количество параметров и быстрое время логического вывода CPU. В отличие от этого, модели YOLOX демонстрируют превосходную скорость логического вывода GPU, при этом YOLOX-s достигает замечательной задержки в 2,56 мс на GPU T4. В то время как самая большая модель EfficientDet-d7 достигает самого высокого mAP, это достигается за счет значительной потери скорости. Это подчеркивает основной компромисс: EfficientDet оптимизирован для эффективности ресурсов, а YOLOX создан для максимальной производительности GPU.

Модель размер
(пиксели)
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 и YOLOX являются значительными моделями, модели Ultralytics YOLO часто представляют собой более привлекательный выбор для разработчиков и исследователей сегодня.

  • Простота использования: Ultralytics предоставляет оптимизированный пользовательский интерфейс с простым Python API, обширной документацией и многочисленными учебными пособиями.
  • Развитая экосистема: Воспользуйтесь преимуществами активной разработки, сильной поддержки сообщества, частых обновлений и интегрированных инструментов, таких как Ultralytics HUB для управления наборами данных и обучения.
  • Баланс производительности: Такие модели, как YOLOv8 и YOLO11, обеспечивают превосходный компромисс между скоростью и точностью, что делает их подходящими для различных реальных сценариев развертывания, от периферийных устройств до облачных серверов.
  • Требования к памяти: Модели Ultralytics YOLO, как правило, эффективно используют память во время обучения и инференса по сравнению с более сложными архитектурами.
  • Универсальность: Модели Ultralytics поддерживают множество задач, помимо обнаружения, включая сегментацию, классификацию, оценку позы и обнаружение ориентированных ограничивающих рамок (OBB) в рамках единой унифицированной структуры.
  • Эффективность обучения: Воспользуйтесь преимуществами эффективных процессов обучения, готовых предварительно обученных весов на различных наборах данных, таких как COCO, и простой интеграции с такими инструментами, как ClearML и Weights & Biases, для отслеживания экспериментов.

Для пользователей, которым нужна современная производительность в сочетании с простотой использования и надежной экосистемой, настоятельно рекомендуется изучить модели Ultralytics YOLO.

Заключение: какую модель вам следует выбрать?

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

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

Сравнения с другими моделями

Если вам интересно сравнить эти модели с другими, ознакомьтесь со следующими страницами:



📅 Создано 1 год назад ✏️ Обновлено 1 месяц назад

Комментарии