DAMO-YOLO vs. PP-YOLOE+: техническое сравнение
Выбор подходящей модели обнаружения объектов — это критически важное решение, которое уравновешивает точность, скорость инференса и вычислительные затраты. На этой странице представлено подробное техническое сравнение DAMO-YOLO, разработанной Alibaba Group, и PP-YOLOE+, разработанной Baidu. Мы проанализируем их архитектуры, показатели производительности и идеальные варианты использования, чтобы помочь разработчикам и исследователям сделать осознанный выбор для своих проектов в области компьютерного зрения.
Несмотря на то, что обе модели предлагают значительные улучшения, важно также рассмотреть альтернативы, такие как серия Ultralytics YOLO. Такие модели, как Ultralytics YOLO11, обеспечивают высококонкурентный баланс производительности и эффективности в сочетании с удобной и хорошо поддерживаемой экосистемой, которая ускоряет разработку от исследований до производства.
DAMO-YOLO: Быстрый и точный метод от Alibaba
DAMO-YOLO была представлена Alibaba Group как быстрый и точный метод обнаружения объектов, который использует несколько новых техник для достижения превосходного баланса между скоростью и точностью. Она основывается на философии YOLO, но включает в себя передовые компоненты для расширения границ производительности.
Технические детали:
- Авторы: Сяньчжэ Сюй, Ици Цзян, Вэйхуа Чэнь, Илунь Хуан, Юань Чжан и Сююй Сунь
- Организация: Alibaba Group
- Дата: 23.11.2022
- Arxiv: https://arxiv.org/abs/2211.15444
- GitHub: https://github.com/tinyvision/DAMO-YOLO
- Документация: https://github.com/tinyvision/DAMO-YOLO/blob/master/README.md
Архитектура и ключевые особенности
Архитектура DAMO-YOLO отличается интеграцией современных методов, обнаруженных с помощью поиска нейронных архитектур (NAS) и других оптимизаций.
- NAS-Powered Backbones: DAMO-YOLO использует backbones, созданные MAE-NAS от Alibaba, в результате чего получаются высокоэффективные средства извлечения признаков, разработанные специально для обнаружения объектов.
- Эффективный RepGFPN Neck: Он представляет новый neck, Generalized Feature Pyramid Network (GFPN), с повторной параметризацией для улучшения слияния признаков в разных масштабах при сохранении низкой задержки.
- ZeroHead: Модель использует упрощенную структуру с нулевым количеством параметров, которая разделяет задачи классификации и регрессии, снижая вычислительные затраты и повышая производительность.
- Назначение меток AlignedOTA: AlignedOTA — это динамическая стратегия назначения меток, ориентированная на выравнивание, которая используется для обеспечения выбора наиболее подходящих якорей во время обучения, что приводит к более точным прогнозам.
- Улучшение дистилляции: DAMO-YOLO использует дистилляцию знаний для передачи знаний от больших, более мощных обучающих моделей к меньшим обучаемым моделям, повышая их точность без увеличения стоимости логического вывода.
Сильные и слабые стороны
Преимущества:
- Превосходный компромисс между скоростью и точностью: DAMO-YOLO превосходно обеспечивает высокую точность при очень высокой скорости инференса, что делает его идеальным для приложений реального времени.
- Вычислительная эффективность: Модель разработана как легковесная с точки зрения параметров и FLOPs, что полезно для развертывания на устройствах с ограниченными ресурсами.
- Инновационная архитектура: Использование NAS, RepGFPN и ZeroHead представляет собой значительный шаг вперед в эффективном проектировании моделей.
Слабые стороны:
- Интеграция в экосистему: Модель в основном реализована в рамках MMDetection, что может потребовать дополнительных усилий для интеграции в стандартные рабочие процессы PyTorch.
- Поддержка сообщества: Будучи моделью, ориентированной на исследования из корпоративной лаборатории, она может иметь меньшее сообщество и меньше сторонних ресурсов по сравнению с более широко используемыми моделями.
PP-YOLOE+: Высокая точность в экосистеме PaddlePaddle
PP-YOLOE+, разработанный Baidu, является улучшенной версией серии PP-YOLOE. Это anchor-free одноэтапный детектор, который уделяет приоритетное внимание достижению высокой точности при сохранении разумной эффективности, особенно в рамках платформы глубокого обучения PaddlePaddle.
Технические детали:
- Авторы: Авторы PaddlePaddle
- Организация: Baidu
- Дата: 2022-04-02
- Arxiv: https://arxiv.org/abs/2203.16250
- GitHub: https://github.com/PaddlePaddle/PaddleDetection/
- Документация: https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.8.1/configs/ppyoloe/README.md
Архитектура и ключевые особенности
PP-YOLOE+ строится на прочной основе без anchor boxes с несколькими ключевыми улучшениями, направленными на повышение производительности.
- Anchor-Free Design: Отказ от предопределенных anchor boxes упрощает конвейер обнаружения PP-YOLOE+ и уменьшает количество гиперпараметров, требующих настройки.
- CSPRepResNet Backbone: Он использует мощный backbone, который сочетает в себе принципы CSPNet и RepVGG для создания надежного, но эффективного инструмента для извлечения признаков.
- Продвинутая функция потерь и голова: Модель включает Varifocal Loss и эффективную ET-Head (Efficient Task-aligned Head) для лучшего согласования задач классификации и локализации, что повышает точность обнаружения.
- Оптимизация PaddlePaddle: PP-YOLOE+ глубоко интегрирован и оптимизирован для фреймворка PaddlePaddle, предлагая пользователям этой экосистемы беспроблемное обучение, вывод и развертывание.
Сильные и слабые стороны
Преимущества:
- Высокая точность: Более крупные варианты PP-YOLOE+ достигают самой современной точности на наборе данных COCO.
- Масштабируемые модели: Доступна в различных размерах (t, s, m, l, x), что позволяет пользователям выбирать модель, которая соответствует их конкретным вычислительным возможностям.
- Надежная поддержка экосистемы: Хорошо документирована и поддерживается в рамках инструментария PaddleDetection.
Слабые стороны:
- Зависимость от фреймворка: Основная ориентация на фреймворк PaddlePaddle может быть существенным барьером для разработчиков и команд, стандартизированных на PyTorch.
- Менее эффективна: По сравнению с DAMO-YOLO, модели PP-YOLOE+ часто имеют больше параметров и более высокие значения FLOPs при аналогичном уровне точности, что делает их более требовательными к вычислительным ресурсам.
Анализ производительности: DAMO-YOLO в сравнении с PP-YOLOE+
Производительность DAMO-YOLO и PP-YOLOE+ подчеркивает их различные философии проектирования. DAMO-YOLO разработан для максимальной эффективности, обеспечивая лучший компромисс между скоростью и точностью. В отличие от этого, PP-YOLOE+ фокусируется на расширении границ точности, особенно со своими более крупными моделями, за счет более высоких вычислительных требований.
Модель | размер (пиксели) |
mAPval 50-95 |
Скорость CPU ONNX (мс) |
Скорость T4 TensorRT10 (мс) |
параметры (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
DAMO-YOLOt | 640 | 42.0 | - | 2.32 | 8.5 | 18.1 |
DAMO-YOLOs | 640 | 46.0 | - | 3.45 | 16.3 | 37.8 |
DAMO-YOLOm | 640 | 49.2 | - | 5.09 | 28.2 | 61.8 |
DAMO-YOLOl | 640 | 50.8 | - | 7.18 | 42.1 | 97.3 |
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 |
На основании таблицы можно отметить следующее:
- Точность (mAP): PP-YOLOE+x достигает самого высокого mAP в 54,7%, превосходя все варианты DAMO-YOLO. Однако в меньших масштабах модели DAMO-YOLO весьма конкурентоспособны.
- Скорость: Модели DAMO-YOLO стабильно демонстрируют более высокую скорость инференса на GPU T4 по сравнению с моделями PP-YOLOE+ аналогичного размера.
- Эффективность (параметры и FLOPs): DAMO-YOLO обычно более эффективен. Например, DAMO-YOLOm достигает 49,2% mAP с 28,2M параметрами, в то время как немного более точный PP-YOLOE+m (49,8% mAP) требует 23,43M параметров, но работает медленнее. Самая большая модель PP-YOLOE+x значительно больше как по параметрам, так и по FLOPs.
Преимущество Ultralytics: Почему стоит выбрать YOLO11?
Несмотря на то, что DAMO-YOLO и PP-YOLOE+ являются мощными моделями, они имеют ограничения экосистемы. Для разработчиков, ищущих универсальное, простое в использовании и высокопроизводительное решение, Ultralytics YOLO11 является исключительной альтернативой.
Модели Ultralytics разработаны с учетом приоритета удобства для разработчиков. Ключевые преимущества включают:
- Простота использования: Оптимизированный Python API, полная документация и понятный CLI делают обучение, валидацию и развертывание невероятно простыми.
- Хорошо поддерживаемая экосистема: Ultralytics предоставляет надежную экосистему с активной разработкой, мощной поддержкой сообщества на GitHub и интеграцией с Ultralytics HUB для комплексного MLOps.
- Универсальность: В отличие от специализированных детекторов, YOLO11 — это многозадачная модель, поддерживающая обнаружение объектов, сегментацию, классификацию и оценку позы «из коробки».
- Эффективность обучения: Модели Ultralytics YOLO оптимизированы для эффективного обучения, часто требуя меньше памяти и времени, с богатым набором предварительно обученных весов, доступных для быстрого старта любого проекта.
Заключение: какая модель подходит именно вам?
Выбор между DAMO-YOLO и PP-YOLOE+ во многом зависит от конкретных приоритетов вашего проекта и существующего технологического стека.
-
Choose DAMO-YOLO, если ваша основная цель — достичь наилучшего компромисса между скоростью и точностью для вывода в реальном времени, особенно на периферийных устройствах. Это отличный выбор для тех, кто ценит вычислительную эффективность и комфортно работает с фреймворком на основе MMDetection.
-
Выбирайте PP-YOLOE+, если ваше приложение требует максимально возможной точности и вы уже работаете в экосистеме Baidu PaddlePaddle или планируете ее внедрить. Его более крупные модели идеально подходят для ответственных приложений, где точность имеет первостепенное значение.
-
Большинству разработчиков и исследователей мы рекомендуем Ultralytics YOLO11. Он предлагает убедительное сочетание высокой производительности, универсальности для различных задач компьютерного зрения и непревзойденной простоты использования. Надежная, хорошо поддерживаемая экосистема устраняет проблемы, связанные с моделями, специфичными для конкретного фреймворка, позволяя вам быстрее сосредоточиться на создании и развертывании инновационных решений на основе ИИ.