PP-YOLOE+ против YOLOv10: Подробное техническое сравнение
Выбор правильной модели detectирования объектов является ключевым решением, которое влияет на эффективность, точность и масштабируемость систем компьютерного зрения. В этом подробном сравнении анализируются PP-YOLOE+, усовершенствованный детектор без привязки к якорям из экосистемы PaddlePaddle от Baidu, и YOLOv10, революционный детектор реального времени от Tsinghua University, который полностью интегрирован в экосистему Ultralytics.
Эти модели представляют два различных подхода к решению компромисса между скоростью и точностью. Изучая их архитектурные инновации, показатели производительности и идеальные варианты использования, мы предоставляем информацию, необходимую для выбора лучшего инструмента для вашего конкретного приложения.
PP-YOLOE+: Точность в экосистеме PaddlePaddle
PP-YOLOE+ (Practical PaddlePaddle You Only Look One-level Efficient Plus) — это эволюция архитектуры PP-YOLOE, разработанная для обеспечения высокоточной механики detect. Разработанный Baidu, он служит флагманской моделью в рамках фреймворка PaddlePaddle, подчеркивая оптимизацию для промышленных приложений, где аппаратные среды предопределены.
Авторы: Авторы PaddlePaddle
Организация:Baidu
Дата: 2022-04-02
ArXiv:https://arxiv.org/abs/2203.16250
GitHub:Репозиторий PaddleDetection
Документация:Документация PP-YOLOE+
Ключевые архитектурные особенности
PP-YOLOE+ отличается несколькими структурными улучшениями, направленными на улучшение представления признаков и локализации:
- Механизм без привязки к якорям: Использует подход без привязки к якорям для снижения сложности настройки гиперпараметров и улучшения обобщения для объектов различных форм.
- CSPRepResNet Backbone: Интегрирует сети Cross Stage Partial (CSP) с RepResNet, предлагая надежные возможности извлечения признаков, которые уравновешивают вычислительную нагрузку с репрезентативной мощностью.
- Task Alignment Learning (TAL): Использует специализированную функцию потерь, которая динамически выравнивает оценки классификации с точностью локализации, гарантируя, что обнаружения с высокой уверенностью также являются наиболее точными.
- Эффективный Head (ET-Head): Оптимизированный detection head, который разделяет задачи классификации и регрессии, чтобы минимизировать помехи и повысить скорость сходимости.
YOLOv10: Революция в реальном времени без NMS
YOLOv10 представляет собой смену парадигмы в линейке YOLO. Разработанная исследователями из Университета Цинхуа, она решает историческую проблему Non-Maximum Suppression (NMS), вводя согласованные двойные назначения для обучения без NMS. Это позволяет осуществлять сквозное развертывание со значительно уменьшенной задержкой инференса.
Authors: Ao Wang, Hui Chen, Lihao Liu, et al.
Organization:Tsinghua University
Date: 2024-05-23
ArXiv:https://arxiv.org/abs/2405.14458
GitHub:YOLOv10 Repository
Docs:Ultralytics YOLOv10 Docs
Инновации и интеграция в экосистему
YOLOv10 — это не просто архитектурное обновление; это целостный дизайн, ориентированный на эффективность.
- Обучение без NMS: Приняв стратегию двойного назначения меток — «один ко многим» для расширенного контроля и «один к одному» для эффективного inference — YOLOv10 устраняет необходимость в постобработке NMS. Это снижает задержку inference и сложность развертывания.
- Целостный дизайн эффективности: Имеет облегченные классификационные головы и пространственно-канальную разделенную дискретизацию для максимального сохранения информации при минимизации FLOPs.
- Интеграция Ultralytics: Как часть экосистемы Ultralytics, YOLOv10 выигрывает от простоты использования благодаря унифицированному Python API, что делает его доступным для разработчиков для легкого обучения, проверки и развертывания моделей.
- Эффективность памяти: Архитектура оптимизирована для снижения потребления памяти во время обучения, что является значительным преимуществом перед детекторами на основе трансформеров или более старыми итерациями YOLO.
Анализ технических характеристик
Следующие метрики подчеркивают различия в производительности между двумя моделями. YOLOv10 постоянно демонстрирует превосходную эффективность, предлагая более высокую точность с меньшим количеством параметров и меньшей задержкой.
| Модель | размер (пиксели) | 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 |
| YOLOv10n | 640 | 39.5 | - | 1.56 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
| YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 160.4 |
Интерпретация эффективности и скорости
Данные показывают явное преимущество YOLOv10 с точки зрения баланса производительности.
- Эффективность параметров: YOLOv10l достигает более высокого mAP (53,3%), чем PP-YOLOE+l (52,9%), используя при этом почти вдвое меньше параметров (29,5 млн против 52,2 млн). Это делает YOLOv10 значительно более легким для хранения и более быстрым для загрузки.
- Computational Load: Количество FLOPs для моделей YOLOv10 последовательно ниже для сопоставимых уровней точности, что приводит к снижению энергопотребления — критическому фактору для устройств edge AI.
- Скорость инференса: Благодаря конструкции без NMS, YOLOv10n достигает сверхнизкой задержки в 1,56 мс на T4 GPU, опережая самый маленький вариант PP-YOLOE+.
Преимущество отсутствия NMS
Традиционные детекторы объектов требуют Non-Maximum Suppression (NMS) для фильтрации перекрывающихся рамок, что часто является медленным и трудно оптимизируемым на аппаратном уровне этапом. YOLOv10 полностью исключает этот шаг, что обеспечивает постоянное время inference независимо от количества обнаруженных объектов.
Сильные и слабые стороны
YOLOv10: Современный выбор
- Преимущества:
- Простота использования: Легко интегрируется в экосистему Ultralytics, предлагая стандартизированный API для обучения и развертывания.
- Скорость развертывания: Истинная сквозная архитектура устраняет узкие места постобработки.
- Эффективность использования ресурсов: Более низкое использование памяти и меньшее количество параметров делают его идеальным для сред с ограниченными ресурсами, таких как робототехника и мобильные приложения.
- Эффективность обучения: Поддерживает быстрое обучение с помощью легкодоступных предварительно обученных весов и оптимизированных загрузчиков данных.
- Слабые стороны:
- Будучи более новой архитектурой, экосистема сторонних учебных пособий быстро растет, но может быть меньше, чем у старых версий YOLO, таких как YOLOv5 или YOLOv8.
PP-YOLOE+: Специалист PaddlePaddle
- Преимущества:
- Высокая точность: Обеспечивает превосходную точность, особенно в самых крупных вариантах модели (PP-YOLOE+x).
- Оптимизация под фреймворк: Высокая степень оптимизации для пользователей, уже глубоко интегрированных в инфраструктуру PaddlePaddle.
- Слабые стороны:
- Зависимость от экосистемы: Основная поддержка ограничена фреймворком PaddlePaddle, что может быть препятствием для команд, использующих PyTorch или TensorFlow.
- Тяжеловесный: Требует значительно больше вычислительных ресурсов (FLOPs и Params) для достижения точности, сопоставимой с более новыми моделями YOLO.
Рекомендации по вариантам использования
Приложения реального времени и периферийные вычисления
Для приложений, требующих немедленного времени отклика, таких как автономные транспортные средства или высокоскоростные производственные линии, YOLOv10 является превосходным выбором. Его низкая задержка и удаленный шаг NMS обеспечивают детерминированные скорости инференса, что критически важно для критически важных систем безопасности.
Компьютерное зрение общего назначения
Для разработчиков, ищущих универсальное решение, модели Ultralytics YOLO предлагают явное преимущество благодаря хорошо поддерживаемой экосистеме. Возможность легкого переключения между задачами (detect, segment, pose) и экспорта в такие форматы, как ONNX, TensorRT и CoreML, делает YOLOv10 и его аналоги очень адаптируемыми.
Конкретные промышленные внедрения
Если ваша существующая инфраструктура полностью построена на технологическом стеке Baidu, PP-YOLOE+ предоставляет собственное решение, которое хорошо интегрируется с другими инструментами PaddlePaddle. Однако для новых проектов эффективность обучения и более низкие затраты на оборудование YOLOv10 часто обеспечивают лучшую рентабельность инвестиций.
Начало работы с YOLOv10
Оцените простоту использования, характерную для моделей Ultralytics. Вы можете загружать и запускать прогнозы с помощью YOLOv10 всего в несколько строк кода python:
from ultralytics import YOLO
# Load a pre-trained YOLOv10n model
model = YOLO("yolov10n.pt")
# Run inference on an image
results = model("path/to/image.jpg")
# Display the results
results[0].show()
Этот простой API позволяет исследователям сосредоточиться на данных и результатах, а не на шаблонном коде.
Заключение
В то время как PP-YOLOE+ остается мощным конкурентом в рамках своего конкретного фреймворка, YOLOv10 предлагает более привлекательный пакет для широкого сообщества компьютерного зрения. Его архитектурные прорывы в устранении NMS в сочетании с надежностью экосистемы Ultralytics предоставляют разработчикам инструмент, который не только быстрее и легче, но также проще в использовании и обслуживании.
Для тех, кто хочет оставаться на самом переднем крае, мы также рекомендуем изучить YOLO11, последнюю флагманскую модель от Ultralytics, которая еще больше расширяет границы универсальности и производительности в различных задачах vision.
Изучите другие модели
Расширьте свое понимание ландшафта обнаружения объектов с помощью этих сравнений:
- YOLOv10 vs. YOLOv9 - Сравните два последних поколения.
- YOLOv10 vs. RT-DETR - Проанализируйте трансформаторы реального времени в сравнении с CNN.
- YOLO11 vs. YOLOv8 - Посмотрите на эволюцию флагманской серии Ultralytics.