PP-YOLOE+ против YOLOX#
Ландшафт computer vision претерпел значительные изменения благодаря быстрому развитию моделей детектирования объектов. Среди заметных вех на этом пути выделяются PP-YOLOE+ и YOLOX — две архитектуры, раздвинувшие границы производительности в реальном времени и точности. Понимание их архитектурных нюансов, компромиссов в производительности и идеальных сценариев развертывания имеет решающее значение для исследователей и разработчиков, создающих системы визуального распознавания нового поколения.
Происхождение и детали моделей#
Прежде чем погружаться в технические архитектуры, полезно рассмотреть происхождение обеих моделей в контексте. Каждая из них была разработана для решения конкретных узких мест в object detection под сильным влиянием поддерживающих их организаций.
Подробности PP-YOLOE+:
- Авторы: Авторы PaddlePaddle
- Организация: Baidu
- Дата: 02.04.2022
- Arxiv: https://arxiv.org/abs/2203.16250
- GitHub: https://github.com/PaddlePaddle/PaddleDetection/
- Документация: PaddleDetection PP-YOLOE+ README
Подробности YOLOX:
- Авторы: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li и Jian Sun
- Организация: Megvii
- Дата: 2021-07-18
- Arxiv: https://arxiv.org/abs/2107.08430
- GitHub: https://github.com/Megvii-BaseDetection/YOLOX
- Документация: YOLOX Official Documentation
Архитектурные инновации#
Основные различия между этими двумя детекторами заключаются в их подходе к извлечению признаков и прогнозированию BBox.
YOLOX произвел фурор в 2021 году, успешно адаптировав семейство YOLO к anchor-free дизайну. Убрав anchor boxes, YOLOX значительно сократил количество параметров проектирования и эвристической настройки, требуемых для пользовательских наборов данных. Кроме того, он представил разделенную голову (decoupled head), которая отделяет задачи классификации и локализации в разные нейронные пути. Это разделение разрешило внутренний конфликт между классификацией объекта и регрессией его пространственных координат, что привело к более быстрой сходимости во время обучения.
PP-YOLOE+, разработанная Baidu, глубоко оптимизирована для экосистемы PaddlePaddle. Она продолжает идеи своего предшественника, PP-YOLOv2, внедряя стратегию динамического назначения меток (TAL) и новый бэкбон под названием CSPRepResNet. Этот бэкбон использует структурную репараметризацию, позволяя модели извлекать выгоду из сложных многоветвевых архитектур во время обучения и легко переходить в быструю однопутевую сеть для инференса.
Структурная репараметризация позволяет модели обучаться с несколькими параллельными ветвями (улучшая градиентный поток), а затем математически свернуть эти ветви в один сверточный слой для развертывания, повышая скорость вывода без ущерба для точности.
Сравнение производительности и метрик#
При прямом сравнении этих моделей становится очевидно, что они служат немного разным целям в спектре производительности. PP-YOLOE+ обычно достигает более высокой абсолютной точности, в то время как YOLOX превосходит конкурента в предоставлении чрезвычайно легких вариантов, подходящих для сильно ограниченного оборудования.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (М) | FLOPs (Б) |
|---|---|---|---|---|---|---|
| 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 |
| YOLOXnano | 416 | 25.8 | - | - | 0.91 | 1.08 |
| YOLOXtiny | 416 | 32.8 | - | - | 5.06 | 6.45 |
| YOLOXs | 640 | 40.5 | - | 2.56 | 9.0 | 26.8 |
| YOLOXm | 640 | 46.9 | - | 5.43 | 25.3 | 73.8 |
| YOLOXl | 640 | 49.7 | - | 9.04 | 54.2 | 155.6 |
| YOLOXx | 640 | 51.1 | - | 16.1 | 99.1 | 281.9 |
Примечание: Значения с наилучшей производительностью в каждом соответствующем сегменте столбца выделены жирным шрифтом.
В то время как YOLOX предлагает версии nano и tiny, которые почти не занимают места на диске или памяти CUDA, PP-YOLOE+ отлично масштабируется до оборудования серверного уровня, что делает его надежным выбором для тяжелых промышленных приложений в экосистеме Baidu.
Применение в реальных условиях#
Выбор между этими фреймворками часто сводится к требованиям интеграции и целевому оборудованию.
В чем YOLOX превосходит#
Благодаря своей безъякорной природе и наличию вариантов для экстремальных периферийных устройств, YOLOX пользуется популярностью в robotics и при развертывании на микроконтроллерах. Ее простой конвейер постобработки позволяет проще переносить ее на специализированные аппаратные форматы NPU, такие как TensorRT и NCNN.
В чем превосходит PP-YOLOE+#
Для организаций, глубоко интегрированных в азиатские производственные хабы, использующие технологический стек Baidu, PP-YOLOE+ предоставляет предварительно оптимизированный путь к развертыванию. Она отлично проявляет себя в сценариях высокоточного quality inspection, выполняемых на мощных серверных стойках, где строгие ограничения реального времени допускают использование чуть более тяжелых весов модели.
Сценарии использования и рекомендации#
Выбор между PP-YOLOE+ и YOLOX зависит от требований твоего конкретного проекта, ограничений развертывания и предпочтений в отношении экосистемы.
Когда выбирать PP-YOLOE+#
PP-YOLOE+ — это сильный выбор в следующих случаях:
- Интеграция с экосистемой PaddlePaddle: Организации с существующей инфраструктурой, созданной на базе фреймворка и инструментов Baidu's PaddlePaddle.
- Развертывание на периферии с Paddle Lite: Развертывание на оборудовании с высокооптимизированными ядрами вывода, специально предназначенными для движка Paddle Lite или Paddle.
- Серверное обнаружение с высокой точностью: Сценарии, где приоритетом является максимальная точность обнаружения на мощных GPU-серверах, где зависимость от фреймворка не является проблемой.
Когда выбирать YOLOX#
YOLOX рекомендуется для:
- Исследований безъякорного обнаружения: академических исследований, использующих чистую безъякорную архитектуру YOLOX как базу для экспериментов с новыми головами детекции или функциями потерь.
- Сверхлегких Edge-устройств: развертывания на микроконтроллерах или устаревшем мобильном оборудовании, где критически важен чрезвычайно малый вес варианта YOLOX-Nano (0.91 млн параметров).
- Изучения назначения меток SimOTA: исследовательских проектов, анализирующих стратегии назначения меток на основе оптимального транспорта и их влияние на сходимость обучения.
Когда выбирать Ultralytics (YOLO26)#
Для большинства новых проектов Ultralytics YOLO26 предлагает наилучшее сочетание производительности и удобства для разработчика:
- Развертывания на периферии без NMS: приложений, требующих стабильного вывода с низкой задержкой без сложности постобработки подавления немаксимумов.
- Среды только с CPU: устройств без выделенного GPU-ускорения, где до 43% более быстрый вывод на CPU у YOLO26 дает решающее преимущество.
- Обнаружение малых объектов: Сложные сценарии, такие как aerial drone imagery или анализ с помощью IoT-сенсоров, где ProgLoss и STAL значительно повышают точность для крошечных объектов.
Преимущество Ultralytics: знакомься с YOLO26#
Хотя PP-YOLOE+ и YOLOX представляют собой отличные исследовательские вехи, современный ландшафт развертывания требует более целостного, удобного для разработчиков опыта с превосходной эффективностью. Именно здесь Ultralytics YOLO26 полностью переопределяет стандарт современного визуального ИИ.
Для команд, стремящихся перейти от изолированных исследовательских репозиториев к готовым к эксплуатации системам, Ultralytics предлагает надежную, хорошо поддерживаемую экосистему. Обучение модели больше не требует настройки сложных сред; это так же просто, как использование единого Python API.
Ключевые преимущества Ultralytics YOLO26 включают:
- End-to-End NMS-Free дизайн: В отличие от PP-YOLOE+ и YOLOX, которым требуется Non-Maximum Suppression (NMS) для фильтрации избыточных BBox, YOLO26 является нативно end-to-end решением. Это устраняет узкие места по задержке и радикально упрощает логику развертывания.
- Инференс на CPU быстрее до 43%: Стратегически удалив Distribution Focal Loss (DFL), YOLO26 достигает непревзойденной скорости инференса на оборудовании CPU, что делает ее намного превосходящей решения для edge computing и устройств с низким энергопотреблением.
- Оптимизатор MuSGD: Вдохновленный Kimi K2 от Moonshot AI, этот гибридный оптимизатор привносит стабильность обучения LLM в computer vision, обеспечивая гораздо более быструю сходимость и минимизируя требования к памяти на этапах обучения.
- ProgLoss + STAL: Эти продвинутые функции потерь обеспечивают заметные улучшения в распознавании мелких объектов — критически важная функция для drone operations и высокодетализированных аэрофотоснимков.
- Универсальность: В то время как PP-YOLOE+ и YOLOX сосредоточены исключительно на детектировании, YOLO26 легко справляется с instance segmentation, pose estimation и Oriented Bounding Boxes (OBB), используя точно такой же интуитивно понятный синтаксис.
Оптимизированное обучение с Ultralytics#
Эффективность использования памяти и скорость обучения моделей Ultralytics не имеют аналогов, полностью превосходя альтернативы на базе Transformer, которые требуют огромных затрат памяти CUDA. Ты можешь использовать мощь YOLO26 всего в нескольких строках кода:
from ultralytics import YOLO
# Load the highly efficient, end-to-end YOLO26 nano model
model = YOLO("yolo26n.pt")
# Train on a custom dataset with built-in auto-batching and MuSGD optimization
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Validate the model's performance
metrics = model.val()
# Export seamlessly to ONNX or TensorRT
model.export(format="engine")Для команд, ищущих решение без кода, Ultralytics Platform предоставляет облачное обучение, встроенную разметку датасетов и развертывание в один клик для всех твоих моделей YOLO.
Заключение#
И PP-YOLOE+, и YOLOX заслужили свои места в истории компьютерного зрения, предлагая высокую точность и легкие безъякорные конструкции соответственно. Тем не менее, для организаций, строящих будущее AI in agriculture, умных городов и розничной торговли, непрерывное сопровождение, простота использования и нативная архитектура без NMS делают Ultralytics YOLO26 бесспорным выбором.
Если ты изучаешь альтернативные архитектуры для конкретных бенчмарков, ты также можешь найти полезным сравнение более старой YOLO11 или вариантов на базе трансформеров, таких как RT-DETR, с помощью исчерпывающей документации Ultralytics. Переходя на унифицированную экосистему Ultralytics, разработчики экономят бесценное время и ресурсы, достигая при этом передовых результатов при любом развертывании на периферии или в облаке.