YOLOv10 против YOLOv5#
Выбор правильной архитектуры нейронной сети имеет решающее значение для развертывания успешных конвейеров computer vision в продакшене. На этой странице представлен глубокий технический анализ, сравнивающий YOLOv10 и YOLOv5 — две очень влиятельные модели в эволюции детекции объектов в реальном времени. Хотя обе модели оказали значительное влияние на ИИ-сообщество, они представляют разные эпохи и философии в проектировании архитектур глубокого обучения.
В этом руководстве эти архитектуры оцениваются по таким критериям, как mean Average Precision (mAP), задержка инференса, эффективность параметров и поддержка экосистемы, что поможет тебе выбрать лучшую модель для твоих задач развертывания.
Обзор моделей#
YOLOv10: Детектирование объектов в реальном времени из конца в конец#
Разработанная исследователями из Университета Цинхуа, YOLOv10 представила новый подход к детектированию объектов, исключив необходимость в постобработке.
- Авторы: Ао Ван, Хуэй Чен, Лихао Лю и др.
- Организация: Tsinghua University
- Дата: 2024-05-23
- Научная статья: arXiv:2405.14458
- Исходный код: Репозиторий YOLOv10 на GitHub
Главным прорывом YOLOv10 является ее сквозной дизайн без NMS (End-to-End NMS-Free Design). Исторически модели YOLO полагались на Non-Maximum Suppression (NMS) для фильтрации избыточных ограничивающих рамок (bounding boxes). YOLOv10 использует согласованные двойные назначения для обучения без NMS, что радикально снижает вариативность задержки инференса и упрощает логику развертывания. Кроме того, архитектура отличается комплексным дизайном, ориентированным на эффективность и точность, который тщательно оптимизирует различные компоненты для уменьшения вычислительной избыточности.
YOLOv5: отраслевой стандарт удобства использования#
Выпущенная вскоре после создания репозитория Ultralytics PyTorch, YOLOv5 переопределила ожидания разработчиков от фреймворка компьютерного зрения с открытым исходным кодом. Она остается одной из самых широко развертываемых архитектур в мире.
- Автор: Гленн Джочер
- Организация: Ultralytics
- Дата: 2020-06-26
- Исходный код: Репозиторий YOLOv5 на GitHub
YOLOv5 славится своей простотой использования и крайне хорошо поддерживаемой экосистемой. Написанная полностью на PyTorch, она предлагает бесшовный опыт "от нуля до героя" с поддержкой "из коробки" для обучения, валидации и экспорта в такие форматы, как ONNX и TensorRT. В отличие от YOLOv10, которая сосредоточена в основном на чистой детекции объектов, YOLOv5 демонстрирует исключительную универсальность, поддерживая сегментацию экземпляров и классификацию изображений в рамках одного унифицированного Python API.
Сравнение производительности и метрик#
Визуализация связи между скоростью и точностью необходима для определения моделей, которые предлагают лучшую точность при заданном ограничении скорости. Понимание этих performance metrics лежит в основе выбора модели, которая соответствует твоим конкретным аппаратным ограничениям.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (М) | FLOPs (Б) |
|---|---|---|---|---|---|---|
| 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 млн параметров.
При развертывании на устройствах edge AI, таких как NVIDIA Jetson, модели без логики NMS (например, YOLOv10 и YOLO26) часто компилируются в TensorRT чище, избегая резервных операций на CPU.
Сценарии использования и рекомендации#
Выбор между YOLOv10 и YOLOv5 зависит от твоих конкретных требований к проекту, ограничений развертывания и предпочтений в экосистеме.
Когда стоит выбрать YOLOv10#
YOLOv10 — отличный выбор для:
- Детекции в реальном времени без NMS: Приложения, которым полезна сквозная (end-to-end) детекция без использования Non-Maximum Suppression, что снижает сложность развертывания.
- Сбалансированного соотношения скорости и точности: Проекты, требующие оптимального баланса между скоростью вывода и точностью детекции для различных масштабов моделей.
- Приложения с постоянной задержкой: Сценарии развертывания, где предсказуемое время вывода критически важно, например, в robotics или автономных системах.
Когда стоит выбрать YOLOv5#
YOLOv5 рекомендуется для:
- Проверенных производственных систем: существующих развертываний, где ценятся долгая история стабильности YOLOv5, обширная документация и огромная поддержка сообщества.
- Обучения с ограниченными ресурсами: сред с ограниченными ресурсами GPU, где эффективный конвейер обучения YOLOv5 и более низкие требования к памяти являются преимуществом.
- Широкая поддержка форматов экспорта: Проекты, требующие развертывания во многих форматах, включая ONNX, TensorRT, CoreML и TFLite.
Когда выбирать Ultralytics (YOLO26)#
Для большинства новых проектов Ultralytics YOLO26 предлагает наилучшее сочетание производительности и удобства для разработчика:
- Развертывания на периферии без NMS: приложений, требующих стабильного вывода с низкой задержкой без сложности постобработки подавления немаксимумов.
- Среды только с CPU: устройств без выделенного GPU-ускорения, где до 43% более быстрый вывод на CPU у YOLO26 дает решающее преимущество.
- Обнаружение малых объектов: Сложные сценарии, такие как aerial drone imagery или анализ с помощью IoT-сенсоров, где ProgLoss и STAL значительно повышают точность для крошечных объектов.
Преимущество Ultralytics#
Хотя YOLOv10 предлагает отличные возможности обнаружения, опора на академические репозитории иногда может усложнить производственные конвейеры. Используя официальный пакет Ultralytics Python, ты получаешь доступ к унифицированной экосистеме, которая поддерживает как YOLOv5, так и YOLOv10, а также расширенные функции.
- Эффективность обучения: Архитектуры Ultralytics YOLO глубоко оптимизированы под более низкие требования к памяти во время обучения. В отличие от тяжелых моделей на базе Transformer (таких как RT-DETR), которым требуется огромный объем памяти CUDA, ты можешь с комфортом обучать YOLOv5 и YOLOv10 на стандартных потребительских GPU.
- Интеграция с экосистемой: Интеграция с платформой Ultralytics позволяет разработчикам визуально управлять датасетами, отслеживать эксперименты с помощью 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#
Если ты начинаешь новый проект по machine learning сегодня, мы настоятельно рекомендуем оценить новейшую Ultralytics YOLO26. Выпущенная в январе 2026 года, она представляет собой абсолютный передовой уровень (state-of-the-art), объединяя лучшие инновации последних пяти лет.
YOLO26 нативно включает дизайн «End-to-End NMS-Free», заложенный YOLOv10, обеспечивая быстрое и детерминированное развертывание. Кроме того, YOLO26 представляет несколько критических прорывов:
- Ускорение инференса на CPU до 43%: За счет удаления модуля Distribution Focal Loss (DFL) YOLOv26 достигает колоссального прироста скорости на стандартных процессорах, что делает ее главным выбором для мобильного развертывания и маломощных датчиков IoT.
- Оптимизатор MuSGD: Вдохновленный методами обучения больших языковых моделей (LLM), такими как Kimi K2 от Moonshot AI, YOLO26 использует гибрид SGD и Muon. Это обеспечивает невероятно стабильные запуски обучения и значительно ускоренную сходимость по сравнению с оптимизаторами AdamW, используемыми в YOLOv10.
- ProgLoss + STAL: Эти продвинутые функции потерь обеспечивают заметные улучшения в распознавании мелких объектов, что крайне важно для изображений с дронов и систем воздушной безопасности.
- Мастерство в специфических задачах: В то время как YOLOv10 — это строго детектор ограничивающих рамок, YOLO26 предлагает специализированные архитектурные улучшения для всех задач, включая Residual Log-Likelihood Estimation (RLE) для позы (Pose) и специализированные угловые потери для ориентированных ограничивающих рамок (OBB).
Если ты изучаешь более широкий ландшафт детекции объектов, тебе также может быть интересно сравнить эти архитектуры с другими фреймворками. Ознакомься с нашими подробными разборами YOLO11 против EfficientDet или RT-DETR против YOLOv8 для получения более исчерпывающих бенчмарков.
Независимо от того, полагаешься ли ты на надежное наследие YOLOv5, инновацию YOLOv10 без NMS или непревзойденную передовую производительность YOLO26, экосистема Ultralytics предоставляет инструменты, необходимые для быстрого и эффективного воплощения твоих приложений компьютерного зрения в жизнь.