YOLOv5 и YOLOv10#
За последние несколько лет область компьютерного зрения в реальном времени демонстрировала экспоненциальный рост: различные архитектуры расширяли границы возможностей современного оборудования. При оценке передовых архитектур сравнение YOLOv5 и YOLOv10 демонстрирует значительный эволюционный шаг в области обнаружения объектов. В этом подробном техническом анализе рассматриваются их архитектурные подходы, компромиссы между характеристиками и способы применения этих инструментов разработчиками в производственных средах.
Подробный разбор архитектуры#
Понимание структурных различий между этими моделями имеет решающее значение для их эффективного развертывания в реальных условиях.
Ultralytics YOLOv5: отраслевой стандарт#
Представленная компанией Ultralytics, YOLOv5 уже давно признана благодаря непревзойденному балансу скорости, точности и доступности.
- Автор: Glenn Jocher
- Организация: Ultralytics
- Дата: 2020-06-26
- GitHub: Репозиторий YOLOv5
- Документация: Документация YOLOv5
YOLOv5 использует механизм обнаружения на основе якорей в сочетании с глубоко оптимизированным backbone CSPDarknet. Эта архитектура в значительной степени опирается на стандартные операции, поддерживаемые практически всеми движками инференса, что делает ее чрезвычайно универсальной. Ее главное преимущество — Ultralytics Python SDK, который обеспечивает удобство работы, простой API и обширную документацию. Кроме того, меньшие требования YOLOv5 к памяти по сравнению с моделями на основе Transformer позволяют быстро обучать ее на потребительских 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 Platform, обеспечивая более эффективное обучение, автоматическую эволюцию гиперпараметров и широкие возможности экспорта из коробки.
Анализ производительности#
При сравнении этих моделей оптимальный вариант использования определяется балансом между точностью (mAP) и вычислительными затратами (задержкой и количеством параметров). Ниже приведено техническое сравнение производительности на датасете COCO.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 требует значительно меньше памяти, чем конкурирующие методы на основе Transformer, что позволяет сохранить быстрый и экономичный цикл разработки.
Бесшовное выполнение кода#
Обучение, валидация и экспорт моделей объединены в рамках единого 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: приложений, которым полезно сквозное обнаружение без подавления немаксимумов, что снижает сложность развертывания.
- Сбалансированного соотношения скорости и точности: проектов, требующих удачного баланса между скоростью инференса и точностью обнаружения для моделей разных размеров.
- Приложений со стабильной задержкой: сценариев развертывания, где критически важны предсказуемые времена инференса, например в робототехнике или автономных системах.
Когда выбирать Ultralytics (YOLO26)#
Для большинства новых проектов Ultralytics YOLO26 предлагает лучшее сочетание производительности и удобства для разработчиков:
- Развертывания на периферийных устройствах без NMS: приложений, требующих стабильного вывода с низкой задержкой без сложной постобработки с подавлением немаксимумов.
- Сред без GPU: устройств без выделенного ускорения GPU, где до 43% более быстрый вывод YOLO26 на CPU дает решающее преимущество.
- Обнаружения мелких объектов: сложных сценариев, таких как аэрофотосъемка с дронов или анализ данных IoT-сенсоров, где ProgLoss и STAL значительно повышают точность обнаружения крошечных объектов.
Будущее: Ultralytics YOLO26#
В то время как YOLOv5 произвела революцию в доступности, а YOLOv10 расширила границы архитектур без NMS, передовые технологии продолжают развиваться. Для новых проектов мы настоятельно рекомендуем передовую Ultralytics YOLO26, выпущенную в январе 2026 года.
YOLO26 объединяет надежность экосистемы Ultralytics с революционными улучшениями:
- Сквозная архитектура без NMS: YOLO26 интегрирует подход без NMS непосредственно в платформу Ultralytics, упрощая развертывание и гарантируя меньшую задержку.
- До 43% более быстрый инференс на CPU: Благодаря устранению Distribution Focal Loss (DFL) YOLO26 работает значительно быстрее на периферийных устройствах без GPU.
- Оптимизатор MuSGD: Оптимизатор MuSGD, вдохновленный инновациями в обучении LLM от Moonshot AI, обеспечивает беспрецедентную стабильность и быструю сходимость.
- ProgLoss + STAL: Эти новые функции потерь значительно улучшают распознавание небольших объектов, что особенно важно для таких областей, как съемка с дронов и робототехника.
Ты можешь управлять, обучать и развертывать YOLO26 напрямую через Ultralytics Platform.
Заключение#
Выбор между YOLOv5 и YOLOv10 часто определяется конкретными ограничениями проекта. YOLOv10 обеспечивает отличное значение mAP для исследователей и приложений, использующих высокую пропускную способность GPU. В свою очередь, YOLOv5 остается надежной и высокосовместимой рабочей моделью для стандартных развертываний.
Однако область компьютерного зрения динамично развивается. Чтобы получить наилучший баланс производительности, универсальности и удобства использования, разработчикам стоит обратить внимание на Ultralytics YOLO26. Она сочетает скорость инференса без NMS с надежной и хорошо документированной экосистемой Ultralytics, обеспечивая перспективность твоих решений в области AI для компьютерного зрения. Для специализированных сценариев разработчики также могут рассмотреть YOLO11 благодаря ее универсальной надежности или RT-DETR для точности на основе Transformer.