YOLOX против PP-YOLOE+#
При проектировании надежного пайплайна computer vision выбор подходящей модели для детекции объектов является критически важным решением. Ландшафт детекторов объектов реального времени высококонкурентен, и множество архитектур стремятся обеспечить идеальный баланс между скоростью инференса и точностью детекции. В этом техническом сравнении мы оценим две выдающиеся модели: YOLOX и PP-YOLOE+. Изучая их архитектурный дизайн, методологии обучения и метрики производительности, мы стремимся дать разработчикам и исследователям понимание, необходимое для выбора правильного инструмента под конкретную среду развертывания.
Архитектурные инновации и дизайн#
Обе модели были разработаны для решения специфических проблем предыдущих итераций YOLO, однако они используют фундаментально разные подходы к устранению компромисса между скоростью и точностью.
YOLOX: объединяя научные исследования и индустрию#
Разработанный Чжэном Ге, Сунтоо Лиу, Фэном Вангом, Цземином Ли и Цзянь Сунем в компании Megvii, YOLOX был выпущен 18 июля 2021 года. Он ознаменовал значительный сдвиг в семействе YOLO, полностью перейдя на архитектуру без якорей (anchor-free). Ты можешь ознакомиться с базовым исследованием в их официальной Arxiv paper и оригинальным исходным кодом в YOLOX GitHub repository.
YOLOX объединяет разделенную голову (decoupled head), которая разделяет задачи классификации и регрессии, что значительно повышает скорость сходимости во время обучения. Кроме того, в нем появились продвинутые стратегии назначения меток, такие как SimOTA, для динамического распределения положительных примеров. Это делает модель исключительно эффективной, особенно в средах edge AI, где вычислительные ресурсы строго ограничены.
PP-YOLOE+: высокопроизводительное промышленное обнаружение#
Представленный авторами PaddlePaddle в компании Baidu 2 апреля 2022 года, PP-YOLOE+ представляет собой сильно оптимизированную эволюцию серии PP-YOLO. Подробно описанный в их Arxiv publication, PP-YOLOE+ глубоко интегрирован в экосистему Baidu и требует фреймворк PaddlePaddle. Конфигурации модели можно найти в PaddleDetection GitHub repository.
PP-YOLOE+ опирается на мощный бэкбон CSPRepResNet и использует эффективную голову, ориентированную на задачи (ET-head), наряду с Task Alignment Learning (TAL). Эта архитектура обеспечивает выдающуюся точность mean Average Precision (mAP) на COCO dataset, что делает ее отличным выбором для поиска дефектов в промышленности и тяжелой серверной обработки, где точность ставится выше минимальных зависимостей.
Тесты производительности#
Понимание того, как эти модели работают в различных масштабах, имеет решающее значение для развертывания. В таблице ниже приведены ключевые метрики, включая mAP и скорость инференса при экспорте в TensorRT.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (М) | FLOPs (Б) |
|---|---|---|---|---|---|---|
| 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 |
| 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+x достигает наивысшей абсолютной точности, YOLOX предоставляет чрезвычайно легкие варианты (Nano и Tiny), которые отлично подходят для маломощных микроконтроллеров и устаревшего мобильного оборудования.
Сценарии использования и рекомендации#
Выбор между YOLOX и PP-YOLOE+ зависит от твоих конкретных требований к проекту, ограничений развертывания и предпочтений в экосистеме.
Когда выбирать YOLOX#
YOLOX — сильный выбор для:
- Исследований безъякорного обнаружения: академических исследований, использующих чистую безъякорную архитектуру YOLOX как базу для экспериментов с новыми головами детекции или функциями потерь.
- Сверхлегких Edge-устройств: развертывания на микроконтроллерах или устаревшем мобильном оборудовании, где критически важен чрезвычайно малый вес варианта YOLOX-Nano (0.91 млн параметров).
- Изучения назначения меток SimOTA: исследовательских проектов, анализирующих стратегии назначения меток на основе оптимального транспорта и их влияние на сходимость обучения.
Когда выбирать PP-YOLOE+#
PP-YOLOE+ рекомендуется для:
- Интеграция с экосистемой PaddlePaddle: Организации с существующей инфраструктурой, созданной на базе фреймворка и инструментов Baidu's PaddlePaddle.
- Развертывание на периферии с Paddle Lite: Развертывание на оборудовании с высокооптимизированными ядрами вывода, специально предназначенными для движка Paddle Lite или Paddle.
- Серверное обнаружение с высокой точностью: Сценарии, где приоритетом является максимальная точность обнаружения на мощных GPU-серверах, где зависимость от фреймворка не является проблемой.
Когда выбирать Ultralytics (YOLO26)#
Для большинства новых проектов Ultralytics YOLO26 предлагает наилучшее сочетание производительности и удобства для разработчика:
- Развертывания на периферии без NMS: приложений, требующих стабильного вывода с низкой задержкой без сложности постобработки подавления немаксимумов.
- Среды только с CPU: устройств без выделенного GPU-ускорения, где до 43% более быстрый вывод на CPU у YOLO26 дает решающее преимущество.
- Обнаружение малых объектов: Сложные сценарии, такие как aerial drone imagery или анализ с помощью IoT-сенсоров, где ProgLoss и STAL значительно повышают точность для крошечных объектов.
Преимущество Ultralytics: представляем YOLO26#
Хотя и YOLOX, и PP-YOLOE+ обладают своими преимуществами, стремительная эволюция ИИ требует инструментов, которые сочетают в себе передовую точность и непревзойденную простоту использования. Именно здесь модели Ultralytics, в частности недавно выпущенный Ultralytics YOLO26, превосходят устаревшие исследовательские репозитории.
Выпущенный в январе 2026 года, YOLO26 задает новый стандарт для современного object detection и смежных задач, предлагая опыт разработчика, с которым просто не могут сравниться конкурирующие фреймворки.
Почему разработчики выбирают YOLO26#
- Сквозной дизайн без NMS: Основываясь на концепциях, заложенных в YOLOv10, YOLO26 является изначально сквозным. Полностью убирая постобработку Non-Maximum Suppression (NMS), он гарантирует высокую стабильность задержки и значительно упрощает экспортные пайплайны для периферийных сред.
- Оптимизация нового поколения: Стабильность обучения кардинально улучшена благодаря MuSGD Optimizer, гибриду SGD и Muon (вдохновлен методологиями LLM, такими как Kimi K2 от Moonshot AI). Это гарантирует более быструю сходимость. Более того, YOLO26 использует ProgLoss + STAL для радикального улучшения распознавания мелких объектов, что является ключевой функцией для приложений с использованием aerial imagery и робототехники.
- Непревзойденная эффективность железа: Удалив Distribution Focal Loss (DFL), YOLO26 значительно снижает требования к памяти. Он демонстрирует до 43% более быстрый CPU инференс, что делает его безальтернативным выбором для устройств, не имеющих выделенного ускорения GPU.
- Экстремальная универсальность: В отличие от PP-YOLOE+, который фокусируется исключительно на детекции, YOLO26 предлагает единую поддержку для самых разных задач. Он включает в себя специализированную функцию потерь семантической сегментации для instance segmentation, Residual Log-Likelihood Estimation (RLE) для точного pose estimation и продвинутые механизмы расчета потерь по углам для Oriented Bounding Boxes (OBB).
Бесшовная интеграция с экосистемой#
Ultralytics избавляет от разочарования при сложной установке фреймворков. Используя унифицированный Python API или интуитивно понятную платформу Ultralytics Platform, ты можешь обучать, валидировать и экспортировать модели всего в несколько строк кода.
from ultralytics import YOLO
# Load the cutting-edge YOLO26 small model
model = YOLO("yolo26s.pt")
# Train on a custom dataset with minimal CUDA memory overhead
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Effortlessly run inference
predictions = model("https://ultralytics.com/images/bus.jpg")
# Export to ONNX natively, fully benefiting from the NMS-free architecture
model.export(format="onnx")Для пользователей, оценивающих другие надежные архитектуры в экосистеме Ultralytics, YOLO11 остается очень надежным выбором для старых развертываний, в то время как созданный на базе трансформеров RT-DETR предлагает отличные возможности для тех, кто ищет решения на основе механизма внимания.
Резюме#
Выбор между YOLOX и PP-YOLOE+ часто сводится к ограничениям твоего основного фреймворка — предпочитаешь ли ты гибкость на базе PyTorch или глубокую интеграцию с PaddlePaddle от Baidu. Тем не менее, для организаций, стремящихся защитить свою ИИ-инфраструктуру от устаревания, Ultralytics YOLO26 предлагает гораздо более совершенную альтернативу. Благодаря революционному дизайну без NMS, легковесному потреблению памяти и широкой универсальности задач, YOLO26 позволяет командам создавать более быстрые, умные и эффективные приложения компьютерного зрения с беспрецедентной легкостью.