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

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

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

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

YOLOX: Эволюция Anchor-Free

Выпущенный в 2021 году исследователями из Megvii, YOLOX представляет собой сдвиг в линейке YOLO (You Only Look Once), отказавшись от механизма, основанного на якоре, который определял предыдущие итерации.

Архитектура и Ключевые Инновации

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

Наиболее примечательной особенностью является его anchor-free дизайн. Отказываясь от необходимости в предопределенных anchor boxes, YOLOX устраняет эвристическую настройку, связанную с генерацией anchor. Это сочетается с SimOTA (Simplified Optimal Transport Assignment), усовершенствованной стратегией назначения меток, которая динамически назначает положительные примеры ground truths, более эффективно балансируя процесс обучения, чем статические пороги IoU.

Преимущества подхода без якорей

Удаление anchor boxes уменьшает количество параметров проектирования, которые необходимо настраивать разработчикам. Это также лучше обобщает объекты с необычным соотношением сторон, поскольку модель прогнозирует ограничивающие рамки напрямую, а не корректирует заданную форму рамки.

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

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

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

Архитектура и Ключевые Инновации

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

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

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

Анализ производительности: Скорость vs. Эффективность

Принципиальное различие между этими двумя моделями заключается в их целях оптимизации. EfficientDet оптимизирована для теоретической эффективности (FLOPs и Parameters), что часто хорошо сказывается на производительности CPU на периферийных устройствах. YOLOX, напротив, оптимизирована для высокопроизводительного inference на GPU, используя плотные операторы, которые хорошо обрабатываются ускорителями.

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

Модельразмер
(пиксели)
mAPval
50-95
Скорость
CPU ONNX
(мс)
Скорость
T4 TensorRT10
(мс)
параметры
(M)
FLOPs
(B)
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-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

Критические замечания

  1. Задержка GPU: YOLOX демонстрирует превосходную производительность на ускорителях. YOLOX-l достигает той же точности (49.7 mAP), что и EfficientDet-d4, но работает почти в 3.7 раза быстрее на GPU T4 (9.04 мс против 33.55 мс).
  2. Эффективность параметров: EfficientDet превосходит другие модели, когда основным ограничением является объем памяти. EfficientDet-d3 обеспечивает высокую точность (47.5 mAP), используя всего 12 миллионов параметров, в то время как для достижения аналогичной точности с YOLOX требуется модель Medium с более чем вдвое большим количеством параметров.
  3. Сложность обучения: YOLOX изначально включает в себя мощные методы аугментации данных, такие как Mosaic и MixUp, что помогает в обучении устойчивых моделей с нуля, тогда как EfficientDet в значительной степени полагается на конкретные свойства базовой сети EfficientNet и правила составного масштабирования.

Ultralytics YOLO11: Превосходная альтернатива

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

Почему стоит выбрать Ultralytics YOLO11?

  • Баланс производительности: YOLO11 разработан для обеспечения наилучшего компромисса между скоростью и точностью. Он обычно соответствует или превосходит максимальную точность EfficientDet-d7, сохраняя при этом скорость инференса, близкую к самым быстрым вариантам YOLOX.
  • Простота использования: В отличие от сложных исследовательских репозиториев EfficientDet или YOLOX, Ultralytics предлагает готовый к производству Python API. Вы можете загрузить, обучить и развернуть модель всего в несколько строк кода.
  • Хорошо поддерживаемая экосистема: Модели Ultralytics поддерживаются активной разработкой, частыми обновлениями и активным сообществом. Интегрированная экосистема включает в себя Ultralytics HUB для простого управления наборами данных и обучения моделей.
  • Универсальность: Хотя YOLOX и EfficientDet в первую очередь являются детекторами объектов, YOLO11 поддерживает широкий спектр задач в рамках единой платформы, включая сегментацию экземпляров, оценку позы, ориентированные ограничивающие рамки (OBB) и классификацию.
  • Эффективность обучения: YOLO11 использует усовершенствованные архитектурные блоки, которые снижают требования к памяти во время обучения по сравнению со старыми трансформерами или сложными базовыми архитектурами. Это делает возможным обучение современных моделей на оборудовании потребительского класса.

Начало работы с YOLO11

Запуск прогнозов с YOLO11 невероятно прост. Следующий фрагмент кода демонстрирует, как загрузить предварительно обученную модель и запустить inference на изображении.

from ultralytics import YOLO

# Load the YOLO11n model (nano version for speed)
model = YOLO("yolo11n.pt")

# Perform object detection on an image
results = model("path/to/image.jpg")

# Display the results
results[0].show()

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

  • Выберите EfficientDet, только если вы выполняете развертывание на крайне ограниченных периферийных устройствах только с CPU, где количество FLOPs является абсолютно ограничивающим фактором и у вас есть устаревшие зависимости.
  • Выберите YOLOX, если вам нужна надежная отправная точка для академических исследований детекторов без якорей на GPU, но имейте в виду более сложную настройку по сравнению с современными фреймворками.
  • Выберите Ultralytics YOLO11 практически для всех новых коммерческих и исследовательских проектов. Независимо от того, создаете ли вы автономные транспортные средства, аналитику умного города или контроль качества производства, YOLO11 обеспечивает надежность, скорость и инструменты, необходимые для эффективного перехода от прототипа к производству.

Заключение

И YOLOX, и EfficientDet внесли значительный вклад в развитие detect объектов. EfficientDet доказал, что масштабирование модели может быть научным и структурированным, в то время как YOLOX успешно популяризировал полностью конвейеры detect без привязки к якорям.

Тем не менее, Ultralytics YOLO11 объединяет лучшие уроки из этих архитектур — эффективность, безъякорную структуру и оптимизацию под GPU — в единый, удобный для пользователя пакет. Благодаря меньшему объему памяти во время обучения, поддержке различных задач компьютерного зрения и бесшовной интеграции с форматами развертывания, такими как ONNX и CoreML, Ultralytics YOLO11 является рекомендуемым выбором для разработчиков сегодня.

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

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


Комментарии