Перейти к содержанию

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 делает ее идеальной для управления трафиком в реальном времени.

Узнайте больше о YOLOv10

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 при сопоставимой точности, что приводит к большему использованию памяти.

Идеальные варианты использования

Узнайте больше о PP-YOLOE+

Анализ производительности: Эффективность vs. Точность

При сравнении технических метрик YOLOv10 демонстрирует явное преимущество в эффективности. Она достигает сопоставимой или превосходящей точности (mAP), используя при этом значительно меньше параметров и вычислительных ресурсов (FLOPs).

Модельразмер
(пиксели)
mAPval
50-95
Скорость
CPU ONNX
(мс)
Скорость
T4 TensorRT10
(мс)
параметры
(M)
FLOPs
(B)
YOLOv10n64039.5-1.562.36.7
YOLOv10s64046.7-2.667.221.6
YOLOv10m64051.3-5.4815.459.1
YOLOv10b64052.7-6.5424.492.0
YOLOv10l64053.3-8.3329.5120.3
YOLOv10x64054.4-12.256.9160.4
PP-YOLOE+t64039.9-2.844.8519.15
PP-YOLOE+s64043.7-2.627.9317.36
PP-YOLOE+m64049.8-5.5623.4349.91
PP-YOLOE+l64052.9-8.3652.2110.07
PP-YOLOE+x64054.7-14.398.42206.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, предоставляет разработчикам явные преимущества.

  1. Простота использования: Ultralytics Python API абстрагирует сложный шаблонный код. Вы можете обучать, проверять и развертывать модель всего в несколько строк Python.
  2. Хорошо поддерживаемая экосистема: Пользователи получают выгоду от частых обновлений, активного сообщества на GitHub и простой интеграции с инструментами MLOps, такими как Ultralytics HUB и Weights & Biases.
  3. Универсальность: Помимо стандартного 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.

Комментарии