YOLOv10 и PP-YOLOE+#
В компьютерном зрении выбор подходящей архитектуры для детекции объектов в реальном времени требует баланса точности, скорости инференса и эффективности развертывания. Среди заметных вариантов — YOLOv10 и PP-YOLOE+. Обе модели эффективно решают задачи детекции, но основаны на разных принципах проектирования и экосистемах.
В этом техническом руководстве рассматриваются две архитектуры, их показатели производительности, структурные различия и подходящие для них практические задачи. Понимая эти различия, инженеры по машинному обучению и исследователи смогут принимать обоснованные решения при создании конвейеров развертывания.
YOLOv10: обнаружение в реальном времени без NMS#
Разработанная исследователями Университета Цинхуа, YOLOv10 внесла важное архитектурное изменение, устранив необходимость в подавлении немаксимумов (NMS) при постобработке. Такой сквозной подход устраняет давнее узкое место инференса в реальном времени, ускоряя и делая развертывание более предсказуемым, особенно на устройствах с ограниченными вычислительными ресурсами.
Технические характеристики#
- Авторы: Ao Wang, Hui Chen, Lihao Liu и др.
- Организация: Университет Цинхуа
- Дата: 2024-05-23
- arXiv: 2405.14458
- GitHub: THU-MIG/yolov10
- Документация: Документация YOLOv10
Сильные и слабые стороны архитектуры#
Ключевая особенность YOLOv10 — согласованные двойные назначения для обучения без NMS, благодаря которым модель напрямую предсказывает ограничивающие рамки, не полагаясь на эвристическую пороговую фильтрацию. Это обеспечивает отличный баланс скорости и точности, особенно у компактных вариантов модели. Архитектура также оптимизирована для комплексного повышения эффективности и точности, что позволяет сократить избыточные вычисления.
Однако, будучи моделью, предназначенной исключительно для обнаружения объектов, она не обладает универсальностью моделей, которые сразу поддерживают сегментацию экземпляров или оценку позы.
PP-YOLOE+: обнаружение без анкеров в PaddlePaddle#
PP-YOLOE+ — это улучшенная версия исходной PP-YOLOE, разработанная командой PaddlePaddle компании Baidu. Она развивает оптимизированную безъякорную архитектуру и использует улучшенные стратегии обучения для повышения средней точности (mAP) на стандартных бенчмарках.
Технические характеристики#
- Авторы: авторы PaddlePaddle
- Организация: Baidu
- Дата: 2022-04-02
- arXiv: 2203.16250
- GitHub: PaddlePaddle/PaddleDetection
- Документация: README PP-YOLOE+ на GitHub
Сильные и слабые стороны архитектуры#
В PP-YOLOE+ используются масштабируемая магистральная сеть CSPRepResNet и шейка CSPPAN, улучшающие извлечение признаков. Методика обучения опирается на предварительное обучение на крупных наборах данных, таких как Objects365, что повышает точность, особенно у вариантов x и l большего размера.
Главный недостаток PP-YOLOE+ — тесная привязка к фреймворку PaddlePaddle. Командам, привыкшим к PyTorch или единой экосистеме Ultralytics, внедрение PP-YOLOE+ может создать дополнительные сложности. Кроме того, из-за большего количества параметров для обучения требуется больше памяти, чем для сопоставимых моделей Ultralytics YOLO.
Тесты производительности#
В следующей таблице напрямую сравниваются YOLOv10 и PP-YOLOE+ разных размеров, показаны компромиссы между эффективностью использования параметров, вычислительной сложностью (FLOPs) и точностью.
| Модель | размер (пиксели) | mAPval50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv10n | 640 | 38.5 | - | 1.84 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.3 | - | 2.49 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.1 | - | 4.74 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.5 | - | 5.74 | 19.1 | 92.0 |
| YOLOv10l | 640 | 53.2 | - | 7.28 | 24.4 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 10.70 | 29.5 | 160.4 |
| 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 |
YOLOv10 быстрее PP-YOLOE+ при работе с TensorRT на T4 на каждом масштабе и использует меньше параметров (например, YOLOv10m достигает 51.1 mAP при 15.4M параметров и задержке 4.74 мс, тогда как PP-YOLOE+m — 49.8 mAP при 23.43M параметров и 5.56 мс), поэтому она лучше подходит для периферийных вычислений. PP-YOLOE+ лидирует на крайних масштабах: PP-YOLOE+t точнее YOLOv10n (39.9 против 38.5 mAP), а PP-YOLOE+x немного опережает YOLOv10x (54.7 против 54.4 mAP), хотя у нее более чем втрое больше параметров.
Сценарии использования и рекомендации#
Выбор между YOLOv10 и PP-YOLOE+ зависит от конкретных требований твоего проекта, ограничений развертывания и предпочтений в отношении экосистемы.
Когда выбирать YOLOv10#
YOLOv10 — хороший выбор для:
- Детектирование в реальном времени без NMS: Приложения, которым полезно сквозное детектирование без подавления немаксимумов, что упрощает развертывание.
- Сбалансированное соотношение скорости и точности: Проекты, в которых важно найти оптимальный баланс между скоростью инференса и точностью детектирования для моделей разных размеров.
- Приложения с постоянной задержкой: Сценарии развертывания, где важны предсказуемые времена инференса, например в робототехнике или автономных системах.
Когда выбирать PP-YOLOE+#
PP-YOLOE+ рекомендуется в следующих случаях:
- Интеграция с экосистемой PaddlePaddle: Организации с готовой инфраструктурой на базе фреймворка и инструментов PaddlePaddle от Baidu.
- Развертывание на периферийных устройствах с Paddle Lite: Развертывание на оборудовании со специально оптимизированными ядрами инференса для Paddle Lite или движка инференса Paddle.
- Обнаружение объектов на сервере с высокой точностью: Сценарии, где приоритетом является максимальная точность обнаружения на мощных серверах с GPU, а зависимость от конкретного фреймворка не имеет значения.
Когда выбирать Ultralytics (YOLO26)#
Для большинства новых проектов Ultralytics YOLO26 предлагает оптимальное сочетание производительности и удобства разработки:
- Развертывание на периферийных устройствах без NMS: Приложения, которым необходим стабильный инференс с низкой задержкой без усложнения постобработки подавлением немаксимумов.
- Среды только с CPU: Устройства без выделенного ускорения GPU, где инференс YOLO26 на CPU — до 43% быстрее (YOLO26n против YOLO11n), что даёт решающее преимущество.
- Обнаружение небольших объектов: сложные сценарии, например аэрофотосъемка с дронов или анализ данных датчиков IoT, где ProgLoss и STAL повышают точность обнаружения небольших объектов.
Преимущество Ultralytics и будущее: YOLO26#
YOLOv10 и PP-YOLOE+ предлагают свои специализированные преимущества, но для новых проектов компьютерного зрения промышленного уровня мы рекомендуем Ultralytics YOLO26. Выпущенная в январе 2026 года, YOLO26 использует проверенные архитектурные идеи, включая архитектуру без NMS, внедренную в модели YOLO с выходом YOLOv10, в рамках мультизадачной системы.
Модели Ultralytics просты в использовании. Благодаря унифицированному Python API тебе не придется разбираться со сложными файлами конфигурации. Кроме того, моделям YOLO обычно требуется меньше памяти CUDA, чем детекторам на основе Transformer, поэтому обучение проходит быстрее и обходится дешевле.
Основные нововведения YOLO26#
- Сквозная архитектура без NMS: Благодаря необязательной голове с назначением один-к-одному (
nms=False), устраняющей задержку на постобработку с помощью NMS, YOLO26 обеспечивает стабильный и быстрый инференс, необходимый для автономных транспортных средств и скоростной робототехники. - Оптимизация для периферийных устройств: Удаление Distribution Focal Loss (DFL) упрощает форматы экспорта моделей и помогает YOLO26n добиться до 43% более быстрого инференса на CPU, чем YOLO11n.
- Улучшенная динамика обучения: Благодаря оптимизатору MuSGD, гибриду SGD и Muon, YOLO26 переносит стабильность обучения больших языковых моделей (LLM) в задачи компьютерного зрения, обеспечивая более быструю и надежную сходимость.
- Повышение точности благодаря ProgLoss + STAL: Прогрессивная функция потерь и назначение меток с учетом малых объектов (STAL) помогают решать сложные задачи и улучшают детекцию малых объектов на аэрофотоснимках и в сельском хозяйстве.
Универсальность#
В отличие от PP-YOLOE+, ориентированной на детекцию, YOLO26 поддерживает сегментацию экземпляров, семантическую сегментацию, оценку глубины, классификацию изображений, оценку позы и ориентированные ограничивающие рамки (OBB) в единой кодовой базе. Ты можешь управлять наборами данных, обучать и развертывать модели прямо через платформу Ultralytics.
from ultralytics import YOLO
# Инициализация компактной модели YOLO26
model = YOLO("yolo26n.pt")
# Обучай с помощью движка Ultralytics
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Экспортируй в TensorRT для развертывания на GPU
model.export(format="engine", quantize=16)Применение в реальных условиях#
Выбор подходящей модели зависит от ограничений развертывания:
- PP-YOLOE+ подходит для промышленного развертывания, если программно-аппаратный стек PaddlePaddle уже используется. Она хорошо справляется со статичными задачами контроля качества на производстве при высоком разрешении.
- YOLOv10 хорошо подходит для управления большими скоплениями людей и сценариев, где удаление NMS снижает вариативность задержки, делая отслеживание в реальном времени более стабильным.
- Ultralytics YOLO26 рекомендуется для масштабирования на уровне всего предприятия. Будь то анализ дорожного движения в умных городах или развертывание на маломощных периферийных устройствах, таких как Raspberry Pi, небольшой объем памяти, документация и единый конвейер обучения сокращают путь до промышленной эксплуатации.
Если ты хочешь изучить предыдущие поддерживаемые архитектуры или альтернативы на основе Transformer в экосистеме, смотри документацию по YOLO11 или RT-DETR.
Хорошо поддерживаемая экосистема и простой API позволяют разработчикам тратить меньше времени на отладку файлов конфигурации и больше — на решение реальных задач компьютерного зрения.