Перейти к содержанию

PP-YOLOE+ против YOLOX: Сравнение передовых методов detectирования объектов без anchor-ов

Выбор оптимальной архитектуры для detectирования объектов требует глубокого понимания компромиссов между точностью, скоростью inference и сложностью развертывания. В этом руководстве представлено техническое сравнение между PP-YOLOE+, детектором промышленного уровня от Baidu, и YOLOX, высокопроизводительной моделью без привязки к якорям от Megvii. Обе архитектуры ознаменовали собой важные этапы в переходе к детекторам без привязки к якорям, предлагая надежные решения для инженеров в области компьютерного зрения.

PP-YOLOE+: Промышленное превосходство от Baidu

PP-YOLOE+ - это усовершенствованная версия PP-YOLOE, разработанная авторамиPaddlePaddle в Baidu. Выпущенная в апреле 2022 года, она является частью комплексного пакета PaddleDetection. Разработанная специально для промышленных приложений, PP-YOLOE+ оптимизирует баланс между эффективностью обучения и точностью выводов, используя возможности фреймворка PaddlePaddle .

Технические детали:

Архитектура и ключевые особенности

PP-YOLOE+ отличается несколькими архитектурными инновациями, направленными на максимизацию производительности на различном оборудовании:

  • Масштабируемый Backbone: Он использует CSPRepResNet, backbone, который сочетает в себе возможности извлечения признаков Residual Networks с эффективностью соединений Cross Stage Partial (CSP).
  • Task Alignment Learning (TAL): Важной инновацией является использование TAL, специализированной функции потерь, которая динамически выравнивает задачи классификации и локализации, гарантируя, что самые высокие оценки достоверности соответствуют наиболее точным ограничивающим рамкам.
  • Efficient Task-aligned Head (ET-Head): В модели используется anchor-free head, которая упрощает конструкцию detection head, снижая вычислительные издержки при сохранении высокой точности.

Сильные и слабые стороны

PP-YOLOE+ — мощный инструмент для конкретных сценариев развертывания, но имеет ограничения экосистемы.

Преимущества:

  • Современная точность: Модель достигает исключительных результатов на наборе данныхCOCO , а вариант PP-YOLOE+x достигает 54,7 % mAP, что делает ее пригодной для решения высокоточных задач, таких как обнаружение дефектов.
  • Эффективность инференса: Благодаря оптимизациям, таким как слияние операторов в фреймворке PaddlePaddle, он обеспечивает конкурентоспособную скорость на GPU оборудовании, особенно для моделей большего размера.

Слабые стороны:

  • Зависимость от фреймворка: Основная зависимость от экосистемы PaddlePaddle может быть барьером для команд, стандартизированных на PyTorch или TensorFlow.
  • Сложность развертывания: Перенос этих моделей в другие механизмы логического вывода (например, ONNX Runtime или TensorRT) часто требует специальных инструментов преобразования, которые могут не поддерживать все пользовательские операторы из коробки.

Узнайте больше о PP-YOLOE+

YOLOX: пионер Anchor-Free

YOLOX был представлен в 2021 году исследователями из Megvii. Он сразу же привлек внимание к decoupling detection head и удалению anchor — шагу, который значительно упростил конвейер обучения по сравнению с предыдущими итерациями YOLO. YOLOX устранил разрыв между академическими исследованиями и практическим промышленным применением, повлияв на многие последующие архитектуры object detection.

Технические детали:

Архитектура и ключевые особенности

YOLOX представил философию проектирования "pro-anchor-free" для семейства YOLO:

  • Разделенная голова (Decoupled Head): В отличие от традиционных голов YOLO, которые выполняют классификацию и локализацию в связанных ветвях, YOLOX разделяет эти задачи. Это разделение улучшает скорость сходимости и итоговую точность.
  • Назначение меток SimOTA: YOLOX использует SimOTA (Simplified Optimal Transport Assignment), стратегию динамического назначения меток, которая автоматически выбирает лучшие положительные примеры для каждого объекта ground truth, уменьшая необходимость сложной настройки гиперпараметров.
  • Механизм без Anchor: Устраняя предопределенные anchor boxes, YOLOX уменьшает количество параметров проектирования и улучшает обобщение для форм объектов, особенно для объектов с экстремальными пропорциями.

Сильные и слабые стороны

Преимущества:

  • Простота реализации: Отказ от якорей и использование стандартных операций PyTorch делают кодовую базу относительно простой для понимания и модификации в исследовательских целях.
  • Надёжный базис: Служит отличным базисом для академических исследований в области передовых методов обучения и архитектурных модификаций.

Слабые стороны:

  • Устаревающая производительность: Несмотря на то, что в 2021 году она была революционной, ее показатели производительности (соотношение скорости/точности) были превзойдены более новыми моделями, такими как YOLOv8 и YOLO11.
  • Интенсивность использования ресурсов при обучении: Продвинутые стратегии назначения, такие как SimOTA, могут увеличить вычислительную нагрузку во время фазы обучения по сравнению с более простыми статическими методами назначения.

