YOLOv10 и YOLOv5#
Выбор правильной архитектуры нейронной сети критически важен для успешного развертывания производственных конвейеров компьютерного зрения. На этой странице представлен подробный технический анализ YOLOv10 и YOLOv5 — двух чрезвычайно значимых моделей в развитии обнаружения объектов в реальном времени. Хотя обе модели оказали значительное влияние на сообщество ИИ, они представляют разные эпохи и философии проектирования архитектур глубокого обучения.
В этом руководстве эти архитектуры оцениваются по средней точности (mAP), задержке инференса, эффективности использования параметров и поддержке экосистемы, что поможет тебе выбрать лучшую модель для своих задач развертывания.
Обзор моделей#
YOLOv10: обнаружение объектов в реальном времени от начала до конца#
Разработанная исследователями из Университета Цинхуа, YOLOv10 представила новый подход к обнаружению объектов, устраняющий необходимость в постобработке.
- Авторы: Ao Wang, Hui Chen, Lihao Liu и др.
- Организация: Университет Цинхуа
- Дата: 2024-05-23
- Научная статья: arXiv:2405.14458
- Исходный код: репозиторий YOLOv10 на GitHub
Определяющим прорывом YOLOv10 стала его сквозная архитектура без NMS. Исторически модели YOLO полагались на подавление немаксимумов (NMS) для фильтрации повторяющихся ограничивающих рамок. YOLOv10 использует согласованные двойные назначения для обучения без NMS, что значительно снижает вариативность задержки инференса и упрощает логику развертывания. Кроме того, архитектура отличается целостным дизайном, ориентированным на эффективность и точность, который тщательно оптимизирует различные компоненты для сокращения вычислительной избыточности.
YOLOv5: отраслевой стандарт удобства использования#
Выпущенная вскоре после создания репозитория Ultralytics PyTorch, YOLOv5 изменила представления разработчиков о том, каким должен быть фреймворк ИИ для компьютерного зрения с открытым исходным кодом. Она остается одной из самых широко развертываемых архитектур в мире.
- Автор: Glenn Jocher
- Организация: Ultralytics
- Дата: 2020-06-26
- Исходный код: репозиторий YOLOv5 на GitHub
YOLOv5 получила признание благодаря простоте использования и отлично поддерживаемой экосистеме. Полностью написанная на PyTorch, она обеспечивала бесшовный опыт «от нуля до героя» с готовой поддержкой обучения, валидации и экспорта в такие форматы, как ONNX и TensorRT. В отличие от YOLOv10, которая в первую очередь ориентирована на обнаружение объектов, YOLOv5 демонстрирует исключительную универсальность, поддерживая сегментацию экземпляров и классификацию изображений в рамках единого Python API.
Сравнение производительности и метрик#
Визуализация взаимосвязи между скоростью и точностью необходима для выявления моделей, обеспечивающих наилучшую точность при заданном ограничении скорости. Понимание этих метрик производительности имеет фундаментальное значение для выбора модели, соответствующей конкретным ограничениям твоего оборудования.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 году.
- Задержка инференса: Хотя модели YOLOv5 исключительно быстры в исходных тестах T4 TensorRT (например, YOLOv5n выполняет инференс за 1,12 мс), YOLOv10 полностью устраняет этап постобработки NMS. В практических сквозных развертываниях архитектура YOLOv10 без NMS обеспечивает более стабильную и детерминированную задержку, что критически важно для приложений реального времени, таких как автономные транспортные средства и робототехника.
- Эффективность использования параметров: Модели YOLOv10 обеспечивают весьма конкурентоспособный баланс производительности. YOLOv10-S достигает 46,7% mAP всего с 7,2 млн параметров, тогда как YOLOv5s достигает 37,4% mAP с 9,1 млн параметров.
При развертывании на устройствах периферийного ИИ, таких как NVIDIA Jetson, модели без логики NMS (например, YOLOv10 и YOLO26) часто проще компилировать в TensorRT, избегая резервных операций на CPU.
Варианты применения и рекомендации#
Выбор между YOLOv10 и YOLOv5 зависит от конкретных требований твоего проекта, ограничений развертывания и предпочтений в отношении экосистемы.
Когда выбирать YOLOv10#
YOLOv10 — подходящий выбор для:
- Обнаружения объектов в реальном времени без NMS: приложений, которым полезно сквозное обнаружение без подавления немаксимумов, что снижает сложность развертывания.
- Сбалансированного соотношения скорости и точности: проектов, требующих удачного баланса между скоростью инференса и точностью обнаружения для моделей разных размеров.
- Приложений со стабильной задержкой: сценариев развертывания, где критически важны предсказуемые времена инференса, например в робототехнике или автономных системах.
Когда стоит выбрать YOLOv5#
YOLOv5 рекомендуется для:
- Проверенных производственных систем: существующих развертываний, где важны длительная история стабильной работы YOLOv5, обширная документация и огромная поддержка сообщества.
- Обучения при ограниченных ресурсах: сред с ограниченными ресурсами GPU, где эффективный конвейер обучения YOLOv5 и более низкие требования к памяти дают преимущества.
- Широкой поддержки форматов экспорта: проектов, требующих развертывания во множестве форматов, включая ONNX, TensorRT, CoreML и TFLite.
Когда выбирать Ultralytics (YOLO26)#
Для большинства новых проектов Ultralytics YOLO26 предлагает лучшее сочетание производительности и удобства для разработчиков:
- Развертывания на периферийных устройствах без NMS: приложений, требующих стабильного вывода с низкой задержкой без сложной постобработки с подавлением немаксимумов.
- Сред без GPU: устройств без выделенного ускорения GPU, где до 43% более быстрый вывод YOLO26 на CPU дает решающее преимущество.
- Обнаружения мелких объектов: сложных сценариев, таких как аэрофотосъемка с дронов или анализ данных IoT-сенсоров, где ProgLoss и STAL значительно повышают точность обнаружения крошечных объектов.
Преимущества Ultralytics#
Хотя YOLOv10 предоставляет отличные возможности обнаружения, зависимость от академических репозиториев иногда может усложнить производственные конвейеры. Используя официальный пакет Ultralytics для Python, ты получаешь доступ к единой экосистеме, поддерживающей YOLOv5 и YOLOv10, а также расширенные возможности.
- Эффективность обучения: архитектуры Ultralytics YOLO тщательно оптимизированы для снижения требований к памяти во время обучения. В отличие от тяжелых моделей 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#
Если ты начинаешь новый проект машинного обучения сегодня, мы настоятельно рекомендуем оценить новейшую Ultralytics YOLO26. Выпущенная в январе 2026 года, она представляет собой абсолютное передовое решение, объединяющее лучшие инновации последних пяти лет.
YOLO26 изначально включает сквозную архитектуру без NMS, впервые представленную в YOLOv10, обеспечивая быстрое и детерминированное развертывание. Кроме того, YOLO26 представляет несколько важных прорывов:
- До 43% более быстрый инференс на CPU: благодаря удалению модуля Distribution Focal Loss (DFL) YOLO26 значительно ускоряет работу на стандартных CPU, что делает ее оптимальным выбором для мобильного развертывания и маломощных IoT-сенсоров.
- Оптимизатор MuSGD: вдохновленный методами обучения Large Language Model (LLM), такими как Kimi K2 от Moonshot AI, YOLO26 использует комбинацию SGD и Muon. Это обеспечивает исключительно стабильные процессы обучения и значительно более быструю сходимость по сравнению с оптимизаторами AdamW, используемыми в YOLOv10.
- ProgLoss + STAL: эти продвинутые функции потерь обеспечивают заметное улучшение распознавания небольших объектов, что критически важно для аэрофотоснимков с дронов и приложений воздушной безопасности.
- Мастерство в специализированных задачах: в то время как YOLOv10 является исключительно детектором ограничивающих рамок, YOLO26 предлагает специализированные архитектурные улучшения для всех задач, включая Residual Log-Likelihood Estimation (RLE) для поз и специализированные функции потерь угла для Oriented Bounding Boxes (OBB).
Если ты изучаешь более широкий ландшафт обнаружения объектов, тебе также может быть интересно сравнить эти архитектуры с другими фреймворками. Ознакомься с нашими подробными материалами о YOLO11 и EfficientDet или RT-DETR и YOLOv8, чтобы получить более полное сравнение производительности.
Независимо от того, полагаешься ли ты на проверенное временем наследие YOLOv5, инновации YOLOv10 без NMS или непревзойденную передовую производительность YOLO26, экосистема Ultralytics предоставляет необходимые инструменты для быстрого и эффективного воплощения приложений ИИ для компьютерного зрения.