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

PP-YOLOE+ против YOLO11: эволюция высокопроизводительного обнаружения объектов

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

В то время как PP-YOLOE+ представляет собой зрелое решение для промышленных приложений в определенных рамках, YOLO11 границы возможного на периферийных устройствах за счет усовершенствований архитектуры. Кроме того, мы с нетерпением ждем появления YOLO26, новейшего прорывного продукта, обеспечивающего нативное сквозное обнаружение NMS.

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

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

Модельразмер
(пиксели)
mAPval
50-95
Скорость
CPU ONNX
(мс)
Скорость
T4 TensorRT10
(мс)
параметры
(M)
FLOPs
(B)
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
YOLO11n64039.556.11.52.66.5
YOLO11s64047.090.02.59.421.5
YOLO11m64051.5183.24.720.168.0
YOLO11l64053.4238.66.225.386.9
YOLO11x64054.7462.811.356.9194.9

PP-YOLOE+: PaddlePaddle

PP-YOLOE+ — это обновленная версия PP-YOLOE, разработанная исследователями Baidu в рамках инструментария PaddleDetection. Она направлена на улучшение скорости сходимости обучения и производительности последующих задач по сравнению с предшествующей версией.

Техническая архитектура

PP-YOLOE+ — это модель без якоря, которая использует базовую структуру CSPRepResNet и стратегию Task Alignment Learning (TAL) для присвоения меток. Она использует уникальный механизм внимания ESE (Effective Squeeze-and-Excitation) в своей «шее» для улучшения представления признаков. Ключевым архитектурным решением является использование перепараметризации в стиле RepVGG, которая позволяет модели иметь сложную динамику обучения, которая сводится к более простым и быстрым структурам во время вывода.

Ключевые особенности включают:

  • Головка без анкеров: упрощает конструкцию, устраняя необходимость в заранее определенных анкерных коробках.
  • Task Alignment Learning (TAL): динамически согласовывает задачи классификации и регрессии для повышения точности.
  • Предварительная подготовка Object365: Версия «Plus» (+) в значительной степени выигрывает от тщательной предварительной подготовки на основе обширного набора данных Objects365, что значительно ускоряет конвергенцию на меньших наборах данных.

Метаданные:

Ограничения экосистемы

Хотя PP-YOLOE+ обеспечивает высокую производительность, он тесно связан с PaddlePaddle . Разработчики, привыкшие к PyTorch TensorFlow столкнуться с крутым кривым обучения и трением при интеграции в существующие MLOps-конвейеры, которые изначально не поддерживают Paddle Inference.

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

Ultralytics YOLO11: новое определение эффективности

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

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

YOLO11 блок C3k2, более легкую и быструю эволюцию узкого места CSP, и интегрирует C2PSA (Cross-Stage Partial with Spatial Attention) для усиления фокуса модели на критических областях изображения. Эти изменения привели к созданию модели, которая требует меньших вычислительных затрат по сравнению с предыдущими версиями, сохраняя при этом конкурентоспособные mAP .

Преимущества для разработчиков включают:

  • Меньший объем памяти: YOLO11 значительно меньше параметров, чем PP-YOLOE+, при аналогичной точности (например, YOLO11x имеет примерно на 42% меньше параметров, чем PP-YOLOE+x), что делает его идеальным решением для периферийных устройств с ограниченным объемом оперативной памяти.
  • Единая структура: поддерживает обнаружение, сегментацию, классификацию, оценку положения и OBB без проблем.
  • PyTorch : построен на широко распространенном PyTorch , что обеспечивает совместимость с большинством современных инструментов и библиотек искусственного интеллекта.

Метаданные:

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

Критический анализ: выбор правильного инструмента

1. Простота использования и экосистема.

Именно здесь различие наиболее выражено. Ultralytics славятся своей простота использования. ultralytics Python позволяет выполнять обучение, валидацию и развертывание, как правило, менее чем за пять строк кода.

Напротив, PP-YOLOE+ требует установки PaddlePaddle и клонирования репозитория PaddleDetection. Конфигурация часто включает в себя изменение сложных файлов YAML и использование скриптов командной строки вместо API на языке Python, что может замедлить быстрое прототипирование.

2. Развертывание и универсальность

YOLO11 универсальностью. Его можно без труда экспортировать в такие форматы, как ONNX, TensorRT, CoreML и TFLite одной команды. Это делает его лучшим выбором для развертывания на различном оборудовании, от модулей NVIDIA до iOS .

Хотя PP-YOLOE+ можно экспортировать, этот процесс часто отдает приоритет Paddle Inference или требует промежуточных этапов преобразования (например, Paddle2ONNX), что может вызвать проблемы с совместимостью. Кроме того, YOLO11 из коробки YOLO11 более широкий спектр задач, таких как обнаружение ориентированных ограничительных рамок (OBB) и сегментация экземпляров, тогда как PP-YOLOE+ в основном представляет собой архитектуру, ориентированную на обнаружение.

3. Эффективность обучения

Ultralytics оптимизированы для эффективности обучения, часто требуют меньше CUDA и быстрее сходятся благодаря интеллектуальным предустановленным гиперпараметрам. Экосистема также обеспечивает бесшовную интеграцию с инструментами отслеживания экспериментов, такими как Comet и Weights & Biases, что оптимизирует жизненный цикл MLOps.

Взгляд в будущее: Мощь YOLO26

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

YOLO26 отличается встроенной сквозной конструкцией NMS, которая впервые была внедрена в YOLOv10 теперь доведена до совершенства для производства. Это устраняет необходимость в постобработке с помощью Non-Maximum Suppression (NMS), которая часто является узким местом в приложениях реального времени.

Ключевые усовершенствования в YOLO26 включают:

  • Ускорение CPU до 43%: благодаря удалению Distribution Focal Loss (DFL) и оптимизации архитектуры головы, YOLO26 специально настроен для пограничных вычислений и сред без мощных графических процессоров.
  • MuSGD Optimizer: гибрид SGD Muon (вдохновленный Kimi K2 от Moonshot AI), этот оптимизатор обеспечивает стабильность обучения больших языковых моделей (LLM) для компьютерного зрения, гарантируя более быструю конвергенцию.
  • ProgLoss + STAL: усовершенствованные функции потери, улучшающие обнаружение мелких объектов, что крайне важно для таких задач, как аэрофотосъемка или контроль качества.
  • Улучшения для конкретных задач: включают семантическую сегментационную потерю для повышения точности маски и специализированную угловую потерю для OBB, устраняющую разрывы границ.

Рекомендация

Для новых проектов рекомендуется использовать YOLO26. Его архитектура NMS значительно упрощает процессы развертывания, устраняя сложности настройки IoU для постобработки.

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

Пример реализации

Оцените простоту Ultralytics . Следующий код демонстрирует, как загрузить и обучить модель. Вы можете легко переключаться между YOLO11 YOLO26, изменив строку имени модели.

from ultralytics import YOLO

# Load the latest YOLO26 model (or use "yolo11n.pt")
model = YOLO("yolo26n.pt")

# Train the model on the COCO8 dataset
# The system automatically handles data augmentation and logging
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference on an image
# NMS-free output is handled automatically for YOLO26
results = model("https://ultralytics.com/images/bus.jpg")

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

Для пользователей, заинтересованных в других специализированных архитектурах, в документации также рассматриваются такие модели, как RT-DETR для обнаружения на основе трансформаторов и YOLO для задач с открытым словарем.

Заключение

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


Комментарии