YOLOv8 vs. PP-YOLOE+: техническое сравнение
При выборе модели обнаружения объектов разработчики должны взвешивать компромиссы между точностью, скоростью инференса и простотой реализации. На этой странице представлено подробное техническое сравнение двух мощных моделей: Ultralytics YOLOv8, универсальной и широко используемой модели от Ultralytics, и PP-YOLOE+, высокоточной модели от Baidu. Мы углубимся в их архитектурные различия, показатели производительности и идеальные варианты использования, чтобы помочь вам определить, что лучше всего подходит для ваших проектов в области компьютерного зрения.
Ultralytics YOLOv8: Универсальность и производительность
Ultralytics YOLOv8 — это современная модель, разработанная Ultralytics и основанная на успехе предыдущих версий YOLO. Она разработана как унифицированная платформа для обучения моделей для обнаружения объектов, сегментации экземпляров, классификации изображений, оценки позы и многого другого. Сочетание производительности, гибкости и простоты использования сделало ее фаворитом среди разработчиков и исследователей.
Авторы: Glenn Jocher, Ayush Chaurasia и Jing Qiu
Организация: Ultralytics
Дата: 2023-01-10
GitHub: https://github.com/ultralytics/ultralytics
Документация: https://docs.ultralytics.com/models/yolov8/
Архитектура и ключевые особенности
YOLOv8 имеет архитектуру без anchor boxes с новым backbone C2f, который улучшает возможности извлечения признаков, оставаясь при этом легким. Он изначально построен на PyTorch, что делает его очень доступным и простым в модификации.
Ключевое преимущество YOLOv8 заключается в хорошо поддерживаемой экосистеме Ultralytics. Она предлагает оптимизированный пользовательский опыт благодаря простому Python API и CLI, обширной документации и активной поддержке сообщества. Модель очень универсальна, поддерживает несколько задач компьютерного зрения в рамках единой структуры, что часто отсутствует в более специализированных моделях. Кроме того, YOLOv8 демонстрирует отличную эффективность обучения, с более быстрым временем обучения и меньшими требованиями к памяти по сравнению со многими альтернативами. Ее интеграция с Ultralytics HUB упрощает весь конвейер MLOps, от маркировки данных до развертывания.
Сильные стороны
- Превосходный баланс производительности: Обеспечивает отличный компромисс между скоростью и точностью, что делает его подходящим для широкого спектра приложений, от периферийных устройств до облачных серверов.
- Универсальность: Единая модельная структура поддерживает обнаружение, сегментацию, классификацию, оценку позы и ориентированные ограничивающие прямоугольники, обеспечивая непревзойденную гибкость.
- Простота использования: Удобный API, полная документация и большое активное сообщество упрощают начало работы и устранение неполадок.
- Хорошо поддерживаемая экосистема: Преимущества непрерывных обновлений, новых функций и бесшовной интеграции с инструментами MLOps, такими как Weights & Biases и Comet.
- Deployment Flexibility (Гибкость развертывания): Легко экспортируется в различные форматы, такие как ONNX, TensorRT и OpenVINO, что обеспечивает оптимизированный вывод на различном оборудовании.
Слабые стороны
- Несмотря на высокую конкурентоспособность, самая большая модель PP-YOLOE+ может достигать несколько более высокого mAP на наборе данных COCO, хотя и за счет значительно большего количества параметров и более медленного инференса.
Случаи использования
Сбалансированная производительность и универсальность YOLOv8 делают ее идеальной для:
- Видеоаналитика в реальном времени: Обеспечивает работу систем безопасности, мониторинга дорожного движения и управления толпой.
- Промышленная автоматизация: Автоматизация контроля качества в производстве и улучшение складской логистики.
- Аналитика розничной торговли: Улучшение управления запасами и анализ поведения клиентов.
- Здравоохранение: Помощь в анализе медицинских изображений для таких задач, как обнаружение опухолей.
PP-YOLOE+: Высокая точность в экосистеме PaddlePaddle
PP-YOLOE+ — это модель обнаружения объектов, разработанная Baidu в рамках их пакета PaddleDetection. Это одноступенчатый детектор без привязки к anchor boxes, который фокусируется на достижении высокой точности при сохранении разумной эффективности. Модель построена на фреймворке глубокого обучения 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+ представляет несколько архитектурных улучшений, включая разделенную голову для классификации и регрессии, а также специализированную функцию потерь под названием Task Alignment Learning (TAL). Он использует такие backbones, как ResNet или CSPRepResNet, в сочетании с Path Aggregation Network (PAN) для эффективного объединения признаков. Эти конструктивные решения способствуют его высокой точности, особенно в более крупных вариантах модели.
Сильные стороны
- Высокая точность: Самая большая модель, PP-YOLOE+x, достигает очень высокого показателя mAP на бенчмарке COCO.
- Эффективная структура без привязки к якорям: Упрощает конвейер обнаружения, устраняя необходимость в предопределенных якорных боксах.
- Оптимизировано для PaddlePaddle: Тесно интегрирован с экосистемой PaddlePaddle, что может быть преимуществом для разработчиков, уже использующих этот фреймворк.
Слабые стороны
- Зависимость от фреймворка: Основная ориентация на фреймворк PaddlePaddle ограничивает его доступность для более широкого сообщества, которое в основном использует PyTorch.
- Ограниченная универсальность: PP-YOLOE+ — это в первую очередь детектор объектов, и ему не хватает встроенной многозадачной поддержки сегментации, классификации и оценки позы, которая есть в YOLOv8.
- Более высокое использование ресурсов: Как показано в таблице производительности, модели PP-YOLOE+ обычно имеют больше параметров и более высокие FLOPs, чем их аналоги YOLOv8, при аналогичных уровнях точности.
- Менее развитая экосистема: Поддержка сообщества, документация и интеграции со сторонними разработчиками не так всесторонни, как для Ultralytics YOLOv8.
Случаи использования
PP-YOLOE+ хорошо подходит для приложений, где достижение максимальной точности является главным приоритетом, и команда разработчиков стандартизирована на фреймворке PaddlePaddle.
- Обнаружение промышленных дефектов: Выявление мельчайших дефектов в производстве, где критически важна точность.
- Специализированные научные исследования: Проекты, требующие максимально возможной точности обнаружения на конкретных наборах данных.
- Автоматизация розничной торговли: Высокоточные задачи, такие как автоматизированные системы оформления покупок.
Анализ производительности и сравнительное тестирование
Приведенное ниже сравнение производительности подчеркивает ключевые различия между YOLOv8 и PP-YOLOE+. Хотя PP-YOLOE+x достигает наивысшего mAP, это происходит с на 44% большим количеством параметров, чем у YOLOv8x. В отличие от этого, модели YOLOv8 стабильно демонстрируют превосходную эффективность, предлагая более высокую скорость и более низкие требования к ресурсам. Например, YOLOv8n значительно быстрее на CPU и GPU, чем любая модель PP-YOLOE+, при этом использует наименьшее количество параметров и FLOPs. Эта эффективность делает YOLOv8 более практичным выбором для реального развертывания, особенно на периферийных устройствах с ограниченными ресурсами.
Модель | размер (пиксели) |
mAPval 50-95 |
Скорость CPU ONNX (мс) |
Скорость T4 TensorRT10 (мс) |
параметры (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
YOLOv8n | 640 | 37.3 | 80.4 | 1.47 | 3.2 | 8.7 |
YOLOv8s | 640 | 44.9 | 128.4 | 2.66 | 11.2 | 28.6 |
YOLOv8m | 640 | 50.2 | 234.7 | 5.86 | 25.9 | 78.9 |
YOLOv8l | 640 | 52.9 | 375.2 | 9.06 | 43.7 | 165.2 |
YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
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 |
Заключение: какую модель вам следует выбрать?
Для подавляющего большинства разработчиков и приложений Ultralytics YOLOv8 — превосходный выбор. Он предлагает выдающийся баланс скорости, точности и эффективности использования ресурсов, который трудно превзойти. Однако его истинная сила заключается в его универсальности и надежной экосистеме, которая его окружает. Возможность обрабатывать несколько задач компьютерного зрения в рамках единой, простой в использовании платформы в сочетании с обширной документацией, активной поддержкой сообщества и бесшовной интеграцией MLOps делает YOLOv8 невероятно мощным и практичным инструментом.
PP-YOLOE+ — это похвальная модель, которая расширяет границы точности в рамках платформы PaddlePaddle. Это жизнеспособный вариант для команд, уже инвестировавших в экосистему Baidu, или для нишевых приложений, где выжимание последней доли процента в mAP является единственной целью, независимо от стоимости с точки зрения размера модели и гибкости платформы.
В конечном счете, если вы ищете гибкую, быструю и простую в использовании модель, которая хорошо поддерживается и может адаптироваться к широкому спектру задач, YOLOv8 — явный победитель.
Изучите другие модели
Если вам интересно изучить другие современные модели, обязательно ознакомьтесь с другими страницами сравнения: