PP-YOLOE+ vs. EfficientDet: техническое сравнение для обнаружения объектов
Выбор правильной модели обнаружения объектов — это критически важное решение, которое влияет на производительность, масштабируемость и эффективность приложений компьютерного зрения. В этом техническом сравнении мы анализируем две известные архитектуры: PP-YOLOE+, высокопроизводительный детектор без привязки к якорям (anchor-free) из экосистемы PaddlePaddle от Baidu, и EfficientDet, масштабируемая архитектура Google, известная своим методом составного масштабирования.
PP-YOLOE+: Оптимизирован для скорости и точности
PP-YOLOE+ представляет собой значительную эволюцию в серии YOLO, разработанную для обеспечения оптимального баланса между точностью и скоростью inference. Построенный на парадигме без anchor boxes, он упрощает конвейер detect, используя передовые методы, такие как Task Alignment Learning (TAL).
- Авторы: Авторы 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+ интегрирует CSPRepResNet бэкбон, который сочетает в себе эффективность CSPNet с возможностями повторной параметризации ResNet. Это позволяет модели захватывать богатые представления признаков, не неся чрезмерных вычислительных затрат. Neck использует Path Aggregation Network (PAN) для эффективного многомасштабного слияния признаков, обеспечивая detect небольших объектов с более высокой надежностью.
Отличительной особенностью является эффективная согласованная с задачей голова (ET-Head). В отличие от традиционных связанных голов, ET-Head разделяет задачи классификации и локализации, используя TAL для динамического согласования лучших якорей с объектами основной истины. Этот подход значительно повышает скорость сходимости и конечную точность.
EfficientDet: Масштабируемая эффективность
EfficientDet представил новый подход к масштабированию модели, ориентированный на одновременную оптимизацию точности и эффективности. Он построен на основе EfficientNet и представляет собой взвешенную Bi-directional Feature Pyramid Network (BiFPN).
- Авторы: Мингксинг Тан, Руоминг Панг и Куок В. Ле
- Организация:Google
- Дата: 20.11.2019
- Arxiv:https://arxiv.org/abs/1911.09070
- GitHub:https://github.com/google/automl/tree/master/efficientdet
- Документация:https://github.com/google/automl/tree/master/efficientdet#readme
Ключевые архитектурные особенности
Основным нововведением EfficientDet является BiFPN, который обеспечивает простое и быстрое объединение многомасштабных признаков. В отличие от предыдущих FPN, которые суммировали признаки одинаково, BiFPN назначает веса каждому входному признаку, позволяя сети изучать важность различных входных признаков. Кроме того, EfficientDet использует метод составного масштабирования, который равномерно масштабирует разрешение, глубину и ширину для всех магистральных, признаковых и сетевых предсказаний классов/боксов, предоставляя семейство моделей (от D0 до D7), адаптированных к различным ограничениям ресурсов.
Узнайте больше об EfficientDet
Анализ производительности: скорость в сравнении с точностью
При оценке этих моделей становится очевидным компромисс между скоростью вывода и средней точностью (mAP). В то время как EfficientDet установила высокие стандарты после своего выпуска, новые архитектуры, такие как PP-YOLOE+, использовали аппаратные конструкции для достижения превосходной производительности на современных GPU.
| Модель | размер (пиксели) | 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+ значительно превосходит EfficientDet по задержке инференса на GPU. Например, PP-YOLOE+l достигает более высокого mAP (52,9), чем EfficientDet-d6 (52,6), будучи при этом в 10 раз быстрее на T4 GPU (8,36 мс против 89,29 мс). EfficientDet сохраняет актуальность в сценариях, где FLOPs являются основным ограничением, например, в мобильных CPU с очень низким энергопотреблением, но ему трудно конкурировать в высокопроизводительных серверных средах.
Оптимизация оборудования
Архитектурные решения в PP-YOLOE+ специально разработаны для удобства использования аппаратных ускорителей GPU, таких как TensorRT. Операции структурированы таким образом, чтобы максимально увеличить параллелизм, в то время как сложные соединения в BiFPN EfficientDet иногда могут создавать узкие места доступа к памяти на GPU.
Сильные и слабые стороны
Понимание преимуществ и недостатков каждой модели помогает в выборе правильного инструмента для конкретных задач компьютерного зрения.
PP-YOLOE+
- Преимущества:
- Высокое соотношение точности и скорости: Обеспечивает современный mAP с возможностями логического вывода в реальном времени на графических процессорах.
- Без привязки к якорям: Устраняет необходимость сложной настройки anchor box, упрощая настройку обучения.
- Динамическое назначение меток: Использует TAL для лучшего согласования между классификацией и локализацией.
- Слабые стороны:
- Специфичность экосистемы: Сильно оптимизирован для фреймворка PaddlePaddle, что может представлять собой кривую обучения для пользователей, привыкших к PyTorch.
- Интенсивность использования ресурсов: Более крупные варианты (L и X) требуют значительного объема памяти, что потенциально ограничивает развертывание на периферийных устройствах со строгими ограничениями RAM.
EfficientDet
- Преимущества:
- Эффективность параметров: Достижение высокой точности с относительно меньшим количеством параметров по сравнению со старыми детекторами.
- Масштабируемость: Метод составного масштабирования позволяет пользователям легко переключаться между размерами моделей (d0-d7) в зависимости от доступных вычислительных ресурсов.
- BiFPN: Инновационное объединение признаков, которое эффективно обрабатывает объекты в различных масштабах.
- Слабые стороны:
- Медленный вывод: Несмотря на низкое количество FLOP, сложная структура графа часто приводит к более медленному времени вывода в реальных условиях, особенно на GPU.
- Скорость обучения: Может быть медленнее, чем обучение современных одноэтапных детекторов из-за сложности архитектуры.
Реальные примеры использования
Эти модели превосходны в различных средах, основываясь на своих архитектурных сильных сторонах.
Производство и промышленная автоматизация: PP-YOLOE+ — отличный выбор для контроля качества в производстве. Его высокая скорость логического вывода позволяет осуществлять detect дефектов в режиме реального времени на быстро движущихся сборочных линиях, где важны миллисекунды.
Интеллектуальная розничная торговля и инвентаризация: Для аналитики розничной торговли, такой как автоматизированная касса или мониторинг полок, точность PP-YOLOE+ гарантирует правильную идентификацию продуктов даже в загроможденных сценах.
Дистанционное зондирование и аэрофотосъемка: Способность EfficientDet масштабироваться до более высоких разрешений (например, D7) делает его полезным для анализа спутниковых снимков или снимков с дронов с высоким разрешением, где скорость обработки менее важна, чем detect мелких деталей на больших изображениях.
Периферийные устройства с низким энергопотреблением: Меньшие варианты EfficientDet (D0-D1) иногда предпочтительнее для устаревшего оборудования edge AI, где общее количество FLOPs является жестким ограничением, а ускорение GPU недоступно.
Преимущество Ultralytics: Почему стоит выбрать YOLO11?
Несмотря на то, что PP-YOLOE+ и EfficientDet предлагают надежные решения, модель Ultralytics YOLO11 обеспечивает превосходный опыт для большинства разработчиков и исследователей. Она сочетает в себе лучшее из современных архитектурных инноваций с ориентированной на пользователя экосистемой.
Почему YOLO11 выделяется
- Простота использования: Модели Ultralytics известны своей "из коробки" удобством использования. С простым Python API и интуитивно понятным CLI вы можете обучать, проверять и развертывать модели за считанные минуты, в отличие от часто сложных файлов конфигурации, требуемых другими фреймворками.
- Хорошо поддерживаемая экосистема: Сообщество Ultralytics активно и растет. Регулярные обновления обеспечивают совместимость с последними версиями PyTorch, ONNX и CUDA, предоставляя стабильную основу для долгосрочных проектов.
- Баланс производительности: YOLO11 достигает замечательного баланса, часто превосходя PP-YOLOE+ по скорости, при этом соответствуя или превосходя точность. Он разработан как аппаратно-агностичный, исключительно хорошо работает на CPU, GPU и NPU.
- Эффективность памяти: По сравнению с моделями на основе трансформеров или более старыми архитектурами, модели Ultralytics YOLO оптимизированы для снижения потребления памяти во время обучения. Это позволяет использовать большие размеры пакетов и более быструю сходимость на стандартном оборудовании.
- Универсальность: В отличие от EfficientDet, который в основном является детектором объектов, YOLO11 поддерживает широкий спектр задач, включая instance segmentation, pose estimation, oriented object detection (OBB) и classification в рамках единой унифицированной структуры.
- Эффективность обучения: Благодаря продвинутым аугментациям и оптимизированным загрузчикам данных, обучение модели YOLO11 происходит быстро и эффективно. Доступны обширные предварительно обученные веса, обеспечивающие мощные результаты трансферного обучения с минимальным количеством данных.
Пример: Запуск YOLO11 на Python
Требуется всего несколько строк кода, чтобы загрузить предварительно обученную модель YOLO11 и запустить вывод, что демонстрирует простоту рабочего процесса Ultralytics.
from ultralytics import YOLO
# Load a pre-trained YOLO11n model
model = YOLO("yolo11n.pt")
# Run inference on an image
results = model("path/to/image.jpg")
# Display the results
results[0].show()
Заключение
PP-YOLOE+ и EfficientDet внесли значительный вклад в область компьютерного зрения. PP-YOLOE+ является сильным претендентом для пользователей, глубоко интегрированных в экосистему Baidu, которым требуется высокая пропускная способность GPU. EfficientDet остается классическим примером эффективности параметров и масштабируемой конструкции.
Однако, для тех, кто ищет универсальное, высокопроизводительное и удобное для разработчиков решение, Ultralytics YOLO11 является рекомендуемым выбором. Ее сочетание передовой точности, скорости в реальном времени и поддерживающей экосистемы делает ее идеальной платформой для создания AI-приложений следующего поколения.
Для дальнейших сравнений рассмотрите возможность изучения YOLO11 vs. EfficientDet или PP-YOLOE+ vs. YOLOv10, чтобы увидеть, как эти модели соотносятся с другими современными архитектурами.