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

YOLOv5 против PP-YOLOE+: подробное техническое сравнение

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

Ultralytics YOLOv5: Устоявшийся отраслевой стандарт

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

Автор: Гленн Джокер
Организация: Ultralytics
Дата: 2020-06-26
GitHub: https://github.com/ultralytics/yolov5
Документация: https://docs.ultralytics.com/models/yolov5/

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

Архитектура YOLOv5 является свидетельством эффективного дизайна, полностью построенного на PyTorch для максимальной гибкости и простоты использования.

  • Backbone: Использует backbone CSPDarknet53, вариант Darknet, который включает модули Cross Stage Partial (CSP) для снижения вычислительной нагрузки при сохранении высоких возможностей извлечения признаков.
  • Neck: Path Aggregation Network (PANet) используется для агрегации признаков, эффективно объединяя признаки с различных уровней backbone для улучшения обнаружения в различных масштабах.
  • Head: YOLOv5 использует голову обнаружения на основе anchor boxes, которая предсказывает ограничивающие рамки на основе набора предопределенных anchor boxes. Этот подход высоко оптимизирован для скорости.
  • Масштабируемость: Он поставляется в различных размерах (n, s, m, l, x), что позволяет пользователям выбирать модель, которая соответствует их конкретным потребностям, от легких моделей для периферийных устройств до более крупных моделей для максимальной точности.

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

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

  • Исключительный баланс производительности: YOLOv5 предлагает фантастический компромисс между скоростью инференса и точностью обнаружения, что делает ее подходящей для многих сценариев инференса в реальном времени.
  • Простота использования: Известна своим оптимизированным пользовательским интерфейсом, простыми интерфейсами Python и CLI, а также обширной документацией.
  • Хорошо поддерживаемая экосистема: Преимущества интегрированной экосистемы Ultralytics, включая активную разработку, большое и поддерживающее сообщество, частые обновления и инструменты, такие как Ultralytics HUB для обучения без кода.
  • Эффективность обучения: Предлагает эффективные процессы обучения, легкодоступные предварительно обученные веса и, как правило, более низкие требования к памяти по сравнению со многими альтернативами.
  • Универсальность: Поддерживает несколько задач, включая обнаружение объектов, сегментацию экземпляров и классификацию изображений.

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

  • Несмотря на высокую точность, новые модели могут превзойти ее показатели mAP на таких тестах, как COCO.
  • Его зависимость от anchor boxes может потребовать большей настройки гиперпараметров для наборов данных с нестандартными формами объектов по сравнению с методами, не использующими anchor boxes.

Случаи использования

Скорость и универсальность YOLOv5 делают его идеальным для:

  • Отслеживание объектов в реальном времени: Идеально подходит для видеонаблюдения, робототехники и автономных систем, как подробно описано в нашем руководстве по сегментации экземпляров и отслеживанию.
  • Развертывание на периферийных устройствах: Эффективные модели (YOLOv5n, YOLOv5s) эффективно работают на устройствах с ограниченными ресурсами, таких как Raspberry Pi и NVIDIA Jetson.
  • Промышленная автоматизация: Используется для контроля качества, обнаружения дефектов и автоматизации переработки.

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

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

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

Авторы: PaddlePaddle Authors
Организация: 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 Design): Устраняет необходимость в предварительно определенных ограничивающих рамках (anchor boxes), что может упростить конвейер и уменьшить настройку гиперпараметров. Вы можете узнать больше о детекторах без привязки к якорям (anchor-free detectors) в нашем глоссарии.
  • Backbone: Использует эффективный backbone, такой как CSPRepResNet, разработанный для мощного представления признаков.
  • Neck: Использует Path Aggregation Network (PAN), аналогичную по принципу YOLOv5, для надежного слияния признаков.
  • Head: Имеет отделённую голову (ET-Head), которая разделяет задачи классификации и регрессии, что часто приводит к повышению точности.
  • Функция потерь: Использует передовые методы, такие как Task Alignment Learning (TAL) и VariFocal Loss, для улучшения соответствия между оценками классификации и точностью локализации.

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

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

  • Высокий потенциал точности, особенно с более крупными вариантами моделей, которые часто возглавляют списки лидеров.
  • Подход без anchor-ов может упростить настройку гиперпараметров в некоторых случаях.
  • Высокая скорость инференса, особенно при оптимизации с помощью TensorRT.
  • Хорошо интегрирована в экосистему PaddlePaddle.

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

  • В основном оптимизирован для фреймворка PaddlePaddle, что может ограничить удобство использования для большинства разработчиков, предпочитающих PyTorch.
  • Сообщество и доступные ресурсы меньше по сравнению с обширной экосистемой, окружающей модели Ultralytics YOLO.
  • Меньше внимания уделяется простоте использования и простоте развертывания, часто требуется больше шаблонного кода и знаний, специфичных для фреймворка.

