DAMO-YOLO vs. PP-YOLOE+: техническое сравнение
Выбор оптимальной архитектуры object detection — это важнейшее решение, которое влияет на эффективность, точность и масштабируемость проектов компьютерного зрения. В этом всестороннем сравнении анализируются две известные модели: DAMO-YOLO, детектор, ориентированный на скорость, от Alibaba, и PP-YOLOE+, высокоточная модель из экосистемы PaddlePaddle от Baidu. Мы углубимся в их уникальные архитектуры, показатели производительности и идеальные сценарии развертывания, чтобы помочь разработчикам сделать осознанный выбор.
DAMO-YOLO: Инновации, ориентированные на скорость, от Alibaba
DAMO-YOLO, разработанный Alibaba Group, представляет собой значительный скачок в эффективном обнаружении объектов. Он отдает приоритет превосходному компромиссу между скоростью и точностью, используя передовые методы, такие как поиск нейронной архитектуры (NAS), для оптимизации производительности на устройствах с ограниченными ресурсами.
Технические детали:
- Авторы: Сяньчжэ Сюй, Ици Цзян, Вэйхуа Чэнь, Илунь Хуан, Юань Чжан и Сююй Сунь
- Организация:Alibaba Group
- Дата: 23.11.2022
- Arxiv:https://arxiv.org/abs/2211.15444v2
- GitHub:https://github.com/tinyvision/DAMO-YOLO
- Документация:https://github.com/tinyvision/DAMO-YOLO/blob/master/README.md
Архитектура и ключевые особенности
DAMO-YOLO отличается модульной философией проектирования, которая объединяет несколько передовых технологий:
- Бэкбон MAE-NAS: В отличие от традиционных моделей, которые используют стандартные бэкбоны, такие как ResNet, DAMO-YOLO использует бэкбон, обнаруженный с помощью поиска нейронной архитектуры (NAS). Это приводит к созданию структуры, математически оптимизированной для эффективности извлечения признаков.
- Эффективный RepGFPN: Модель использует обобщенную пирамиду признаков (GFPN), улучшенную с помощью методов повторной параметризации (Rep). Эта архитектура neck улучшает слияние признаков в разных масштабах, минимизируя задержку во время inference.
- Технология ZeroHead: Отличительной особенностью является конструкция "ZeroHead", которая значительно снижает вычислительную нагрузку на головку обнаружения. Благодаря более эффективному разделению задач классификации и регрессии она позволяет экономить параметры, не жертвуя точностью.
- AlignedOTA Label Assignment: Во время обучения DAMO-YOLO использует AlignedOTA, стратегию динамического назначения меток, которая обеспечивает лучшее соответствие между задачами классификации и регрессии, что приводит к более быстрой сходимости.
Дистилляция для компактных моделей
DAMO-YOLO активно использует Knowledge Distillation для своих уменьшенных вариантов (Tiny, Small). Передавая знания от большей «учительской» модели к меньшей «ученической» модели, он достигает более высокой точности, чем это обычно возможно для таких легких архитектур.
PP-YOLOE+: Точная разработка в PaddlePaddle
PP-YOLOE+ — это эволюция серии PP-YOLO, разработанная исследователями Baidu. Это одноэтапный детектор без привязки к anchor boxes, разработанный для расширения границ точности на стандартных бенчмарках, таких как набор данных COCO, специально оптимизированный для фреймворка глубокого обучения 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: Принимая подход без anchor, PP-YOLOE+ упрощает ландшафт гиперпараметров, устраняя необходимость проектировать anchor boxes вручную.
- CSPRepResNet: Backbone сочетает в себе сети Cross Stage Partial (CSPNet) с повторно параметризованными остаточными блоками, предлагая надежный экстрактор признаков, который уравновешивает градиентный поток и вычислительные затраты.
- Task Alignment Learning (TAL): Этот метод явно выравнивает оценку классификации с качеством локализации (IoU), гарантируя, что обнаружения с высокой уверенностью также имеют высококачественные ограничивающие рамки.
- ET-Head: Efficient Task-aligned Head (ET-Head) дополнительно оптимизирует разделение задач классификации и локализации, что способствует высоким показателям mAP модели.
Анализ производительности: Метрики и эффективность
При сравнении DAMO-YOLO и PP-YOLOE+ компромисс обычно заключается между чистой скоростью инференса и абсолютной точностью. DAMO-YOLO разработан для более быстрой работы на оборудовании GPU, в то время как PP-YOLOE+ нацелен на максимальную точность, часто за счет увеличения размера модели и FLOPs.
| Модель | размер (пиксели) | 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 |
Сильные и слабые стороны
DAMO-YOLO:
- Преимущества: Исключительная скорость вывода в реальном времени, что делает ее идеальной для обработки видео и периферийных развертываний, где критична задержка. Архитектура на основе NAS обеспечивает эффективное использование ресурсов.
- Недостатки: Реализация тесно связана с конкретными исследовательскими кодовыми базами, которые может быть сложнее интегрировать в стандартные производственные конвейеры по сравнению с более устоявшимися библиотеками.
PP-YOLOE+:
- Преимущества: Очень высокие потолки точности, особенно с вариантом 'x' (extra-large). Интеграция с экосистемой PaddlePaddle предоставляет полный набор инструментов для пользователей, уже находящихся в этой среде.
- Недостатки: Более сильная зависимость от фреймворка PaddlePaddle может быть барьером для команд, стандартизированных на PyTorch. Обычно для достижения аналогичной скорости инференса требуется больше параметров по сравнению с DAMO-YOLO.
Случаи использования и приложения
Архитектурные различия определяют идеальные варианты использования для каждой модели:
- DAMO-YOLO превосходен в Edge AI и Робототехнике. Его низкая задержка идеально подходит для дронов или автономных мобильных роботов (AMR), которым необходимо мгновенно обрабатывать визуальные данные для навигации в окружающей среде или избежания препятствий.
- PP-YOLOE+ хорошо подходит для промышленного контроля и детальной аналитики. В таких сценариях, как контроль качества производства или анализ медицинских изображений, где пропуск небольшого дефекта обходится дороже, чем чуть более медленное время вывода, более высокий mAP PP-YOLOE+ является очень ценным.
Преимущество Ultralytics: Почему стоит выбрать YOLO11?
В то время как DAMO-YOLO и PP-YOLOE+ предлагают определенные преимущества, Ultralytics YOLO11 предоставляет целостное решение, которое уравновешивает производительность, удобство использования и поддержку экосистемы. Для большинства разработчиков YOLO11 представляет собой наиболее практичный и мощный выбор для внедрения компьютерного зрения в производство.
Непревзойденная универсальность и экосистема
В отличие от специализированных детекторов, YOLO11 — это мультимодальная электростанция. Он поддерживает широкий спектр задач, включая object detection, instance segmentation, pose estimation, classification и oriented bounding box (OBB) detect — все в рамках единого унифицированного фреймворка.
- Простота использования: Ultralytics уделяет первостепенное внимание опыту разработчиков, предлагая простой, интуитивно понятный Python API. Вы можете обучать, проверять и развертывать модели всего в несколько строк кода, что значительно сокращает время разработки по сравнению со сложными конфигурациями, часто требуемыми моделями, ориентированными на исследования.
- Баланс производительности: YOLO11 достигает современной точности с замечательной скоростью. Он оптимизирован для эффективной работы на различном оборудовании, от мощных облачных GPU до периферийных устройств, таких как NVIDIA Jetson, используя меньше памяти, чем многие альтернативы на основе трансформеров.
- Эффективность обучения: Фреймворк включает в себя оптимизированные процедуры обучения и обширную библиотеку предварительно обученных весов. Это позволяет быстро выполнять точную настройку на пользовательских наборах данных, экономя вычислительные затраты и время.
Оптимизированный рабочий процесс
Экосистема Ultralytics разработана для плавного перехода от исследований к производству. Благодаря активному обслуживанию, частым обновлениям и интеграции с такими инструментами, как TensorRT и OpenVINO, разработчики могут уверенно развертывать модели.
Пример: Запуск YOLO11 с Python
Начать работу с YOLO11 довольно просто. Следующий фрагмент кода демонстрирует, как загрузить предварительно обученную модель и запустить inference на изображении:
from ultralytics import YOLO
# Load a pre-trained YOLO11 model
model = YOLO("yolo11n.pt")
# Run inference on a local image source
results = model("path/to/image.jpg")
# Display the inference results
results[0].show()
Эта простота в сочетании с высокой производительностью делает Ultralytics YOLO11 предпочтительным выбором для разработчиков, стремящихся создавать масштабируемые и поддерживаемые решения на основе искусственного интеллекта.
Заключение
DAMO-YOLO и PP-YOLOE+ внесли значительный вклад в область компьютерного зрения. DAMO-YOLO демонстрирует мощь Neural Architecture Search для повышения эффективности, в то время как PP-YOLOE+ подчеркивает точность, возможную при использовании конструкций без привязки к якорям в экосистеме PaddlePaddle.
Однако, если вам нужно универсальное, готовое к производству решение, которое предлагает оптимальный баланс скорости, точности и простоты использования, Ultralytics YOLO11 остается лучшей рекомендацией. Его всесторонняя поддержка различных задач компьютерного зрения, низкое потребление памяти и обширная документация позволяют разработчикам быстрее и эффективнее внедрять инновации.