YOLOv5 против YOLOv10: всестороннее техническое сравнение
Область компьютерного зрения в реальном времени демонстрирует экспоненциальный рост за последние несколько лет, причем различные архитектуры расширяют границы возможного на современном оборудовании. При оценке передовых архитектур сравнение YOLOv5 и YOLOv10 подчеркивает значительный эволюционный шаг в области детектирования объектов. Этот технический обзор исследует их архитектурные парадигмы, компромиссы производительности и способы использования этих инструментов разработчиками в производственных средах.
Архитектурный разбор
Понимание структурных различий между этими моделями критически важно для их эффективного развертывания в реальных условиях.
Ultralytics YOLOv5: отраслевой стандарт
Представленная компанией Ultralytics, модель YOLOv5 давно признана за непревзойденный баланс скорости, точности и доступности.
- Автор: Гленн Джочер
- Организация: Ultralytics
- Дата: 2020-06-26
- GitHub: репозиторий YOLOv5
- Документация: документация YOLOv5
YOLOv5 опирается на механизм детектирования на основе якорей (anchor-based), объединенный с глубоко оптимизированным бэкендом CSPDarknet. Эта архитектура в значительной степени полагается на стандартные операции, поддерживаемые практически всеми движками вывода, что делает ее невероятно универсальной. Ее основное преимущество заключается в Ultralytics Python SDK, который обеспечивает оптимизированный пользовательский опыт, простой API и обширную документацию. Кроме того, более низкие требования YOLOv5 к памяти по сравнению с трансформерными моделями означают быстрое обучение на потребительских GPU без значительных затрат VRAM.
YOLOv10: развитие парадигмы
Разработанная исследователями из Университета Цинхуа, YOLOv10 нацелена на устранение конкретных узких мест задержки, обнаруженных в предыдущих архитектурах.
- Авторы: Ао Ван, Хуэй Чэнь, Лихао Лю и др.
- Организация: Университет Цинхуа
- Дата: 2024-05-23
- ArXiv: 2405.14458
- GitHub: репозиторий YOLOv10
- Документация: документация YOLOv10
Определяющей характеристикой YOLOv10 является ее нативный дизайн без использования NMS (подавление немаксимумов). Используя согласованные двойные назначения во время обучения, модель устраняет необходимость в постпроцессинге NMS при выводе. Это теоретическое сокращение задержки очень полезно для развертывания на высокопроизводительном оборудовании с мощным ускорением NVIDIA TensorRT, хотя это может привнести структурную сложность для периферийных устройств.
В то время как YOLOv10 предлагает интересные архитектурные новшества, модели Ultralytics, такие как YOLOv5 и более новая YOLO26, нативно поддерживаются в рамках Ultralytics Platform, предлагая превосходную эффективность обучения, автоматическую эволюцию гиперпараметров и широкие возможности экспорта «из коробки».
Анализ производительности
При сравнении этих моделей баланс между точностью (mAP) и вычислительными затратами (задержка и количество параметров) определяет наилучший вариант использования. Ниже приведено техническое сравнение производительности на датасете COCO.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (М) | FLOPs (Б) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
YOLOv10 явно достигает более высокого показателя mAP50-95 при эквивалентных масштабах размера, используя модернизированный дизайн модели, ориентированный на эффективность и точность. Однако YOLOv5 сохраняет невероятно конкурентоспособную задержку, особенно на уровнях Nano и Small, что делает ее крайне надежной для ограниченных встроенных сред, таких как линейка NVIDIA Jetson или стандартные CPU с помощью OpenVINO.
Методологии обучения и экосистема
Ценность модели глубоко связана с окружающей ее экосистемой. Ultralytics поддерживает исключительно ухоженную экосистему, которая поддерживает невероятно широкий спектр задач. В то время как YOLOv10 сфокусирована исключительно на 2D детектировании объектов, Ultralytics нативно поддерживает сегментацию экземпляров, классификацию изображений, оценку позы и ориентированные ограничивающие рамки (OBB).
Более того, обучение модели Ultralytics требует значительно меньших затрат памяти, чем конкурирующие методы на основе трансформеров, что позволяет сохранять цикл разработки быстрым и экономически эффективным.
Бесшовное выполнение кода
Обучение, валидация и экспорт моделей объединены под одним API. Ты можешь переключаться между моделями, просто изменяя строку.
from ultralytics import YOLO
# Load a pre-trained YOLOv5 model for baseline testing
model_v5 = YOLO("yolov5s.pt")
# Load a YOLOv10 model for comparison
model_v10 = YOLO("yolov10s.pt")
# Train the model on the COCO8 dataset efficiently
results = model_v5.train(
data="coco8.yaml",
epochs=100,
imgsz=640,
device="0", # Automatically utilizes PyTorch CUDA acceleration
batch=16,
)
# Export to ONNX for CPU inference deployment
model_v5.export(format="onnx", simplify=True)Варианты использования и рекомендации
Выбор между YOLOv5 и YOLOv10 зависит от твоих конкретных требований к проекту, ограничений развертывания и предпочтений в экосистеме.
Когда выбирать YOLOv5
YOLOv5 — отличный выбор для:
- Проверенных производственных систем: Существующих развертываний, где ценятся долгая история стабильности YOLOv5, обширная документация и огромная поддержка сообщества.
- Обучения в условиях ограниченных ресурсов: Сред с ограниченными GPU-ресурсами, где эффективный конвейер обучения YOLOv5 и меньшие требования к памяти являются преимуществом.
- Широкой поддержки форматов экспорта: Проектов, требующих развертывания во множестве форматов, включая ONNX, TensorRT, CoreML и TFLite.
Когда выбирать YOLOv10
YOLOv10 рекомендуется для:
- Обнаружение в реальном времени без NMS: Приложения, которые выигрывают от комплексного обнаружения без Non-Maximum Suppression, что снижает сложность развертывания.
- Сбалансированные компромиссы скорости и точности: Проекты, требующие хорошего баланса между скоростью вывода и точностью обнаружения для моделей различных масштабов.
- Consistent-Latency Applications: Deployment scenarios where predictable inference times are critical, such as robotics or autonomous systems.
Когда выбирать Ultralytics (YOLO26)
Для большинства новых проектов Ultralytics YOLO26 предлагает лучшее сочетание производительности и опыта разработчика:
- Периферийное развертывание без NMS: Приложениям требуется стабильный вывод с низкой задержкой без сложности постобработки Non-Maximum Suppression.
- Среды только с CPU: Устройства без выделенного GPU-ускорения, где преимущество YOLO26 в виде до 43% более быстрого вывода на CPU является решающим.
- Обнаружение мелких объектов: Сложные сценарии, такие как аэросъемка с дронов или анализ данных IoT-датчиков, где ProgLoss и STAL значительно повышают точность распознавания крошечных объектов.
Будущее: Ultralytics YOLO26
В то время как YOLOv5 совершила революцию в доступности, а YOLOv10 расширила границы архитектуры без NMS, современное состояние технологий продолжает развиваться. Для новых проектов мы настоятельно рекомендуем передовую модель Ultralytics YOLO26, выпущенную в январе 2026 года.
YOLO26 объединяет надежность экосистемы Ultralytics с прорывными достижениями:
- Сквозной дизайн без NMS: внедряя парадигму без NMS непосредственно в фреймворк Ultralytics, YOLO26 упрощает развертывание и гарантирует более низкую задержку.
- До 43% более быстрый вывод на CPU: благодаря удалению Distribution Focal Loss (DFL), YOLO26 заметно быстрее работает на периферийных устройствах без GPU.
- Оптимизатор MuSGD: вдохновленный инновациями в обучении LLM от Moonshot AI, оптимизатор MuSGD обеспечивает беспрецедентную стабильность и быструю сходимость.
- ProgLoss + STAL: эти новые функции потерь значительно улучшают распознавание мелких объектов, что жизненно важно для таких областей, как аэрофотосъемка с дронов и робототехника.
Ты можешь управлять, обучать и развертывать YOLO26 напрямую через Ultralytics Platform.
Заключение
Выбор между YOLOv5 и YOLOv10 часто сводится к конкретным ограничениям проекта. YOLOv10 предлагает отличный mAP для исследователей и приложений, использующих высокую пропускную способность GPU. С другой стороны, YOLOv5 остается надежной и высокосовместимой «рабочей лошадкой» для стандартных развертываний.
Однако область компьютерного зрения динамична. Чтобы получить максимальный баланс производительности, универсальности и простоты использования, разработчикам стоит обратить внимание на Ultralytics YOLO26. Она сочетает в себе скорость вывода без NMS с надежной и хорошо документированной экосистемой Ultralytics, гарантируя, что твои AI-решения в области зрения готовы к будущему. Для специализированных вариантов использования разработчики также могут изучить YOLO11 для общей устойчивости или RT-DETR для точности, основанной на трансформерах.