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+
Сравнение архитектур#
Программируемая информация о градиентах и CSPRepResStage#
Ключевая инновация YOLOv9 — программируемая информация о градиентах (PGI). PGI служит вспомогательной схемой обучения, которая гарантирует сохранение важной информации о градиентах и ее точную передачу в неглубокие слои во время обучения. Эту схему дополняет обобщенная эффективная сеть агрегации слоев (GELAN), объединяющая сильные стороны CSPNet и ELAN. Она обеспечивает высокую точность и существенно снижает вычислительную стоимость (FLOPs).
PP-YOLOE+ использует специализированную базовую сеть CSPRepResStage. Для ускорения инференса модель применяет методы репараметризации, похожие на используемые в RepVGG: при развертывании слои свертки объединяются. Кроме того, модель использует голову Efficient Task-aligned (ET-head), которая уравновешивает задачи классификации и регрессии.
Хотя PP-YOLOE+ отличается высокой надежностью, архитектура GELAN в YOLOv9 обычно требует меньше памяти как при обучении, так и при инференсе, что делает ее особенно подходящей для периферийных устройств ИИ.
Сравнение производительности#
При оценке моделей для промышленной эксплуатации критически важно учитывать компромисс между mAP (средней средней точностью), скоростью инференса и размером модели.
| Модель | размер (пиксели) | 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.2 | 26.7 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.1 | 76.8 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.5 | 102.8 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 58.1 | 192.5 |
| 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.5M параметров, тогда как PP-YOLOE+l требуется более чем вдвое больше параметров (52.2M), чтобы получить немного меньший показатель 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
# Загрузи предобученную модель YOLOv9
model = YOLO("yolov9c.pt")
# Без труда обучи модель на пользовательском датасете
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device=0)
# Выполни инференс и визуализируй результаты
results = model("https://ultralytics.com/images/bus.jpg")
# Экспортируй модель в ONNX для развёртывания в production
model.export(format="onnx")Этот рабочий процесс демонстрирует высокую эффективность обучения моделей Ultralytics. Поддержка аугментации данных, распределенного обучения и автоматического логирования на такие платформы, как Weights & Biases и MLflow, входит в стандартную комплектацию.
YOLOv9 обеспечивает исключительную производительность, но для новых проектов мы настоятельно рекомендуем рассмотреть недавно выпущенную Ultralytics YOLO26. В YOLO26 реализована нативная сквозная архитектура без NMS (дополнительная функция, доступная через nms=False), которая значительно упрощает развертывание. Отказ от DFL (Distribution Focal Loss) упрощает экспорт и улучшает совместимость с периферийными устройствами и устройствами с низким энергопотреблением. Благодаря этому инференс на CPU выполняется до 43% быстрее, что особенно полезно для периферийных вычислений. Оптимизатор MuSGD обеспечивает стабильное обучение и быструю сходимость. Кроме того, ProgLoss + STAL улучшает функции потерь и заметно повышает точность распознавания небольших объектов, что критически важно для Интернета вещей, робототехники и аэрофотосъемки.
Универсальность и поддержка задач#
Современные проекты в сфере компьютерного зрения редко ограничиваются простым обнаружением ограничивающих рамок.
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. Так ты всегда сможешь выбрать модель, которая лучше всего подходит для требований к развертыванию.