PP-YOLOE+ против YOLOv5: Обзор архитектур обнаружения объектов
При выборе подходящего фреймворка глубокого обучения для компьютерного зрения разработчики часто сравнивают возможности различных архитектур, чтобы найти идеальный баланс скорости, точности и простоты развертывания. В этом подробном анализе мы рассмотрим технические нюансы между PP-YOLOE+ и YOLOv5. Анализируя их архитектуры, метрики производительности и идеальные сценарии развертывания, вы сможете принять обоснованное решение для своего следующего проекта, будь то робототехника реального времени, развертывание на периферийных устройствах или облачная видеоаналитика.
Истоки модели и метаданные
Обе модели разработаны высококвалифицированными инженерными командами, но ориентированы на несколько разные экосистемы. Понимание их происхождения дает ценный контекст для выбора архитектурных решений.
Детали PP-YOLOE+:
- Авторы: PaddlePaddle Authors
- Организация: Baidu
- Дата: 2022-04-02
- arXiv: https://arxiv.org/abs/2203.16250
- GitHub: https://github.com/PaddlePaddle/PaddleDetection/
- Документация: README PaddleDetection
Подробности о YOLOv5:
- Автор: Гленн Джочер
- Организация: Ultralytics
- Дата: 26.06.2020
- GitHub: https://github.com/ultralytics/yolov5
- Документация: https://docs.ultralytics.com/models/yolov5/
Архитектурное сравнение
Архитектура PP-YOLOE+
PP-YOLOE+ — это эволюция в экосистеме Baidu, построенная на основе предыдущих моделей, таких как PP-YOLOv2. Он представляет сильно оптимизированный CSPRepResNet backbone, который улучшает извлечение признаков путем объединения принципов сетей Cross Stage Partial (CSP) с методами репараметризации. Это позволяет модели поддерживать высокую точность во время обучения, одновременно сворачиваясь в более обтекаемую архитектуру для более быстрого вывода.
Кроме того, PP-YOLOE+ использует обучение выравниванию задач (TAL) и эффективную голову с выравниванием задач (ET-head). Эта комбинация направлена на решение проблемы несоответствия между задачами классификации и локализации, что является распространенным узким местом в детекторах плотных объектов. Хотя архитектура впечатляет своей структурой, она тесно связана с фреймворком PaddlePaddle, что может создавать проблемы с интеграцией для команд, стандартизирующих работу с другими основными библиотеками машинного обучения.
Архитектура YOLOv5
В отличие от этого, YOLOv5 был изначально разработан в PyTorch, отраслевом стандарте как для академических исследований, так и для корпоративного производства. Он использует модифицированный бэкбон CSPDarknet53, известный своим исключительным потоком градиентов и эффективностью параметров.
Отличительной особенностью YOLOv5 является его алгоритм AutoAnchor, который динамически проверяет и корректирует размеры якорных боксов на основе вашего конкретного пользовательского набора данных до обучения. Это исключает ручную настройку гиперпараметров для ограничивающих рамок. Сеть агрегации путей (PANet) модели обеспечивает надежное слияние признаков в нескольких масштабах, что делает ее очень эффективной для обнаружения объектов различных размеров.
Оптимизированное развертывание PyTorch
Поскольку YOLOv5 построен непосредственно на PyTorch, экспорт в оптимизированные форматы, такие как ONNX и TensorRT, требует значительно меньше конфигурации промежуточного ПО, чем модели, привязанные к локализованным фреймворкам.
Анализ производительности
Оценка этих моделей требует рассмотрения компромисса между средней точностью (mAP) и задержкой. В следующей таблице представлены метрики для различных размеров моделей.
| Модель | размер (пиксели) | 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 |
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
Хотя PP-YOLOE+ достигает высококонкурентных показателей mAP на более крупных масштабах (например, вариант X), YOLOv5 обеспечивает превосходную скорость и меньшее количество параметров. в меньшей части спектра. YOLOv5 Nano (YOLOv5n) требует всего 2,6 миллиона параметров, что делает ее очень подходящей для ограниченных периферийных устройств со строгими требованиями к памяти. Кроме того, обучение моделей YOLO обычно потребляет меньше памяти CUDA по сравнению с тяжелыми альтернативами на основе трансформеров, такими как RT-DETR.
Преимущество Ultralytics
При выборе архитектуры необработанные метрики — это лишь часть уравнения. Опыт разработчиков, поддержка экосистемы и конвейеры развертывания часто определяют реальный успех проекта. Именно здесь модели Ultralytics проявляют себя наилучшим образом.
Непревзойденная простота использования
The Python API для Ultralytics абстрагирует сложный шаблонный код. Разработчики могут беспрепятственно инициировать обучение, проверять производительность и развертывать модели. Документация обширна, активно поддерживается и поддерживается огромным глобальным сообществом с открытым исходным кодом.
Универсальность в различных задачах
Хотя PP-YOLOE+ является специализированным детектором объектов, экосистема Ultralytics позволяет пользователям решать множество задач компьютерного зрения с помощью единого унифицированного API. С YOLOv5 и его преемниками вы можете легко переходить от стандартных ограничивающих рамок к сегментации изображений и рабочим процессам классификации.
Пример кода: Обучение YOLOv5
Начало работы требует всего нескольких строк кода. Эта простота значительно ускоряет циклы исследований и разработок.
from ultralytics import YOLO
# Load a pretrained YOLOv5 small model
model = YOLO("yolov5s.pt")
# Train the model on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run fast inference on an image
predictions = model("https://ultralytics.com/images/bus.jpg")
predictions[0].show()
Реальные примеры использования
Когда выбрать PP-YOLOE+: Если ваша организация глубоко интегрирована в программный стек Baidu или сильно зависит от специализированного оборудования, требующего фреймворка PaddlePaddle, PP-YOLOE+ демонстрирует высокую производительность. Он часто используется в специализированных производственных процессах в Азии, где существует устаревшая интеграция с PaddlePaddle.
Когда выбрать YOLOv5: Для подавляющего большинства международных разработчиков, исследователей и предприятий YOLOv5 остается мощным инструментом. Его корни в PyTorch означают мгновенную совместимость с такими инструментами, как Weights & Biases для track, и чистый экспорт в TensorRT для ускорения на NVIDIA GPU или в CoreML для устройств Apple. Он превосходит в различных областях, от мониторинга сельскохозяйственных культур до высокоскоростной навигации дронов.
Будущее обнаружения: Ultralytics YOLO26
Хотя YOLOv5 является культовой моделью, рубежи компьютерного зрения продвинулись. Для всех новых разработок мы настоятельно рекомендуем перейти на YOLO26, выпущенную в январе 2026 года. Доступная без проблем через платформу Ultralytics, YOLO26 полностью переопределяет эффективность.
Ключевые нововведения в YOLO26:
- Сквозная архитектура без NMS: YOLO26 полностью исключает постобработку Non-Maximum Suppression. Это значительно снижает изменчивость задержки и кардинально упрощает конвейер развертывания.
- До 43% более быстрая инференция на CPU: За счет стратегического удаления Distribution Focal Loss (DFL), YOLO26 значительно увеличивает скорость на периферийных устройствах без GPU.
- Оптимизатор MuSGD: Вдохновленный передовыми большими языковыми моделями, этот гибридный оптимизатор стабилизирует динамику обучения и обеспечивает значительно более быструю сходимость на пользовательских наборах данных.
- Специализированные улучшения: Включает передовые функции потерь, такие как ProgLoss и STAL, обеспечивая беспрецедентную точность на мелких объектах. Нативно поддерживает обнаружение ориентированных ограничивающих рамок (OBB) для аэрофотоснимков.
Если вы изучаете современные модели компьютерного зрения, вас также может заинтересовать сравнение YOLO11 предыдущего поколения или подходов на основе трансформеров, таких как RT-DETR. В конечном итоге, надежная экосистема в сочетании с передовыми архитектурными достижениями делает Ultralytics лучшим выбором для современных задач компьютерного зрения.