YOLO11 и PP-YOLOE+#
Выбор правильной архитектуры нейронной сети критически важен при развертывании приложений компьютерного зрения в производственной среде. В этом сравнении рассматриваются две известные модели обнаружения объектов в реальном времени — Ultralytics YOLO11 и PP-YOLOE+ от Baidu. Обе модели показывают хорошие результаты, но существенно различаются подходами к точности, скорости инференса и экосистеме для разработчиков.
На интерактивном графике ниже показан компромисс между скоростью и точностью обеих моделей, чтобы ты мог определить, какая из них лучше подходит под ограничения твоего оборудования.
Происхождение моделей и история их развития#
Понимание происхождения этих моделей и принципов их разработки даёт ценное представление об их сильных сторонах и оптимальных сценариях применения.
Подробнее о YOLO11#
Разработанная Ultralytics, YOLO11 совершенствует серию YOLO, сочетая быстрый инференс, эффективное использование параметров и простоту применения. Модель известна поддержкой нескольких задач в единой системе и удобным для разработчиков Python API.
- Авторы: Glenn Jocher и Jing Qiu
- Организация: Ultralytics
- Дата: 2024-09-27
- GitHub: https://github.com/ultralytics/ultralytics
- Документация: Документация YOLO11
Подробнее о PP-YOLOE+#
PP-YOLOE+ — улучшенная версия PP-YOLOE, созданная на основе PP-YOLOv2 и построенная на фреймворке PaddlePaddle. В ней используются такие архитектурные изменения, как backbone CSPRepResNet и Task Alignment Learning (TAL), которые повышают точность, особенно на мощных GPU.
- Авторы: авторы PaddlePaddle
- Организация: Baidu
- Дата: 2022-04-02
- arXiv: https://arxiv.org/abs/2203.16250
- GitHub: https://github.com/PaddlePaddle/PaddleDetection/
- Документация: Документация по настройке PP-YOLOE+
Архитектурные различия#
Архитектуры YOLO11 и PP-YOLOE+ отражают разные приоритеты проектирования.
YOLO11 сочетает эффективный backbone с безъякорной головой обнаружения. В модели используются блоки C3k2 и Spatial Pyramid Pooling - Fast (SPPF), позволяющие извлекать признаки разных масштабов с минимальными вычислительными затратами. Это помогает уменьшить задержку инференса на устройствах с ограниченными ресурсами, например периферийных NPU и мобильных CPU. YOLO11 также из коробки поддерживает сегментацию экземпляров, классификацию изображений, оценку позы и обнаружение ориентированных ограничивающих рамок (OBB).
PP-YOLOE+ использует backbone CSPRepResNet, neck CSPPAN и голову Efficient Task-aligned (ET-head). Во время обучения модель применяет перепараметризацию для увеличения выразительной способности, а затем объединяет эти параметры в стандартные свёртки для инференса. Это обеспечивает высокое среднее значение точности (mAP), но у крупных вариантов больше параметров, чем у соответствующих вариантов YOLO11 (52.2M против 25.3M для размера L), поэтому они лучше подходят для серверных GPU, чем для лёгких периферийных устройств.
Если в твоём проекте нужно выйти за рамки стандартных ограничивающих рамок, Ultralytics YOLO11 обеспечивает встроенную поддержку сегментации, классификации, оценки позы и обнаружения OBB в рамках одного API. Это сокращает трудозатраты на разработку по сравнению с интеграцией нескольких отдельных репозиториев.
Производительность и тесты#
В таблице ниже сравниваются точность (mAP), скорость инференса на разных аппаратных платформах и эффективность моделей (количество параметров и FLOPs); лучшее значение в каждом столбце выделено полужирным.
| Модель | размер (пиксели) | mAPval50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLO11n | 640 | 39.5 | 56.1 | 1.5 | 2.6 | 6.5 |
| YOLO11s | 640 | 47.0 | 90.0 | 2.5 | 9.4 | 21.6 |
| YOLO11m | 640 | 51.5 | 183.2 | 4.7 | 20.1 | 68.1 |
| YOLO11l | 640 | 53.4 | 238.6 | 6.2 | 25.3 | 87.2 |
| YOLO11x | 640 | 54.7 | 462.8 | 11.3 | 56.9 | 195.3 |
| 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 |
Анализ#
YOLO11 обеспечивает лучший баланс производительности в большинстве размеров. YOLO11m показывает более высокий mAP, чем PP-YOLOE+m (51.5 против 49.8), при меньшем количестве параметров (20.1M против 23.43M) и более быстром инференсе TensorRT (4.7 мс против 5.56 мс). В самом крупном масштабе обе модели достигают 54.7 mAP, но YOLO11x работает быстрее (11.3 мс против 14.3 мс) и имеет значительно меньше параметров (56.9M против 98.42M). PP-YOLOE+ конкурентоспособна среди небольших моделей: PP-YOLOE+t немного опережает YOLO11n по mAP (39.9 против 39.5), но имеет большую задержку, а PP-YOLOE+s требует меньше параметров и FLOPs, чем YOLO11s, но уступает ей по точности. Меньшим моделям YOLO11 также требуется меньше памяти при обучении модели и развертывании.
Экосистема обучения и удобство использования#
Практическая ценность модели во многом зависит от того, насколько легко разработчики могут обучать её на собственных наборах данных для компьютерного зрения и развертывать в производственной среде.
Преимущества Ultralytics#
Ultralytics уделяет особое внимание удобству для разработчиков. YOLO11 обучается через простой Python API или CLI без сложного шаблонного кода, а Ultralytics Platform добавляет обучение без кода, управление наборами данных и экспорт в один клик в такие форматы, как ONNX, CoreML и TensorRT.
Модели YOLO также эффективно используют память во время обучения, не требуя большого объёма VRAM, как архитектуры на основе Transformer и более тяжёлые модели с перепараметризацией. Поэтому их можно обучать на потребительском оборудовании.
from ultralytics import YOLO
# Загрузи предварительно обученную модель YOLO11
model = YOLO("yolo11n.pt")
# Обучи модель на датасете COCO8
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Запустить инференс на изображении
results = model("https://ultralytics.com/images/bus.jpg")
results[0].show()Экосистема PP-YOLOE+#
PP-YOLOE+ работает в экосистеме PaddleDetection. Этот фреймворк мощный и тесно интегрирован с промышленными решениями Baidu, но разработчикам необходимо использовать специализированный фреймворк глубокого обучения PaddlePaddle. Для команд, уже стандартизировавших PyTorch, это может усложнить освоение. Экспорт моделей PP-YOLOE+ в распространённые периферийные форматы также может потребовать дополнительных шагов преобразования по сравнению со встроенным конвейером экспорта Ultralytics, который одной командой преобразует YOLO11 в ONNX, TensorRT и даже PaddlePaddle.
Оптимальные сценарии применения#
Выбор модели зависит от конкретной среды развёртывания.
- Выбирай YOLO11 для быстрой разработки, периферийных вычислений и мобильных приложений. Благодаря высокой скорости инференса, небольшому объёму занимаемой памяти и широким возможностям экспорта модель отлично подходит для таких задач, как управление запасами в рознице в режиме реального времени (retail inventory management) на обычных CPU, анализ аэрофотоснимков с дронов и сложные многозадачные конвейеры.
- Выбирай PP-YOLOE+, если твой производственный конвейер уже построен на экосистеме PaddlePaddle или если ты развертываешь модель на мощных выделенных серверах инференса, где ограничения по памяти и совместимость оборудования (за пределами оптимизированного для Paddle оборудования) не являются первоочередными факторами.
Следующее поколение: знакомься с YOLO26#
YOLO11 остаётся отличным вариантом, но для новых проектов Ultralytics рекомендует YOLO26. Выпущенная в январе 2026 года, YOLO26 превосходит предшественников и по эффективности, и по точности.
Ключевые новшества YOLO26:
- Сквозная архитектура без NMS: опциональная голова one-to-one в YOLO26 (
nms=False) пропускает постобработку методом подавления немаксимумов (NMS). Это снижает задержку и упрощает логику развертывания, развивая подход, впервые представленный в YOLOv10. - До 43% быстрее на CPU: YOLO26n работает на CPU до 43% быстрее, чем YOLO11n, что повышает производительность в реальном времени на периферийных устройствах без GPU.
- Оптимизатор MuSGD: этот гибрид SGD и Muon, вдохновлённый обучением больших языковых моделей (LLM), ускоряет сходимость и делает обучение стабильнее.
- ProgLoss + STAL: Progressive Loss и Small-Target-Aware Label Assignment (STAL) улучшают распознавание мелких объектов, что критически важно для приложений с дронами и охранного видеонаблюдения.
- Удаление DFL: удаление Distribution Focal Loss упрощает экспорт модели и повышает совместимость с широким спектром периферийных устройств.
Для новых проектов, в которых важны скорость, простой экспорт и точность, рекомендуется YOLO26. Обучать и развертывать её можно на Ultralytics Platform.
Если ты оцениваешь другие архитектуры, ознакомься со сравнением RT-DETR и YOLO11 или прочитай, как YOLO11 соотносится с YOLOv8, YOLOv9 и YOLOv10.