YOLO11 vs PP-YOLOE+: Подробное техническое сравнение
Выбор оптимальной архитектуры object detection — это важнейшее решение, которое влияет на скорость, точность и возможность развертывания проектов компьютерного зрения. В этом руководстве представлено углубленное техническое сравнение между Ultralytics YOLO11, новейшей современной моделью от Ultralytics, и PP-YOLOE+, надежным детектором из экосистемы PaddlePaddle от Baidu. Хотя обе модели предлагают высокую производительность, YOLO11 отличается своей исключительной вычислительной эффективностью, бесшовной интеграцией PyTorch и всесторонней экосистемой, предназначенной для ускорения разработки для исследователей и инженеров.
Ultralytics YOLO11: Эффективность и универсальность
YOLO11 представляет собой новейшую эволюцию в знаменитой серии YOLO (You Only Look Once), выпущенной Ultralytics, чтобы расширить границы обнаружения объектов в реальном времени. Разработанная Гленном Джохером и Цзин Цю, эта модель совершенствует архитектуру без привязки к якорям, чтобы обеспечить превосходную точность со значительно сниженными вычислительными затратами.
Авторы: Гленн Джокер, Цзин Цю
Организация:Ultralytics
Дата: 2024-09-27
GitHub:https://github.com/ultralytics/ultralytics
Документация:https://docs.ultralytics.com/models/yolo11/
Архитектура и основные сильные стороны
В YOLO11 используется оптимизированная сетевая структура, которая оптимизирует извлечение и объединение признаков. В отличие от традиционных детекторов на основе anchor, которые полагаются на предопределенные рамки, YOLO11 напрямую предсказывает центры и масштабы объектов. Такой подход упрощает головную часть модели и уменьшает количество гиперпараметров, необходимых для настройки.
Архитектура модели очень универсальна и поддерживает широкий спектр задач компьютерного зрения, помимо простого detect. Она изначально обрабатывает сегментацию экземпляров, оценку позы, классификацию изображений и ориентированные ограничивающие рамки (OBB) — и все это в рамках единой унифицированной структуры.
Опыт разработчика
Одним из наиболее значительных преимуществ YOLO11 является его интеграция в ultralytics Пакет Python. Он предоставляет согласованный API для обучения, проверки и развертывания, позволяя разработчикам переключаться между задачами или экспортировать модели в такие форматы, как ONNX и TensorRT с помощью одной строки кода.
Основные преимущества
- Превосходный баланс производительности: YOLO11 достигает лучшего в отрасли компромисса между mAP и задержкой inference, что делает его подходящим для приложений реального времени на периферийных устройствах.
- Computational Efficiency: Модель требует меньше параметров и FLOPs (операций с плавающей запятой) по сравнению с конкурентами, такими как PP-YOLOE+, что приводит к более быстрому выполнению и снижению энергопотребления.
- Небольшой объем памяти: Оптимизированный для эффективного использования памяти, YOLO11 обучается быстрее и может работать на оборудовании с ограниченным объемом VRAM, в отличие от ресурсоемких моделей-трансформеров.
- Надежная экосистема: Пользователи получают выгоду от активного обслуживания, обширной документации и поддержки сообщества, что обеспечивает долгосрочную жизнеспособность для корпоративных проектов.
PP-YOLOE+: Высокая точность в экосистеме PaddlePaddle
PP-YOLOE+ — это эволюция серии PP-YOLO, разработанная исследователями Baidu. Выпущенный в 2022 году, он является частью инструментария PaddleDetection и предназначен для эффективной работы в рамках фреймворка глубокого обучения PaddlePaddle.
Авторы: Авторы PaddlePaddle
Организация:Baidu
Дата: 2022-04-02
ArXiv:https://arxiv.org/abs/2203.16250
GitHub:https://github.com/PaddlePaddle/PaddleDetection
Документация:Документация PaddleDetection
Архитектура и особенности
PP-YOLOE+ использует бэкбон CSPRepResNet и эффективную task-aligned head (ET-Head). Он включает динамическое назначение меток с помощью Task Alignment Learning (TAL) и использует Varifocal Loss для улучшения качества классификации объектов. Модель оптимизирована специально для inference engine PaddlePaddle, используя интеграцию TensorRT для развертывания.
Сильные стороны и ограничения
В то время как PP-YOLOE+ обеспечивает конкурентоспособную точность на эталонных тестах, таких как COCO, он сталкивается с трудностями при внедрении из-за своей зависимости от фреймворка. Большая часть мирового исследовательского сообщества полагается на PyTorch, что делает переход на PaddlePaddle источником трений. Кроме того, моделям PP-YOLOE+ обычно требуется большее количество параметров, чтобы соответствовать точности новых архитектур, таких как YOLO11, что приводит к увеличению вычислительных затрат как во время обучения, так и во время инференса.
Анализ производительности: Эффективность и скорость
Прямое сравнение показателей производительности показывает, что YOLO11 стабильно превосходит PP-YOLOE+ с точки зрения эффективности и скорости, сохраняя при этом современную точность.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLO11n | 640 | 39.5 | 56.1 | 1.5 | 2.6 | 6.5 |
| YOLO11s | 640 | 47.0 | 90.0 | 2.5 | 9.4 | 21.5 |
| YOLO11m | 640 | 51.5 | 183.2 | 4.7 | 20.1 | 68.0 |
| YOLO11l | 640 | 53.4 | 238.6 | 6.2 | 25.3 | 86.9 |
| YOLO11x | 640 | 54.7 | 462.8 | 11.3 | 56.9 | 194.9 |
| 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 |
Критические замечания
- Превосходство в эффективности: Эффективность параметров YOLO11 поразительна. Например, YOLO11x достигает сопоставимого значения 54.7 mAP по сравнению с PP-YOLOE+x, но делает это, имея всего 56.9M параметров против 98.42M. Это означает, что YOLO11x примерно на 42% меньше, что облегчает развертывание на устройствах с ограниченным объемом памяти.
- Скорость инференса: В реальных сценариях развертывания скорость имеет решающее значение. YOLO11n обеспечивает невероятное время инференса 1,5 мс на T4 GPU, что значительно быстрее, чем 2,84 мс у сопоставимого PP-YOLOE+t. Это преимущество в скорости позволяет обрабатывать большее количество кадров в секунду в таких приложениях, как автономные транспортные средства и робототехника.
- Производительность CPU: Доступность оптимизированных бенчмарков CPU для YOLO11 подчеркивает его гибкость. Достижение 56.1 мс на CPU с YOLO11n обеспечивает жизнеспособные приложения реального времени даже без выделенного ускорения GPU, что является метрикой, часто отсутствующей или менее оптимизированной в конкурирующих фреймворках.
Реальные примеры использования
Архитектурные преимущества YOLO11 напрямую трансформируются в выгоды для различных отраслей.
- Инфраструктура умного города: Высокая пропускная способность YOLO11 поддерживает мониторинг трафика в реальном времени и анализ заторов по нескольким потокам с камер, используя меньше серверов.
- Промышленное производство: Благодаря превосходной точности при меньших задержках, YOLO11 превосходно подходит для контроля качества и обнаружения дефектов на высокоскоростных сборочных линиях.
- Аналитика розничной торговли: Способность модели эффективно обрабатывать подсчет объектов и генерацию тепловых карт помогает розничным торговцам оптимизировать планировку магазинов и управление запасами.
- Медицинская визуализация: Универсальность выполнения сегментации помогает в точном анализе медицинских изображений, таком как выявление опухолей или анализ клеточных структур.
Обучение и интеграция с экосистемой
Основным отличием является простота, с которой разработчики могут обучать и развертывать модели. Экосистема Ultralytics построена вокруг упрощения пути пользователя.
Оптимизированный рабочий процесс
Обучение модели YOLO11 на пользовательском наборе данных требует минимального количества кода. Фреймворк автоматически обрабатывает сложные задачи, такие как увеличение данных, эволюция гиперпараметров и обучение с использованием нескольких GPU.
from ultralytics import YOLO
# Load a pre-trained YOLO11 model
model = YOLO("yolo11n.pt")
# Train the model on a custom dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image
results = model("path/to/image.jpg")
В отличие от этого, использование PP-YOLOE+ часто включает в себя навигацию по сложностям экосистемы PaddlePaddle, файлам конфигурации и потенциальным скриптам преобразования, если исходный конвейер данных основан на PyTorch.
Гибкость развертывания
Ultralytics предоставляет встроенные режимы экспорта для широкого спектра форматов, включая ONNX, OpenVINO, CoreML и TFLite. Это гарантирует, что модель, обученная один раз, может быть развернута где угодно, от периферийного устройства NVIDIA Jetson до смартфона iOS или облачного API.
Заключение
В то время как PP-YOLOE+ остается эффективной моделью в контексте экосистемы Baidu, Ultralytics YOLO11 выделяется как превосходный выбор для широкого сообщества компьютерного зрения. Сочетание значительно меньшего количества параметров, более высокой скорости инференса и удобства использования PyTorch устраняет барьеры для входа и ускоряет вывод продукта на рынок.
Для разработчиков, ищущих перспективное решение, которое сочетает в себе современную производительность с простотой использования, YOLO11 предоставляет надежную, универсальную и высокоэффективную платформу для создания следующего поколения приложений ИИ.
Изучите другие модели
Если вам интересно изучить другие архитектуры в экосистеме Ultralytics, рассмотрите следующие сравнения: