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

YOLOX против PP-YOLOE+: глубокий анализ object detection без якорных фреймов

Выбор правильной архитектуры компьютерного зрения имеет решающее значение для успеха проекта, балансируя между вычислительной эффективностью и точностью обнаружения (detect). В этом техническом сравнении рассматриваются YOLOX и PP-YOLOE+ — две известные модели обнаружения объектов без привязки к якорям (anchor-free), которые повлияли на ландшафт AI в области зрения в реальном времени. Мы анализируем их архитектурные инновации, эталонную производительность и соображения по развертыванию, чтобы помочь вам определить, что лучше всего подходит для вашего приложения.

YOLOX: Простота и производительность

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

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

Архитектура и Ключевые Инновации

YOLOX отличается от предыдущих итераций YOLO тем, что снял ограничения anchor box, которые часто требовали эвристической настройки. Вместо этого он рассматривает object detection как задачу регрессии на сетке, напрямую предсказывая координаты ограничивающей рамки.

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

Понимание SimOTA

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

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

Преимущества: YOLOX предлагает надежный баланс между скоростью и точностью, что делает ее надежным выбором для задач обнаружения общего назначения. Ее безанкорная природа упрощает конвейер развертывания, поскольку нет необходимости кластеризовать якоря для конкретных наборов данных. Использование надежных методов аугментации данных, таких как Mosaic и MixUp, еще больше повышает ее надежность.

Недостатки: Несмотря на инновационность на момент выпуска, скорость инференса YOLOX на CPU может отставать от более новых, оптимизированных архитектур. Кроме того, настройка среды и конвейера обучения может быть сложной по сравнению с более интегрированными современными фреймворками.

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

PP-YOLOE+: Промышленный лидер от Baidu

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

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

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

PP-YOLOE+ основывается на парадигме anchor-free, но вводит несколько оптимизаций для повышения точности и скорости, особенно на оборудовании GPU.

  • Backbone и Neck: Используется backbone CSPRepResNet с большими эффективными рецептивными полями и Path Aggregation Network (PAN) neck. Эта комбинация обеспечивает надежное извлечение признаков в различных масштабах.
  • Task Alignment Learning (TAL): Чтобы решить проблему несоответствия между уверенностью классификации и качеством локализации, PP-YOLOE+ использует TAL. Это явно выравнивает две задачи во время обучения, гарантируя, что наивысшие оценки уверенности соответствуют наиболее точным ограничивающим рамкам.
  • Efficient Task-aligned Head (ET-Head): ET-Head разработан для обеспечения вычислительной эффективности, сохраняя при этом преимущества разделенной head, оптимизируя модель для быстрого вывода в реальном времени.

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

Преимущества: PP-YOLOE+ демонстрирует исключительную производительность на наборе данных COCO, часто превосходя YOLOX по средней точности (mAP) для моделей аналогичного размера. Она очень эффективна для обнаружения промышленных дефектов и сценариев, требующих точной локализации.

Недостатки: Основным ограничением является ее зависимость от платформы PaddlePaddle. Для разработчиков, использующих в основном PyTorch, внедрение PP-YOLOE+ сопряжено с более крутой кривой обучения и потенциальными трудностями при интеграции с существующими конвейерами MLOps или преобразовании моделей в такие форматы, как ONNX.

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

Техническое сравнение: метрики и анализ

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

Модельразмер
(пиксели)
mAPval
50-95
Скорость
CPU ONNX
(мс)
Скорость
T4 TensorRT10
(мс)
параметры
(M)
FLOPs
(B)
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+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

Анализ производительности

  • Точность: PP-YOLOE+ стабильно достигает более высоких показателей mAP, чем YOLOX, при сопоставимых размерах моделей. Примечательно, что модель PP-YOLOE+x достигает впечатляющих 54,7% mAP, превосходя вариант YOLOX-x. Это подчеркивает эффективность Task Alignment Learning и базовой сети CSPRepResNet в захвате мелких деталей.
  • Эффективность: С точки зрения вычислительных затрат, модели PP-YOLOE+ обычно используют меньше параметров и FLOPs для достижения превосходной точности. Эта эффективность имеет решающее значение для развертывания высокоточных моделей на оборудовании с ограниченными тепловыми или энергетическими ресурсами.
  • Скорость: Скорость инференса конкурентоспособна. В то время как YOLOX-s имеет небольшое преимущество в скорости перед своим аналогом, более крупные модели PP-YOLOE+ демонстрируют более быстрое время инференса на оборудовании, оптимизированном для TensorRT, что предполагает лучшую масштабируемость для серверных развертываний.

Реальные примеры использования

Выбор между этими моделями часто зависит от конкретной операционной среды и требований к задаче.

Сценарии использования YOLOX

  • Базовые показатели для исследований: Благодаря своей чистой архитектуре без привязки к якорям, YOLOX часто используется в качестве базового показателя для разработки новых методологий detection.
  • Навигация робототехники: Хороший компромисс между скоростью и точностью делает его подходящим для перцепционных модулей робототехники, где необходимо избегать препятствий в режиме реального времени.
  • Автономные системы: Разделенная голова YOLOX помогает в задачах, требующих стабильной регрессии ограничивающей рамки, что полезно для отслеживания объектов в сценариях автономного вождения.

Варианты использования PP-YOLOE+

  • Промышленный контроль качества: Высокая точность модели идеально подходит для выявления мельчайших дефектов на производственных линиях, что является основной задачей ИИ в производстве.
  • Edge AI в производстве: Благодаря оптимизированной поддержке экспорта для оборудования, часто используемого в промышленных условиях, PP-YOLOE+ хорошо вписывается в интеллектуальные камеры и периферийные устройства.
  • Интеллектуальная розничная торговля: Высокая точность помогает в переполненных розничных средах для таких приложений, как управление запасами и мониторинг полок.

Ultralytics YOLO11: Превосходная альтернатива

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

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

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

Начало работы с YOLO11

Запуск прогнозов с YOLO11 невероятно прост. Вы можете detect объекты на изображении всего несколькими строками кода:

from ultralytics import YOLO

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

# Run inference on an image
results = model("path/to/image.jpg")

# Display results
results[0].show()

Для тех, кто изучает другие архитектурные сравнения, рассмотрите возможность прочтения нашего анализа YOLO11 vs. YOLOX или YOLO11 vs. PP-YOLOE+, чтобы точно увидеть, как последнее поколение превосходит конкурентов.


Комментарии