PP-YOLOE+ против YOLOX: сравнение расширенного безъякорного обнаружения объектов
Выбор оптимальной архитектуры обнаружения объектов требует глубокого понимания компромиссов между точностью, скоростью вывода и сложностью развертывания. В этом руководстве приводится техническое сравнение 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: эволюционировавшая версия YOLO
- Ссылка на GitHub:Репозиторий PaddleDetection
- Ссылка на документы:Документация PP-YOLOE+
Архитектура и ключевые особенности
PP-YOLOE+ отличается несколькими архитектурными инновациями, направленными на максимизацию производительности на различном оборудовании:
- Масштабируемая магистраль: В ней используется CSPRepResNet, основа, которая сочетает в себе возможности извлечения признаков из остаточных сетей и эффективность межэтапных частичных (CSP) соединений.
- Task Alignment Learning (TAL): важнейшим новшеством является использование TAL, специализированной функции потерь, которая динамически выравнивает задачи классификации и локализации, гарантируя, что самые высокие оценки уверенности соответствуют наиболее точным ограничительным рамкам.
- Эффективная головка с выравниванием задач (ET-Head): В модели используется безъякорная головка, которая упрощает конструкцию головки обнаружения, снижая вычислительные затраты при сохранении высокой точности.
Сильные и слабые стороны
PP-YOLOE+ - это мощный инструмент для конкретных сценариев развертывания, но с ограничениями экосистемы.
Преимущества:
- Современная точность: Модель достигает исключительных результатов на наборе данныхCOCO , а вариант PP-YOLOE+x достигает 54,7 % mAP, что делает ее пригодной для решения высокоточных задач, таких как обнаружение дефектов.
- Эффективность выводов: Благодаря оптимизациям, таким как объединение операторов в фреймворке PaddlePaddle , он обеспечивает конкурентоспособную скорость на аппаратном обеспечении GPU , особенно при больших размерах моделей.
Слабые стороны:
- Зависимость от фреймворка: Основная зависимость от PaddlePaddle может стать препятствием для команд, стандартизированных на PyTorch или TensorFlow.
- Сложность развертывания: Перенос этих моделей на другие механизмы вывода (например, ONNX Runtime или TensorRT) часто требует специальных инструментов преобразования, которые могут не поддерживать все пользовательские операторы из коробки.
YOLOX: пионер без якоря
YOLOX был представлен в 2021 году исследователями из Megvii. Он сразу же привлек к себе внимание благодаря отсоединению головки обнаружения и удалению якорей, что значительно упростило конвейер обучения по сравнению с предыдущими итерациями YOLO . YOLOX преодолел разрыв между академическими исследованиями и практическим промышленным применением, оказав влияние на многие последующие архитектуры обнаружения объектов.
Технические детали:
- Авторы: Чжэн Ге, Сунтао Лю, Фэн Ван, Цзэмин Ли и Цзянь Сунь
- Организация:Megvii
- Дата: 18.07.2021
- Ссылка Arxiv:YOLOX: Превышение серии YOLO в 2021 году
- Ссылка на GitHub:Репозиторий YOLOX
- Ссылка на документацию:Документация YOLOX
Архитектура и ключевые особенности
Компания YOLOX внедрила в семейство YOLO философию дизайна "без якоря":
- Раздельная головка: В отличие от традиционных головок YOLO , которые выполняют классификацию и локализацию в соединенных ветвях, YOLOX разделяет эти задачи. Такое разделение повышает скорость сходимости и конечную точность.
- Назначение меток SimOTA: В YOLOX используется SimOTA (Simplified Optimal Transport Assignment) - динамическая стратегия присвоения меток, которая автоматически выбирает лучшие положительные образцы для каждого объекта, что снижает необходимость в сложной настройке гиперпараметров.
- Безъякорный механизм: Благодаря отсутствию предопределенных якорных блоков 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 предлагает упрощенные API и CLI на Python . Вы можете перейти от установки к выводам за считанные секунды.
- Хорошо поддерживаемая экосистема: Модели Ultralytics поддерживаются надежной экосистемой, включающей частые обновления, обширную документацию и простую интеграцию с инструментами MLOps.
- Баланс производительности: YOLO11 спроектирован таким образом, чтобы обеспечить выгодный компромисс между скоростью и точностью, часто превосходя предыдущие поколения с меньшими требованиями к памяти как при обучении, так и при выводе.
- Универсальность: В то время как PP-YOLOE+ и YOLOX сосредоточены в основном на определении ограничительных рамок, YOLO11 поддерживает сегментацию объектов, оценку позы, ориентированные ограничительные рамки (ООБ) и классификацию в рамках одной системы.
- Эффективность обучения: Модели Ultralytics оптимизированы для эффективного обучения, используют расширенные дополнения и легкодоступные предварительно обученные веса, чтобы сократить время и вычислительные ресурсы, необходимые для достижения сходимости.
Пример из реальной жизни
Реализация обнаружения объектов с помощью YOLO11 интуитивно понятна. В следующем примере показано, как загрузить предварительно обученную модель и выполнить вывод на изображении:
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 предлагает наиболее привлекательный пакет. Сочетание передовой производительности, низкого потребления памяти и непревзойденного опыта разработчиков делает его лучшим выбором для развертывания масштабируемых решений для выводов в реальном времени.