PP-YOLOE+ против EfficientDet: Подробное техническое сравнение
Выбор правильной архитектуры является критически важным шагом в создании надежных приложений компьютерного зрения. В этом техническом руководстве рассматриваются компромиссы между двумя хорошо известными моделями обнаружения объектов: PP-YOLOE+ и EfficientDet. Мы разберем их архитектуры, проанализируем их метрики производительности и исследуем идеальные сценарии развертывания.
Хотя обе модели внесли значительный вклад в эту область, мы также обсудим, как современные альтернативы, такие как Ultralytics YOLO26, предлагают значительно превосходящую эффективность памяти, более быстрый вывод и высокооптимизированный опыт для разработчиков.
Архитектурный обзор: PP-YOLOE+
PP-YOLOE+ является развитой версией оригинального PP-YOLO, созданной специально для оптимизации производительности на серверных GPU в экосистеме PaddlePaddle. Он вводит несколько улучшений в базовую архитектуру, сосредоточившись на безанкерной парадигме.
- Авторы: Авторы PaddlePaddle
- Организация:Baidu
- Дата: 2022-04-02
- Arxiv:2203.16250
- Документация:PaddleDetection README
PP-YOLOE+ включает бэкбон CSPRepResNet, Efficient Task-aligned head (ET-head) и в значительной степени опирается на варифокальную функцию потерь для классификации, а также на распределенную фокальную функцию потерь для регрессии ограничивающих рамок. Его переход к безанкерному детектору помог оптимизировать конвейер постобработки, сделав его весьма конкурентоспособным на момент выпуска.
Преимущества интеграции
Команды, уже глубоко интегрированные в фреймворк Baidu PaddlePaddle, часто находят PP-YOLOE+ более простым для внедрения в таких задачах, как сегментация экземпляров, хотя ему не хватает широкой поддержки нескольких фреймворков, присущей более новым инструментам.
Архитектурный обзор: EfficientDet
EfficientDet использует радикально иной подход к обнаружению объектов, в значительной степени полагаясь на поиск нейронной архитектуры и принципы составного масштабирования.
- Авторы: Мингксинг Тан, Руоминг Панг и Куок В. Ле
- Организация:Google
- Дата: 2019-11-20
- Arxiv:1911.09070
- Документация:README Brain AutoML
Узнайте больше об EfficientDet
Краеугольным камнем EfficientDet является его двунаправленная пирамидальная сеть признаков (BiFPN). В отличие от традиционных FPN, BiFPN обеспечивает простое и быстрое слияние признаков на разных масштабах, вводя обучаемые веса для определения значимости различных входных признаков. В сочетании с базовой сетью EfficientNet, EfficientDet систематически масштабирует ширину, глубину и разрешение сети одновременно.
Хотя теоретически высокоэффективные с точки зрения FLOPs, модели EfficientDet иногда могут испытывать трудности с преобразованием теоретической эффективности в реальную скорость на периферийных устройствах из-за их сложных шаблонов доступа к памяти, что резко контрастирует с более низкими требованиями к памяти моделей на основе YOLO.
Анализ производительности и бенчмарки
В таблице ниже сопоставляются ключевые метрики на стандартных наборах данных, таких как COCO. Сравнение средней средней точности (mAP) со скоростью инференса дает четкое представление о границе Парето.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 | 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+ в целом лучше масштабируется по чистому mAP для высокопроизводительных GPU, в то время как EfficientDet стремится минимизировать параметры. Однако оба отстают от современных возможностей реального времени, необходимых для передового граничного ИИ.
Сценарии использования и рекомендации
Выбор между PP-YOLOE+ и EfficientDet зависит от конкретных требований вашего проекта, ограничений развертывания и предпочтений экосистемы.
Когда следует выбирать PP-YOLOE+
PP-YOLOE+ является отличным выбором для:
- Интеграция с экосистемой PaddlePaddle: Для организаций с существующей инфраструктурой, построенной на фреймворке и инструментарии Baidu PaddlePaddle.
- Развертывание Paddle Lite на периферийных устройствах: Развертывание на аппаратном обеспечении с высокооптимизированными ядрами вывода специально для механизма вывода Paddle Lite или Paddle.
- Высокоточное серверное обнаружение: Сценарии, где приоритетом является максимальная точность обнаружения на мощных GPU-серверах, и зависимость от фреймворка не является проблемой.
Когда следует выбирать EfficientDet
EfficientDet рекомендуется для:
- Конвейеры Google Cloud и TPU: Системы, глубоко интегрированные с API Google Cloud Vision или инфраструктурой TPU, где EfficientDet имеет нативную оптимизацию.
- Исследование составного масштабирования: Академическое бенчмаркинг, сфокусированное на изучении влияния сбалансированного масштабирования глубины, ширины и разрешения сети.
- Мобильное развертывание через TFLite: Проекты, которые специально требуют экспорта TensorFlow Lite для Android или встраиваемых устройств на Linux.
Когда выбирать Ultralytics (YOLO26)
Для большинства новых проектов Ultralytics YOLO26 предлагает наилучшее сочетание производительности и удобства для разработчиков:
- Развертывание на периферии без NMS: Приложения, требующие стабильного вывода с низкой задержкой без сложности постобработки методом Non-Maximum Suppression.
- Среды только с CPU: Устройства без выделенного ускорения GPU, где до 43% более быстрая инференция YOLO26 на CPU обеспечивает решающее преимущество.
- Обнаружение мелких объектов: Сложные сценарии, такие как аэрофотосъемка с дронов или анализ данных с IoT-датчиков, где ProgLoss и STAL значительно повышают точность на крошечных объектах.
Современная альтернатива: Ultralytics YOLO26
Хотя PP-YOLOE+ и EfficientDet представляют собой значительные исторические вехи, разработчики, стремящиеся к передовой точности, меньшему потреблению памяти и оптимизированному пользовательскому опыту, должны обратить внимание на Ultralytics YOLO26.
YOLO26 представляет собой огромный шаг вперед в области обнаружения объектов, внедряя несколько критически важных инноваций:
- Сквозная архитектура без NMS: Основываясь на прорывных достижениях YOLOv10, YOLO26 изначально исключает подавление немаксимумов (NMS) во время инференса. Это приводит к значительному снижению задержки и устраняет сложные узкие места постобработки.
- Оптимизатор MuSGD: Вдохновленный инновациями в обучении LLM, YOLO26 использует гибридный оптимизатор SGD и Muon. Это значительно улучшает стабильность обучения и сокращает время сходимости.
- Экстремальная скорость: YOLO26 обеспечивает до 43% более быструю инференцию на CPU по сравнению с предыдущими поколениями, такими как YOLO11, что делает его лучшим выбором для периферийных устройств с автономным питанием или работающих только на CPU.
- Расширенные функции потерь: Интеграция ProgLoss и STAL значительно улучшает распознавание мелких объектов, что крайне важно для таких задач, как аналитика дронов и робототехника.
Многозадачная универсальность
В отличие от EfficientDet, который сосредоточен исключительно на обнаружении, YOLO26 изначально поддерживает оценку позы, классификацию изображений и ориентированные ограничивающие рамки (OBB), все в рамках одной хорошо поддерживаемой экосистемы.
Простота использования и интеграция с экосистемой
Одним из самых больших недостатков устаревших моделей, таких как EfficientDet, является сложность их конвейеров обучения и настроек автоматизированного машинного обучения. В отличие от них, Ultralytics Platform предлагает непревзойденный опыт для разработчиков.
Развертывание модели с Ultralytics требует всего несколько строк кода, что резко контрастирует с многословными конфигурациями, требуемыми устаревшими фреймворками.
from ultralytics import YOLO
# Load a pretrained YOLO26 model
model = YOLO("yolo26s.pt")
# Train the model on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=100)
# Run inference on a test image natively without NMS overhead
predictions = model("https://ultralytics.com/images/bus.jpg")
Для тех, кто изучает другие альтернативы, архитектуры, такие как RT-DETR или устаревшая YOLOv8, также доступны в экосистеме Ultralytics, обеспечивая беспрепятственную замену и тестирование.
Заключение
PP-YOLOE+ остается сильным выбором для конкретных серверных развертываний в экосистеме Paddle, а EfficientDet продолжает быть интересным исследованием в области автоматизированного проектирования архитектур. Однако для современных приложений, требующих вывода в реальном времени, простоты развертывания и минимальных требований к памяти, Ultralytics YOLO26 обеспечивает наиболее убедительный баланс производительности. Его изначально бе NMS-свободный дизайн и молниеносная производительность CPU делают его окончательным выбором для обеспечения перспективности вашей ИИ-инфраструктуры.