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

YOLOv8 vs. PP-YOLOE+: техническое сравнение

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

Ultralytics YOLOv8: Универсальность и производительность

Ultralytics YOLOv8 Представляет собой значительный скачок вперед в семействе YOLO , разработанном как единый фреймворк для широкого спектра задач технического зрения. Разработанная компанией Ultralytics, она ориентирована на беспроблемный пользовательский опыт без ущерба для современной производительности (SOTA).

Авторы: Гленн Джочер, Аюш Чаурасия и Цзин Цю
Организация:Ultralytics
Дата: 2023-01-10
GitHubultralytics
Docsyolov8

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

YOLOv8 представляет передовую головку обнаружения без якорей, которая устраняет необходимость в ручной настройке якорных блоков и улучшает сходимость. В основе используется модуль C2f - кросс-ступенчатая конструкция с частичным узким местом, которая повышает эффективность градиентного потока и извлечения признаков. В отличие от многих конкурентов, YOLOv8 не ограничивается обнаружением объектов; он поддерживает сегментацию объектов, классификацию изображений, оценку позы и ориентированные ограничительные рамки (OBB).

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

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

  • Экосистема и удобство использования: Ultralytics предоставляет возможность работы "на батарейках" благодаря надежному Python API и CLI.
  • Поддержка многозадачности: Единая структура для задач обнаружения, сегментации, классификации и позиционирования упрощает конвейер разработки.
  • Гибкость развертывания: Бесшовный экспорт в такие форматы, как ONNX, TensorRT, CoreML и OpenVINO обеспечивает совместимость с различным оборудованием, от пограничных устройств до облачных серверов.
  • Активная поддержка: Благодаря частым обновлениям и активному сообществу модель остается актуальной, а ошибки быстро устраняются.

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

PP-YOLOE+: Высокая точность в экосистеме PaddlePaddle

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

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

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

PP-YOLOE+ - это одноступенчатый детектор без якорей. Он включает в себя основу CSPRepResNet и горловину Path Aggregation Network (PAN) для надежного объединения функций. Определяющей особенностью является эффективная голова с выравниванием задач (ET-Head), которая использует обучение выравниванию задач (TAL) для лучшей синхронизации классификации и предсказаний локализации. Несмотря на свою мощь, модель глубоко укоренилась в экосистеме Baidu, в значительной степени опираясь на PaddlePaddle операторы и инструменты оптимизации.

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

Преимущества:

  • Высокая точность: Самые крупные варианты (например, PP-YOLOE+x) достигают впечатляющих показателейmAP на наборе данных COCO .
  • Оптимизировано для аппаратного обеспечения Paddle: Исключительно хорошо работает на оборудовании, оптимизированном под фреймворк Baidu.

Слабые стороны:

  • Блокировка фреймворка: Зависимость от PaddlePaddle может стать барьером для команд, стандартизированных на PyTorch или TensorFlow, ограничивая доступ к более широким ресурсам сообщества с открытым исходным кодом.
  • Интенсивность использования ресурсов: Как подробно описано в разделе производительности, модели PP-YOLOE+ часто требуют больше параметров и операций с плавающей точкой (FLOP) для достижения результатов, сопоставимых с YOLOv8, что сказывается на эффективности при использовании граничных устройств ИИ с ограниченными ресурсами.
  • Ограниченный круг задач: В основном ориентирована на обнаружение, поэтому не имеет встроенной, готовой поддержки сегментации и оценки позы, которая есть в экосистеме Ultralytics .

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

Анализ контрольных показателей производительности

При сравнении YOLOv8 и PP-YOLOE+ становится очевидным компромисс между скоростью, точностью и размером модели. YOLOv8 демонстрирует превосходную инженерную эффективность, обеспечивая конкурентоспособную или более высокую точность при значительно меньшем количестве параметров и FLOP. Эта эффективность выражается в более быстром обучении, меньшем потреблении памяти и более высокой скорости вывода.

Например, YOLOv8n является идеальным кандидатом для мобильных и встраиваемых приложений, предлагая производительность в реальном времени при минимальных вычислительных затратах. В отличие от них, модели PP-YOLOE+, такие как вариант 'x', расширяют границы точности, но за это приходится платить большим весом и низкой скоростью, что может быть неприемлемо для потоков видеоаналитики в реальном времени.

Эффективность имеет значение

Для производственных сред размер и скорость модели часто так же важны, как и точность. Эффективная архитектура YOLOv8 позволяет развертывать систему на более компактном и дешевом оборудовании без существенного снижения качества обнаружения.

Модельразмер
(пиксели)
mAPval
50-95
Скорость
CPU ONNX
(мс)
Скорость
T4 TensorRT10
(мс)
параметры
(M)
FLOPs
(B)
YOLOv8n64037.380.41.473.28.7
YOLOv8s64044.9128.42.6611.228.6
YOLOv8m64050.2234.75.8625.978.9
YOLOv8l64052.9375.29.0643.7165.2
YOLOv8x64053.9479.114.3768.2257.8
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

Рекомендации по применению

  • Наблюдение в режиме реального времени: Используйте YOLOv8 благодаря балансу скорости и точности. Он отлично подходит для мониторинга дорожного движения и систем безопасности, где обработка видео с высокой частотой кадров в секунду имеет решающее значение.
  • Промышленный контроль: Здесь хорошо работают обе модели, но простота обучения YOLOv8 на пользовательских наборах данных позволяет быстрее адаптировать ее к конкретным типам производственных дефектов.
  • Развертывание на границе: YOLOv8n и YOLOv8s благодаря своим компактным размерам лучше всего подходят для развертывания на таких устройствах, как Raspberry Pi или NVIDIA Jetson.
  • Сложные конвейеры технического зрения: Если в вашем проекте наряду с обнаружением объектов требуется их отслеживание или сегментация, Ultralytics YOLOv8 предоставляет эти возможности нативно, избавляя вас от необходимости сшивать разрозненные модели.

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

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

Ниже приведен пример того, как просто загрузить предварительно обученную модель YOLOv8 и провести расчеты:

from ultralytics import YOLO

# Load a pre-trained YOLOv8 model
model = YOLO("yolov8n.pt")

# Run inference on an image
results = model.predict("https://ultralytics.com/images/bus.jpg")

# Display results
results[0].show()

Бесшовное обучение

Обучение пользовательской модели также просто. Ultralytics автоматически справляется с расширением данных, настройкой гиперпараметров и управлением набором данных, позволяя вам сосредоточиться на сборе высококачественных данных.

Заключение

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

ЭкосистемаUltralytics еще больше усиливает это преимущество. Благодаря таким инструментам, как Ultralytics HUB для легкого обучения и управления моделями, а также обширной документации, которая поможет вам пройти каждый шаг, YOLOv8 гарантирует, что ваш проект пройдет путь от концепции до развертывания с минимальными трудностями. Независимо от того, создаете ли вы приложение для "умного города" или медицинский диагностический инструмент, YOLOv8 обеспечивает баланс производительности и простоту использования, необходимые для достижения успеха.

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

Если вы хотите расширить свое понимание ландшафта обнаружения объектов, изучите другие сравнения:


Комментарии