YOLOv9 vs. PP-YOLOE+: Техническое сравнение
Выбор оптимальной архитектуры для detectирования объектов является ключевым решением для инженеров в области компьютерного зрения, балансирующим между необходимостью высокой точности и вычислительными ограничениями. В этом всеобъемлющем руководстве сравниваются YOLOv9, современная модель, представляющая новые методы градиентной информации, и PP-YOLOE+, надежный детектор, оптимизированный для фреймворка PaddlePaddle. Мы анализируем их архитектурные инновации, эталонную производительность и пригодность для развертывания, чтобы помочь вам определить наилучшее решение для ваших приложений компьютерного зрения.
YOLOv9: Программируемая градиентная информация для расширенного обучения
YOLOv9 представляет собой значительный скачок в эволюции детекторов объектов реального времени. Выпущенная в начале 2024 года, она решает фундаментальные проблемы, связанные с потерей информации в глубоких нейронных сетях, устанавливая новые стандарты точности и эффективности параметров.
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/
Архитектура представляет две новаторские концепции: Programmable Gradient Information (PGI) и Generalized Efficient Layer Aggregation Network (GELAN). По мере углубления сетей данные, необходимые для вычисления функции потерь, могут быть потеряны — это явление известно как информационное узкое место. PGI решает эту проблему, генерируя надежные градиенты через вспомогательную обратимую ветвь, гарантируя, что глубокие признаки сохраняют критическую информацию. Параллельно GELAN оптимизирует использование параметров, позволяя модели достигать превосходной точности с меньшими вычислительными ресурсами по сравнению с архитектурами, основанными на depth-wise свертках.
Интегрированная в экосистему Ultralytics, YOLOv9 выигрывает от ориентированного на пользователя дизайна, который упрощает сложные рабочие процессы. Разработчики могут использовать унифицированный Python API для обучения, валидации и развертывания, что значительно сокращает время от прототипа до производства. Эта интеграция также обеспечивает совместимость с широким спектром наборов данных и форматов экспорта.
PP-YOLOE+: Высокая точность в экосистеме PaddlePaddle
PP-YOLOE+ - это усовершенствованная версия PP-YOLOE, разработанная компанией Baidu в рамках пакета PaddleDetection. Она специально разработана для эффективной работы на PaddlePaddle обеспечивая оптимальный баланс скорости и точности для промышленных приложений.
Авторы: Авторы PaddlePaddle
Организация: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, устраняя необходимость в предопределенных anchor boxes, что упрощает процесс настройки гиперпараметров. В качестве бэкбона обычно используется CSPRepResNet, и он имеет уникальную структуру head, основанную на Task Alignment Learning (TAL). Этот подход согласовывает задачи классификации и локализации для повышения качества результатов detect. Несмотря на свои широкие возможности, PP-YOLOE+ тесно связан с экосистемой PaddlePaddle, что может создать трудности в обучении для команд, стандартизированных на PyTorch или TensorFlow.
Зависимость от экосистемы
В то время как PP-YOLOE+ предлагает конкурентоспособную производительность, его зависимость от фреймворка PaddlePaddle может ограничить совместимость с более широким спектром инструментов и библиотек на основе PyTorch, обычно используемых в западном исследовательском сообществе.
Анализ производительности: скорость, точность и эффективность
При сравнении этих двух архитектур YOLOv9 демонстрирует явное преимущество как в эффективности параметров, так и в пиковой точности. Интеграция GELAN позволяет YOLOv9 более эффективно обрабатывать визуальные данные, что приводит к более высоким показателям средней точности (mAP) на наборе данных COCO, при этом часто сохраняя более низкую задержку.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
Основные выводы
- Эффективность параметров: Модель YOLOv9-T достигает сопоставимой производительности с более крупными моделями, используя всего 2.0M параметров, что значительно меньше, чем у варианта PP-YOLOE+t с 4.85M. Это делает YOLOv9 особенно подходящим для edge AI устройств с ограниченным объемом памяти.
- Пиковая точность:YOLOv9-E достигает замечательного 55,6% mAP, превосходя самую большую модель PP-YOLOE+x (54,7% mAP), несмотря на использование примерно на 40% меньшего количества параметров (57,3 млн против 98,42 млн). Это подчеркивает архитектурное превосходство GELAN в максимизации возможностей извлечения признаков.
- Скорость инференса: В то время как PP-YOLOE+s демонстрирует небольшое преимущество в чистой задержке на GPU T4, модели YOLOv9 обычно предлагают лучший компромисс, обеспечивая значительно более высокую точность при аналогичных вычислительных затратах. Например, YOLOv9-C превосходит PP-YOLOE+l по точности (53,0% против 52,9%), будучи при этом быстрее (7,16 мс против 8,36 мс) и легче.
Методология обучения и простота использования
Опыт разработчиков существенно различается между двумя моделями, в первую очередь из-за их базовых фреймворков и поддержки экосистемы.
Преимущества экосистемы Ultralytics
Выбор YOLOv9 через Ultralytics предоставляет доступ к полному набору инструментов, предназначенных для оптимизации жизненного цикла машинного обучения.
- Простой API: Обучение модели требует всего несколько строк кода, абстрагируясь от сложного шаблонного кода.
- Эффективность использования памяти: Модели Ultralytics YOLO оптимизированы для снижения использования памяти во время обучения по сравнению с архитектурами на основе transformer, что позволяет использовать большие размеры пакетов на оборудовании потребительского класса.
- Универсальность: Помимо detect, фреймворк Ultralytics поддерживает instance segmentation, pose estimation и classification, предлагая унифицированный интерфейс для различных задач.
- Efficient Training: Благодаря расширенной аугментации данных и легкодоступным предварительно обученным весам разработчики могут быстрее достичь сходимости, экономя ценные часы GPU.
Оптимизированный рабочий процесс с Ultralytics
Вы можете загрузить, обучить и проверить модель YOLOv9 всего в несколько строк кода на Python, используя надежный движок Ultralytics для автоматической настройки гиперпараметров и отслеживания экспериментов.
from ultralytics import YOLO
# Load a pre-trained YOLOv9 model
model = YOLO("yolov9c.pt")
# Train the model on a custom dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Validate the model's performance
metrics = model.val()
Среда PaddlePaddle
PP-YOLOE+ требует библиотеку PaddleDetection. Будучи мощной, она требует знакомства с экосистемой Baidu. Настройка среды, преобразование наборов данных в требуемый формат и экспорт моделей для развертывания могут быть более сложными для пользователей, еще не встроенных в инфраструктуру PaddlePaddle.
Идеальные варианты использования
Понимание сильных сторон каждой модели помогает в выборе правильного инструмента для конкретных реальных приложений.
Когда следует выбирать YOLOv9
- Автономные системы: Для самоуправляемых автомобилей и робототехники, где максимальная точность имеет решающее значение для безопасности, превосходный mAP YOLOv9-E обеспечивает необходимую надежность.
- Развертывание на периферии: Облегченная YOLOv9-T идеально подходит для развертывания на устройствах Raspberry Pi или NVIDIA Jetson для таких задач, как подсчет людей или аналитика для умной розничной торговли.
- Исследования и разработки: Хорошо поддерживаемая экосистема и поддержка PyTorch делают его идеальным для исследователей, создающих прототипы новых решений в области компьютерного зрения или интегрирующих возможности object tracking.
- Среды с ограниченными ресурсами: Приложения, требующие высокой производительности с ограниченным VRAM, выигрывают от эффективной архитектуры YOLOv9 и меньшего объема занимаемой памяти.
Когда следует выбирать PP-YOLOE+
- Пользователи PaddlePaddle: Для организаций, уже использующих инфраструктуру Baidu, PP-YOLOE+ предлагает простую интеграцию и встроенную оптимизацию.
- Промышленный контроль (Китай): Благодаря широкому распространению на азиатском рынке, ее часто можно встретить в производственных конвейерах, использующих определенное оборудование для инференса Paddle.
Заключение
В то время как обе модели являются грозными соперниками в ландшафте object detection, YOLOv9 становится превосходным выбором для большинства мировых разработчиков и предприятий. Его инновационное использование Programmable Gradient Information (PGI) обеспечивает современную точность с замечательной эффективностью, превосходя PP-YOLOE+ по ключевым показателям при использовании значительно меньшего количества параметров.
Кроме того, экосистема Ultralytics поднимает YOLOv9 на новый уровень, обеспечивая непревзойденную простоту использования, обширную документацию и активное сообщество. Независимо от того, создаете ли вы системы охранной сигнализации, анализируете медицинские изображения или разрабатываете инфраструктуру умного города, YOLOv9 предлагает баланс производительности и универсальности, необходимый для достижения успеха.
Другие модели для рассмотрения
Если вы изучаете самые современные решения в области vision AI, обратите внимание на эти другие мощные модели от Ultralytics:
- YOLO11: Последняя эволюция в серии YOLO, обеспечивающая еще более высокую скорость и точность для передовых приложений.
- YOLOv8: Универсальный отраслевой стандарт, поддерживающий задачи detection, segment, pose и OBB.
- RT-DETR: Детектор на основе transformer в реальном времени, который превосходит по точности, предлагая альтернативу архитектурам на основе CNN.