YOLOX против PP-YOLOE+: Глубокое погружение в безъякорное обнаружение объектов
Выбор правильной архитектуры компьютерного зрения имеет решающее значение для успеха проекта, балансируя между вычислительной эффективностью и точностью обнаружения. В этом техническом сравнении рассматриваются YOLOX и PP-YOLOE+, две выдающиеся модели обнаружения объектов без привязки, которые повлияли на ландшафт искусственного зрения в реальном времени. Мы анализируем их архитектурные инновации, эталонную производительность и соображения по развертыванию, чтобы помочь вам определить, что лучше всего подходит для вашего приложения.
YOLOX: простота и эффективность
YOLOX, представленный компанией Megvii в 2021 году, возродил серию YOLO , перейдя на безъякорный механизм и внедрив передовые технологии обнаружения. Она призвана преодолеть разрыв между академическими исследованиями и промышленным применением, упростив конвейер обнаружения и сохранив при этом высокую производительность.
Технические детали:
- Авторы: Чжэн Ге, Сунтао Лю, Фэн Ван, Цзэмин Ли и Цзянь Сунь
- Организация:Megvii
- Дата: 18.07.2021
- Ссылка на Arxiv:https://arxiv.org/abs/2107.08430
- Ссылка на GitHub:https://github.com/Megvii-BaseDetection/YOLOX
- Ссылка на документы:https://yolox.readthedocs.io/en/latest/
Архитектура и Ключевые Инновации
YOLOX отличается от предыдущих итераций YOLO тем, что снимает ограничения на якорную рамку, которые часто требовали эвристической настройки. Вместо этого он рассматривает обнаружение объектов как задачу регрессии на сетке, напрямую предсказывая координаты ограничительной рамки.
- Отсоединенная голова: В YOLOX используется отсоединенная структура головы, разделяющая задачи классификации и локализации на разные ветви. Такое разделение разрешает конфликт между достоверностью классификации и точностью локализации, что приводит к ускорению сходимости в процессе обучения модели.
- Назначение меток SimOTA: Основным компонентом YOLOX является SimOTA (Simplified Optimal Transport Assignment). Эта динамическая стратегия присвоения меток рассчитывает стоимость сопоставления истинных объектов с прогнозами на основе потерь при классификации и регрессии, обеспечивая приоритет высококачественных прогнозов.
- Безъякорный дизайн: Благодаря отсутствию якорных блоков YOLOX уменьшает количество параметров проектирования и упрощает сложность сети, делая ее более универсальной для объектов различной формы.
Понимание SimOTA
SimOTA рассматривает проблему присвоения меток как оптимальную транспортную задачу. Она динамически присваивает положительные образцы, которые минимизируют глобальную стоимость соответствия. Это позволяет модели адаптивно выбирать лучшие обучающие образцы без ручной настройки порога, что значительно повышает точность в переполненных сценах.
Сильные и слабые стороны
Сильные стороны: YOLOX предлагает надежный баланс скорости и точности, что делает его надежным выбором для задач обнаружения общего назначения. Отсутствие якорей упрощает процесс развертывания, поскольку нет необходимости в кластеризации якорей для конкретных наборов данных. Использование сильных методов дополнения данных, таких как Mosaic и MixUp , еще больше повышает его надежность.
Слабые стороны: Несмотря на то, что на момент выпуска YOLOX был инновационным, скорость вычислений на CPU может отставать от новых, более оптимизированных архитектур. Кроме того, настройка среды и конвейера обучения может быть сложной по сравнению с более интегрированными современными фреймворками.
PP-YOLOE+: Промышленная электростанция от Baidu
PP-YOLOE+ - это эволюция архитектуры PP-YOLOE, разработанной командой Baidu для экосистемы PaddlePaddle . Она будет выпущена в 2022 году и разработана специально для промышленных приложений, где высокая точность и эффективность выводов имеют первостепенное значение.
Технические детали:
- Авторы: Авторы PaddlePaddle
- Организация:Baidu
- Дата: 2022-04-02
- Ссылка на Arxiv:https://arxiv.org/abs/2203.16250
- Ссылка на GitHub:https://github.com/PaddlePaddle/PaddleDetection/
- Ссылка на документы:https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.8.1/configs/ppyoloe/README.md
Архитектура и ключевые особенности
PP-YOLOE+ опирается на безъякорную парадигму, но вводит несколько оптимизаций, чтобы расширить границы точности и скорости, особенно на оборудовании GPU .
- Магистраль и горловина: В нем используется магистраль CSPRepResNet с большими эффективными рецептивными полями и горловина Path Aggregation Network (PAN). Такая комбинация обеспечивает надежное извлечение признаков в различных масштабах.
- Task Alignment Learning (TAL): чтобы решить проблему несоответствия между уверенностью в классификации и качеством локализации, в PP-YOLOE+ используется TAL. Он явно выравнивает две задачи во время обучения, гарантируя, что самые высокие оценки уверенности соответствуют самым точным ограничительным рамкам.
- Эффективная головка с выравниванием задач (ET-Head): Головка ET-Head разработана для экономии вычислений при сохранении преимуществ отсоединенной головки, оптимизируя модель для быстрого вывода в реальном времени.
Сильные и слабые стороны
Сильные стороны: PP-YOLOE+ демонстрирует исключительную производительность на наборе данныхCOCO , часто превосходя YOLOX по средней точности (mAP) для моделей аналогичного размера. Она очень эффективна для обнаружения промышленных дефектов и сценариев, требующих точной локализации.
Слабые стороны: Основным ограничением является зависимость от фреймворкаPaddlePaddle . Для разработчиков, использующих в основном PyTorchпереход на PP-YOLOE+ связан с более сложной кривой обучения и потенциальными трениями при интеграции с существующими конвейерами MLOps или конвертации моделей в такие форматы, как ONNX.
Техническое сравнение: Метрики и анализ
При сравнении YOLOX и PP-YOLOE+ различия в философии проектирования становятся очевидными в показателях производительности. В следующей таблице представлены их возможности в различных модельных масштабах.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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+ постоянно достигает более высоких показателей mAP , чем YOLOX, при сопоставимых размерах модели. Примечательно, что модель PP-YOLOE+x достигает впечатляющего показателя mAP в 54,7 %, превосходя вариант YOLOX-x. Это подчеркивает эффективность обучения выравниванию задач и основы CSPRepResNet в улавливании мелких деталей.
- Эффективность: С точки зрения вычислительных затрат, модели PP-YOLOE+ обычно используют меньшее количество параметров и FLOP для достижения высокой точности. Такая эффективность очень важна для развертывания высокоточных моделей на оборудовании с ограниченным тепловым или энергетическим бюджетом.
- Скорость: Скорость вычислений конкурентоспособна. Хотя YOLOX-s имеет небольшое преимущество в скорости над своим аналогом, более крупные модели PP-YOLOE+ демонстрируют более быстрое время вывода на оборудовании, TensorRT, что говорит о лучшей масштабируемости для развертывания на стороне сервера.
Реальные примеры использования
Выбор между этими моделями часто зависит от конкретной оперативной обстановки и требований задачи.
Примеры использования YOLOX
- Исследовательские базы: Благодаря своей чистой, безъякорной архитектуре YOLOX часто используется в качестве базовой основы для разработки новых методик обнаружения.
- Навигация в робототехнике: Хороший компромисс между скоростью и точностью делает его подходящим для модулей восприятия в робототехнике, где необходимо избегать препятствий в реальном времени.
- Автономные системы: Отсоединенная голова YOLOX помогает в задачах, требующих стабильной регрессии граничных ячеек, что полезно для отслеживания объектов в сценариях автономного вождения.
Примеры использования PP-YOLOE+
- Промышленный контроль качества: Высокая точность модели идеально подходит для выявления мельчайших дефектов на производственных линиях, что является одной из основных задач ИИ в производстве.
- Краевой искусственный интеллект в производстве: Благодаря оптимизированной поддержке экспорта оборудования, часто используемого в промышленных условиях, PP-YOLOE+ хорошо вписывается в "умные" камеры и устройства, работающие на грани.
- Умная розничная торговля: Высокая точность помогает в многолюдных местах розничной торговли для таких приложений, как управление запасами и мониторинг полок.
Ultralytics YOLO11: превосходная альтернатива
В то время как YOLOX и PP-YOLOE+ являются способными моделями, Ultralytics YOLO11 представляет собой передовой край компьютерного зрения, предлагая комплексное решение, которое устраняет ограничения своих предшественников. YOLO11 - это не просто модель обнаружения, это единый фреймворк, созданный для современного разработчика.
Почему стоит выбрать YOLO11?
- Непревзойденная универсальность: В отличие от YOLOX и PP-YOLOE+, ориентированных в основном на обнаружение, YOLO11 поддерживает широкий спектр задач, включая сегментацию объектов, оценку положения, OBB (Oriented Bounding Box) и классификацию. Это позволяет решать многогранные задачи с помощью одной кодовой базы.
- Простота использования: Ultralytics уделяет первостепенное внимание опыту разработчиков. Благодаря простому API на Python и интерфейсу командной строки вы можете пройти путь от установки до обучения за считанные минуты. Обширная документация гарантирует, что вы никогда не заблудитесь.
- Баланс производительности: 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 против YOLOX или YOLO11 против PP-YOLOE+, чтобы понять, в чем именно последнее поколение превосходит конкурентов.