EfficientDet vs. PP-YOLOE+: техническое сравнение
В эволюции компьютерного зрения немногие сравнения так ярко подчеркивают смену философии проектирования, как контраст между EfficientDet от Google и PP-YOLOE+ от Baidu. В то время как EfficientDet стал важной вехой в эффективности параметров за счет масштабирования соединений, PP-YOLOE+ представляет собой современную эру высокоскоростного обнаружения без привязки, оптимизированного для выводов GPU .
В данном анализе рассматриваются их архитектуры, показатели производительности и практические приложения, чтобы помочь разработчикам выбрать подходящий инструмент для конкретных задач по обнаружению объектов.
Прямой анализ производительности
За время, прошедшее с момента выпуска этих двух моделей, ситуация с производительностью значительно изменилась. EfficientDet фокусируется на минимизации FLOP (операций с плавающей запятой) и количества параметров, что делает ее теоретически эффективной. Однако PP-YOLOE+ разработана для практической скорости вычислений на аппаратных ускорителях, таких как GPU, с использованием оптимизаций TensorRT .
| Модель | размер (пиксели) | 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 |
| PP-YOLOE+t | 640 | 39.9 | - | 2.84 | 4.85 | 19.15 |
| PP-YOLOE+s | 640 | 43.7 | - | 2.62 | 7.93 | 17.36 |
| PP-YOLOE+m | 640 | 49.8 | - | 5.56 | 23.43 | 49.91 |
| PP-YOLOE+l | 640 | 52.9 | - | 8.36 | 52.2 | 110.07 |
| PP-YOLOE+x | 640 | 54.7 | - | 14.3 | 98.42 | 206.59 |
Полученные данные позволяют сделать важный вывод: в то время как EfficientDet-d0 является легким, более крупные варианты (d5-d7) страдают от значительных задержек. И наоборот, PP-YOLOE+l достигает средней точности (mAP), сравнимой с EfficientDet-d6 (52,9 против 52,6), но работает в 10 раз быстрее на GPU T4 (8,36 мс против 89,29 мс).
EfficientDet: Масштабируемая эффективность
EfficientDet был представлен командой Google Brain AutoML с целью преодолеть ограничения эффективности предыдущих детекторов. Он построен на основе EfficientNet, применяя метод комбинированного масштабирования, который равномерно масштабирует разрешение, глубину и ширину.
Авторы: Mingxing Tan, Ruoming Pang, and Quoc V. Le
Organization:Google
Дата: 2019-11-20
Arxiv:1911.09070
GitHub:google
Docs:README
Основные архитектурные особенности
- BiFPN (Bidirectional Feature Pyramid Network): В отличие от традиционных FPN, BiFPN позволяет легко объединять многомасштабные признаки. Она вводит обучаемые веса для изучения важности различных входных признаков, многократно применяя многомасштабное слияние признаков сверху вниз и снизу вверх.
- Составное масштабирование: Единый коэффициент $\phi$ управляет шириной, глубиной и разрешением сети, что позволяет создать семейство моделей (от D0 до D7), ориентированных на различные ограничения ресурсов.
Сильные и слабые стороны
- Сильные стороны: отличная эффективность по параметрам; эффективен для процессоров с низким энергопотреблением, где FLOP являются основным узким местом; высокоструктурированный подход к масштабированию.
- Слабые стороны: Сложные соединения в BiFPN и разделяемые по глубине свертки часто занимают много памяти на GPU, что приводит к более медленному времени вывода в реальном мире, несмотря на низкое количество FLOP.
Знаете ли вы?
Широкое использование в EfficientDet глубинных сепарабельных сверток значительно сокращает количество параметров, но может привести к снижению загрузки GPU по сравнению со стандартными свертками, используемыми в моделях типа YOLO.
Узнайте больше об EfficientDet
PP-YOLOE+: Безъякорный челленджер
PP-YOLOE+, выпущенный компанией Baidu в рамках экосистемы PaddlePaddle , является эволюцией PP-YOLOv2. Его цель - превзойти характеристики YOLOv5 и YOLOX за счет использования полностью безъякорного механизма и передовых стратегий обучения.
Авторы: Авторы PaddlePaddle
Организация:Baidu
Дата: 2022-04-02
Arxiv:2203.16250
GitHub:PaddlePaddle
Docs:PP-YOLOE+ Configs
Основные архитектурные особенности
- Безъякорная конструкция: Благодаря отсутствию предопределенных якорных ящиков PP-YOLOE+ упрощает головку обнаружения и снижает нагрузку на настройку гиперпараметров.
- CSPRepResNet: В качестве основы используется RepResBlock, который объединяет преимущества остаточных связей во время обучения и перепараметризует их в оптимизированную структуру для вывода.
- TAL (Task Alignment Learning): Усовершенствованная стратегия присвоения меток, которая динамически согласовывает оценку классификации и качество локализации.
Сильные и слабые стороны
- Сильные стороны: современная точность на наборе данныхCOCO ; чрезвычайно высокая скорость работы на оборудовании TensorRT; инновационный дизайн головы.
- Слабые стороны: Сильно привязан к фреймворку PaddlePaddle , что может создать проблемы с интеграцией для команд, стандартизированных на PyTorch; немного большее количество параметров для небольших моделей по сравнению с EfficientDet-d0.
Преимущество Ultralytics : Единое решение
В то время как EfficientDet обеспечивает теоретическую эффективность, а PP-YOLOE+ - сырую скорость, разработчикам часто требуется решение, в котором производительность сочетается с удобством использования и поддержкой экосистемы. Именно здесь Ultralytics YOLO11 превосходит все остальные.
В отличие от специализированных моделей сравнения, модели Ultralytics разработаны для современного рабочего процесса MLOps, предлагая собственный опыт работы с PyTorch , который легко обучить и развернуть.
Почему стоит выбрать Ultralytics YOLO11?
- Простота использования: Уделяя особое внимание опыту разработчиков, Ultralytics позволяет перейти от установки к выводам за три строки кода Python . Нет необходимости вручную компилировать сложные библиотеки операторов или конвертировать проприетарные форматы.
- Универсальность: Один фреймворк поддерживает обнаружение объектов, сегментацию объектов, оценку позы, классификацию и ориентированные граничные поля (OBB).
- Баланс производительности: YOLO11 оптимизирует компромисс между скоростью и точностью, предоставляя возможность делать выводы в реальном времени как на Edge-устройствах (например, Jetson), так и на облачных GPU.
- Требования к памяти: Модели Ultralytics YOLO используют оптимизированные архитектуры, которые обычно требуют меньше памяти CUDA во время обучения по сравнению с альтернативами на основе трансформаторов или старыми многомасштабными сетями признаков.
- Хорошо поддерживаемая экосистема: Опираясь на активное сообщество разработчиков, репозиторий получает частые обновления, обеспечивающие совместимость с последними версиями PyTorch, CUDA и Python.
- Эффективность обучения: Пользователи могут использовать легкодоступные предварительно обученные веса для быстрой настройки моделей на пользовательских наборах данных, что значительно снижает требования к обучающим данным и затраты на вычисления.
Пример кода: Начало работы с YOLO11
Запуск современной модели не должен быть сложным. Вот как легко вы можете реализовать обнаружение объектов с помощью Ultralytics:
from ultralytics import YOLO
# Load a pre-trained YOLO11 model
model = YOLO("yolo11n.pt")
# Run inference on an image
results = model.predict("https://ultralytics.com/images/bus.jpg")
# Display the results
results[0].show()
Заключение
Выбор между EfficientDet и PP-YOLOE+ во многом зависит от ваших аппаратных ограничений и требований, предъявляемых законодательством.
- EfficientDet остается актуальным эталоном для исследований в области параметрически эффективного масштабирования и подходит для специфических сценариев CPU, когда пропускная способность памяти ограничена.
- PP-YOLOE+ - это лучший выбор для развертывания высокопроизводительных GPU , предлагающий значительно лучшие компромиссы между задержкой и точностью, если вам удобно ориентироваться в экосистеме PaddlePaddle .
Однако для подавляющего большинства реальных приложений - от аналитики в "умных городах" до мониторинга сельского хозяйства -Ultralytics YOLO11 является наиболее прагматичным выбором. Он сочетает в себе архитектурные инновации современных безъякорных детекторов с непревзойденным пользовательским интерфейсом, позволяя вам сосредоточиться на решении бизнес-задач, а не на отладке тонкостей фреймворка.
Откройте для себя другие модели
Чтобы узнать больше, ознакомьтесь с этими сравнительными характеристиками: