YOLOv9 против PP-YOLOE+#
Пейзаж систем обнаружения объектов в реальном времени продолжает стремительно развиваться, предлагая инженерам по компьютерному зрению широкий выбор вариантов развертывания высокоточных моделей на периферийной и облачной инфраструктуре. Две заметные модели в этой области — YOLOv9 и PP-YOLOE+. Хотя обе они расширяют границы точности и скорости, они происходят из разных исследовательских традиций и программных экосистем.
Это всестороннее техническое сравнение исследует их архитектуры, методологии обучения, показатели производительности и идеальные сценарии применения в реальном мире. Мы также рассмотрим, как более широкая экосистема Ultralytics предоставляет значительные преимущества разработчикам, для которых в приоритете простота использования, эффективность памяти и универсальность развертывания.
Происхождение моделей и технические характеристики#
Понимание истории этих моделей помогает контекстуализировать их архитектурные решения и зависимости от фреймворков.
YOLOv9: Решение проблемы информационного узкого места#
Представленная в начале 2024 года, YOLOv9 решает проблему потери данных, которая возникает при прохождении информации через глубокие нейронные сети. Это высоко оптимизированная сверточная нейронная сеть, разработанная для максимального повышения эффективности параметров.
- Авторы: Chien-Yao Wang, Hong-Yuan Mark Liao
- Организация: Институт информатики, Academia Sinica, Тайвань
- Дата: 21 февраля 2024 г.
- Arxiv: 2402.13616
- GitHub: WongKinYiu/yolov9
- Документация: Документация Ultralytics YOLOv9
PP-YOLOE+: Развитие экосистемы Paddle#
Выпущенная Baidu в 2022 году, PP-YOLOE+ представляет собой итеративное улучшение PP-YOLOv2. Она использует парадигму без привязки к якорям и вводит стратегию динамического назначения меток для повышения сходимости и точности в рамках фреймворка PaddlePaddle.
- Авторы: Авторы PaddlePaddle
- Организация: Baidu
- Дата: 2 апреля 2022 г.
- Arxiv: 2203.16250
- GitHub: PaddleDetection
- Документация: Конфигурация PP-YOLOE+
Архитектурное сравнение#
Programmable Gradient Information против CSPRepResStage#
Ключевая инновация в YOLOv9 — это программируемая информация о градиентах (Programmable Gradient Information, PGI). PGI выступает в качестве вспомогательного фреймворка контроля, гарантируя, что жизненно важная информация о градиентах сохраняется и точно распространяется обратно к неглубоким слоям во время обучения. Это сочетается с обобщенной сетью эффективной агрегации слоев (Generalized Efficient Layer Aggregation Network, GELAN), которая объединяет сильные стороны CSPNet и ELAN для обеспечения высокой точности при одновременном существенном снижении вычислительных затрат (FLOPs).
PP-YOLOE+ опирается на специализированный бэкбон под названием CSPRepResStage. Она использует методы репараметризации (аналогичные тем, что применяются в RepVGG) для ускорения инференса за счет слияния сверточных слоев при развертывании. Кроме того, она использует голову с эффективным выравниванием задач (Efficient Task-aligned head, ET-head) для балансировки задач классификации и регрессии.
Хотя PP-YOLOE+ надежна, архитектура GELAN в YOLOv9 обычно требует меньшего объема памяти как во время обучения, так и при инференсе, что делает ее исключительно хорошо подходящей для периферийных ИИ-устройств.
Сравнение производительности#
При оценке моделей для продакшена критически важен баланс между mAP (средней точностью), скоростью инференса и размером модели.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (М) | FLOPs (Б) |
|---|---|---|---|---|---|---|
| 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 достигает значительно более высокой эффективности. Например, YOLOv9c достигает mAP 53,0% при использовании всего 25,3 млн параметров, в то время как PP-YOLOE+l требует более чем вдвое больше параметров (52,2 млн) для достижения чуть более низкого mAP 52,9%. Это радикально снижает требования к памяти для YOLOv9.
- Скорость инференса: Модели YOLOv9 демонстрируют отличную оптимизацию для аппаратных ускорителей вроде TensorRT, обеспечивая конкурентную скорость инференса на графических процессорах NVIDIA T4, которая критически важна для инференса в реальном времени.
Методологии обучения и экосистема#
Выбор между этими моделями часто сводится к программной экосистеме.
PP-YOLOE+ и PaddlePaddle#
PP-YOLOE+ тесно связана с набором инструментов PaddleDetection. Несмотря на свою мощность, она требует от пользователей работы в перегруженной конфигурациями среде командной строки. Для команд, глубоко погруженных в экосистемы PyTorch или TensorFlow, переход на PaddlePaddle создает значительные трудности и более крутую кривую обучения.
Преимущество Ultralytics: оптимизированные рабочие процессы#
В отличие от этого, YOLOv9 работает в рамках тщательно проработанной экосистемы Ultralytics. Созданная для разработчиков и исследователей, Ultralytics ставит во главу угла исключительную простоту использования. Python API полностью абстрагирует сложный шаблонный код.
from ultralytics import YOLO
# Load a pre-trained YOLOv9 model
model = YOLO("yolov9c.pt")
# Train on a custom dataset effortlessly
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device=0)
# Run inference and visualize results
results = model("https://ultralytics.com/images/bus.jpg")
# Export to ONNX for production deployment
model.export(format="onnx")Этот рабочий процесс подчеркивает превосходную эффективность обучения моделей Ultralytics. В стандартную поставку входит нативная поддержка аугментации данных, распределенного обучения и автоматического логирования на таких платформах, как Weights & Biases или MLflow.
Хотя YOLOv9 предлагает исключительную производительность, мы настоятельно рекомендуем рассмотреть недавно выпущенную Ultralytics YOLO26 для новых проектов. YOLO26 отличается нативным дизайном без NMS от конца до конца (End-to-End NMS-Free Design), что существенно упрощает развертывание. Благодаря удалению DFL (Distribution Focal Loss удален для упрощенного экспорта и лучшей совместимости с периферийными/маломощными устройствами), она обеспечивает до 43% более быстрый инференс на CPU для периферийных вычислений. Работая на базе оптимизатора MuSGD, она гарантирует стабильное обучение и быструю сходимость. Кроме того, ProgLoss + STAL предоставляет улучшенные функции потерь с заметными улучшениями в распознавании мелких объектов, что критично для интернета вещей, робототехники и аэрофотосъемки.
Универсальность и поддержка задач#
Современные проекты по компьютерному зрению редко ограничиваются простыми ограничивающими рамками (BBox).
PP-YOLOE+ в основном разработана для стандартного обнаружения объектов. Адаптация её архитектуры для других задач требует обширной индивидуальной инженерной доработки.
С другой стороны, фреймворк Ultralytics — это многозадачный тяжеловес. Используя единый API, разработчики могут легко переключаться со стандартного обнаружения объектов на сложную сегментацию экземпляров, высокоточное оценивание позы, обнаружение с ориентированными ограничивающими рамками (OBB) для аэрофотосъемки и классификацию изображений. Эта непревзойденная универсальность — причина, по которой корпоративные команды стабильно выбирают модели Ultralytics вроде YOLOv9, YOLO11 и YOLO26.
Идеальные варианты использования и приложения#
- Аналитика умного города и управление трафиком: Высокая эффективность параметров и низкая задержка YOLOv9 (и последующей YOLO26) делают их идеальными для развертывания на ограниченном периферийном железе (например, на устройствах NVIDIA Jetson) с целью мониторинга потока транспорта и городской безопасности.
- Розничные системы инвентаризации: Для обнаружения плотных конфигураций мелких предметов на полках PGI в YOLOv9 эффективно сохраняет мелкозернистые пространственные детали, превосходя PP-YOLOE+ в задачах обнаружения мелких объектов.
- Устаревшие системы: PP-YOLOE+ остается жизнеспособным вариантом исключительно для команд, которым строго предписано использовать программный стек Baidu/PaddlePaddle в существующей устаревшей инфраструктуре.
Для исследователей, изучающих архитектуры на базе Transformer, Ultralytics также нативно поддерживает RT-DETR в рамках того же самого простого в использовании API, гарантируя, что у тебя всегда будет доступ к оптимальной модели под твои конкретные требования к развертыванию.