PP-YOLOE+ vs YOLOv5: подробное техническое сравнение
Выбор подходящей модели обнаружения объектов — это критически важное решение, которое уравновешивает точность, скорость и простоту реализации. На этой странице представлено подробное техническое сравнение PP-YOLOE+, эффективной модели от Baidu, и Ultralytics YOLOv5, широко используемой и проверенной в отрасли модели. Мы рассмотрим их архитектуры, показатели производительности и идеальные варианты использования, чтобы помочь вам сделать осознанный выбор для ваших проектов в области компьютерного зрения.
PP-YOLOE+: Высокая точность в экосистеме PaddlePaddle
PP-YOLOE+ — это одноэтапный детектор без anchor boxes, разработанный Baidu. Выпущенный в 2022 году, он основан на модели PP-YOLOE с акцентом на достижение превосходного баланса между точностью и скоростью, особенно в рамках платформы глубокого обучения PaddlePaddle.
Технические детали:
- Авторы: Авторы 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+ представляет несколько архитектурных улучшений для повышения производительности:
- Anchor-Free Design: Отказ от предопределенных anchor boxes упрощает конвейер обнаружения PP-YOLOE+ и уменьшает количество гиперпараметров, требующих настройки.
- Эффективный бэкбон и шейка: Использует эффективный бэкбон, такой как CSPRepResNet, и Path Aggregation Network (PAN) для эффективного объединения признаков в разных масштабах.
- Decoupled Head (Разделенная голова): Модель использует разделенную голову (ET-Head), которая разделяет задачи классификации и регрессии, что часто приводит к повышению точности.
- Продвинутая функция потерь: Она использует Task Alignment Learning (TAL) и VariFocal Loss для лучшего согласования оценок классификации и точности локализации, что приводит к более точным обнаружениям. Вы можете изучить другие функции потерь в документации Ultralytics.
Сильные и слабые стороны
- Сильные стороны:
- Высокий потенциал точности, часто превосходящий другие модели по mAP на эталонных наборах данных.
- Высокая скорость инференса, особенно при оптимизации с помощью TensorRT на GPU.
- Подход без anchor может упростить конвейер обучения в определенных сценариях.
- Слабые стороны:
- Зависимость от экосистемы: В первую очередь разработана и оптимизирована для фреймворка PaddlePaddle, что может создать значительный барьер для разработчиков, привыкших к PyTorch или другим экосистемам.
- Меньшее сообщество: Сообщество и доступные ресурсы менее обширны по сравнению с огромной экосистемой, окружающей модели Ultralytics YOLO.
- Сложность: Интеграция в рабочие процессы, отличные от PaddlePaddle, может быть сложной и трудоемкой.
Случаи использования
PP-YOLOE+ — отличный выбор для приложений, где достижение максимально возможной точности является приоритетом, особенно для команд, уже работающих в экосистеме PaddlePaddle.
- Контроль качества в промышленности: Его высокая точность полезна для обнаружения незначительных дефектов в производстве.
- Умная розничная торговля: Может использоваться для точного управления запасами и аналитики клиентов.
- Исследования: Ценная модель для исследователей, изучающих архитектуры без привязки к anchor boxes и передовые функции потерь.
Ultralytics YOLOv5: Устоявшийся отраслевой стандарт
Ultralytics YOLOv5, выпущенный в 2020 году Гленном Джохером, быстро стал отраслевым эталоном благодаря исключительному сочетанию скорости, точности и удобства для разработчиков. Построенный на PyTorch, он известен своим простым процессом обучения и развертывания, что делает его доступным как для новичков, так и для экспертов.
Технические детали:
- Авторы: Гленн Джокер
- Организация: Ultralytics
- Дата: 26.06.2020
- GitHub: https://github.com/ultralytics/yolov5
- Документация: https://docs.ultralytics.com/models/yolov5/
Архитектура и ключевые особенности
Архитектура YOLOv5 высоко оптимизирована для эффективности и производительности:
- Backbone: Использует backbone CSPDarknet53, который эффективно балансирует вычислительную нагрузку и возможности извлечения признаков.
- Neck: Агрегатор признаков PANet повышает способность модели обнаруживать объекты в различных масштабах.
- Head: Использует голову обнаружения на основе anchor boxes, которая является надежной и доказала свою эффективность в широком спектре задач обнаружения объектов.
- Масштабируемость: YOLOv5 доступен в различных размерах (n, s, m, l, x), что позволяет разработчикам выбирать идеальный компромисс между скоростью и точностью для своих конкретных нужд, от легких периферийных устройств до мощных облачных серверов.
Сильные и слабые стороны
- Сильные стороны:
- Простота использования: YOLOv5 известна своим удобным пользовательским интерфейсом, простым Python API, простым в использовании CLI и обширной документацией.
- Хорошо поддерживаемая экосистема: Он поддерживается всесторонней экосистемой Ultralytics, которая включает активную разработку, большое и полезное сообщество, частые обновления и инструменты, такие как Ultralytics HUB для обучения и развертывания без кода.
- Баланс производительности: Он предлагает выдающийся баланс между скоростью вывода и точностью, что делает его идеальным для приложений реального времени.
- Эффективность обучения: YOLOv5 отличается эффективным процессом обучения с легкодоступными предварительно обученными весами, что обеспечивает более быструю сходимость и сокращает время разработки.
- Универсальность: Помимо обнаружения объектов, YOLOv5 также поддерживает сегментацию экземпляров и классификацию изображений, предоставляя гибкое решение для множества задач компьютерного зрения.
- Слабые стороны:
- Несмотря на высокую точность, самые большие модели PP-YOLOE+ могут достигать несколько более высокого mAP на определенных тестах.
- Его подход, основанный на привязках, может потребовать некоторой настройки для наборов данных с нестандартными пропорциями объектов.
Случаи использования
Благодаря своей скорости, эффективности и простоте развертывания, YOLOv5 является отличным выбором для широкого спектра применений:
- Видеоаналитика в реальном времени: Идеально подходит для систем безопасности, мониторинга трафика и видеонаблюдения.
- Развертывание на периферийных устройствах: Модели меньшего размера (YOLOv5n, YOLOv5s) в высшей степени оптимизированы для устройств с ограниченными ресурсами, таких как Raspberry Pi и NVIDIA Jetson.
- Промышленная автоматизация: Широко используется для контроля качества, обнаружения дефектов и робототехники в автоматизированных средах.
Анализ производительности: PP-YOLOE+ в сравнении с YOLOv5
Производительность PP-YOLOE+ и YOLOv5 подчеркивает их различные философии проектирования. Модели PP-YOLOE+ обычно достигают более высоких показателей mAP, демонстрируя свою силу в точности. Например, PP-YOLOE+l достигает 52.9 mAP, превосходя 49.0 mAP у YOLOv5l. Однако эта точность достигается ценой.
YOLOv5, с другой стороны, является явным лидером в скорости и эффективности инференса. Его небольшие модели исключительно быстры, что делает их идеальными для приложений реального времени как на CPU, так и на GPU. Таблица ниже показывает, что, хотя PP-YOLOE+ очень быстр на GPU с TensorRT, YOLOv5 предоставляет более доступное и часто более быстрое решение, особенно для разработчиков, которым необходимо развертывание на различном оборудовании без обширной оптимизации.
Модель | размер (пиксели) |
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 |
YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
Заключение: какую модель вам следует выбрать?
Выбор между PP-YOLOE+ и YOLOv5 во многом зависит от приоритетов вашего проекта и существующего технического стека.
-
PP-YOLOE+ — отличный вариант, если ваша основная цель — максимизировать точность обнаружения и вы уже работаете или готовы принять экосистему Baidu PaddlePaddle. Его современный дизайн без anchor boxes и передовые функции потерь расширяют границы производительности.
-
Ultralytics YOLOv5 — это рекомендуемый выбор для подавляющего большинства разработчиков и приложений. Ее непревзойденная простота использования, исключительный баланс производительности и невероятная гибкость развертывания делают ее более практичным и эффективным решением. Надежная и хорошо поддерживаемая экосистема Ultralytics обеспечивает беспрецедентную поддержку, от обучения до производства, обеспечивая более плавный и быстрый цикл разработки. Для проектов, требующих скорости в реальном времени, простой реализации и сильной поддержки сообщества, YOLOv5 остается лучшим выбором.
Изучите другие модели
Несмотря на то, что YOLOv5 является мощной и зрелой моделью, Ultralytics продолжает внедрять инновации. Для тех, кто ищет последние достижения, стоит изучить новые модели, такие как YOLOv8, YOLOv10 и современную YOLO11. Эти модели развивают сильные стороны YOLOv5, предлагая еще более высокую производительность и больше возможностей. Для получения более подробного анализа посетите страницу сравнения моделей Ultralytics model comparison page.