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 | 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 |
| 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 |
Технический анализ#
- Точность (mAP): YOLOv10 демонстрирует явное преимущество нового поколения по точности. Например, модель YOLOv10-X достигает 54,4% mAPval, превосходя YOLOv5x с результатом 50,7% mAP. Такой скачок во многом обусловлен стратегией обучения без NMS и усовершенствованиями архитектуры, представленными в 2024 году.
- Задержка инференса: Модели YOLOv5 чрезвычайно быстры в тестах TensorRT на T4 без дополнительной обработки (например, YOLOv5n — 1,12 мс), однако YOLOv10 полностью устраняет этап постобработки NMS. В реальных сквозных развертываниях дизайн YOLOv10 без NMS обеспечивает более стабильную и предсказуемую задержку, что критически важно для приложений реального времени, таких как автономные автомобили и робототехника.
- Эффективность использования параметров: модели YOLOv10 обеспечивают весьма конкурентный баланс производительности. YOLOv10-S достигает 46,3% mAP с 7,2 млн параметров — столько же параметров у YOLOv5s, которая достигает 37,4% mAP.
При развертывании на устройствах периферийного ИИ, например NVIDIA Jetson, модели без логики NMS (например, YOLOv10 или YOLO26, экспортированная с помощью nms=False) часто проще компилировать в TensorRT, избегая перехода к резервным операциям на CPU.
Сценарии использования и рекомендации#
Выбор между YOLOv10 и YOLOv5 зависит от требований твоего проекта, ограничений развертывания и предпочтений в отношении экосистемы.
Когда выбирать YOLOv10#
YOLOv10 — хороший выбор для:
- Детектирование в реальном времени без NMS: Приложения, которым полезно сквозное детектирование без подавления немаксимумов, что упрощает развертывание.
- Сбалансированное соотношение скорости и точности: Проекты, в которых важно найти оптимальный баланс между скоростью инференса и точностью детектирования для моделей разных размеров.
- Приложения с постоянной задержкой: Сценарии развертывания, где важны предсказуемые времена инференса, например в робототехнике или автономных системах.
Когда стоит выбрать YOLOv5#
YOLOv5 рекомендуется для следующих задач:
- Проверенные производственные системы: существующие развертывания, где ценятся длительная история стабильной работы YOLOv5, подробная документация и поддержка большого сообщества.
- Обучение при ограниченных ресурсах: среды с ограниченными ресурсами GPU, где эффективный конвейер обучения YOLOv5 и сниженные требования к памяти дают преимущество.
- Широкая поддержка форматов экспорта: проекты, требующие развертывания во множестве форматов, включая ONNX, TensorRT, CoreML и LiteRT.
Когда выбирать Ultralytics (YOLO26)#
Для большинства новых проектов Ultralytics YOLO26 предлагает оптимальное сочетание производительности и удобства разработки:
- Развертывание на периферийных устройствах без NMS: Приложения, которым необходим стабильный инференс с низкой задержкой без усложнения постобработки подавлением немаксимумов.
- Среды только с CPU: Устройства без выделенного ускорителя GPU, где до 43% более быстрый инференс YOLO26 на CPU даёт решающее преимущество.
- Обнаружение небольших объектов: Сложные сценарии, например съёмка с дронов или анализ данных IoT-датчиков, где ProgLoss и STAL заметно повышают точность обнаружения крошечных объектов.
Преимущества Ultralytics#
YOLOv10 обеспечивает отличные возможности детекции, но использование академических репозиториев иногда осложняет производственные конвейеры. Официальный пакет Ultralytics для Python дает доступ к единой экосистеме, поддерживающей и YOLOv5, и YOLOv10, а также расширенные функции.
- Эффективность обучения: архитектуры Ultralytics YOLO тщательно оптимизированы для снижения требований к памяти во время обучения. В отличие от ресурсоемких моделей-трансформеров, таких как RT-DETR, которым требуется большой объем памяти CUDA, ты можешь без труда обучать YOLOv5 и YOLOv10 на обычных потребительских GPU.
- Интеграция с экосистемой: интеграция с платформой Ultralytics позволяет разработчикам визуально управлять датасетами, отслеживать эксперименты с помощью Weights & Biases и автоматически настраивать гиперпараметры.
Пример кода: простое обучение#
В библиотеке Ultralytics достаточно изменить строку с названием модели, чтобы переключаться между этими архитектурами. Конвейер обучения автоматически выполняет аугментацию и масштабирование данных, а также настраивает оптимизатор.
from ultralytics import YOLO
# Для использования YOLOv5:
# model = YOLO("yolov5su.pt")
# Для использования YOLOv10:
model = YOLO("yolov10s.pt")
# Обучи модель на пользовательском датасете
results = model.train(
data="coco8.yaml",
epochs=100,
imgsz=640,
batch=16,
device=0, # Используй GPU 0
)
# Экспортируй обученную модель в формат ONNX
path = model.export(format="onnx")Следующее поколение: Ultralytics YOLO26#
Если ты сегодня начинаешь новый проект в области машинного обучения, мы настоятельно рекомендуем оценить новейшую модель Ultralytics YOLO26. Выпущенная в январе 2026 года, она представляет собой передовое решение, объединяющее лучшие инновации последних пяти лет.
YOLO26 изначально поддерживает сквозной дизайн без NMS, впервые реализованный в YOLOv10, в виде опциональной головы «один к одному» (nms=False), что обеспечивает быстрое и предсказуемое развертывание. Кроме того, YOLO26 предлагает несколько важных нововведений:
- Инференс на CPU до 43% быстрее: удаление модуля Distribution Focal Loss (DFL) значительно ускоряет работу YOLO26 на стандартных CPU, что делает ее оптимальным выбором для развертывания на мобильных устройствах и маломощных IoT-сенсорах.
- Оптимизатор MuSGD: Вдохновленная методами обучения больших языковых моделей (LLM), такими как Kimi K2 от Moonshot AI, YOLO26 использует гибрид SGD и Muon. Это обеспечивает исключительно стабильное обучение и значительно ускоряет сходимость по сравнению со стандартными оптимизаторами SGD и AdamW, используемыми в предыдущих моделях YOLO.
- ProgLoss + STAL: эти продвинутые функции потерь заметно повышают распознавание мелких объектов, что критически важно для съемки с дронов и охраны с воздуха.
- Специализация под конкретные задачи: YOLOv10 предназначена исключительно для детекции ограничивающих рамок, тогда как YOLO26 предлагает специализированные архитектурные усовершенствования для всех задач, включая оценку остаточного логарифмического правдоподобия (RLE) для позы и специальные функции потерь угла для ориентированных ограничивающих рамок (OBB).
Если ты изучаешь более широкий спектр решений для детекции объектов, тебе также может быть интересно сравнить эти архитектуры с другими фреймворками. Ознакомься с нашими подробными сравнениями YOLO11 и EfficientDet и RT-DETR и YOLOv8, чтобы получить более полное представление о результатах тестирования.
Независимо от того, полагаешься ли ты на проверенную временем YOLOv5, инновационную YOLOv10 без NMS или непревзойденную передовую производительность YOLO26, экосистема Ultralytics предоставляет инструменты, необходимые для быстрого и эффективного создания приложений ИИ для компьютерного зрения.