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 .
Технические детали:
- Авторы: Авторы PaddlePaddle
- Организация:Baidu
- Дата: 2022-04-02
- Ссылка на Arxiv:PP-YOLOE: An Evolved Version of YOLO
- Ссылка на GitHub:Репозиторий PaddleDetection
- Ссылка на документацию:Документация PP-YOLOE+
Архитектура и ключевые особенности
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) часто требует специальных инструментов преобразования, которые могут не поддерживать все пользовательские операторы из коробки.
YOLOX: пионер Anchor-Free
YOLOX был представлен в 2021 году исследователями из Megvii. Он сразу же привлек внимание к decoupling detection head и удалению anchor — шагу, который значительно упростил конвейер обучения по сравнению с предыдущими итерациями YOLO. YOLOX устранил разрыв между академическими исследованиями и практическим промышленным применением, повлияв на многие последующие архитектуры object detection.
Технические детали:
- Авторы: Чжэн Ге, Сунтао Лю, Фэн Ван, Цзэмин Ли и Цзянь Сунь
- Организация:Megvii
- Дата: 18.07.2021
- Ссылка на Arxiv:YOLOX: Exceeding YOLO Series in 2021
- Ссылка на GitHub:Репозиторий YOLOX
- Ссылка на документацию:Документация YOLOX
Архитектура и ключевые особенности
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 все еще широко используется в исследованиях, разработчики, ищущие долгосрочную поддержку и активные обновления, могут найти более новые архитектуры более полезными для производственных сред.
Сравнение технических характеристик
При выборе между PP-YOLOE+ и YOLOX наиболее объективную основу для принятия решений обеспечивают показатели производительности на стандартных бенчмарках. В следующих данных освещается их производительность на наборе валидации COCO.
| Модель | размер (пиксели) | 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 |
Анализ
- Превосходство в точности: 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 предлагает наиболее убедительный пакет. Сочетание передовой производительности, низкого потребления памяти и непревзойденного опыта разработки делает его превосходным выбором для развертывания масштабируемых решений для вывода в реальном времени.