YOLOv9 против PP-YOLOE+: Технический глубокий анализ современных систем обнаружения объектов
Ландшафт систем обнаружения объектов в реальном времени продолжает стремительно развиваться, предлагая инженерам по компьютерному зрению широкий выбор моделей для развертывания на периферийных (edge) устройствах и в облачной инфраструктуре. Двумя заметными моделями в этой области являются YOLOv9 и PP-YOLOE+. Хотя обе они расширяют границы точности и скорости, они происходят из разных исследовательских направлений и программных экосистем.
Это всестороннее техническое сравнение изучает их архитектуры, методологии обучения, метрики производительности и идеальные сценарии использования в реальном мире. Мы также рассмотрим, как более широкая экосистема Ultralytics дает значительные преимущества разработчикам, которые ценят простоту использования, эффективность памяти и универсальность развертывания.
Происхождение моделей и технические характеристики
Понимание истории создания этих моделей помогает контекстуализировать принятые в них архитектурные решения и зависимости от фреймворков.
YOLOv9: решение проблемы информационного «бутылочного горлышка»
Представленная в начале 2024 года, YOLOv9 решает проблему потери данных, возникающую при прохождении информации через глубокие нейронные сети. Это высокооптимизированная сверточная нейронная сеть, разработанная для максимальной эффективности параметров.
- Авторы: Chien-Yao Wang, Hong-Yuan Mark Liao
- Организация: Institute of Information Science, Academia Sinica, Тайвань
- Дата: 21 февраля 2024 г.
- Arxiv: 2402.13616
- GitHub: WongKinYiu/yolov9
- Документация: Документация Ultralytics YOLOv9
PP-YOLOE+: Развитие экосистемы Paddle
Выпущенная компанией Baidu в 2022 году, PP-YOLOE+ является итеративным улучшением PP-YOLOv2. Она использует парадигму без анкоров (anchor-free) и внедряет стратегию динамического назначения меток для улучшения сходимости и точности в фреймворке 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, обеспечивая конкурентоспособную скорость вывода на GPU 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), что значительно упрощает развертывание. Благодаря удалению DFL (Distribution Focal Loss удален для упрощения экспорта и лучшей совместимости с периферийными/маломощными устройствами), она обеспечивает до 43% более быстрый вывод на CPU для периферийных вычислений. Работая на оптимизаторе MuSGD, она гарантирует стабильное обучение и быструю сходимость. Кроме того, ProgLoss + STAL предоставляет улучшенные функции потерь с заметными успехами в распознавании мелких объектов, что критично для IoT, робототехники и аэрофотосъемки.
Универсальность и поддержка задач
Современные проекты в области компьютерного зрения редко ограничиваются простыми ограничивающими рамками (bounding boxes).
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, гарантируя, что у тебя всегда есть доступ к оптимальной модели для твоих конкретных требований к развертыванию.