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+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 |
| YOLO11n | 640 | 39.5 | 56.1 | 1.5 | 2.6 | 6.5 |
| YOLO11s | 640 | 47.0 | 90.0 | 2.5 | 9.4 | 21.5 |
| YOLO11m | 640 | 51.5 | 183.2 | 4.7 | 20.1 | 68.0 |
| YOLO11l | 640 | 53.4 | 238.6 | 6.2 | 25.3 | 86.9 |
| YOLO11x | 640 | 54.7 | 462.8 | 11.3 | 56.9 | 194.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, что значительно ускоряет конвергенцию на меньших наборах данных.
Метаданные:
- Авторы: Авторы PaddlePaddle
- Организация:Baidu
- Дата: 2022-04-02
- Arxiv:PP-YOLOE: Развитая версия YOLO
- GitHub:PaddlePaddle/PaddleDetection
Ограничения экосистемы
Хотя PP-YOLOE+ обеспечивает высокую производительность, он тесно связан с PaddlePaddle . Разработчики, привыкшие к PyTorch TensorFlow столкнуться с крутым кривым обучения и трением при интеграции в существующие MLOps-конвейеры, которые изначально не поддерживают Paddle Inference.
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 , что обеспечивает совместимость с большинством современных инструментов и библиотек искусственного интеллекта.
Метаданные:
- Авторы: Гленн Джочер и Цзин Цю
- Организация:Ultralytics
- Дата: 2024-09-27
- GitHub:ultralytics/ultralytics
- Документация:Документация 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 для постобработки.
Пример реализации
Оцените простоту 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 обеспечивают баланс производительности, необходимый для современных масштабируемых приложений компьютерного зрения.