PP-YOLOE+ против YOLOX#
На развитие компьютерного зрения повлияла стремительная эволюция моделей обнаружения объектов. Среди важных вех — PP-YOLOE+ и YOLOX, две архитектуры, повысившие производительность и точность обнаружения в реальном времени. Знание их архитектурных особенностей, компромиссов между характеристиками и наиболее подходящих сценариев развертывания помогает исследователям и разработчикам создавать более эффективные системы визуального распознавания.
Происхождение и характеристики моделей#
Прежде чем разбирать технические архитектуры, полезно понять происхождение обеих моделей. Каждая из них создавалась для решения определённых проблем в обнаружении объектов под влиянием организаций-разработчиков.
Подробности о PP-YOLOE+:
- Авторы: авторы PaddlePaddle
- Организация: Baidu
- Дата: 2022-04-02
- arXiv: https://arxiv.org/abs/2203.16250
- GitHub: https://github.com/PaddlePaddle/PaddleDetection/
- Документация: README PaddleDetection PP-YOLOE+
Подробнее о YOLOX:
- Авторы: Чжэн Гэ, Сунтао Лю, Фэн Ван, Цзэмин Ли и Цзянь Сунь
- Организация: Megvii
- Дата: 2021-07-18
- arXiv: https://arxiv.org/abs/2107.08430
- GitHub: https://github.com/Megvii-BaseDetection/YOLOX
- Документация: Официальная документация YOLOX
Архитектурные инновации#
Главные различия между этими двумя детекторами связаны с подходами к извлечению признаков и предсказанию ограничивающих рамок.
YOLOX привлекла широкое внимание в 2021 году, адаптировав семейство YOLO для безанкорной архитектуры. Отказ от анкерных рамок значительно сократил число настраиваемых параметров и объём эвристической настройки, необходимых для пользовательских наборов данных. В модели также появилась раздельная голова, разделяющая задачи классификации и локализации на отдельные нейронные пути. Благодаря такому разделению устранён конфликт между классификацией объекта и регрессией его пространственных координат, что ускорило сходимость при обучении.
PP-YOLOE+, разработанная Baidu, глубоко оптимизирована для экосистемы PaddlePaddle. Она развивает предшественников — PP-YOLOE и PP-YOLOv2 — за счёт динамической стратегии назначения меток (TAL) и новой архитектуры бэкбона CSPRepResNet. Этот бэкбон использует структурную перепараметризацию: во время обучения модель получает преимущества сложной многоветвевой архитектуры, а при выводе она сворачивается в быструю однонаправленную сеть.
Структурная репараметризация позволяет обучать модель с несколькими параллельными ветвями, улучшая распространение градиентов, а затем математически объединять эти ветви в один сверточный слой для развертывания. Это ускоряет инференс без потери точности.
Сравнение производительности и метрик#
Прямое сравнение этих моделей показывает, что они занимают несколько разные позиции в диапазоне производительности. PP-YOLOE+ обычно обеспечивает более высокую абсолютную mAP, а YOLOX предлагает очень лёгкие варианты для оборудования с серьёзными ограничениями.
| Модель | размер (пиксели) | 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 |
| 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 популярна в робототехнике и при развертывании на встраиваемых устройствах. Простой конвейер постобработки облегчает перенос модели в среды выполнения вывода, такие как TensorRT и NCNN.
В чем сильна PP-YOLOE+#
Производителям, уже использующим технологический стек Baidu, PP-YOLOE+ предлагает предварительно оптимизированный путь к развертыванию. Модель хорошо работает в сценариях контроля качества с высокими требованиями к точности на мощных серверных стойках, где более мягкие ограничения реального времени позволяют использовать несколько более тяжёлые модели.
Сценарии использования и рекомендации#
Выбирай между PP-YOLOE+ и YOLOX с учетом требований конкретного проекта, ограничений развертывания и предпочтительной экосистемы.
Когда выбирать PP-YOLOE+#
PP-YOLOE+ — хороший выбор для:
- Интеграция с экосистемой PaddlePaddle: Организации с готовой инфраструктурой на базе фреймворка и инструментов PaddlePaddle от Baidu.
- Развертывание на периферийных устройствах с Paddle Lite: Развертывание на оборудовании со специально оптимизированными ядрами инференса для Paddle Lite или движка инференса Paddle.
- Обнаружение объектов на сервере с высокой точностью: Сценарии, где приоритетом является максимальная точность обнаружения на мощных серверах с GPU, а зависимость от конкретного фреймворка не имеет значения.
Когда стоит выбрать YOLOX#
YOLOX подойдёт для следующих задач:
- Исследования обнаружения без якорей: Академические исследования, в которых чистая архитектура YOLOX без якорей используется как базовая модель для экспериментов с новыми головами обнаружения или функциями потерь.
- Сверхлёгкие периферийные устройства: Развертывание на маломощном встраиваемом или устаревшем мобильном оборудовании, где критически важен очень компактный вариант YOLOX-Nano (0.91M параметров).
- Исследования назначения меток SimOTA: Исследовательские проекты по изучению стратегий назначения меток на основе оптимального транспорта и их влияния на сходимость обучения.
Когда выбирать Ultralytics (YOLO26)#
Для большинства новых проектов Ultralytics YOLO26 предлагает оптимальное сочетание производительности и удобства разработки:
- Развертывание на периферийных устройствах без NMS: Приложения, которым необходим стабильный инференс с низкой задержкой без усложнения постобработки подавлением немаксимумов.
- Среды только с CPU: устройства без выделенного GPU-ускорителя, где инференс YOLO26 (YOLO26n по сравнению с YOLO11n) до 43% быстрее, что дает явное преимущество.
- Обнаружение небольших объектов: Сложные сценарии, например съёмка с дронов или анализ данных IoT-датчиков, где ProgLoss и STAL заметно повышают точность обнаружения крошечных объектов.
Преимущества Ultralytics: знакомство с YOLO26#
PP-YOLOE+ и YOLOX стали важными вехами исследований, однако для современного развертывания нужны более цельный, удобный для разработчиков процесс и повышенная эффективность. Здесь особенно выделяется Ultralytics YOLO26.
Для команд, которые хотят перейти от изолированных исследовательских репозиториев к готовым к эксплуатации системам, Ultralytics предлагает надёжную и хорошо поддерживаемую экосистему. Обучение модели больше не требует настройки сложных сред: достаточно обратиться к единому Python API.
Ключевые преимущества Ultralytics YOLO26:
- Сквозная архитектура без NMS: В отличие от PP-YOLOE+ и YOLOX, которым требуется подавление немаксимумов (NMS) для фильтрации повторяющихся ограничивающих рамок, YOLO26 предлагает изначально сквозную голову (
nms=False). Это устраняет узкие места, связанные с задержкой, и значительно упрощает логику развертывания. - До 43% более быстрый вывод на CPU: Отказ от распределённой фокальной функции потерь (DFL) позволяет YOLO26n выполнять вывод на CPU до 43% быстрее YOLO11n, что делает модель гораздо более подходящей для периферийных вычислений и устройств с низким энергопотреблением.
- Оптимизатор MuSGD: Этот гибридный оптимизатор, вдохновлённый обучением Kimi K2 от Moonshot AI, переносит стабильность обучения LLM в компьютерное зрение и ускоряет сходимость.
- ProgLoss + STAL: Прогрессивная функция потерь и стратегия назначения меток с учётом мелких объектов заметно повышают точность их распознавания — это важно для операций с дронами и детализированных аэрофотоснимков.
- Универсальность: PP-YOLOE+ и YOLOX предназначены только для обнаружения объектов, а YOLO26 с помощью одного и того же интуитивно понятного синтаксиса поддерживает сегментацию экземпляров, оценку позы и ориентированные ограничивающие рамки (OBB).
Упрощённое обучение с Ultralytics#
Модели Ultralytics экономно используют память и быстро обучаются, особенно по сравнению с трансформерными аналогами, которым требуется большой объём памяти CUDA. Обучить и экспортировать YOLO26 можно всего в несколько строк кода:
from ultralytics import YOLO
# Загрузи высокоэффективную сквозную нано-модель YOLO26
model = YOLO("yolo26n.pt")
# Обучи модель на примере датасета COCO8
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Проверка производительности модели
metrics = model.val()
# Экспортируй в ONNX или TensorRT
model.export(format="engine")Командам, которым нужно решение без кода, платформа Ultralytics предоставляет облачное обучение, встроенную разметку наборов данных и развёртывание одним нажатием для всех твоих моделей YOLO.
Заключение#
PP-YOLOE+ и YOLOX заслуженно вошли в историю компьютерного зрения: первая обеспечивает высокую точность, а вторая предлагает лёгкую безанкорную архитектуру. Однако организациям, создающим будущее ИИ в сельском хозяйстве, умных городов и розничной торговли, мы рекомендуем Ultralytics YOLO26 благодаря постоянной поддержке, простоте использования и изначально без-NMS-архитектуре.
Если ты изучаешь альтернативные архитектуры для конкретных бенчмарков, сравни предыдущее поколение YOLO11 или трансформерные решения, например RT-DETR, в документации Ultralytics. Переход на единую экосистему Ultralytics помогает разработчикам экономить время и ресурсы и добиваться высоких результатов при развертывании на периферийных устройствах и в облаке.