YOLOv10 vs PP-YOLOE+: Подробное техническое сравнение
Выбор правильной модели обнаружения объектов — это важный шаг в разработке эффективных приложений компьютерного зрения. Этот выбор часто включает в себя взвешивание компромиссов между скоростью инференса, точностью обнаружения (detect) и аппаратными ограничениями. В этом техническом сравнении анализируются YOLOv10, детектор реального времени end-to-end из Университета Цинхуа, и PP-YOLOE+, высокоточная модель из экосистемы PaddlePaddle от Baidu. Обе модели представляют значительные архитектурные инновации, но они предназначены для разных потребностей развертывания и сред разработки.
YOLOv10: Новый стандарт для обнаружения End-to-End в реальном времени
YOLOv10 представляет собой значительный скачок в серии YOLO (You Only Look Once), фокусируясь на устранении узких мест производительности, связанных с традиционной постобработкой. Разработанный исследователями из Университета Цинхуа, он обеспечивает меньшую задержку и более высокую эффективность за счет устранения необходимости в немаксимальном подавлении (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:https://github.com/THU-MIG/yolov10
Docs:https://docs.ultralytics.com/models/yolov10/
Архитектура и ключевые особенности
YOLOv10 представляет стратегию consistent dual assignment во время обучения. Этот метод позволяет модели прогнозировать одну наилучшую рамку для каждого объекта во время inference, эффективно устраняя необходимость в NMS post-processing. Эта конструкция без NMS значительно снижает inference latency, особенно в сценах с плотными кластерами объектов.
Ключевые архитектурные усовершенствования включают:
- Целостный дизайн эффективности и точности: Модель использует облегченные классификационные головы и пространственно-канальную разделенную дискретизацию для снижения вычислительных затрат (FLOPs) без ущерба для точности.
- Блочный дизайн, управляемый рангом: Чтобы оптимизировать компромисс между скоростью и точностью, на разных этапах модели используются различные конструкции блоков, что снижает избыточность в глубоких слоях.
- Крупноядерные свертки (Large-Kernel Convolutions): Стратегическое использование крупноядерных сверток увеличивает поле восприятия, позволяя модели лучше понимать контекст и обнаруживать мелкие объекты.
Сильные и слабые стороны
YOLOv10 разработан для максимальной эффективности, что делает его отличным выбором для приложений реального времени.
- Преимущества: Устранение NMS приводит к более высокой и детерминированной скорости вывода. Она предлагает превосходную эффективность параметров, достигая высоких показателей mAP с меньшим количеством параметров, чем предшественники. Ее интеграция в экосистему Ultralytics гарантирует, что ее легко обучать и развертывать с помощью простого Python API.
- Недостатки: Являясь специализированным детектором объектов, в настоящее время он в основном фокусируется на обнаружении ограничивающих рамок, в то время как другие модели в наборе Ultralytics поддерживают более широкий спектр задач, таких как segment и оценка позы.
Идеальные варианты использования
- Автономная робототехника: Низкая задержка YOLOv10 имеет решающее значение для робототехники, где для навигации и обхода препятствий требуются решения за доли секунды.
- Развертывание Edge AI: С вариантами, такими маленькими, как YOLOv10-N, он идеально подходит для периферийных устройств, таких как NVIDIA Jetson или Raspberry Pi.
- Мониторинг трафика: Способность модели обрабатывать плотные сцены без избыточной нагрузки от NMS делает ее идеальной для управления трафиком в реальном времени.
PP-YOLOE+: Точная разработка в экосистеме PaddlePaddle
PP-YOLOE+ — это эволюция серии PP-YOLOE, разработанная Baidu. Он разработан как масштабируемый детектор без anchor, который отдает приоритет высокой точности. Он служит краеугольной моделью в рамках фреймворка 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, которая упрощает пространство поиска гиперпараметров по сравнению с предшественниками, основанными на anchor.
Ключевые особенности включают:
- CSPRepResNet Backbone: Этот backbone сочетает в себе преимущества градиентного потока CSPNet с эффективностью логического вывода повторно параметризованных блоков ResNet.
- Task Alignment Learning (TAL): Специализированная стратегия назначения меток, которая динамически выравнивает качество классификации якоря с точностью локализации.
- Efficient Task-aligned Head (ET-Head): Разделенная detection head, которая обрабатывает признаки классификации и локализации независимо, чтобы избежать конфликтов.
Сильные и слабые стороны
PP-YOLOE+ — надежная модель, но имеет зависимости, которые могут повлиять на внедрение.
- Преимущества: Она обеспечивает отличную точность на эталонных тестах, таких как COCO, особенно в своих более крупных конфигурациях (L и X). Она хорошо оптимизирована для оборудования, поддерживаемого механизмом вывода PaddlePaddle.
- Недостатки: Основным ограничением является его зависимость от экосистемы PaddlePaddle. Для разработчиков, привыкших к PyTorch, переход на PP-YOLOE+ сопряжен с более крутой кривой обучения и потенциальными трудностями в интеграции инструментов. Кроме того, количество его параметров значительно выше, чем у YOLOv10 при сопоставимой точности, что приводит к большему использованию памяти.
Идеальные варианты использования
- Промышленный контроль: Высокая точность делает его подходящим для обнаружения мельчайших дефектов в производстве.
- Аналитика розничной торговли: Эффективно для подсчета запасов и распознавания продуктов в средах интеллектуальной розничной торговли.
- Сортировка материалов: Используется на перерабатывающих предприятиях для автоматизированной сортировки различных материалов.
Анализ производительности: Эффективность vs. Точность
При сравнении технических метрик YOLOv10 демонстрирует явное преимущество в эффективности. Она достигает сопоставимой или превосходящей точности (mAP), используя при этом значительно меньше параметров и вычислительных ресурсов (FLOPs).
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
Основные выводы
- Эффективность: YOLOv10l достигает более высокого mAP (53,3%), чем PP-YOLOE+l (52,9%), используя при этом почти на 44% меньше параметров. Это делает YOLOv10 значительно легче для хранения и быстрее для загрузки.
- Скорость: Конструкция YOLOv10 без NMS приводит к снижению задержки во всех случаях. Например, YOLOv10n исключительно быстр, показывая результат в 1.56 мс, что делает его превосходным для высокоскоростной видеоаналитики.
- Масштабируемость: Хотя PP-YOLOE+x имеет небольшое преимущество в необработанном mAP (на 0,3% выше), он требует почти вдвое больше параметров (98,42M против 56,9M) и FLOPs по сравнению с YOLOv10x.
Эффективность памяти
Модели Ultralytics, такие как YOLOv10 и YOLO11, обычно демонстрируют более низкие требования к памяти во время обучения и логического вывода по сравнению со старыми архитектурами или тяжелыми моделями на основе трансформеров. Эта эффективность позволяет использовать большие размеры пакетов и более быстрые циклы обучения на стандартном оборудовании GPU.
Преимущество Ultralytics
В то время как обе модели являются работоспособными, выбор модели в экосистеме Ultralytics, такой как YOLOv10 или современная YOLO11, предоставляет разработчикам явные преимущества.
- Простота использования: Ultralytics Python API абстрагирует сложный шаблонный код. Вы можете обучать, проверять и развертывать модель всего в несколько строк Python.
- Хорошо поддерживаемая экосистема: Пользователи получают выгоду от частых обновлений, активного сообщества на GitHub и простой интеграции с инструментами MLOps, такими как Ultralytics HUB и Weights & Biases.
- Универсальность: Помимо стандартного object detection, фреймворки Ultralytics поддерживают instance segmentation, image classification, pose estimation и oriented bounding box (OBB) detect, предлагая унифицированное решение для различных задач компьютерного зрения.
Пример кода: Запуск YOLOv10 с Ultralytics
Интеграция YOLOv10 в ваш рабочий процесс проста благодаря библиотеке Ultralytics:
from ultralytics import YOLO
# Load a pre-trained YOLOv10n model
model = YOLO("yolov10n.pt")
# Run inference on an image
results = model.predict("path/to/image.jpg")
# Display the results
results[0].show()
Заключение
В сравнении между YOLOv10 и PP-YOLOE+ YOLOv10 оказывается лучшим выбором для большинства приложений компьютерного зрения общего назначения. Его архитектура без NMS решает давнюю проблему задержки при detect объектов, а эффективное использование параметров делает его доступным для развертывания на более широком спектре оборудования, от периферийных устройств до облачных серверов.
PP-YOLOE+ остается сильным конкурентом для пользователей, строго связанных с фреймворком PaddlePaddle, или тех, кто отдает приоритет незначительным улучшениям в точности по сравнению с вычислительной эффективностью. Однако для разработчиков, стремящихся к балансу скорости, точности и простоты использования, YOLOv10 — и более широкая экосистема Ultralytics — предлагает более перспективный и удобный для разработчиков путь.
Изучите другие модели
Если вам интересно изучить больше вариантов в экосистеме Ultralytics, ознакомьтесь с этими сравнениями:
- YOLO11 vs. YOLOv10: Узнайте, как последняя флагманская модель соотносится с YOLOv10, ориентированной на эффективность.
- YOLOv10 vs. RT-DETR: Сравните трансформеры реального времени с YOLO архитектурами на основе CNN.
- YOLOv8 vs. PP-YOLOE+: Проанализируйте производительность широко используемой YOLOv8 по сравнению с моделью Baidu.