YOLOv5 и YOLOv10#
За последние несколько лет область компьютерного зрения в реальном времени стремительно развивалась, а различные архитектуры расширяли возможности современного оборудования. Сравнение передовых архитектур YOLOv5 и YOLOv10 демонстрирует значительный этап эволюции обнаружения объектов. В этом техническом обзоре рассматриваются архитектурные подходы этих моделей, компромиссы между производительностью и то, как разработчики могут использовать их в производственных средах.
Подробный разбор архитектуры#
Чтобы эффективно развертывать эти модели в реальных условиях, важно понимать структурные различия между ними.
Ultralytics YOLOv5: отраслевой стандарт#
Представленная компанией Ultralytics, YOLOv5 давно известна непревзойдённым балансом скорости, точности и доступности.
- Автор: Glenn Jocher
- Организация: Ultralytics
- Дата: 2020-06-26
- GitHub: Репозиторий YOLOv5
- Документация: Документация YOLOv5
YOLOv5 использует механизм обнаружения объектов на основе якорей в сочетании с глубоко оптимизированной базовой сетью CSPDarknet. Эта архитектура в значительной степени опирается на стандартные операции, поддерживаемые практически всеми движками инференса, что делает её невероятно универсальной. Её главное преимущество — Python SDK Ultralytics, который обеспечивает удобство работы, простой API и обширную документацию. Кроме того, благодаря более низким требованиям к памяти по сравнению с моделями на основе Transformer YOLOv5 быстро обучается на потребительских GPU, не требуя большого объёма VRAM.
YOLOv10: новый взгляд на парадигму#
Разработанная исследователями из Университета Цинхуа модель YOLOv10 призвана устранить определённые узкие места, связанные с задержкой в предыдущих архитектурах.
- Авторы: Ao Wang, Hui Chen, Lihao Liu и др.
- Организация: Университет Цинхуа
- Дата: 2024-05-23
- ArXiv: 2405.14458
- GitHub: Репозиторий YOLOv10
- Документация: Документация YOLOv10
Главная особенность YOLOv10 — изначально без-NMS-дизайн (подавления немаксимумов). Благодаря использованию согласованных двойных назначений во время обучения модель не нуждается в постобработке NMS при инференсе. Такое теоретическое снижение задержки особенно полезно при развертывании на мощном оборудовании с ускорением NVIDIA TensorRT, хотя оно может усложнить архитектуру для периферийных устройств.
Хотя YOLOv10 предлагает интересные архитектурные новшества, модели Ultralytics, такие как YOLOv5 и более новая YOLO26, изначально поддерживаются в платформе Ultralytics и обеспечивают более высокую эффективность обучения, автоматическую эволюцию гиперпараметров и широкий выбор вариантов экспорта из коробки.
Анализ производительности#
При сравнении этих моделей оптимальный вариант применения определяется балансом между точностью (mAP) и вычислительными затратами (задержкой и количеством параметров). Ниже приведено сравнение технических показателей на наборе данных COCO.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv5n | 640 | 28.0 | - | 1.12 | 1.9 | 4.5 |
| YOLOv5s | 640 | 37.4 | - | 1.92 | 7.2 | 16.5 |
| YOLOv5m | 640 | 45.4 | - | 4.03 | 21.2 | 49.0 |
| YOLOv5l | 640 | 49.0 | - | 6.61 | 46.5 | 109.1 |
| YOLOv5x | 640 | 50.7 | - | 11.89 | 86.7 | 205.7 |
| 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 |
YOLOv10 явно обеспечивает более высокий показатель mAP50-95 при одинаковых масштабах моделей, используя современный дизайн, нацеленный на эффективность и точность. Однако YOLOv5 сохраняет весьма конкурентоспособную задержку, особенно в вариантах Nano и Small, что делает модель надёжным выбором для ограниченных встроенных сред, например линейки NVIDIA Jetson или обычных CPU с использованием OpenVINO.
Методики обучения и экосистема#
Ценность модели во многом зависит от окружающей её экосистемы. Ultralytics поддерживает исключительно хорошо развитую экосистему, охватывающую широкий спектр задач. В то время как YOLOv10 специализируется только на 2D-обнаружении объектов, Ultralytics изначально поддерживает сегментацию экземпляров, классификацию изображений, оценку позы и ориентированные ограничивающие рамки (OBB).
Кроме того, для обучения модели Ultralytics требуется значительно меньше дополнительной памяти, чем для конкурирующих методов на основе Transformer, что помогает ускорить цикл разработки и снизить его стоимость.
Бесперебойное выполнение кода#
Обучение, валидация и экспорт моделей выполняются через единый API. Чтобы переключиться между моделями, достаточно изменить строку.
from ultralytics import YOLO
# Загрузка предварительно обученной модели YOLOv5 для базового тестирования
model_v5 = YOLO("yolov5su.pt") # YOLOv5u: веса YOLOv5 без якорей для пакета ultralytics
# Загрузка модели YOLOv10 для сравнения
model_v10 = YOLO("yolov10s.pt")
# Эффективно обучи модель на наборе данных COCO8
results = model_v5.train(
data="coco8.yaml",
epochs=100,
imgsz=640,
device="0", # Автоматически использует ускорение PyTorch CUDA
batch=16,
)
# Экспорт в ONNX для развертывания инференса на CPU
model_v5.export(format="onnx", simplify=True)Сценарии использования и рекомендации#
Выбор между YOLOv5 и YOLOv10 зависит от требований конкретного проекта, ограничений развертывания и предпочтений в отношении экосистемы.
Когда стоит выбрать YOLOv5#
YOLOv5 — отличный выбор для:
- Проверенные производственные системы: существующие развертывания, где ценятся длительная история стабильной работы YOLOv5, подробная документация и поддержка большого сообщества.
- Обучение при ограниченных ресурсах: среды с ограниченными ресурсами GPU, где эффективный конвейер обучения YOLOv5 и сниженные требования к памяти дают преимущество.
- Широкая поддержка форматов экспорта: проекты, требующие развертывания во множестве форматов, включая ONNX, TensorRT, CoreML и LiteRT.
Когда выбирать YOLOv10#
YOLOv10 рекомендуется для таких задач:
- Детектирование в реальном времени без NMS: Приложения, которым полезно сквозное детектирование без подавления немаксимумов, что упрощает развертывание.
- Сбалансированное соотношение скорости и точности: Проекты, в которых важно найти оптимальный баланс между скоростью инференса и точностью детектирования для моделей разных размеров.
- Приложения с постоянной задержкой: Сценарии развертывания, где важны предсказуемые времена инференса, например в робототехнике или автономных системах.
Когда выбирать Ultralytics (YOLO26)#
Для большинства новых проектов Ultralytics YOLO26 предлагает оптимальное сочетание производительности и удобства разработки:
- Развертывание на периферийных устройствах без NMS: Приложения, которым необходим стабильный инференс с низкой задержкой без усложнения постобработки подавлением немаксимумов.
- Среды только с CPU: Устройства без выделенного ускорителя GPU, где до 43% более быстрый инференс YOLO26 на CPU даёт решающее преимущество.
- Обнаружение небольших объектов: Сложные сценарии, например съёмка с дронов или анализ данных IoT-датчиков, где ProgLoss и STAL заметно повышают точность обнаружения крошечных объектов.
Будущее: Ultralytics YOLO26#
YOLOv5 сделала технологии доступнее, а YOLOv10 расширила границы архитектуры без NMS, но развитие передовых решений продолжается. Для новых проектов мы настоятельно рекомендуем передовую Ultralytics YOLO26, выпущенную в январе 2026 года.
YOLO26 сочетает надёжность экосистемы Ultralytics с революционными улучшениями:
- Сквозной дизайн без NMS: YOLO26 упрощает развертывание и снижает задержку, добавляя парадигму без NMS непосредственно во фреймворк Ultralytics в качестве необязательной головы один-к-одному (
nms=False). - Инференс на CPU до 43% быстрее: благодаря удалению Distribution Focal Loss (DFL) YOLO26 значительно быстрее работает на периферийных устройствах без GPU.
- Оптимизатор MuSGD: вдохновлённый инновациями Moonshot AI в обучении LLM, оптимизатор MuSGD обеспечивает беспрецедентную стабильность и быстрое схождение.
- ProgLoss + STAL: эти новые функции потерь значительно повышают качество распознавания небольших объектов, что важно для таких областей, как анализ снимков с дронов и робототехника.
Управляй YOLO26, обучай и развёртывай эту модель прямо через платформу Ultralytics.
Заключение#
Выбор между YOLOv5 и YOLOv10 часто зависит от ограничений конкретного проекта. YOLOv10 обеспечивает отличную mAP для исследователей и приложений, использующих полную пропускную способность GPU. В свою очередь, YOLOv5 остаётся надёжной и широко совместимой рабочей моделью для стандартных сценариев развертывания.
Однако компьютерное зрение — динамично развивающаяся область. Чтобы добиться оптимального сочетания производительности, универсальности и простоты использования, разработчикам стоит обратить внимание на Ultralytics YOLO26. Эта модель объединяет скорость инференса без NMS с надёжной, хорошо документированной экосистемой Ultralytics, помогая создавать перспективные решения на основе ИИ для компьютерного зрения. Для специализированных задач разработчики также могут рассмотреть YOLO11, отличающуюся универсальной надёжностью, или RT-DETR, обеспечивающую точность на основе Transformer.