EfficientDet vs. RTDETRv2: техническое сравнение
Выбор подходящей модели обнаружения объектов — это критически важное решение, которое влияет на производительность, эффективность и масштабируемость любого проекта в области компьютерного зрения. На этой странице представлено подробное техническое сравнение EfficientDet и RTDETRv2, двух влиятельных архитектур от Google и Baidu, соответственно. Мы рассмотрим их основные архитектурные различия, проанализируем показатели производительности и обсудим их идеальные варианты использования, чтобы помочь вам сделать осознанный выбор для ваших конкретных потребностей.
EfficientDet: Масштабируемое и эффективное обнаружение объектов
- Авторы: Мингксинг Тан, Руоминг Панг и Куок В. Ле
- Организация: Google
- Дата: 20.11.2019
- Arxiv: https://arxiv.org/abs/1911.09070
- GitHub: https://github.com/google/automl/tree/master/efficientdet
- Документация: https://github.com/google/automl/tree/master/efficientdet#readme
Архитектура и ключевые особенности
EfficientDet представил семейство детекторов объектов, разработанных для высокой эффективности и масштабируемости. Его архитектура построена на нескольких ключевых инновациях. Он использует высокоэффективный EfficientNet в качестве backbone для извлечения признаков. Важным вкладом является Bi-directional Feature Pyramid Network (BiFPN), новый слой объединения признаков, который обеспечивает более богатое многомасштабное представление признаков с меньшим количеством параметров. EfficientDet также представил метод составного масштабирования, который систематически масштабирует глубину, ширину и входное разрешение модели вместе, что позволяет создавать семейство моделей (D0-D7), оптимизированных для различных вычислительных бюджетов.
Сильные и слабые стороны
Преимущества:
- Высокая эффективность: Обеспечивает хороший баланс точности для заданного количества параметров и FLOPs, что делает его подходящим для сред с ограниченными ресурсами.
- Масштабируемость: Семейство моделей предоставляет четкий путь для масштабирования вверх или вниз в зависимости от аппаратных требований и требований к производительности.
- Высокая производительность CPU: Меньшие варианты хорошо работают на CPU, что делает их жизнеспособными для развертывания без выделенных GPU.
Слабые стороны:
- Более медленный инференс на GPU: Будучи эффективными с точки зрения FLOPs, на практике они могут быть медленнее на GPU по сравнению с высокооптимизированными моделями, такими как серия Ultralytics YOLO.
- Ограниченная универсальность: В первую очередь предназначен для обнаружения объектов и не имеет встроенной поддержки других задач, таких как сегментация экземпляров или оценка позы, которые есть в современных фреймворках.
- Реализация: Официальная реализация выполнена на TensorFlow, что может потребовать дополнительных усилий для интеграции в рабочие процессы на основе PyTorch.
Идеальные варианты использования
EfficientDet превосходен в:
- Edge AI: Идеально подходит для развертывания на периферийных устройствах и в мобильных приложениях, где вычислительные ресурсы и энергопотребление ограничены.
- Облачные приложения с ограниченным бюджетом: Полезно для крупных облачных сервисов, где минимизация вычислительных затрат на один инференс является приоритетом.
- Быстрое прототипирование: Масштабируемые модели позволяют разработчикам начать с облегченной версии и масштабировать ее по мере необходимости для различных задач компьютерного зрения.
Узнайте больше об EfficientDet
RTDETRv2: высокоточное обнаружение в реальном времени с помощью трансформеров
- Авторы: Веню Лю, Иань Чжао, Циньяо Чанг, Куй Хуанг, Гуаньчжун Ван и И Лю
- Организация: Baidu
- Дата: 2023-04-17 (Оригинальная RT-DETR), 2024-07-24 (Улучшения RTDETRv2)
- Arxiv: https://arxiv.org/abs/2304.08069, https://arxiv.org/abs/2407.17140
- GitHub: https://github.com/lyuwenyu/RT-DETR/tree/main/rtdetrv2_pytorch
- Документация: https://github.com/lyuwenyu/RT-DETR/tree/main/rtdetrv2_pytorch#readme
Архитектура и ключевые особенности
RTDETRv2 — это современный детектор без привязок, основанный на архитектуре Vision Transformer (ViT). Он основан на фреймворке DETR (DEtection TRansformer), который использует Transformer encoder-decoder для обработки признаков из CNN backbone. Этот гибридный подход позволяет RTDETRv2 использовать механизм самовнимания для захвата глобального контекста и долгосрочных зависимостей внутри изображения. Это приводит к превосходной производительности в сложных сценах со многими перекрывающимися или небольшими объектами. RTDETRv2 дополнительно совершенствует оригинал, вводя «bag-of-freebies» для повышения производительности без увеличения стоимости инференса.
Сильные и слабые стороны
Преимущества:
- Высокая точность: Архитектура transformer обеспечивает глубокое понимание взаимосвязей между объектами, что приводит к самым современным показателям mAP.
- Надежное извлечение признаков: Отлично обнаруживает объекты в сложных условиях, таких как окклюзия и плотные скопления людей.
- Реальное время на GPU: Оптимизировано для высокой скорости инференса, особенно при ускорении с помощью таких инструментов, как NVIDIA TensorRT.
Слабые стороны:
- Высокая вычислительная потребность: Transformers являются вычислительно интенсивными, что приводит к большему количеству параметров, FLOPs и использованию памяти по сравнению с моделями на основе CNN.
- Сложность обучения: Обучение моделей-трансформеров часто происходит медленнее и требует значительно больше памяти GPU, чем модели, такие как Ultralytics YOLOv8.
- Более медленная работа на CPU: Преимущество в производительности наиболее заметно на GPU; на CPU или маломощных периферийных устройствах она может быть не такой высокой, как у эффективных CNN.
Идеальные варианты использования
RTDETRv2 особенно хорошо подходит для:
- Автономное вождение: Необходим для систем восприятия в реальном времени в автомобилях с автоматическим управлением, где точность имеет решающее значение.
- Продвинутая робототехника: Позволяет роботам перемещаться и взаимодействовать со сложными, динамическими средами, что является ключевым аспектом ИИ в робототехнике.
- Высокоточное наблюдение: Идеально подходит для систем безопасности в людных общественных местах, где необходимо точно отслеживать людей.
Сравнение производительности: скорость против точности
Эталонные тесты производительности показывают явный компромисс между двумя архитектурами. EfficientDet предлагает широкий спектр моделей, при этом ее небольшие варианты (d0-d2) обеспечивают исключительную эффективность с точки зрения параметров, FLOPs и скорости CPU, хотя и с более низкой точностью. По мере масштабирования точность улучшается за счет значительно более высокой задержки. RTDETRv2, с другой стороны, работает на более высоком уровне производительности. Она достигает более высокой точности (mAP) по сравнению с большинством вариантов EfficientDet, но требует больше вычислительных ресурсов и лучше всего подходит для сред с ускорением GPU. Например, RTDETRv2-x достигает наивысшего mAP - 54,3, в то время как EfficientDet-d0 является самым быстрым как на CPU, так и на 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 |
RTDETRv2-s | 640 | 48.1 | - | 5.03 | 20 | 60 |
RTDETRv2-m | 640 | 51.9 | - | 7.51 | 36 | 100 |
RTDETRv2-l | 640 | 53.4 | - | 9.76 | 42 | 136 |
RTDETRv2-x | 640 | 54.3 | - | 15.03 | 76 | 259 |
Преимущество Ultralytics: Превосходная альтернатива
Несмотря на то, что EfficientDet и RTDETRv2 являются мощными моделями, разработчикам, ищущим комплексное решение, которое сбалансирует производительность, удобство использования и универсальность, следует обратить внимание на серию Ultralytics YOLO. Такие модели, как YOLOv8 и новейшая YOLO11, часто представляют собой более привлекательный выбор для широкого спектра приложений, от исследований до промышленного развертывания.
- Простота использования: Модели Ultralytics известны своей оптимизированной работой, отличаясь простым Python API, обширной документацией и понятными командами CLI.
- Хорошо поддерживаемая экосистема: Модели являются частью надежной экосистемы с активной разработкой, большим сообществом с открытым исходным кодом, частыми обновлениями и простой интеграцией с такими инструментами, как Ultralytics HUB, для сквозного MLOps.
- Баланс производительности: Модели Ultralytics тщательно разработаны для обеспечения превосходного компромисса между скоростью и точностью, что делает их подходящими для различных реальных сценариев, от периферийных устройств до облачных серверов.
- Эффективность использования памяти: Модели Ultralytics YOLO разработаны для эффективного использования памяти. Они обычно требуют меньше памяти CUDA для обучения по сравнению с моделями на основе трансформеров, такими как RTDETRv2, что делает их доступными для пользователей с менее мощным оборудованием.
- Универсальность: В отличие от однозадачных моделей, YOLOv8 и YOLO11 — это многозадачные структуры, поддерживающие обнаружение объектов, сегментацию, классификацию, оценку позы и обнаружение ориентированных объектов (OBB) «из коробки».
- Эффективность обучения: Воспользуйтесь преимуществами более быстрого времени обучения, эффективной загрузки данных и готовых предварительно обученных весов на наборах данных, таких как COCO.
Заключение: какая модель подходит именно вам?
В заключение, выбор между EfficientDet и RTDETRv2 во многом зависит от приоритетов проекта. EfficientDet — это оптимальный выбор, когда вычислительная эффективность и масштабируемость для различных аппаратных профилей имеют первостепенное значение. Его семейство моделей обеспечивает гибкость для приложений с ограниченными ресурсами. RTDETRv2 — предпочтительный вариант, когда максимальная точность является обязательным условием и доступны мощные ресурсы GPU. Его архитектура на основе трансформеров превосходно понимает сложные сцены, что делает его идеальным для критически важных приложений, работающих в реальном времени.
Однако, для большинства разработчиков и исследователей модели Ultralytics, такие как YOLOv8 и YOLO11, предлагают наиболее практичное и мощное решение. Они сочетают в себе высокую производительность с исключительной простотой использования, универсальностью и поддерживающей экосистемой, сокращая время разработки и позволяя использовать более широкий спектр приложений из единого унифицированного фреймворка.
Изучите другие сравнения
- EfficientDet в сравнении с YOLOv8
- RT-DETR против YOLOv8
- YOLO11 против EfficientDet
- YOLO11 против RT-DETR
- YOLOX против EfficientDet
- RT-DETR против YOLOX