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

EfficientDet против RTDETRv2: Техническое сравнение для обнаружения объектов

Область обнаружения объектов претерпела значительные изменения, перейдя от традиционных конволюционных нейронных сетей (CNN) к современным архитектурам на основе трансформаторов. Две заметные вехи в этой эволюции - EfficientDet, масштабируемая архитектура CNN от Google, и RTDETRv2, трансформатор обнаружения в реальном времени от Baidu.

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

Обзор моделей

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

EfficientDet Подробнее: Авторы: Mingxing Tan, Ruoming Pang, and Quoc V. Le
Организация: Google Research
Дата: 2019-11-20
Arxiv: https://arxiv.org/abs/1911.09070
GitHub: https:google
Docs: https:google

RTDETRv2 Подробнее: Авторы: Wenyu Lv, Yian Zhao, Qinyao Chang, Kui Huang, Guanzhong Wang, and Yi Liu
Организация: Baidu
Дата: 2023-04-17
Arxiv: https://arxiv.org/abs/2304.08069
GitHub: https:RT-DETR
Docs: https:RT-DETR

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

Архитектурный анализ

Основное различие между EfficientDet и RTDETRv2 заключается в фундаментальном подходе к извлечению признаков и предсказанию границ.

EfficientDet: Эффективность за счет комплексного масштабирования

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

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

RTDETRv2: Трансформатор обнаружения в реальном времени

RTDETRv2 опирается на успех DETR (Detection Transformer), но при этом решает проблему высоких вычислительных затрат и медленной сходимости. Это модель без якорей, которая использует механизмы самовнимания для моделирования глобального контекста.

  • Гибридный кодировщик: он обрабатывает многомасштабные признаки, отделяя внутримасштабное взаимодействие от межмасштабного слияния, что значительно повышает скорость вывода по сравнению со стандартными преобразователями.
  • Выбор запросовIoU: Этот механизм выбирает высококачественные начальные запросы к объектам, что ускоряет сходимость обучения и повышает точность обнаружения.
  • Динамическая гибкость: RTDETRv2 позволяет регулировать скорость вывода путем изменения количества слоев декодера без необходимости переобучения, обеспечивая уникальную гибкость для вывода в реальном времени.

Трансформатор против CNN Использование памяти

Хотя трансформаторы типа RTDETRv2 отлично справляются с захватом глобального контекста, они обычно требуют значительно больше памяти CUDA во время обучения по сравнению с архитектурами на основе CNN, такими как EfficientDet или YOLO , из-за квадратичной сложности механизмов внимания.

Метрики производительности

При выборе модели для развертывания разработчики должны взвесить компромиссы между точностьюmAP), скоростью (latency) и размером модели (параметры). В таблице ниже приведено сравнение производительности вариантов EfficientDet с RTDETRv2.

Модельразмер
(пиксели)
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
RTDETRv2-s64048.1-5.032060
RTDETRv2-m64051.9-7.5136100
RTDETRv2-l64053.4-9.7642136
RTDETRv2-x64054.3-15.0376259

Анализ:

  • Точность: В RTDETRv2, как правило, достигается более высокий mAPval по сравнению с моделями EfficientDet с аналогичной задержкой на графических процессорах. Например, RTDETRv2-x превосходит EfficientDet-d7 в точности и при этом значительно быстрее на TensorRT.
  • Скорость: EfficientDet был оптимизирован для FLOPs, что хорошо коррелирует с производительностью CPU , но не всегда с задержкой GPU . RTDETRv2 специально разработан для максимального использования GPU , что делает его лучшим для высокопроизводительных серверных приложений.
  • Эффективность параметров: EfficientDet-d0 остается чрезвычайно легким (3,9 М параметров), что делает его подходящим кандидатом для устаревших устройств с очень низким энергопотреблением, где современные ускорители недоступны.

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

Хотя EfficientDet и RTDETRv2 являются грозными моделями, разработчикам, которые ищут целостное решение, сочетающее в себе производительность, удобство и универсальность, стоит обратить внимание на Ultralytics YOLO серию. Такие модели, как последняя YOLO11 представляют собой убедительный выбор для широкого спектра применений, от исследований до внедрения в производство.

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

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

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

Пример кода: Начало работы с YOLO11

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

from ultralytics import YOLO

# Load a pre-trained YOLO11 model
model = YOLO("yolo11n.pt")  # 'n' for nano, or try 's', 'm', 'l', 'x'

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

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

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

Выбор подходящей модели во многом зависит от конкретных аппаратных ограничений и требований проекта.

Когда использовать EfficientDet

  • Устаревшие краевые устройства: При развертывании на старых процессорах или оборудовании, где единственной эффективной операцией являются свертки с разделением по глубине.
  • Ограничения параметров: Для приложений, в которых абсолютный размер файла модели является основным узким местом (например, EfficientDet-d0 is < 4MB).

Когда использовать RTDETRv2

  • Развертывание на высокопроизводительных GPU : Когда у вас есть доступ к мощным графическим процессорам NVIDIA (например, T4, A100) и вы можете использовать оптимизацию TensorRT .
  • Сложное понимание сцены: Для сценариев, требующих глобальных контекстных возможностей трансформеров, таких как обнаружение объектов в переполненных или закрытых сценах.

Когда использовать Ultralytics YOLO11

  • Быстрая разработка: Когда вам нужно быстро перейти от набора данных к развернутой модели, используя стандартные инструменты, такие как Google Colab, или локальные среды.
  • Edge AI в реальном времени: YOLO11 оптимизирован для таких устройств, как NVIDIA Jetson и Raspberry Pi, обеспечивая превосходное соотношение mAP и карты.
  • Многозадачные требования: Если в вашем проекте помимо ограничительных рамок требуются маски сегментации или ключевые точки позиционирования.
  • Эффективность использования ресурсов: При ограниченных ресурсах обучения (например, при ограниченном объеме памяти VRAM) модели YOLO значительно эффективнее в обучении, чем альтернативы на основе трансформатора.

Заключение

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

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

Посмотреть больше сравнений

Чтобы помочь вам принять решение, изучите эти и другие сравнения:


Комментарии