Случаи использования

PP-YOLOE+ подходит для:

  • Контроль качества в промышленности: Высокая точность полезна для обнаружения незначительных дефектов в ИИ в производстве.
  • Умная розничная торговля: Такие приложения, как управление запасами и аналитика клиентов, могут извлечь выгоду из ее точности.
  • Проекты, ориентированные на PaddlePaddle: Это идеальный выбор для разработчиков, которые уже инвестировали в фреймворк PaddlePaddle или стандартизировали его.

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

Производительность и тесты: YOLOv5 против PP-YOLOE+

При сравнении производительности выбор во многом зависит от целевого оборудования и основной цели (скорость или точность).

  • Точность (mAP): Модели PP-YOLOE+ обычно достигают более высоких оценок mAPval на наборе данных COCO по сравнению со своими аналогами YOLOv5 аналогичного размера. Для приложений, где важна каждая доля процентного пункта в точности, PP-YOLOE+ является сильным претендентом.
  • Скорость инференса: Ultralytics YOLOv5 демонстрирует превосходную скорость, особенно на CPU. Модель YOLOv5n исключительно быстрая, что делает ее идеальной для приложений реального времени на широком спектре оборудования. В то время как PP-YOLOE+ быстра на GPU с TensorRT, YOLOv5 сохраняет сильное преимущество по производительности на ватт, особенно на периферийных устройствах.
  • Эффективность (параметры и FLOPs): Модели YOLOv5 разработаны как легкие. Например, YOLOv5n имеет значительно меньше параметров и FLOPs, чем PP-YOLOE+s, что упрощает его развертывание в средах с ограниченными ресурсами.
Модель размер
(пиксели)
mAPval
50-95
Скорость
CPU ONNX
(мс)
Скорость
T4 TensorRT10
(мс)
параметры
(M)
FLOPs
(B)
YOLOv5n 640 28.0 73.6 1.12 2.6 7.7
YOLOv5s 640 37.4 120.7 1.92 9.1 24.0
YOLOv5m 640 45.4 233.9 4.03 25.1 64.2
YOLOv5l 640 49.0 408.4 6.61 53.2 135.0
YOLOv5x 640 50.7 763.2 11.89 97.2 246.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

Обучение, удобство использования и экосистема

Помимо производительности, важным фактором является опыт разработчика. Именно здесь Ultralytics YOLOv5 действительно блистает.

  • YOLOv5: Экосистема Ultralytics разработана для повышения производительности разработчиков. Будучи PyTorch-native, она легко интегрируется в самый популярный рабочий процесс глубокого обучения. Простота использования не имеет себе равных, с простым, хорошо документированным API, который позволяет обучать, проверять и выполнять инференс всего несколькими строками кода. Хорошо поддерживаемая экосистема предоставляет огромное преимущество, с постоянными обновлениями, огромным сообществом для поддержки и интеграцией с такими инструментами, как Weights & Biases и ClearML. Кроме того, Эффективность обучения является основным направлением, с моделями, которые быстро обучаются и требуют меньше памяти.

  • PP-YOLOE+: Обучение ограничено фреймворком PaddlePaddle. Несмотря на свою мощность, это создает барьер для разработчиков, незнакомых с его экосистемой. Документация и поддержка сообщества, хотя и хороши, не так обширны и доступны, как для YOLOv5. Интеграция в конвейер на основе PyTorch требует дополнительных шагов и потенциальных преобразований, что усложняет жизненный цикл MLOps.

Заключение: какую модель вам следует выбрать?

И YOLOv5, и PP-YOLOE+ — отличные модели, но они служат разным потребностям.

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

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

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

Ultralytics продолжает расширять границы возможного в области обнаружения объектов. Тем, кто стремится к еще большей производительности и функциональности, мы рекомендуем изучить более новые модели, такие как YOLOv8, и передовую YOLO11. Эти модели построены на основе YOLOv5, предлагая улучшенную точность, больше поддерживаемых задач и еще большую эффективность. Больше сравнений вы можете найти на нашей главной странице сравнения.



📅 Создано 1 год назад ✏️ Обновлено 1 месяц назад

Комментарии