Устаревшая поддержка

В то время как YOLOX все еще широко используется в исследованиях, разработчики, ищущие долгосрочную поддержку и активные обновления, могут найти более новые архитектуры более полезными для производственных сред.

Узнайте больше о YOLOX

Сравнение технических характеристик

При выборе между PP-YOLOE+ и YOLOX наиболее объективную основу для принятия решений обеспечивают показатели производительности на стандартных бенчмарках. В следующих данных освещается их производительность на наборе валидации COCO.

Модельразмер
(пиксели)
mAPval
50-95
Скорость
CPU ONNX
(мс)
Скорость
T4 TensorRT10
(мс)
параметры
(M)
FLOPs
(B)
PP-YOLOE+t64039.9-2.844.8519.15
PP-YOLOE+s64043.7-2.627.9317.36
PP-YOLOE+m64049.8-5.5623.4349.91
PP-YOLOE+l64052.9-8.3652.2110.07
PP-YOLOE+x64054.7-14.398.42206.59
YOLOXnano41625.8--0.911.08
YOLOXtiny41632.8--5.066.45
YOLOXs64040.5-2.569.026.8
YOLOXm64046.9-5.4325.373.8
YOLOXl64049.7-9.0454.2155.6
YOLOXx64051.1-16.199.1281.9

Анализ

  • Превосходство в точности: PP-YOLOE+ стабильно превосходит YOLOX по сопоставимым размерам моделей. Модель PP-YOLOE+x достигает 54,7% mAP, что является значительным улучшением по сравнению с 51,1% у YOLOX-x.
  • Эффективность: PP-YOLOE+ демонстрирует превосходную эффективность параметров. Например, s вариант достигает более высокой точности (43,7% против 40,5%), используя при этом меньше параметров (7,93M против 9,0M) и FLOPs.
  • Скорость инференса: Хотя YOLOX остается конкурентоспособным в меньших размерах, PP-YOLOE+ лучше масштабируется на GPU (T4 TensorRT), предлагая более высокую скорость для своих больших и очень больших моделей, несмотря на более высокую точность.

Ultralytics YOLO11: Современный стандарт

В то время как PP-YOLOE+ и YOLOX являются эффективными детекторами, область компьютерного зрения быстро развивается. Для разработчиков, стремящихся к оптимальному сочетанию производительности, удобства использования и поддержки экосистемы, Ultralytics YOLO11 представляет собой современный выбор.

Почему стоит выбрать Ultralytics YOLO11?

  • Простота использования: В отличие от сложной настройки, часто требуемой для исследовательских репозиториев или инструментов, специфичных для фреймворка, YOLO11 предлагает оптимизированный Python API и CLI. Вы можете перейти от установки к inference за считанные секунды.
  • Хорошо поддерживаемая экосистема: Модели Ultralytics поддерживаются надежной экосистемой, которая включает в себя частые обновления, обширную документацию и простую интеграцию с инструментами MLOps.
  • Баланс производительности: YOLO11 разработан для обеспечения благоприятного компромисса между скоростью и точностью, часто превосходя предыдущие поколения с более низкими требованиями к памяти как во время обучения, так и во время инференса.
  • Универсальность: В то время как PP-YOLOE+ и YOLOX в основном ориентированы на обнаружение ограничивающих рамок, YOLO11 изначально поддерживает сегментацию экземпляров, оценку позы, ориентированные ограничивающие рамки (OBB) и классификацию в рамках одной платформы.
  • Эффективность обучения: Модели Ultralytics оптимизированы для эффективного обучения, используя передовые методы расширения и легкодоступные предварительно обученные веса, чтобы сократить время и вычислительные ресурсы, необходимые для достижения сходимости.

Пример из реального мира

Реализация object detection с YOLO11 интуитивно понятна. В следующем примере показано, как загрузить предварительно обученную модель и выполнить inference на изображении:

from ultralytics import YOLO

# Load a pre-trained YOLO11 model
model = YOLO("yolo11n.pt")

# Perform inference on a local image
results = model("path/to/image.jpg")

# Display the results
results[0].show()

Эта простота резко контрастирует с многоэтапной конфигурацией, часто необходимой для других архитектур, что позволяет разработчикам сосредоточиться на решении бизнес-задач, а не на борьбе с кодом.

Заключение

PP-YOLOE+ и YOLOX внесли значительный вклад в область компьютерного зрения. PP-YOLOE+ — отличный выбор для тех, кто глубоко интегрирован в экосистему Baidu PaddlePaddle и требует высокой промышленной точности. YOLOX остается уважаемым эталоном для исследователей, изучающих методологии без привязки к якорям.

Однако, для большинства новых проектов Ultralytics YOLO11 предлагает наиболее убедительный пакет. Сочетание передовой производительности, низкого потребления памяти и непревзойденного опыта разработки делает его превосходным выбором для развертывания масштабируемых решений для вывода в реальном времени.

Узнайте больше о YOLO11


Комментарии