YOLOv10 против YOLOv5: всестороннее техническое сравнение
Выбор правильной архитектуры нейронной сети критически важен для внедрения успешных конвейеров computer vision в производство. Эта страница содержит подробный технический анализ, сравнивающий YOLOv10 и YOLOv5 — две модели, оказавшие огромное влияние на эволюцию детектирования объектов в реальном времени. Хотя обе модели внесли значительный вклад в сообщество ИИ, они представляют разные эпохи и подходы к проектированию архитектур глубокого обучения.
Это руководство оценивает данные архитектуры на основе mean Average Precision (mAP), задержки вывода, эффективности параметров и поддержки экосистемы, помогая тебе выбрать лучшую модель для твоих задач развертывания.
Обзор моделей
YOLOv10: детектирование объектов в реальном времени от начала до конца
Разработанная исследователями из Университета Цинхуа, YOLOv10 представила новый подход к детектированию объектов, исключив необходимость в постобработке.
- Авторы: Ao Wang, Hui Chen, Lihao Liu и др.
- Организация: Tsinghua University
- Дата: 2024-05-23
- Научная статья: arXiv:2405.14458
- Исходный код: Репозиторий YOLOv10 на GitHub
Определяющим прорывом YOLOv10 является её End-to-End NMS-Free Design. Исторически модели YOLO полагались на Non-Maximum Suppression (NMS) для фильтрации избыточных ограничивающих рамок. YOLOv10 использует согласованные двойные назначения для обучения без NMS, что радикально снижает вариативность задержки вывода и упрощает логику развертывания. Кроме того, архитектура отличается дизайном, ориентированным на целостную эффективность и точность, что тщательно оптимизирует различные компоненты для сокращения вычислительной избыточности.
YOLOv5: отраслевой стандарт удобства использования
Выпущенная вскоре после создания репозитория Ultralytics PyTorch, YOLOv5 переопределила ожидания разработчиков от open-source фреймворка компьютерного зрения. Она остается одной из самых широко развертываемых архитектур в мире.
- Автор: Гленн Джочер
- Организация: Ultralytics
- Дата: 26.06.2020
- Исходный код: Репозиторий YOLOv5 на GitHub
YOLOv5 ценится за простоту использования и высококачественную поддерживаемую экосистему. Написанная полностью на PyTorch, она предлагает бесшовный опыт "от нуля до результата" с готовой поддержкой обучения, валидации и экспорта в форматы, такие как ONNX и TensorRT. В отличие от YOLOv10, которая фокусируется преимущественно на чистом детектировании объектов, YOLOv5 демонстрирует исключительную универсальность, поддерживая instance segmentation и image classification в рамках единого Python API.
Сравнение производительности и метрик
Визуализация зависимости между скоростью и точностью необходима для выявления моделей, предлагающих наилучшую точность при заданном ограничении скорости. Понимание этих performance metrics является основополагающим для выбора модели, соответствующей твоим аппаратным ограничениям.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (М) | FLOPs (Б) |
|---|---|---|---|---|---|---|
| YOLOv10n | 640 | 39.5 | - | 1.56 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
| YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 160.4 |
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
Технический анализ
- Точность (mAP): YOLOv10 демонстрирует явное поколенческое преимущество в точности. Например, модель YOLOv10-X достигает 54.4% mAPval, превосходя YOLOv5x (50.7% mAP). Этот скачок во многом обусловлен стратегией обучения без NMS и архитектурными улучшениями, внедренными в 2024 году.
- Задержка вывода (Inference Latency): Хотя модели YOLOv5 исключительно быстры на бенчмарках T4 TensorRT (например, YOLOv5n — 1.12 мс), YOLOv10 полностью исключает этап постобработки NMS. В практических end-to-end развертываниях дизайн YOLOv10 без NMS обеспечивает более стабильную и детерминированную задержку, что критически важно для приложений реального времени, таких как autonomous vehicles и робототехника.
- Эффективность параметров: Модели YOLOv10 поддерживают высококонкурентный баланс производительности. YOLOv10-S достигает 46.7% mAP при всего 7.2M параметров, тогда как YOLOv5s достигает 37.4% mAP при 9.1M параметров.
При развертывании на устройствах edge AI, таких как NVIDIA Jetson, модели без логики NMS (как YOLOv10 и YOLO26) часто компилируются в TensorRT чище, избегая операций возврата к CPU.
Варианты использования и рекомендации
Выбор между YOLOv10 и YOLOv5 зависит от твоих конкретных требований к проекту, ограничений развертывания и предпочтений в экосистеме.
Когда выбирать YOLOv10
YOLOv10 — хороший выбор для:
- Обнаружение в реальном времени без NMS: Приложения, которые выигрывают от комплексного обнаружения без Non-Maximum Suppression, что снижает сложность развертывания.
- Сбалансированные компромиссы скорости и точности: Проекты, требующие хорошего баланса между скоростью вывода и точностью обнаружения для моделей различных масштабов.
- Consistent-Latency Applications: Deployment scenarios where predictable inference times are critical, such as robotics or autonomous systems.
Когда выбирать YOLOv5
YOLOv5 рекомендуется для:
- Проверенных производственных систем: Существующих развертываний, где ценятся долгая история стабильности YOLOv5, обширная документация и огромная поддержка сообщества.
- Обучения в условиях ограниченных ресурсов: Сред с ограниченными GPU-ресурсами, где эффективный конвейер обучения YOLOv5 и меньшие требования к памяти являются преимуществом.
- Широкой поддержки форматов экспорта: Проектов, требующих развертывания во множестве форматов, включая ONNX, TensorRT, CoreML и TFLite.
Когда выбирать Ultralytics (YOLO26)
Для большинства новых проектов Ultralytics YOLO26 предлагает лучшее сочетание производительности и опыта разработчика:
- Периферийное развертывание без NMS: Приложениям требуется стабильный вывод с низкой задержкой без сложности постобработки Non-Maximum Suppression.
- Среды только с CPU: Устройства без выделенного GPU-ускорения, где преимущество YOLO26 в виде до 43% более быстрого вывода на CPU является решающим.
- Обнаружение мелких объектов: Сложные сценарии, такие как аэросъемка с дронов или анализ данных IoT-датчиков, где ProgLoss и STAL значительно повышают точность распознавания крошечных объектов.
Преимущество Ultralytics
Хотя YOLOv10 предлагает отличные возможности детектирования, опора на академические репозитории иногда может усложнить производственные конвейеры. Используя официальный Ultralytics Python package, ты получаешь доступ к единой экосистеме, поддерживающей как YOLOv5, так и YOLOv10, наряду с продвинутыми функциями.
- Эффективность обучения: Архитектуры Ultralytics YOLO глубоко оптимизированы для снижения memory requirements во время обучения. В отличие от тяжелых Transformer-моделей (таких как RT-DETR), требующих огромного объема памяти CUDA, ты можешь с комфортом обучать YOLOv5 и YOLOv10 на стандартных потребительских GPU.
- Интеграция с экосистемой: Интеграция с Ultralytics Platform позволяет разработчикам визуально управлять наборами данных, отслеживать эксперименты с помощью Weights & Biases и автоматически настраивать гиперпараметры.
Пример кода: бесшовное обучение
Используя библиотеку Ultralytics, переключение между этими архитектурами так же просто, как изменение строки модели. Конвейер обучения автоматически обрабатывает аугментацию данных, масштабирование и конфигурацию оптимизатора.
from ultralytics import YOLO
# To use YOLOv5:
# model = YOLO("yolov5s.pt")
# To use YOLOv10:
model = YOLO("yolov10s.pt")
# Train the model on a custom dataset
results = model.train(
data="coco8.yaml",
epochs=100,
imgsz=640,
batch=16,
device=0, # Use GPU 0
)
# Export the trained model to ONNX format
path = model.export(format="onnx")Следующее поколение: Ultralytics YOLO26
Если ты начинаешь новый проект по machine learning сегодня, мы настоятельно рекомендуем оценить новейшую Ultralytics YOLO26. Выпущенная в январе 2026 года, она представляет собой абсолютное состояние технологий, объединяя лучшие инновации последних пяти лет.
YOLO26 нативно включает End-to-End NMS-Free Design, впервые примененный в YOLOv10, обеспечивая быстрое и детерминированное развертывание. Более того, YOLO26 представляет несколько критических прорывов:
- До 43% более быстрый вывод на CPU: Удалив модуль Distribution Focal Loss (DFL), YOLO26 достигает значительного ускорения на стандартных CPU, что делает её первоклассным выбором для mobile deployment и маломощных IoT-сенсоров.
- Оптимизатор MuSGD: Вдохновленный техниками обучения Large Language Model (LLM), такими как Kimi K2 от Moonshot AI, YOLO26 использует гибрид SGD и Muon. Это гарантирует невероятно стабильные запуски обучения и значительно ускоренную сходимость по сравнению с оптимизаторами AdamW, используемыми в YOLOv10.
- ProgLoss + STAL: Эти продвинутые функции потерь дают заметные улучшения в распознавании мелких объектов, что критически важно для drone imagery и приложений воздушной безопасности.
- Мастерство в специфических задачах: В то время как YOLOv10 — это строго детектор ограничивающих рамок, YOLO26 предлагает специализированные архитектурные улучшения для всех задач, включая Residual Log-Likelihood Estimation (RLE) для поз и специализированные потери по углу для ориентированных ограничивающих рамок (OBB).
Если ты изучаешь более широкий ландшафт детектирования объектов, тебе может быть интересно сравнить эти архитектуры с другими фреймворками. Ознакомься с нашими глубокими разборами YOLO11 vs EfficientDet или RT-DETR vs YOLOv8 для получения более полных бенчмарков.
Независимо от того, полагаешься ли ты на надежное наследие YOLOv5, инновации без NMS в YOLOv10 или непревзойденную производительность YOLO26, экосистема Ultralytics предоставляет инструменты, необходимые для быстрого и эффективного воплощения твоих приложений компьютерного зрения в жизнь.