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

YOLO PP-YOLOE+: технический анализ промышленного обнаружения объектов

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

В этом всеобъемлющем руководстве анализируются их архитектурные инновации, сравниваются показатели производительности и представлена Ultralytics — модель нового поколения, которая переопределяет стандарты удобства использования и развертывания на периферии.

Обзор DAMO-YOLO

YOLO Distillation-Augmented MOdel) был внедрен для расширения пределов производительности за счет использования автоматизированного проектирования архитектуры и передовых методов обучения.

Авторы: Сяньчжэ Сюй, Ици Цзян, Вэйхуа Чэнь, Илунь Хуан, Юань Чжан и Сюю Сунь
Организация:Alibaba Group
Дата: 23 ноября 2022 г.
Arxiv:YOLO
GitHub:YOLO

Архитектурные инновации

YOLO от традиционного ручного проектирования благодаря использованию нейронного архитектурного поиска (NAS). Его основные компоненты включают:

  • MAE-NAS Backbone: структура магистрали обнаруживается автоматически с помощью метода вспомогательных ребер (MAE-NAS) для максимального увеличения пропускной способности при определенных ограничениях по задержке.
  • RepGFPN: конструкция с тяжелым шеей, основанная на Generalized Feature Pyramid Network (GFPN). Она использует различные размеры каналов на разных уровнях масштабирования для оптимизации слияния характеристик без значительных вычислительных затрат, характерных для типичных BiFPN.
  • ZeroHead: легкая головка обнаружения, которая минимизирует сложность конечных слоев прогнозирования, экономя критические миллисекунды во время вывода.
  • AlignedOTA: усовершенствованная стратегия присвоения меток, которая решает проблемы несоответствия между задачами классификации и регрессии во время обучения.

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

Основная силаYOLO его ориентированной на задержку конструкции. Используя NAS, он извлекает максимальную точность из определенного вычислительного бюджета. Однако эта сложность может быть палкой о двух концах: архитектура на основе NAS может быть сложной для модификации или тонкой настройки для пользовательских наборов данных по сравнению с архитектурами, разработанными вручную. Кроме того, его зависимость от дистилляции (когда большая модель-учитель направляет ученика) добавляет сложности к процессу обучения.

Обзор PP-YOLOE+

PP-YOLOE+ — это усовершенствованная версия PP-YOLOE, которая является основой пакета PaddleDetection. Она в значительной степени ориентирована на универсальность развертывания в облаке и на периферии.

Авторы: PaddlePaddle
Организация:Baidu
Дата: 2 апреля 2022 г.
Arxiv:PP-YOLOE Статья
GitHub:PaddlePaddle

Архитектурные инновации

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

  • CSPRepResStage: Основой является масштабируемая структура CSP (Cross Stage Partial) с перепараметризуемыми остаточными блоками, что позволяет осуществлять извлечение сложных признаков во время обучения и упрощать операции во время вывода.
  • Task Alignment Learning (TAL): динамическая схема присвоения меток, которая явно согласовывает опорные точки с объектами реальной действительности на основе как классификационного балла, так и IoU Intersection over Union).
  • Эффективное сжатие и возбуждение (ESE): механизм внимания, интегрированный в основу, для улучшения представления характеристик путем перекалибровки реакций характеристик по каналам.

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

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

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

В следующей таблице показаны различия в производительности двух моделей на COCO .

Модельразмер
(пиксели)
mAPval
50-95
Скорость
CPU ONNX
(мс)
Скорость
T4 TensorRT10
(мс)
параметры
(M)
FLOPs
(B)
DAMO-YOLOt64042.0-2.328.518.1
DAMO-YOLOs64046.0-3.4516.337.8
DAMO-YOLOm64049.2-5.0928.261.8
DAMO-YOLOl64050.8-7.1842.197.3
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

Анализ

  • Небольшие модели (Nano/Tiny):YOLO обеспечивает более высокую точность (mAP) для небольших вариантов, демонстрируя эффективность своей оптимизированной для NAS основной структуры в ограниченных средах. Однако PP-YOLOE+t значительно меньше по количеству параметров (4,85 млн против 8,5 млн), что может быть предпочтительным для устройств с крайне ограниченным объемом памяти.
  • Средние и крупные модели: с увеличением размера модели PP-YOLOE+ демонстрирует более высокую точность, превосходяYOLO средней и крупной категориях (например, 52,9 mAP 50,8 mAP крупной категории).
  • Скорость вывода:YOLO превосходную задержку на TensorRT для большинства размеров, подтверждая свою архитектуру «задержка прежде всего». Напротив, PP-YOLOE+s демонстрирует удивительно высокую скорость (2,62 мс), что делает его сильным конкурентом для определенных приложений реального времени.

Преимущество Ultralytics: YOLO26

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

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

Почему YOLO26 — лучший выбор

  1. Сквозной дизайн NMS: в отличие от PP-YOLOE+ и традиционных YOLO , которые требуют немаксимального подавления (NMS) для фильтрации перекрывающихся блоков, YOLO26 является сквозным по своей природе. Это устраняет основное препятствие для развертывания, снижая разброс задержек и упрощая процесс экспорта в такие форматы, как ONNX и CoreML.
  2. Непревзойденная CPU : оптимизированный специально для пограничных вычислений, YOLO26 обеспечивает на 43 % более быстрое CPU по сравнению с предыдущими поколениями. Это крайне важно для приложений, работающих на Raspberry Pi, мобильных телефонах или стандартных облачных инстансах, где графические процессоры недоступны.
  3. Улучшенная стабильность обучения: YOLO26 включает в себя оптимизатор MuSGD, гибрид SGD Muon (вдохновленный обучением LLM), обеспечивающий более быструю конвергенцию и более стабильное обучение даже со сложными настраиваемыми наборами данных.
  4. Упрощенная архитектура: удаление функции распределения фокальных потерь (DFL) упрощает структуру модели, повышая совместимость с маломощными периферийными устройствами и ускорителями, которые испытывают трудности с комплексными функциями потерь.
  5. Целостная экосистема: с помощью Ultralytics пользователи получают доступ к бесперебойному конвейеру для управления данными, обучения в облаке и развертывания в один клик.

Универсальность, превосходящая возможности обнаружения

В отличие отYOLO в основном ориентирован на обнаружение, YOLO26 изначально поддерживает полный спектр задач, включая сегментацию экземпляров, оценку позы, OBB (ориентированная ограничивающая рамка) и классификацию.

Простота использования

Одной из отличительных черт Ultralytics является удобство для разработчиков. В то время какYOLO PP-YOLOE+ могут потребовать сложных конфигурационных файлов или специальных знаний о фреймворке, YOLO26 можно реализовать всего несколькими строчками кода.

from ultralytics import YOLO

# Load the latest YOLO26 nano model
model = YOLO("yolo26n.pt")

# Train the model on your custom dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")

# Export to ONNX for deployment
model.export(format="onnx")

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

  • Умная розничная торговля: используйте скорость YOLO26 для мониторинга запасов на полках в режиме реального времени без дорогостоящего GPU .
  • Сельское хозяйство: используйте функции ProgLoss + STAL для улучшения распознавания мелких объектов, что необходимо для обнаружения вредителей или подсчета урожая на снимках, сделанных с помощью дронов.
  • Производство: внедрение моделей NMS для высокоскоростного контроля качества на сборочных линиях, где постоянная задержка является обязательным условием.

Заключение

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

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

Пользователи, заинтересованные в других современных опциях, могут ознакомиться с YOLO11 или основанный на трансформере RT-DETR в Ultralytics .


Комментарии