YOLOv8 vs. PP-YOLOE+: техническое сравнение
Выбор оптимальной архитектуры обнаружения объектов - ключевое решение, влияющее на точность, скорость и гибкость развертывания приложений компьютерного зрения. В этом руководстве представлен глубокий технический анализ Ultralytics YOLOv8 и PP-YOLOE+. Рассматривая их архитектурные инновации, эталоны производительности и поддержку экосистемы, мы стремимся помочь разработчикам и исследователям выбрать правильный инструмент для своих конкретных задач в области компьютерного зрения.
Ultralytics YOLOv8: Универсальность и производительность
Ultralytics YOLOv8 Представляет собой значительный скачок вперед в семействе YOLO , разработанном как единый фреймворк для широкого спектра задач технического зрения. Разработанная компанией Ultralytics, она ориентирована на беспроблемный пользовательский опыт без ущерба для современной производительности (SOTA).
Авторы: Гленн Джочер, Аюш Чаурасия и Цзин Цю
Организация:Ultralytics
Дата: 2023-01-10
GitHubultralytics
Docsyolov8
Архитектура и ключевые особенности
YOLOv8 представляет передовую головку обнаружения без якорей, которая устраняет необходимость в ручной настройке якорных блоков и улучшает сходимость. В основе используется модуль C2f - кросс-ступенчатая конструкция с частичным узким местом, которая повышает эффективность градиентного потока и извлечения признаков. В отличие от многих конкурентов, YOLOv8 не ограничивается обнаружением объектов; он поддерживает сегментацию объектов, классификацию изображений, оценку позы и ориентированные ограничительные рамки (OBB).
Построен на широко распространенном PyTorch фреймворк, YOLOv8 пользуется преимуществами обширной экосистемы инструментов и библиотек. Его дизайн ориентирован на эффективность обучения, требуя значительно меньше памяти и времени для сходимости по сравнению с моделями на основе трансформаторов или старыми архитектурами обнаружения.
Сильные стороны
- Экосистема и удобство использования: Ultralytics предоставляет возможность работы "на батарейках" благодаря надежному Python API и CLI.
- Поддержка многозадачности: Единая структура для задач обнаружения, сегментации, классификации и позиционирования упрощает конвейер разработки.
- Гибкость развертывания: Бесшовный экспорт в такие форматы, как ONNX, TensorRT, CoreML и OpenVINO обеспечивает совместимость с различным оборудованием, от пограничных устройств до облачных серверов.
- Активная поддержка: Благодаря частым обновлениям и активному сообществу модель остается актуальной, а ошибки быстро устраняются.
PP-YOLOE+: Высокая точность в экосистеме PaddlePaddle
PP-YOLOE+ - это усовершенствованная версия PP-YOLOE, разработанная компанией Baidu в рамках пакета PaddleDetection. Она ориентирована на достижение высокой точности и скорости вывода, специально оптимизирована для PaddlePaddle фреймворка глубокого обучения.
Авторы: PaddlePaddle Authors
Organization:Baidu
Date: 2022-04-02
ArXiv:https://arxiv.org/abs/2203.16250
GitHubPaddlePaddle
DocsPaddlePaddle
Архитектура и ключевые особенности
PP-YOLOE+ - это одноступенчатый детектор без якорей. Он включает в себя основу CSPRepResNet и горловину Path Aggregation Network (PAN) для надежного объединения функций. Определяющей особенностью является эффективная голова с выравниванием задач (ET-Head), которая использует обучение выравниванию задач (TAL) для лучшей синхронизации классификации и предсказаний локализации. Несмотря на свою мощь, модель глубоко укоренилась в экосистеме Baidu, в значительной степени опираясь на PaddlePaddle операторы и инструменты оптимизации.
Сильные и слабые стороны
Преимущества:
- Высокая точность: Самые крупные варианты (например, PP-YOLOE+x) достигают впечатляющих показателейmAP на наборе данных COCO .
- Оптимизировано для аппаратного обеспечения Paddle: Исключительно хорошо работает на оборудовании, оптимизированном под фреймворк Baidu.
Слабые стороны:
- Блокировка фреймворка: Зависимость от PaddlePaddle может стать барьером для команд, стандартизированных на PyTorch или TensorFlow, ограничивая доступ к более широким ресурсам сообщества с открытым исходным кодом.
- Интенсивность использования ресурсов: Как подробно описано в разделе производительности, модели PP-YOLOE+ часто требуют больше параметров и операций с плавающей точкой (FLOP) для достижения результатов, сопоставимых с YOLOv8, что сказывается на эффективности при использовании граничных устройств ИИ с ограниченными ресурсами.
- Ограниченный круг задач: В основном ориентирована на обнаружение, поэтому не имеет встроенной, готовой поддержки сегментации и оценки позы, которая есть в экосистеме Ultralytics .
Анализ контрольных показателей производительности
При сравнении YOLOv8 и PP-YOLOE+ становится очевидным компромисс между скоростью, точностью и размером модели. YOLOv8 демонстрирует превосходную инженерную эффективность, обеспечивая конкурентоспособную или более высокую точность при значительно меньшем количестве параметров и FLOP. Эта эффективность выражается в более быстром обучении, меньшем потреблении памяти и более высокой скорости вывода.
Например, YOLOv8n является идеальным кандидатом для мобильных и встраиваемых приложений, предлагая производительность в реальном времени при минимальных вычислительных затратах. В отличие от них, модели PP-YOLOE+, такие как вариант 'x', расширяют границы точности, но за это приходится платить большим весом и низкой скоростью, что может быть неприемлемо для потоков видеоаналитики в реальном времени.
Эффективность имеет значение
Для производственных сред размер и скорость модели часто так же важны, как и точность. Эффективная архитектура 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 |
Рекомендации по применению
- Наблюдение в режиме реального времени: Используйте YOLOv8 благодаря балансу скорости и точности. Он отлично подходит для мониторинга дорожного движения и систем безопасности, где обработка видео с высокой частотой кадров в секунду имеет решающее значение.
- Промышленный контроль: Здесь хорошо работают обе модели, но простота обучения YOLOv8 на пользовательских наборах данных позволяет быстрее адаптировать ее к конкретным типам производственных дефектов.
- Развертывание на границе: YOLOv8n и YOLOv8s благодаря своим компактным размерам лучше всего подходят для развертывания на таких устройствах, как Raspberry Pi или NVIDIA Jetson.
- Сложные конвейеры технического зрения: Если в вашем проекте наряду с обнаружением объектов требуется их отслеживание или сегментация, Ultralytics YOLOv8 предоставляет эти возможности нативно, избавляя вас от необходимости сшивать разрозненные модели.
Использование и внедрение
Одно из самых убедительных преимуществ Ultralytics YOLOv8 - удобный для разработчиков API. В то время как PP-YOLOE+ требует навигации по конфигурации экосистемы PaddlePaddle , YOLOv8 может быть реализован в нескольких строках кода на Python . Это снижает входной барьер для новичков и ускоряет создание прототипов для экспертов.
Ниже приведен пример того, как просто загрузить предварительно обученную модель YOLOv8 и провести расчеты:
from ultralytics import YOLO
# Load a pre-trained YOLOv8 model
model = YOLO("yolov8n.pt")
# Run inference on an image
results = model.predict("https://ultralytics.com/images/bus.jpg")
# Display results
results[0].show()
Бесшовное обучение
Обучение пользовательской модели также просто. Ultralytics автоматически справляется с расширением данных, настройкой гиперпараметров и управлением набором данных, позволяя вам сосредоточиться на сборе высококачественных данных.
Заключение
В то время как PP-YOLOE+ является грозным конкурентом, который расширяет границы точности обнаружения в экосистеме Baidu, Ultralytics YOLOv8 является более практичным и универсальным выбором для мирового сообщества разработчиков. Интеграция с PyTorch, превосходная эффективность по каждому параметру и всесторонняя поддержка множества задач технического зрения делают его универсальным инструментом для современных приложений ИИ.
ЭкосистемаUltralytics еще больше усиливает это преимущество. Благодаря таким инструментам, как Ultralytics HUB для легкого обучения и управления моделями, а также обширной документации, которая поможет вам пройти каждый шаг, YOLOv8 гарантирует, что ваш проект пройдет путь от концепции до развертывания с минимальными трудностями. Независимо от того, создаете ли вы приложение для "умного города" или медицинский диагностический инструмент, YOLOv8 обеспечивает баланс производительности и простоту использования, необходимые для достижения успеха.
Изучите другие модели
Если вы хотите расширить свое понимание ландшафта обнаружения объектов, изучите другие сравнения:
- YOLOv8 против YOLOv10
- YOLOv8 vs. RT-DETR
- YOLOv8 vs. EfficientDet
- YOLO11 vs. PP-YOLOE+
- YOLOv8 против YOLOv9