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

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

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

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

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

Авторы: Авторы PaddlePaddle
Организация:Baidu
Дата: 2022-04-02
Arxiv:https://arxiv.org/abs/2203.16250
GitHub:https://github.com/PaddlePaddle/PaddleDetection/
Документация:PP-YOLOE+ README PaddleDetection

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

PP-YOLOE+ работает как одноэтапный детектор без anchor boxes. Он построен на основе CSPRepResNet и использует стратегию Task Alignment Learning (TAL) для улучшения согласования между задачами классификации и локализации. Ключевой особенностью является Efficient Task-aligned Head (ET-Head), который снижает вычислительные затраты, сохраняя при этом точность. Модель использует функцию Varifocal Loss для обработки дисбаланса классов во время обучения.

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

Основная сила PP-YOLOE+ заключается в ее оптимизации для аппаратного и программного стека Baidu. Она предлагает масштабируемые модели (s, m, l, x), которые хорошо работают в стандартных бенчмарках обнаружения объектов.

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

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

YOLOv9: Программируемая градиентная информация для расширенного обучения

Ultralytics YOLOv9 представляет собой сдвиг парадигмы в обнаружении объектов в реальном времени, решая проблему «узкого места информации», присущую глубоким нейронным сетям.

Authors: Chien-Yao Wang and Hong-Yuan Mark Liao
Organization:Institute of Information Science, Academia Sinica, Taiwan
Date: 2024-02-21
Arxiv:https://arxiv.org/abs/2402.13616
GitHub:https://github.com/WongKinYiu/yolov9
Documentation:https://docs.ultralytics.com/models/yolov9/

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

YOLOv9 объединяет две новаторские концепции: Programmable Gradient Information (PGI) и Generalized Efficient Layer Aggregation Network (GELAN).

  • PGI: По мере углубления сетей информация входных данных часто теряется в процессе прямого распространения. PGI предоставляет вспомогательную ветвь контроля, которая обеспечивает надежную генерацию градиента, позволяя модели «запоминать» важные признаки для задач отслеживания объектов и detect без увеличения стоимости инференса.
  • GELAN: Эта архитектурная конструкция оптимизирует эффективность параметров, позволяя модели достигать более высокой точности с меньшими вычислительными ресурсами (FLOPs) по сравнению с обычными магистральными сетями, использующими depth-wise convolution.

Вы знали?

Метод PGI в YOLOv9 решает проблему информационного узкого места, которая ранее требовала громоздких методов глубокого контроля. Это приводит к созданию моделей, которые одновременно легче и точнее, что значительно улучшает баланс производительности.

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

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

Потенциальным соображением является то, что самые крупные варианты (YOLOv9-E) требуют значительных ресурсов GPU для обучения. Однако объем памяти, занимаемой при выводе, остается конкурентоспособным, что позволяет избежать высоких затрат, связанных с моделями на основе трансформеров.

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

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

При прямом сравнении YOLOv9 демонстрирует превосходную эффективность. Например, модель YOLOv9-C достигает более высокого mAP (53,0%), чем PP-YOLOE+l (52,9%), при этом используя примерно вдвое меньше параметров (25,3M против 52,2M). Это значительное уменьшение размера модели без ущерба для точности подчеркивает эффективность архитектуры GELAN.

Модельразмер
(пиксели)
mAPval
50-95
Скорость
CPU ONNX
(мс)
Скорость
T4 TensorRT10
(мс)
параметры
(M)
FLOPs
(B)
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
YOLOv9t64038.3-2.32.07.7
YOLOv9s64046.8-3.547.126.4
YOLOv9m64051.4-6.4320.076.3
YOLOv9c64053.0-7.1625.3102.1
YOLOv9e64055.6-16.7757.3189.0

Таблица показывает, что для достижения аналогичных целей по точности YOLOv9 постоянно требует меньше вычислительных ресурсов. Модель YOLOv9-E продвигает возможности еще дальше, достигая 55,6% mAP, что является явным преимуществом перед самым большим вариантом PP-YOLOE+.

Преимущество Ultralytics

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

Оптимизированный пользовательский опыт

Ultralytics уделяет первостепенное внимание удобству для разработчиков. В отличие от сложных файлов конфигурации, которые часто требуются PaddleDetection, модели Ultralytics можно загружать, обучать и развертывать всего несколькими строками кода на python. Это значительно снижает порог вхождения для инженеров и исследователей.

Универсальность и экосистема

Ultralytics поддерживает широкий спектр задач, помимо простого detect, включая сегментацию экземпляров, оценку позы и detect ориентированных ограничивающих рамок (obb). Эта универсальность позволяет разработчикам решать разнообразные задачи, используя единый унифицированный API. Кроме того, активное сообщество и частые обновления гарантируют, что пользователи имеют доступ к последним оптимизациям и интеграциям с такими инструментами, как TensorBoard и MLflow.

Пример кода: Использование YOLOv9

В следующем примере демонстрируется, как легко можно запустить inference с YOLOv9, используя Ultralytics Python API. Эта простота контрастирует с более сложной настройкой, часто необходимой для PP-YOLOE+.

from ultralytics import YOLO

# Load a pre-trained YOLOv9 model
model = YOLO("yolov9c.pt")

# Run inference on an image
results = model("path/to/image.jpg")

# Display results
results[0].show()

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

  • PP-YOLOE+: Лучше всего подходит для команд, уже глубоко интегрированных в экосистему Baidu/PaddlePaddle, или для конкретных устаревших промышленных приложений в регионах, где доминирует поддержка оборудования PaddlePaddle.
  • YOLOv9: Идеально подходит для приложений, требующих высочайшего соотношения точности и эффективности, таких как автономные транспортные средства, видеоаналитика в реальном времени и периферийное развертывание, где требования к памяти и хранилищу являются ограничениями.

Заключение и рекомендации

Для большинства разработчиков и организаций YOLOv9 представляет собой превосходный выбор благодаря своей современной архитектуре (GELAN/PGI), превосходной эффективности параметров и надежной поддержке экосистемы Ultralytics. Он предлагает перспективное решение с легкодоступными предварительно обученными весами и возможностями простой экспорта.

Если вы ищете еще большую универсальность и скорость, мы также рекомендуем изучить YOLO11 — последнюю итерацию в серии YOLO. YOLO11 еще больше улучшает баланс между производительностью и задержкой, предлагая самые современные возможности для задач detect, segment и классификации в компактном пакете.

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


Комментарии