PP-YOLOE+ vs. EfficientDet: техническое сравнение для обнаружения объектов
Выбор правильной модели обнаружения объектов - это критическое решение, которое влияет на производительность, масштабируемость и эффективность приложений компьютерного зрения. В этом техническом сравнении мы анализируем две выдающиеся архитектуры: PP-YOLOE+, высокопроизводительный безъякорный детектор из экосистемы PaddlePaddle компании Baidu, и EfficientDet, масштабируемая архитектура Google, известная своим методом составного масштабирования.
PP-YOLOE+: Оптимизированный для скорости и точности
PP-YOLOE+ представляет собой значительную эволюцию в серии YOLO , разработанную для обеспечения оптимального баланса между точностью и скоростью вывода. Построенный на парадигме без привязки, он упрощает конвейер обнаружения, используя при этом такие передовые технологии, как 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. Это позволяет модели отражать богатые представления характеристик без чрезмерных вычислительных затрат. Шея использует сеть Path Aggregation Network (PAN) для эффективного слияния разномасштабных признаков, что обеспечивает более надежное обнаружение мелких объектов.
Отличительной особенностью является эффективная головка с выравниванием задач (ET-Head). В отличие от традиционных совмещенных головок, ET-Head разделяет задачи классификации и локализации, используя TAL для динамического выравнивания лучших якорей с объектами на местности. Такой подход значительно повышает скорость сходимости и итоговую точность.
EfficientDet: Масштабируемая эффективность
EfficientDet представляет новый подход к масштабированию моделей, ориентированный на оптимизацию точности и эффективности одновременно. Он построен на основе EfficientNet и представляет взвешенную двунаправленную сеть пирамид признаков (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+, используют аппаратно-ориентированные конструкции для достижения превосходной производительности на современных графических процессорах.
| Модель | размер (пиксели) | 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 раз быстрее на GPU T4 (8,36 мс против 89,29 мс). EfficientDet сохраняет свою актуальность в сценариях, где основным ограничением является количество FLOP, например, на очень маломощных мобильных процессорах, однако он не выдерживает конкуренции в высокопроизводительных серверных средах.
Оптимизация аппаратного обеспечения
Архитектурные решения в PP-YOLOE+ специально разработаны так, чтобы быть дружественными к аппаратным ускорителям GPU , таким как TensorRT. Операции структурированы таким образом, чтобы максимизировать параллелизм, в то время как сложные соединения в BiFPN от EfficientDet могут иногда создавать узкие места в доступе к памяти на GPU.
Сильные и слабые стороны
Понимание плюсов и минусов каждой модели помогает выбрать подходящий инструмент для решения конкретных задач компьютерного зрения.
PP-YOLOE+
- Преимущества:
- Высокое соотношение точности и скорости: Обеспечивает современный mAP с возможностью вывода в реальном времени на графических процессорах.
- Без якорей: Устраняет необходимость в сложной настройке якорных блоков, упрощая процесс обучения.
- Динамическое присвоение меток: Использует TAL для лучшего согласования классификации и локализации.
- Слабые стороны:
- Специфичность экосистемы: Сильно оптимизирован для фреймворка PaddlePaddle , что может вызвать трудности в обучении у пользователей, привыкших к PyTorch.
- Ресурсоемкость: Большие варианты (L и X) требуют значительного объема памяти, что потенциально ограничивает развертывание на устройствах с жестким лимитом оперативной памяти.
EfficientDet
- Преимущества:
- Эффективность параметров: Достижение высокой точности при относительно меньшем количестве параметров по сравнению с более старыми детекторами.
- Масштабируемость: Метод комбинированного масштабирования позволяет пользователям легко переключаться между размерами моделей (d0-d7) в зависимости от доступных вычислений.
- BiFPN: Инновационное слияние признаков, эффективно обрабатывающее объекты разных масштабов.
- Слабые стороны:
- Медленный вывод: Несмотря на низкое количество FLOP, сложная структура графа часто приводит к замедлению времени вычислений в реальном мире, особенно на графических процессорах.
- Скорость обучения: Обучение может быть более медленным по сравнению с современными одноступенчатыми детекторами из-за сложности архитектуры.
Реальные примеры использования
В зависимости от архитектурных особенностей эти модели прекрасно себя чувствуют в различных условиях.
Производство и промышленная автоматизация: PP-YOLOE+ - отличный выбор для контроля качества на производстве. Его высокая скорость вывода позволяет обнаруживать дефекты в режиме реального времени на быстро движущихся сборочных линиях, где счет идет на миллисекунды.
Интеллектуальная розничная торговля и инвентаризация: При анализе розничной торговли, например, при автоматизированном оформлении заказа или мониторинге полок, точность PP-YOLOE+ обеспечивает правильную идентификацию товаров даже в условиях беспорядка.
Дистанционное зондирование и аэрофотосъемка: Способность EfficientDet масштабироваться до более высоких разрешений (например, D7) делает его полезным для анализа спутниковых или беспилотных снимков высокого разрешения, где скорость обработки не так важна, как обнаружение мелких объектов на больших изображениях.
Граничные устройства с низким энергопотреблением: Меньшие варианты EfficientDet (D0-D1) иногда предпочтительны для устаревшего граничного оборудования ИИ, где общее количество FLOP является жестким ограничением, а GPU недоступно.
Преимущество Ultralytics: Почему стоит выбрать YOLO11?
PP-YOLOE+ и EfficientDet предлагают надежные решения, а Ultralytics YOLO11 обеспечивают превосходный опыт для большинства разработчиков и исследователей. Она сочетает в себе лучшие современные архитектурные инновации и экосистему, ориентированную на пользователя.
Почему YOLO11 выделяется
- Простота использования: Модели Ultralytics известны своим удобством использования "из коробки". Благодаря простому API наPython и интуитивно понятному CLI вы можете обучать, проверять и развертывать модели за считанные минуты, в отличие от зачастую сложных конфигурационных файлов, требуемых другими фреймворками.
- Хорошо поддерживаемая экосистема: Сообщество Ultralytics активно и постоянно растет. Регулярные обновления обеспечивают совместимость с последними версиями PyTorch, ONNX и CUDA, создавая стабильную основу для долгосрочных проектов.
- Баланс производительности: YOLO11 достигает удивительного баланса, часто превосходя PP-YOLOE+ по скорости, но при этом сохраняя точность или превосходя ее. Он разработан с учетом аппаратной независимости и отлично работает на CPU, GPU и NPU.
- Эффективность использования памяти: По сравнению с моделями на основе трансформаторов или более старыми архитектурами, модели Ultralytics YOLO оптимизированы для меньшего потребления памяти во время обучения. Это позволяет использовать большие объемы партий и ускорить сходимость на стандартном оборудовании.
- Универсальность: В отличие от EfficientDet, который в первую очередь является детектором объектов, YOLO11 поддерживает широкий спектр задач, включая сегментацию объектов, оценку позы, обнаружение ориентированных объектов (OBB) и классификацию в рамках единой унифицированной структуры.
- Эффективность обучения: Благодаря расширенным дополнениям и оптимизированным загрузчикам данных обучение модели 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 является рекомендуемым выбором. Сочетание передовой точности, скорости работы в реальном времени и благоприятной экосистемы делает его идеальной платформой для создания приложений ИИ нового поколения.
Для дальнейшего сравнения можно рассмотреть YOLO11 в сравнении с EfficientDet или PP-YOLOE+ в сравнении с YOLOv10, чтобы увидеть, как эти модели смотрятся в сравнении с другими современными архитектурами.