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

YOLOv10 против PP-YOLOE+: Всестороннее техническое сравнение

Выбор правильной модели обнаружения объектов является ключевым шагом в разработке эффективных приложений компьютерного зрения. При выборе часто приходится взвешивать компромиссы между скоростью вывода, точностью обнаружения и аппаратными ограничениями. Данное техническое сравнение анализирует YOLOv10сквозной детектор реального времени от Университета Цинхуа, и PP-YOLOE+, высокоточную модель от экосистемы PaddlePaddle компании Baidu. В обеих моделях реализованы значительные архитектурные инновации, но они отвечают различным потребностям развертывания и средам разработки.

YOLOv10: новый стандарт для сквозного обнаружения в режиме реального времени

YOLOv10 - это значительный скачок в серии YOLO (You Only Look Once), направленный на устранение узких мест в производительности, связанных с традиционной постобработкой. Разработанный исследователями из Университета Цинхуа, он обеспечивает более низкую задержку и более высокую эффективность за счет отсутствия необходимости в немаксимальном подавленииNMS).

Авторы: 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
Docsultralytics

Архитектура и ключевые особенности

В YOLOv10 применяется последовательная стратегия двойного назначения в процессе обучения. Этот метод позволяет модели предсказывать один лучший бокс для каждого объекта во время вывода, эффективно устраняя необходимость в постобработкеNMS . Такая конструкцияNMS" значительно сокращает время ожидания вывода, особенно в сценах с плотным скоплением объектов.

Основные архитектурные достижения включают в себя:

  • Целостный дизайн эффективности и точности: В модели используются облегченные классификационные головки и пространственно-канальная понижающая дискретизация для снижения вычислительных затрат(FLOPs) без ущерба для точности.
  • Дизайн блоков, ориентированный на ранг: Для оптимизации компромисса между скоростью и точностью на разных этапах модели используется различный дизайн блоков, что позволяет сократить избыточность в глубоких слоях.
  • Конволюты с большими ядрами: Стратегическое использование сверток с большими ядрами улучшает рецептивное поле, позволяя модели лучше понимать контекст и detect мелкие объекты.

Сильные и слабые стороны

YOLOv10 разработан для максимальной эффективности, что делает его отличным выбором для приложений, работающих в режиме реального времени.

  • Сильные стороны: Устранение NMS приводит к более высокой скорости детерминированного вывода. Он обеспечивает превосходную эффективность использования параметров, достигая высоких показателейmAP с меньшим количеством параметров, чем предшественники. Интеграция в экосистему Ultralytics обеспечивает простоту обучения и развертывания с помощью простого API на Python .
  • Слабые стороны: Будучи специализированным детектором объектов, в настоящее время он ориентирован в основном на обнаружение ограничивающих рамок, в то время как другие модели из набора Ultralytics поддерживают более широкий спектр задач, таких как сегментация и оценка позы.

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

  • Автономная робототехника: Низкая задержка YOLOv10 очень важна для робототехники, где для навигации и обхода препятствий требуются доли секунды для принятия решений.
  • Развертывание краевого ИИ: Благодаря таким небольшим вариантам, как YOLOv10, он идеально подходит для таких устройств, как NVIDIA Jetson или Raspberry Pi.
  • Мониторинг трафика: Способность модели обрабатывать плотные сцены без лишних затрат на NMS делает ее идеальной для управления трафиком в режиме реального времени.

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

PP-YOLOE+: Точная инженерия в экосистеме PaddlePaddle

PP-YOLOE+ - это эволюция серии PP-YOLOE, разработанной компанией Baidu. Он разработан как масштабируемый безъякорный детектор, для которого приоритетом является высокая точность. Он служит краеугольной моделью в серии PaddlePaddle оптимизированной специально для этой среды.

Авторы: PaddlePaddle Authors
Organization:Baidu
Date: 2022-04-02
ArXiv:https://arxiv.org/abs/2203.16250
GitHubPaddlePaddle
DocsPaddlePaddle

Архитектура и ключевые особенности

PP-YOLOE+ использует архитектуру без якорей, что упрощает пространство поиска гиперпараметров по сравнению с предшественниками, основанными на якорях.

Ключевые особенности включают:

  • Магистраль CSPRepResNet: Эта основа сочетает в себе преимущества градиентного потока CSPNet с эффективностью выводов повторно параметризованных блоков ResNet.
  • Task Alignment Learning (TAL): специализированная стратегия присвоения меток, которая динамически согласовывает качество классификации якорей с точностью локализации.
  • Эффективная головка с выравниванием задач (ET-Head): Разделенная головка обнаружения, которая обрабатывает признаки классификации и локализации независимо друг от друга, чтобы избежать конфликтов.

Сильные и слабые стороны

PP-YOLOE+ - это надежная модель, но она связана с зависимостями, которые могут повлиять на ее принятие.

  • Сильные стороны: Обеспечивает превосходную точность при выполнении таких эталонов, как COCOособенно в больших конфигурациях (L и X). Он хорошо оптимизирован для аппаратного обеспечения, поддерживаемого механизмом вывода PaddlePaddle .
  • Слабые стороны: Основное ограничение - зависимость от экосистемы PaddlePaddle . Для разработчиков, привыкших к PyTorchпереход на PP-YOLOE+ сопряжен с более сложной кривой обучения и потенциальными трениями при интеграции инструментов. Кроме того, количество параметров значительно выше, чем YOLOv10 , что приводит к увеличению объема памяти.

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

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

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

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

Пример кода: Запуск 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 решает давнюю проблему задержки обнаружения объектов, а высокая эффективность использования параметров делает его доступным для развертывания на широком спектре аппаратных средств, от граничных устройств до облачных серверов.

PP-YOLOE+ остается сильным соперником для пользователей, строго привязанных к фреймворку PaddlePaddle , или тех, для кого незначительный прирост точности важнее вычислительной эффективности. Однако для разработчиков, ищущих баланс между скоростью, точностью и простотой использования, YOLOv10более широкая экосистема Ultralytics предлагают более перспективный и удобный для разработчиков путь.

Изучите другие модели

Если вы заинтересованы в изучении других возможностей экосистемы Ultralytics , ознакомьтесь с этими сравнениями:

  • YOLO11 против YOLOv10: Узнайте, как новейшая флагманская модель отличается от YOLOv10, ориентированной на экономичность.
  • YOLOv10 против RT-DETR: Сравнение трансформаторов реального времени с архитектурами YOLO на основе CNN.
  • YOLOv8 против PP-YOLOE+: Проанализируйте производительность широко распространенного YOLOv8 в сравнении с моделью Baidu.

Комментарии