Перейти к содержанию

PP-YOLOE+ против EfficientDet: Подробное техническое сравнение

Выбор правильной архитектуры является критически важным шагом в создании надежных приложений компьютерного зрения. В этом техническом руководстве рассматриваются компромиссы между двумя хорошо известными моделями обнаружения объектов: PP-YOLOE+ и EfficientDet. Мы разберем их архитектуры, проанализируем их метрики производительности и исследуем идеальные сценарии развертывания.

Хотя обе модели внесли значительный вклад в эту область, мы также обсудим, как современные альтернативы, такие как Ultralytics YOLO26, предлагают значительно превосходящую эффективность памяти, более быстрый вывод и высокооптимизированный опыт для разработчиков.

Архитектурный обзор: PP-YOLOE+

PP-YOLOE+ является развитой версией оригинального PP-YOLO, созданной специально для оптимизации производительности на серверных GPU в экосистеме PaddlePaddle. Он вводит несколько улучшений в базовую архитектуру, сосредоточившись на безанкерной парадигме.

Узнайте больше о PP-YOLOE+

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+t64039.9-2.844.8519.15
PP-YOLOE+s64043.7-2.627.9317.36
PP-YOLOE+m64049.8-5.5623.4349.91
PP-YOLOE+l64052.9-8.3652.2110.07
PP-YOLOE+x64054.7-14.398.42206.59
EfficientDet-d064034.610.23.923.92.54
EfficientDet-d164040.513.57.316.66.1
EfficientDet-d264043.017.710.928.111.0
EfficientDet-d364047.528.019.5912.024.9
EfficientDet-d464049.742.833.5520.755.2
EfficientDet-d564051.572.567.8633.7130.0
EfficientDet-d664052.692.889.2951.9226.0
EfficientDet-d764053.7122.0128.0751.9325.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 делают его окончательным выбором для обеспечения перспективности вашей ИИ-инфраструктуры.


Комментарии