Сравнение YOLOv5 и PP-YOLOE+#
Выбор правильной архитектуры нейронной сети критически важен для любого современного проекта в области компьютерного зрения. Когда разработчики и исследователи оценивают модели для обнаружения объектов в реальном времени, решение часто сводится к поиску баланса между точностью, скоростью инференса и простотой развертывания. В этом техническом сравнении рассматриваются YOLOv5 и PP-YOLOE+, их архитектуры, показатели производительности и методики обучения, чтобы помочь тебе выбрать оптимальное решение для своего приложения.
Особенности архитектур#
Обе модели оказали значительное влияние на развитие ИИ для компьютерного зрения, но решают задачи обнаружения объектов с помощью различных структурных подходов и зависят от разных фреймворков.
Ultralytics YOLOv5: отраслевой стандарт#
Выпущенная в середине 2020 года Ultralytics YOLOv5 произвела революцию в доступности передовых моделей компьютерного зрения. Став первой нативной реализацией на PyTorch в семействе YOLO, она значительно снизила порог входа для Python-разработчиков и инженеров ML по всему миру.
Сведения о YOLOv5:
- Авторы: Glenn Jocher
- Организация: Ultralytics
- Дата: 2020-06-26
- GitHub: ultralytics/yolov5
- Документация: Документация YOLOv5
В YOLOv5 используется модифицированный backbone CSPDarknet, который эффективно извлекает богатые представления признаков, сохраняя при этом небольшое количество параметров. В модели появились якорные блоки с автоматическим обучением: их оптимальные размеры для пользовательских датасетов рассчитываются автоматически еще до начала обучения. Кроме того, интеграция мозаичной аугментации данных значительно повышает способность модели обнаруживать небольшие объекты и обобщать данные в сложных пространственных контекстах.
Одна из главных сильных сторон YOLOv5 — невероятная универсальность. В отличие от стандартных детекторов объектов, семейство YOLOv5 обеспечивает поддержку классификации изображений, сегментации экземпляров и обнаружения объектов по ограничивающим рамкам через единый API. Высокооптимизированная архитектура также обеспечивает значительно меньшее потребление памяти при обучении и инференсе по сравнению с ресурсоемкими сетями на базе Transformer.
PP-YOLOE+: конкурент на базе PaddlePaddle#
Выпущенная примерно двумя годами позже, модель PP-YOLOE+ развивает основу предыдущих итераций PP-YOLO. Она создана для демонстрации возможностей фреймворка глубокого обучения Baidu и содержит несколько архитектурных улучшений, повышающих среднюю точность.
Сведения о PP-YOLOE+:
- Авторы: авторы PaddlePaddle
- Организация: Baidu
- Дата: 2022-04-02
- Arxiv: 2203.16250
- GitHub: PaddlePaddle/PaddleDetection
- Документация: PP-YOLOE+ README
PP-YOLOE+ использует безъякорную парадигму и backbone CSPRepResNet. Для повышения точности в модели применяются мощная методика Task Alignment Learning и Efficient Task-aligned Head. Хотя PP-YOLOE+ обеспечивает впечатляющие показатели точности, ее главный недостаток заключается в строгой зависимости от фреймворка PaddlePaddle. Это часто создает высокий порог освоения и проблемы совместимости для исследовательских команд и предприятий, уже глубоко работающих с окружениями PyTorch или TensorFlow.
Производительность и бенчмарки#
При оценке этих моделей для промышленной эксплуатации крайне важно понимать компромиссы между точностью, скоростью инференса и объемом параметров. В таблице ниже представлены ключевые показатели производительности для вариантов разных размеров.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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+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 |
Хотя PP-YOLOE+ обеспечивает высокую точность, YOLOv5 стабильно демонстрирует более эффективное использование параметров и более быстрый инференс на устройствах с ограниченными ресурсами. Для периферийных развертываний с дефицитом памяти YOLOv5n предлагает непревзойденную скорость и чрезвычайно малый размер модели.
Модели Ultralytics специально разработаны для эффективного обучения. По сравнению с ресурсоемкими Transformer-моделями для компьютерного зрения, такими как RT-DETR, YOLOv5 использует значительно меньше памяти CUDA, позволяя тебе обучать модели на больших размерах батчей или на потребительском оборудовании.
Преимущества Ultralytics: экосистема и удобство использования#
Истинная ценность архитектуры машинного обучения выходит за рамки сухих чисел: она включает весь опыт разработчика. Платформа Ultralytics и соответствующие инструменты с открытым исходным кодом образуют высококачественную, хорошо поддерживаемую экосистему, которая значительно ускоряет циклы разработки.
- Простота использования: Ultralytics скрывает от тебя сложный шаблонный код. Ты можешь обучать, валидировать и тестировать модели через интуитивно понятный Python API или CLI.
- Гибкость развертывания: экспорт моделей выполняется невероятно просто. Одной командой ты можешь преобразовать веса обученной модели YOLOv5 в такие форматы, как ONNX, TensorRT или OpenVINO, обеспечив широкую совместимость с периферийными и облачными окружениями.
- Активное сообщество: активное сообщество обеспечивает регулярные обновления, подробную документацию и надежные решения распространенных задач компьютерного зрения.
В отличие от этого, PP-YOLOE+ в значительной степени зависит от сложных конфигурационных файлов, специфичных для PaddleDetection, что может замедлить быстрое прототипирование и усложнить интеграцию в современные MLOps-конвейеры.
Практическая реализация и примеры кода#
Начать работу с Ultralytics очень просто. Ниже приведен полный готовый к запуску пример загрузки предварительно обученной модели YOLOv5, ее обучения на пользовательском датасете и экспорта результатов:
from ultralytics import YOLO
# Load a pretrained YOLOv5 small model
model = YOLO("yolov5s.pt")
# Train the model on the COCO8 dataset for 50 epochs
train_results = model.train(data="coco8.yaml", epochs=50, imgsz=640)
# Run inference on a sample image
predict_results = model("https://ultralytics.com/images/bus.jpg")
# Export the optimized model to ONNX format
path = model.export(format="onnx")Варианты применения и рекомендации#
Выбор между YOLOv5 и PP-YOLOE+ зависит от конкретных требований твоего проекта, ограничений развертывания и предпочтений в отношении экосистемы.
Когда стоит выбрать YOLOv5#
YOLOv5 — отличный выбор для:
- Проверенных производственных систем: существующих развертываний, где важны длительная история стабильной работы YOLOv5, обширная документация и огромная поддержка сообщества.
- Обучения при ограниченных ресурсах: сред с ограниченными ресурсами GPU, где эффективный конвейер обучения YOLOv5 и более низкие требования к памяти дают преимущества.
- Широкой поддержки форматов экспорта: проектов, требующих развертывания во множестве форматов, включая ONNX, TensorRT, CoreML и TFLite.
Когда выбирать PP-YOLOE+#
PP-YOLOE+ рекомендуется для следующих случаев:
- Интеграция с экосистемой PaddlePaddle: Организации с существующей инфраструктурой, построенной на фреймворке и инструментах PaddlePaddle от Baidu.
- Развертывание на периферийных устройствах с Paddle Lite: Развертывание на оборудовании с высокооптимизированными ядрами инференса, специально предназначенными для Paddle Lite или механизма инференса Paddle.
- Высокоточное обнаружение на сервере: Сценарии, в которых приоритетом является максимальная точность обнаружения на мощных GPU-серверах, а зависимость от фреймворка не имеет значения.
Когда выбирать Ultralytics (YOLO26)#
Для большинства новых проектов Ultralytics YOLO26 предлагает лучшее сочетание производительности и удобства для разработчиков:
- Развертывания на периферийных устройствах без NMS: приложений, требующих стабильного вывода с низкой задержкой без сложной постобработки с подавлением немаксимумов.
- Сред без GPU: устройств без выделенного ускорения GPU, где до 43% более быстрый вывод YOLO26 на CPU дает решающее преимущество.
- Обнаружения мелких объектов: сложных сценариев, таких как аэрофотосъемка с дронов или анализ данных IoT-сенсоров, где ProgLoss и STAL значительно повышают точность обнаружения крошечных объектов.
Альтернативные передовые модели, которые стоит рассмотреть#
Хотя YOLOv5 — надежный и проверенный стандарт, область компьютерного зрения развивается стремительно. Командам, начинающим новые проекты, мы настоятельно рекомендуем изучить наши более новые архитектуры.
Ultralytics YOLO26#
Выпущенная в январе 2026 года, YOLO26 представляет собой абсолютную вершину наших исследований. Она обеспечивает значительное повышение точности и скорости. Ключевые инновации включают:
- Сквозная архитектура без NMS: развивая концепции YOLOv10, YOLO26 нативно устраняет постобработку подавления немаксимумов (NMS), сокращая задержку и упрощая логику развертывания.
- Удаление DFL: за счет исключения Distribution Focal Loss YOLO26 обеспечивает до 43% более быстрый инференс на CPU, что делает ее чрезвычайно эффективной для периферийных устройств с низким энергопотреблением.
- Оптимизатор MuSGD: этот гибрид SGD и Muon, созданный под влиянием передовых методов обучения LLM, обеспечивает исключительно стабильные циклы обучения и более быструю сходимость.
- ProgLoss + STAL: эти передовые функции потерь заметно улучшают распознавание небольших объектов, что критически важно для изображений с дронов и умного сельского хозяйства.
Также стоит рассмотреть YOLO11, которая обеспечивает отличную производительность и служит надежным связующим звеном между устаревшими системами и передовыми возможностями YOLO26.
Практические сценарии использования#
Выбор между YOLOv5 и PP-YOLOE+ в конечном счете зависит от среды развертывания и ограничений твоего проекта.
Идеальные сценарии применения YOLOv5: Минимальные требования к ресурсам и невероятная простота использования делают YOLOv5 главным выбором для периферийного искусственного интеллекта. YOLOv5 превосходно проявляет себя в приложениях, требующих высокой частоты кадров на ограниченном оборудовании, таких как робототехника реального времени, интеграция в мобильные приложения и многокамерные системы мониторинга трафика. Способность YOLOv5 справляться с сегментацией экземпляров и классификацией изображений в рамках одного фреймворка делает YOLOv5 исключительно универсальным.
Оптимальные применения PP-YOLOE+: PP-YOLOE+ лучше всего подходит для сценариев, в которых максимальная точность на статичных изображениях важнее ограничений обработки в реальном времени. Она используется в узкоспециализированных конвейерах промышленного контроля, особенно в азиатских производственных секторах с устоявшимися технологическими стеками, тесно связанными с экосистемой Baidu и PaddlePaddle.
Подводя итог, можно сказать, что PP-YOLOE+ обеспечивает высокие показатели точности, однако модели Ultralytics YOLO предлагают непревзойденное сочетание сбалансированной производительности, бесшовного развертывания и удобного для разработчиков дизайна, помогая успешно доводить проекты компьютерного зрения от идеи до промышленной эксплуатации.