Link to this sectionPP-YOLOE+ против EfficientDet#
Выбор правильной архитектуры — критически важный шаг при создании надежных приложений компьютерного зрения. В этом техническом руководстве рассматриваются компромиссы между двумя известными моделями обнаружения объектов: PP-YOLOE+ и EfficientDet. Мы разберем их архитектуры, проанализируем показатели производительности и изучим идеальные сценарии их развертывания.
Хотя обе модели внесли значительный вклад в развитие области, мы также обсудим, как современные альтернативы, такие как Ultralytics YOLO26, предлагают гораздо более высокую эффективность памяти, ускоренный вывод и значительно упрощенный опыт разработки.
Link to this sectionАрхитектурный обзор: PP-YOLOE+#
PP-YOLOE+ — это эволюционировавшая версия оригинальной PP-YOLO, созданная специально для оптимизации производительности на серверных GPU в экосистеме PaddlePaddle. Она вводит несколько улучшений в базовую архитектуру, фокусируясь на парадигме без использования анкоров (anchor-free).
- Авторы: Авторы PaddlePaddle
- Организация: Baidu
- Дата: 2022-04-02
- Arxiv: 2203.16250
- Документация: README PaddleDetection
PP-YOLOE+ оснащена бэкбоном CSPRepResNet, эффективной головой (ET-head) для выравнивания задач и в значительной степени полагается на varifocal loss для классификации наряду с distribution focal loss для регрессии ограничивающих рамок. Переход к дизайну детектора без анкоров помог оптимизировать конвейер постобработки, что сделало её весьма конкурентоспособной на момент выпуска.
Командам, уже глубоко интегрированным во фреймворк Baidu PaddlePaddle, часто проще внедрить PP-YOLOE+ для таких задач, как сегментация экземпляров, хотя ей не хватает широкой поддержки различных фреймворков, характерной для более новых инструментов.
Link to this sectionАрхитектурный обзор: EfficientDet#
EfficientDet использует радикально иной подход к обнаружению объектов, опираясь преимущественно на нейросетевой поиск архитектур и принципы составного масштабирования.
- Авторы: Минсин Тан, Руомин Пан и Куок В. Ле
- Организация: Google
- Дата: 2019-11-20
- Arxiv: 1911.09070
- Документация: README Brain AutoML
Краеугольным камнем EfficientDet является двунаправленная пирамидальная сеть признаков (BiFPN). В отличие от традиционных FPN, BiFPN позволяет легко и быстро выполнять многомасштабное слияние признаков за счет внедрения обучаемых весов для определения важности различных входных данных. В сочетании с бэкбоном EfficientNet, EfficientDet систематически масштабирует ширину, глубину и разрешение сети одновременно.
Хотя теоретически EfficientDet обладает высокой эффективностью с точки зрения FLOPs, этим моделям иногда бывает трудно реализовать свою теоретическую эффективность в реальной скорости на граничных устройствах (edge devices) из-за сложных шаблонов доступа к памяти, что резко контрастирует с меньшими требованиями к памяти у моделей на базе YOLO.
Link to this sectionАнализ производительности и бенчмарки#
В таблице ниже сравниваются ключевые показатели на стандартных наборах данных, таких как COCO. Сравнение средней точности (mAP) со скоростью вывода дает четкое представление о границе Парето.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (М) | FLOPs (Б) |
|---|---|---|---|---|---|---|
| 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 стремится минимизировать количество параметров. Однако обе модели отстают от современных возможностей реального времени, необходимых для передового edge AI.
Link to this sectionСценарии использования и рекомендации#
Выбор между PP-YOLOE+ и EfficientDet зависит от требований твоего конкретного проекта, ограничений развертывания и предпочтений в экосистеме.
Link to this sectionКогда выбирать PP-YOLOE+#
PP-YOLOE+ — это сильный выбор в следующих случаях:
- Интеграция с экосистемой PaddlePaddle: Организации с существующей инфраструктурой, построенной на фреймворке и инструментах Baidu PaddlePaddle.
- Развертывание на периферии с Paddle Lite: Развертывание на оборудовании с высокооптимизированными ядрами вывода, специально предназначенными для движка Paddle Lite или Paddle.
- Серверное обнаружение с высокой точностью: Сценарии, где приоритетом является максимальная точность обнаружения на мощных GPU-серверах, где зависимость от фреймворка не является проблемой.
Link to this sectionКогда стоит выбрать EfficientDet#
EfficientDet рекомендуется для:
- Конвейеры Google Cloud и TPU: Системы с глубокой интеграцией в Google Cloud Vision API или инфраструктуру TPU, где EfficientDet имеет встроенную оптимизацию.
- Исследования составного масштабирования: Академическое тестирование, сфокусированное на изучении эффектов сбалансированного масштабирования глубины, ширины и разрешения сети.
- Мобильного развертывания через TFLite: Проектов, которые требуют экспорта в TensorFlow Lite специально для Android или встраиваемых устройств на базе Linux.
Link to this sectionКогда выбирать Ultralytics (YOLO26)#
Для большинства новых проектов Ultralytics YOLO26 предлагает наилучшее сочетание производительности и опыта разработчика:
- Развертывания на периферии без NMS: приложений, требующих стабильного вывода с низкой задержкой без сложности постобработки подавления немаксимумов.
- Среды только с CPU: устройств без выделенного GPU-ускорения, где до 43% более быстрый вывод на CPU у YOLO26 дает решающее преимущество.
- Детектирования мелких объектов: сложных сценариев, таких как аэросъемка с дронов или анализ датчиков IoT, где ProgLoss и STAL значительно повышают точность на крошечных объектах.
Link to this sectionСовременная альтернатива: Ultralytics YOLO26#
Хотя PP-YOLOE+ и EfficientDet представляют собой значимые исторические вехи, разработчикам, стремящимся к высочайшей точности, сниженному потреблению памяти и упрощенному пользовательскому опыту, стоит обратить внимание на Ultralytics YOLO26.
YOLO26 представляет собой огромный шаг вперед в обнаружении объектов, внедряя несколько критических инноваций:
- Дизайн без NMS (end-to-end): Опираясь на прорывы YOLOv10, YOLO26 нативно исключает не-максимальное подавление (NMS) в процессе вывода. Это приводит к значительно более низкой задержке и устраняет сложные узкие места постобработки.
- Оптимизатор MuSGD: Вдохновленный инновациями в обучении LLM, YOLO26 использует гибридный оптимизатор SGD и Muon. Это радикально повышает стабильность обучения и сокращает время сходимости.
- Экстремальная скорость: YOLO26 обеспечивает до 43% более быстрый вывод на CPU по сравнению со старыми поколениями, такими как YOLO11, что делает её абсолютно лучшим выбором для устройств с питанием от батареи или работающих только на CPU.
- Продвинутые функции потерь: интеграция ProgLoss и STAL значительно улучшает распознавание мелких объектов, что критически важно для таких задач, как аналитика с дронов и робототехника.
В отличие от EfficientDet, которая сфокусирована исключительно на обнаружении, YOLO26 нативно поддерживает оценку позы, классификацию изображений и ориентированные ограничивающие рамки (OBB) — и всё это в рамках одной хорошо поддерживаемой экосистемы.
Link to this sectionУдобство использования и интеграция с экосистемой#
Одним из самых больших недостатков устаревших моделей, таких как EfficientDet, является сложность их конвейеров обучения и настроек автоматизированного машинного обучения. В отличие от них, платформа Ultralytics предлагает непревзойденный опыт для разработчика.
Развертывание модели с помощью 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, позволяя легко менять и тестировать их.
Link to this sectionЗаключение#
PP-YOLOE+ остается сильным выбором для конкретных серверных развертываний в экосистеме Paddle, а EfficientDet продолжает быть интересным объектом изучения в области автоматизированного проектирования архитектуры. Однако для современных приложений, требующих вывода в реальном времени, простоты развертывания и минимальных требований к памяти, Ultralytics YOLO26 обеспечивает наиболее убедительный баланс производительности. Его дизайн, изначально не требующий NMS, и молниеносная работа на CPU делают его окончательным выбором для обеспечения готовности твоей AI-инфраструктуры к будущему.