PP-YOLOE+ против YOLOv9: техническое сравнение
Выбор оптимальной архитектуры для проектов компьютерного зрения требует навигации по ландшафту быстро развивающихся моделей. На этой странице представлено подробное техническое сравнение PP-YOLOE+ от Baidu и YOLOv9двух сложных одноступенчатых детекторов объектов. Мы анализируем их архитектурные инновации, показатели производительности и интеграцию в экосистему, чтобы помочь вам принять взвешенное решение. Хотя обе модели демонстрируют высокие возможности, они представляют разные философии проектирования и зависимости от фреймворка.
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
Docs:PaddleDetection PP-YOLOE+ README
Архитектура и ключевые особенности
PP-YOLOE+ работает как одноэтапный детектор без якорей. Он построен на основе CSPRepResNet и использует стратегию Task Alignment Learning (TAL) для улучшения согласования между задачами классификации и локализации. Ключевой особенностью является эффективная головка выравнивания задач (ET-Head), которая снижает вычислительные затраты при сохранении точности. Модель использует функцию Varifocal Loss для обработки дисбаланса классов во время обучения.
Сильные и слабые стороны
Основная сила PP-YOLOE+ заключается в его оптимизации для аппаратного и программного стека Baidu. Она предлагает масштабируемые модели (s, m, l, x), которые хорошо работают в стандартных бенчмарках для обнаружения объектов.
Однако его сильная зависимость от экосистемы PaddlePaddle представляет собой серьезное препятствие для более широкого сообщества ИИ, которое в основном отдает предпочтение PyTorch. Перенос существующих рабочих процессов PyTorch на PaddlePaddle может быть ресурсоемким. Кроме того, по сравнению с более новыми архитектурами, PP-YOLOE+ требует больше параметров для достижения аналогичной точности, что сказывается на хранении и памяти на устройствах с ограниченными возможностями.
YOLOv9: программируемая градиентная информация для улучшенного обучения
Ultralytics YOLOv9 представляет собой смену парадигмы в области обнаружения объектов в реальном времени, решая проблему "информационного узкого места", присущую глубоким нейронным сетям.
Авторы: Chien-Yao Wang и Hong-Yuan Mark Liao
Организация:Institute of Information Science, Academia Sinica, Taiwan
Дата: 2024-02-21
Arxiv:https://arxiv.org/abs/2402.13616
GitHub:https://github.com/WongKinYiu/yolov9
Документацияultralytics
Архитектура и ключевые особенности
YOLOv9 объединяет две новаторские концепции: Программируемая градиентная информация (PGI) и обобщенная эффективная сеть агрегирования слоев (GELAN).
- PGI: По мере углубления сети информация о входных данных часто теряется во время процесса фидфорвардинга. PGI обеспечивает вспомогательную ветвь наблюдения, которая гарантирует надежную генерацию градиента, позволяя модели "запоминать" важные особенности для задач отслеживания и обнаружения объектов без дополнительных затрат на вывод.
- GELAN: Этот архитектурный дизайн оптимизирует эффективность параметров, позволяя модели достигать более высокой точности при меньшем количестве вычислительных ресурсов (FLOPs) по сравнению с обычными магистралями, использующими свертку по глубине.
Знаете ли вы?
Метод PGI в YOLOv9 решает проблему узкого места в информации, которое раньше требовало громоздких методов глубокого наблюдения. В результате модели становятся одновременно более легкими и точными, что значительно улучшает баланс производительности.
Сильные и слабые стороны
YOLOv9 превосходит по эффективности обучения и использованию параметров. На наборе данныхCOCO она достигает самых современных результатов, превосходя предыдущие итерации по точности, сохраняя при этом скорость работы в реальном времени. Его интеграция в экосистему Ultralytics означает, что он пользуется преимуществами хорошо поддерживаемой экосистемы, включая простое развертывание с помощью режимов экспорта в такие форматы, как ONNX и TensorRT.
Потенциальным соображением является то, что самые большие вариантыYOLOv9) требуют значительных ресурсов GPU для обучения. Однако объем памяти для выводов остается конкурентоспособным, что позволяет избежать высоких затрат, связанных с моделями на основе трансформаторов.
Сравнительный анализ производительности
При прямом сравнении YOLOv9 демонстрирует более высокую эффективность. Например, модель YOLOv9 достигает более высокого 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+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 |
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.1 | 26.4 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.0 | 76.3 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.3 | 102.1 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 57.3 | 189.0 |
Из таблицы видно, что для достижения аналогичных целей по точности YOLOv9 постоянно требует меньше вычислительных ресурсов. Модель YOLOv9 еще больше расширяет границы, достигая 55,6 % mAP, что является явным преимуществом перед самым большим вариантом PP-YOLOE+.
Преимущество Ultralytics
Несмотря на то, что PP-YOLOE+ является способным детектором, выбор YOLOv9 через систему Ultralytics имеет явные преимущества в плане простоты использования и универсальности.
Оптимизированный пользовательский опыт
Приоритетом Ultralytics является удобство для разработчиков. В отличие от сложных конфигурационных файлов, которые часто требуются в PaddleDetection, модели Ultralytics можно загрузить, обучить и развернуть с помощью всего нескольких строк кода на Python . Это значительно снижает входной барьер для инженеров и исследователей.
Универсальность и экосистема
Ultralytics поддерживает широкий спектр задач, выходящих за рамки простого обнаружения, включая сегментацию экземпляров, оценку позы и обнаружение ориентированного ограничительного поля (OBB). Такая универсальность позволяет разработчикам решать различные задачи с помощью единого, унифицированного API. Кроме того, активное сообщество и частые обновления обеспечивают пользователям доступ к новейшим оптимизациям и интеграциям с такими инструментами, как TensorBoard и MLflow.
Пример кода: Использование YOLOv9
Следующий пример демонстрирует, как легко можно запустить вывод с помощью 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+: лучше всего подходит для команд, уже глубоко интегрированных в экосистему PaddlePaddle , или для специфических устаревших промышленных приложений в регионах, где аппаратная поддержка PaddlePaddle является доминирующей.
- YOLOv9: Идеально подходит для приложений, требующих высочайшего соотношения точности и эффективности, таких как автономные транспортные средства, видеоаналитика в реальном времени, а также пограничное развертывание, где требования к памяти и хранению данных являются ограничениями.
Заключение и рекомендации
Для большинства разработчиков и организаций YOLOv9 является лучшим выбором благодаря современной архитектуре (GELAN/PGI), превосходной эффективности параметров и надежной поддержке экосистемы Ultralytics . Это перспективное решение с легкодоступными предварительно обученными весами и возможностью беспрепятственного экспорта.
Если вам нужна еще большая универсальность и скорость, мы также рекомендуем обратить внимание на YOLO11последнюю итерацию серии YOLO . YOLO11 еще больше улучшает баланс между производительностью и задержкой, предлагая самые современные возможности для задач обнаружения, сегментации и классификации в компактном корпусе.
Для тех, кто заинтересован в проверенной рабочей лошадке, YOLOv8 остается очень надежным вариантом с обширными ресурсами сообщества и сторонними интеграциями.