YOLOv10 и YOLOv6-3.0#
В стремительно развивающейся сфере компьютерного зрения выбор оптимальной архитектуры для обнаружения объектов имеет решающее значение для балансирования скорости инференса, точности модели и практической возможности развертывания. Это руководство содержит подробное техническое сравнение двух мощных моделей: академически ориентированной YOLOv10 и промышленно ориентированной YOLOv6-3.0. Обе модели предлагают уникальные архитектурные инновации и решают различные задачи развертывания систем компьютерного зрения в реальном времени.
Обзор YOLOv10: первопроходец сквозного подхода#
Выпущенная в середине 2024 года, YOLOv10 изменила парадигму семейства YOLO, полностью устранив необходимость в подавлении немаксимумов (NMS) на этапе постобработки. Эта изначально сквозная архитектура минимизирует узкие места, связанные с задержкой инференса, что делает её особенно привлекательной для ИИ на периферии и встраиваемых систем.
- Авторы: Ao Wang, Hui Chen, Lihao Liu и др.
- Организация: Университет Цинхуа
- Дата: 2024-05-23
- ArXiv: 2405.14458
- GitHub: THU-MIG/yolov10
- Документация: Документация Ultralytics YOLOv10
Архитектурные инновации#
YOLOv10 достигает работы без NMS благодаря стратегии согласованного двойного назначения. Во время обучения модель использует назначения меток один-ко-многим и один-к-одному, обогащая сигналы обучения. Во время инференса она строго полагается на голову один-к-одному, устраняя вычислительные накладные расходы, связанные с традиционной фильтрацией ограничивающих рамок. Кроме того, YOLOv10 использует целостный дизайн, ориентированный на эффективность, тщательно оптимизируя внутренние компоненты, такие как слои сверточной нейронной сети, чтобы значительно сократить вычислительную избыточность и общее количество параметров.
Обзор YOLOv6-3.0: промышленная рабочая лошадка#
Разработанная специально для промышленных приложений, YOLOv6-3.0 ориентирована на высокую пропускную способность GPU. Она особенно эффективна в средах, где используются устаревшие системы и интенсивная пакетная обработка на выделенном оборудовании серверного класса.
- Авторы: Chuyi Li, Lulu Li, Yifei Geng и др.
- Организация: Meituan
- Дата: 2023-01-13
- ArXiv: 2301.05586
- GitHub: meituan/YOLOv6
- Документация: Документация Ultralytics YOLOv6
Архитектурные инновации#
YOLOv6-3.0 выделяется сильно оптимизированным бэкбоном EfficientRep, разработанным для максимального ускорения инференса на аппаратных ускорителях, таких как GPU NVIDIA. В версии 3.0 появился модуль двунаправленной конкатенации (BiC) для улучшения многоуровневого слияния признаков. Кроме того, реализована стратегия обучения с поддержкой якорей (AAT), объединяющая быструю сходимость детекторов на основе якорей со способностью к обобщению безъякорных подходов.
Сравнение производительности и метрик#
При анализе исходной производительности становятся очевидны результаты архитектурных улучшений, внесенных в YOLOv10. YOLOv10 стабильно обеспечивает более высокую среднюю точность (mAP), требуя при этом значительно меньше параметров и FLOPs.
| Модель | размер (пиксели) | 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 |
| YOLOv6-3.0n | 640 | 37.5 | - | 1.17 | 4.7 | 11.4 |
| YOLOv6-3.0s | 640 | 45.0 | - | 2.66 | 18.5 | 45.3 |
| YOLOv6-3.0m | 640 | 50.0 | - | 5.28 | 34.9 | 85.8 |
| YOLOv6-3.0l | 640 | 52.8 | - | 8.95 | 59.6 | 150.7 |
Хотя YOLOv6-3.0 сохраняет небольшое преимущество в скорости в вариантах Nano и Medium при выполнении исключительно в TensorRT на GPU T4, YOLOv10 требует почти вдвое меньше памяти для достижения более высокой точности, заметно склоняя баланс производительности в пользу современных сквозных архитектур.
Модели Ultralytics YOLO изначально требуют меньше памяти во время обучения и инференса по сравнению со сложными моделями на базе Transformer, благодаря чему их значительно проще масштабировать и развертывать на устройствах с ограниченными ресурсами.
Преимущества экосистемы Ultralytics#
Выбор модели Ultralytics, такой как YOLOv10, дает гораздо больше, чем просто доступ к архитектуре: ты получаешь тщательно поддерживаемую экосистему, которая упрощает весь жизненный цикл машинного обучения. YOLOv6, размещенная в статичном исследовательском репозитории, не располагает мощными инструментами и поддержкой множества задач, которые фреймворк Ultralytics предоставляет из коробки.
- Простота использования: API Ultralytics для Python обеспечивает удобный пользовательский интерфейс, позволяя разработчикам обучать и экспортировать модели всего несколькими строками кода.
- Универсальность: В отличие от YOLOv6, специализирующейся исключительно на обнаружении объектов, экосистема Ultralytics позволяет тебе выполнять сегментацию экземпляров, оценку позы, классификацию изображений и отслеживание ориентированных ограничивающих рамок (OBB) через единый интерфейс.
- Хорошо поддерживаемая экосистема: пользуйся частыми обновлениями, сильной поддержкой сообщества и бесшовной интеграцией с отраслевыми стандартами, такими как OpenVINO и ONNX.
Пример кода: согласованные рабочие процессы обучения#
С помощью SDK Ultralytics обучение моделей становится исключительно простым. Система автоматически обрабатывает сложные аугментации данных и масштабирование под устройства.
from ultralytics import YOLO
# Load an efficient, NMS-free YOLOv10 model
model = YOLO("yolov10n.pt")
# Train the model effortlessly using the Ultralytics pipeline
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device=0, batch=16)
# Run robust object detection inference
predictions = model.predict("https://ultralytics.com/images/bus.jpg")
# Export to ONNX for simplified edge deployment
model.export(format="onnx")Варианты применения и рекомендации#
Выбор между YOLOv10 и YOLOv6 зависит от конкретных требований твоего проекта, ограничений развертывания и предпочтений в отношении экосистемы.
Когда выбирать YOLOv10#
YOLOv10 — подходящий выбор для:
- Обнаружения объектов в реальном времени без NMS: приложений, которым полезно сквозное обнаружение без подавления немаксимумов, что снижает сложность развертывания.
- Сбалансированного соотношения скорости и точности: проектов, требующих удачного баланса между скоростью инференса и точностью обнаружения для моделей разных размеров.
- Приложений со стабильной задержкой: сценариев развертывания, где критически важны предсказуемые времена инференса, например в робототехнике или автономных системах.
Когда стоит выбрать YOLOv6#
YOLOv6 рекомендуется для:
- Развертывание с учетом промышленного оборудования: сценарии, в которых аппаратно-ориентированный дизайн модели и эффективная репараметризация обеспечивают оптимальную производительность на конкретном целевом оборудовании.
- Быстрое одностадийное обнаружение: приложения, в которых приоритетом является максимальная скорость инференса на GPU для обработки видео в реальном времени в контролируемых средах.
- Интеграция с экосистемой Meituan: команды, уже работающие в технологическом стеке и инфраструктуре развертывания Meituan.
Когда выбирать Ultralytics (YOLO26)#
Для большинства новых проектов Ultralytics YOLO26 предлагает лучшее сочетание производительности и удобства для разработчиков:
- Развертывания на периферийных устройствах без NMS: приложений, требующих стабильного вывода с низкой задержкой без сложной постобработки с подавлением немаксимумов.
- Сред без GPU: устройств без выделенного ускорения GPU, где до 43% более быстрый вывод YOLO26 на CPU дает решающее преимущество.
- Обнаружения мелких объектов: сложных сценариев, таких как аэрофотосъемка с дронов или анализ данных IoT-сенсоров, где ProgLoss и STAL значительно повышают точность обнаружения крошечных объектов.
Главная рекомендация: Ultralytics YOLO26#
Хотя YOLOv10 представила революционную концепцию работы без NMS, а YOLOv6-3.0 оптимизировала пропускную способность GPU, настоящим передовым решением для промышленных сред является Ultralytics YOLO26.
Выпущенная в январе 2026 года, YOLO26 развивает фундаментальные идеи предшественников и превращает их в передовую модель компьютерного зрения с приоритетом периферийных устройств.
- Сквозной дизайн без NMS: развивая основы YOLOv10, YOLO26 полностью устраняет постобработку, стандартизируя конвейер развертывания и делая инференс высокопредсказуемым.
- Удаление DFL: исключение функции распределенных фокальных потерь (DFL) значительно упрощает экспорт архитектуры, существенно улучшая совместимость и скорость на энергоэффективных IoT-архитектурах.
- Оптимизатор MuSGD: вдохновленная инновациями в области больших языковых моделей, YOLO26 использует оптимизатор MuSGD (гибрид SGD и Muon), обеспечивая беспрецедентную стабильность обучения и значительно более быструю сходимость.
- Непревзойденная скорость на CPU: благодаря оптимизациям, специально разработанным для периферийных устройств, YOLO26 обеспечивает до 43% более быстрый инференс на CPU по сравнению с предыдущими поколениями, превосходя ориентированный на GPU дизайн YOLOv6-3.0.
- ProgLoss + STAL: передовые функции потерь решают давние проблемы обнаружения малых объектов, делая YOLO26 незаменимой для аэрофотосъемки и анализа данных с дронов.
Для пользователей, которые хотят обновить свой стек компьютерного зрения, переход прост. Такие модели, как YOLO11, остаются надежными, но YOLO26 в сочетании с интегрированной платформой Ultralytics представляет собой определенное будущее доступного высокопроизводительного искусственного интеллекта.