YOLOv8 PP-YOLOE+: подробное исследование высокопроизводительного обнаружения объектов
В быстро развивающейся области компьютерного зрения выбор правильной архитектуры обнаружения объектов имеет решающее значение для обеспечения баланса между точностью, скоростью и возможностью внедрения. В этом руководстве представлено всестороннее техническое сравнение между Ultralytics YOLOv8 и PP-YOLOE+, анализируя их архитектурные инновации, показатели производительности и пригодность для реальных приложений.
Обзор модели
Ultralytics YOLOv8
YOLOv8 представляет собой значительный шаг вперед в YOLO , внедряя унифицированную структуру для обнаружения объектов, сегментации экземпляров и оценки положения. Основанная на традициях скорости и точности, она отличается новой головой обнаружения без якорей и новой функцией потери.
- Авторы: Гленн Джокер, Аюш Чаурасия и Цзин Цю
- Организация:Ultralytics
- Дата: 2023-01-10
- GitHub:https://github.com/ultralytics/ultralytics
- Документация:https://docs.ultralytics.com/models/yolov8/
PP-YOLOE+
PP-YOLOE+ — это усовершенствованная версия серии PP-YOLOE от PaddlePaddle компании Baidu. Она направлена на доработку механизма без анкеров и улучшение стратегий обучения для достижения конкурентоспособной производительности, особенно в PaddlePaddle .
- Авторы: Авторы PaddlePaddle
- Организация:Baidu
- Дата: 2022-04-02
- Arxiv:https://arxiv.org/abs/2203.16250
- GitHub:https://github.com/PaddlePaddle/PaddleDetection/
- Документы:PaddleDetection PP-YOLOE+ Конфигурации
Сравнение производительности
При оценке детекторов объектов крайне важно найти оптимальный баланс между скоростью вывода (задержкой) и средней точностью (mAP). На приведенном ниже графике визуально представлена эта зависимость, а далее приведена подробная таблица показателей.
| Модель | размер (пиксели) | 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 |
Примечание: Показатели производительности подчеркивают, что, хотя PP-YOLOE+ демонстрирует высокую теоретическую эффективность FLOP, YOLOv8 обеспечивает более высокую реальную пропускную способность и эффективность параметров, особенно на периферийных устройствах CPU.
Архитектурные различия
YOLOv8 Ultralytics YOLOv8
YOLOv8 современную систему обнаружения без использования анкоров. В отличие от предыдущих версий, которые полагались на заранее определенные анкорные рамки, YOLOv8 напрямую YOLOv8 центры объектов. Это упрощает процесс обучения и улучшает обобщение по различным наборам данных, таким как COCO.
Ключевые архитектурные особенности включают:
- Модуль C2f: Заменяя модуль C3, модуль C2f (Cross-Stage Partial Bottleneck с двумя сверчками) улучшает градиентный поток и обогащает представление признаков, сохраняя при этом небольшой размер.
- Разделенная головка: задачи классификации и регрессии обрабатываются отдельными ветвями, что позволяет модели сосредоточиться на конкретных типах признаков для каждой задачи, что приводит к более высокой точности.
- Task-Aligned Assigner: сложная стратегия присвоения меток, которая динамически сопоставляет положительные образцы с эталонными данными на основе результатов классификации и регрессии.
Архитектура PP-YOLOE+
PP-YOLOE+ построен на основе структуры PP-YOLOE с использованием магистрали CSPResNet и упрощенной сети агрегации путей (PANet). Он делает акцент на перепараметризации и эффективном присвоении меток.
Ключевые архитектурные особенности включают:
- RepResBlock: использует методы перепараметризации для объединения нескольких слоев в одну свертку во время вывода, что позволяет сократить задержку без ущерба для возможностей обучения.
- TAL (Task Alignment Learning): Подобно YOLOv8, использует обучение с выравниванием задач для оптимизации выравнивания анкоров.
- Предварительная подготовка Object365: Символ «+» в PP-YOLOE+ означает использование крупномасштабной предварительной подготовки на наборе данных Objects365, что способствует высокому показателю mAP увеличивает сложность обучения для пользователей, которые хотят повторить результаты с нуля.
Экосистема и простота использования
Преимущество Ultralytics
Одним из наиболее значимых отличительных признаков YOLOv8 является надежная Ultralytics . Модель представляет собой не просто хранилище кода, а полностью поддерживаемый продукт, интегрированный в бесперебойный рабочий процесс.
- Единый API: разработчики могут переключаться между задачами —обнаружение, сегментация, оценка позы, OBB и классификация— просто изменив один строковый аргумент.
- Ultralytics : Ultralytics позволяет без труда управлять наборами данных, обучать модели и развертывать их прямо из браузера.
- Широкая интеграция: встроенная поддержка инструментов MLOps, таких как Weights & Biases, Cometи MLflow обеспечивает отслеживание экспериментов по принципу «подключи и работай».
Простой интерфейс Python
Для выполнения инференции с помощью YOLOv8 всего несколько строк кода:
from ultralytics import YOLO
# Load a model
model = YOLO("yolov8n.pt")
# Run inference
results = model("https://ultralytics.com/images/bus.jpg")
Экосистема PP-YOLOE+
PP-YOLOE+ глубоко интегрирован в PaddlePaddle . Несмотря на свою мощность, это может представлять собой более сложный процесс обучения для разработчиков, привыкших к PyTorch TensorFlow. Развертывание часто зависит от PaddleLite или преобразования моделей в ONNX Paddle2ONNX, что добавляет дополнительный шаг по сравнению с возможностями прямого экспорта Ultralytics .
Эффективность обучения и памяти
Эффективное обучение
YOLOv8 для обеспечения эффективности обучения. Он поддерживает автоматическое определение размера пакета иGPU без дополнительных настроек. Его архитектура оптимизирована для уменьшения потребления VRAM во время обучения по сравнению с моделями на основе трансформаторов, такими как RT-DETR, что позволяет пользователям обучать более крупные модели на потребительском оборудовании.
Предварительно обученные веса
Ultralytics широкий спектр предварительно обученных весов для различных задач и размеров (от Nano до X-Large). Эти модели доступны мгновенно и автоматически загружаются при первом использовании, что значительно ускоряет цикл разработки проектов по переносу обучения. В отличие от этого, для использования всех возможностей PP-YOLOE+ часто требуется навигация по конкретным конфигурациям библиотеки PaddleDetection.
Сценарии использования и рекомендации
Когда выбирать YOLOv8
Ultralytics YOLOv8 является рекомендуемым выбором для большинства разработчиков и предприятий благодаря своей универсальности и простоте использования.
- Развертывание Edge: идеально подходит для работы на устройствах, таких как Raspberry Pi или мобильных телефонах, использующих TFLite или CoreML.
- Мультимодальные задачи: если ваш проект требует сегментации или оценки позы наряду с обнаружением, YOLOv8 унифицированное решение.
- Быстрое прототипирование: простой CLI Python позволяют быстро выполнять итерации, что делает его идеальным решением для стартапов и хакатонов.
- Поддержка сообщества: благодаря огромному сообществу на GitHub и Discord поиск решений проблем происходит быстро и надежно.
Когда следует выбирать PP-YOLOE+
PP-YOLOE+ — отличный вариант, если вы уже инвестировали в инфраструктуру Baidu.
- PaddlePaddle : Необходимо для команд, чьи производственные процессы полностью построены на PaddlePaddle.
- Серверы с высокой вычислительной мощностью: модель хорошо работает в средах, где доступны высокопроизводительные графические процессоры, позволяющие использовать ее сложную архитектуру для достижения максимального mAP, независимо от сложности развертывания.
Будущее: YOLO26
В то время как YOLOv8 надежным отраслевым стандартом, Ultralytics расширять границы компьютерного зрения. Недавно выпущенная версия YOLO26 представляет собой новое поколение эффективности.
YOLO26 представляет собой комплексную конструкцию NMS, устраняющую необходимость в постобработке с помощью не максимального подавления. Это приводит к более быстрому выводу и упрощению логики развертывания. Кроме того, такие инновации, как оптимизатор MuSGD и удаление DFL, делают YOLO26 на 43 % быстрее на CPU по сравнению с предыдущими поколениями, укрепляя его позицию в качестве лучшего выбора для пограничных вычислений.
Разработчикам, начинающим сегодня новые проекты, настоятельно YOLOv8 оценить YOLO26 наряду с YOLOv8 , чтобы обеспечить будущую совместимость своих приложений.
Заключение
YOLOv8 PP-YOLOE+ — это отличные модели для обнаружения объектов. Однако Ultralytics YOLOv8 отличается своим ориентированным на пользователя дизайном, исчерпывающей документацией и непревзойденной универсальностью. Снижая барьер для входа на рынок и сохраняя при этом передовую производительность, YOLOv8и его преемник YOLO26 позволяют разработчикам создавать сложные решения в области искусственного интеллекта с минимальными затратами.
Для более подробного изучения сравнения моделей ознакомьтесь с нашими анализами YOLOv8 EfficientDet и YOLOv8 YOLOv6.