YOLOv6-3.0 против YOLOv5#
Эволюция детектирования объектов в реальном времени породила множество архитектур, оптимизированных под различные сценарии развертывания. В этом глубоком погружении мы сравниваем две выдающиеся модели: ориентированную на индустрию YOLOv6-3.0 и фундаментальную, крайне универсальную Ultralytics YOLOv5. Понимание архитектурных особенностей, показателей производительности и поддержки экосистемы каждой из них поможет тебе выбрать оптимальный фреймворк computer vision для твоих реальных приложений.
YOLOv6-3.0: промышленная пропускная способность и аппаратная оптимизация#
Разработанная департаментом Vision AI в компании Meituan, модель YOLOv6-3.0 в значительной степени адаптирована для промышленных сред с высокой пропускной способностью. Она сфокусирована на максимизации частоты кадров на аппаратных ускорителях, таких как специализированные GPU от NVIDIA.
- Авторы: Chuyi Li, Lulu Li, Yifei Geng, Hongliang Jiang, Meng Cheng, Bo Zhang, Zaidan Ke, Xiaoming Xu и Xiangxiang Chu
- Организация: Meituan
- Дата: 2023-01-13
- Arxiv: 2301.05586
- GitHub: meituan/YOLOv6
- Документация: Документация YOLOv6
Архитектурные преимущества#
YOLOv6-3.0 представляет несколько структурных оптимизаций, предназначенных для повышения скорости. Модель использует бэкбон EfficientRep, специально разработанный для эффективной работы на уровне оборудования во время инференса на GPU. Это делает архитектуру особенно мощной для задач пакетной обработки в офлайн-режиме.
На этапе обучения модель использует стратегию Anchor-Aided Training (AAT). Этот подход пытается объединить стабильность обучения на основе анкеров со скоростью безанкерного инференса. Кроме того, архитектура ее шейки использует модуль Bi-directional Concatenation (BiC) для улучшения слияния признаков в разных масштабах. Будучи сильно оптимизированной для серверных GPU высокого уровня с использованием TensorRT, эта специализация иногда может приводить к увеличению задержки на устройствах только с CPU или маломощных периферийных устройствах.
Ultralytics YOLOv5: пионер доступного Vision AI#
Выпущенная компанией Ultralytics, YOLOv5 установила новый стандарт простоты использования, эффективности обучения и надежности развертывания. Она сделала высокопроизводительное обнаружение объектов доступным благодаря глубокой интеграции с современными рабочими процессами глубокого обучения.
- Авторы: Glenn Jocher
- Организация: Ultralytics
- Дата: 2020-06-26
- GitHub: ultralytics/yolov5
- Платформа: Ultralytics Platform
Экосистема и универсальность#
Определяющей характеристикой YOLOv5 является ее простота использования. Созданный нативно на фреймворке PyTorch, репозиторий предоставляет единый Python API, который кардинально упрощает жизненный цикл machine learning. От настройки набора данных до финального развертывания — интегрированная экосистема гарантирует, что разработчики будут тратить меньше времени на отладку окружения и больше времени на создание приложений.
YOLOv5 не ограничивается только object detection. Она может похвастаться исключительной универсальностью, нативно поддерживая image classification и instance segmentation. Более того, она предлагает непревзойденную эффективность обучения, включая умное кэширование, автоматические загрузчики данных и встроенную поддержку распределенного обучения на нескольких GPU.
При сравнении архитектур моделей потребление памяти является критическим фактором. Модели Ultralytics YOLO сохраняют значительно более низкие требования к VRAM как во время обучения, так и во время инференса по сравнению с тяжелыми transformer models, что делает их легкодоступными для разработчиков, использующих потребительское железо или облачные блокноты, такие как Google Colab.
Сравнение производительности и архитектуры#
В таблице ниже приведены показатели производительности обеих архитектур при оценке на стандартном COCO dataset. Обрати внимание, как модели балансируют между средней точностью в ракурсе mean average precision и скоростью инференса в различных средах.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (М) | FLOPs (Б) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
Анализ#
YOLOv6-3.0 достигает впечатляющих результатов mAP и сильно оптимизирована для пайплайнов TensorRT на GPU T4. Тем не менее, YOLOv5 отвечает невероятно хорошо поддерживаемой экосистемой, которая поддерживает немедленный экспорт в различные форматы, включая ONNX, CoreML и TFLite. Этот баланс производительности гарантирует, что YOLOv5 работает надежно не только на выделенных серверах, но и на мобильных устройствах и периферийных вычислительных средах, таких как Raspberry Pi.
Пример кода: легкое обучение с Ultralytics#
Одним из самых больших преимуществ экосистемы Ultralytics является оптимизированный пользовательский опыт. Обучение модели, её оценка и экспорт требуют всего несколько строк кода на Python.
from ultralytics import YOLO
# Load a pre-trained YOLOv5 small model
model = YOLO("yolov5s.pt")
# Train the model on the COCO8 dataset
# The API automatically handles dataset downloads and hyperparameter configuration
results = model.train(data="coco8.yaml", epochs=50, imgsz=640)
# Run inference on an image
predictions = model("https://ultralytics.com/images/bus.jpg")
# Export the model to ONNX format for flexible deployment
model.export(format="onnx")Идеальные варианты использования и сценарии развертывания#
Выбор между этими архитектурами часто зависит от твоих специфических инфраструктурных ограничений:
- Когда развертывать YOLOv6-3.0: идеально подходит для автоматизированных производственных линий и серверной аналитики с высокой пропускной способностью, где доступны выделенные GPU NVIDIA и требуется минимальная задержка. Её архитектура процветает в средах, где можно в полной мере использовать оптимизации TensorRT.
- Когда развертывать YOLOv5: идеальный выбор для быстрого прототипирования, кроссплатформенного развертывания и команд, ищущих единый пайплайн. Ее разнообразные возможности экспорта делают ее отличным выбором для ритейл-аналитики на периферийных устройствах, мониторинга полей с помощью сельскохозяйственных дронов и pose estimation в фитнес-приложениях.
Будущее обнаружения объектов: знакомство с YOLO26#
Хотя YOLOv5 и YOLOv6 представляют собой значительные вехи, сфера компьютерного зрения развивается стремительно. Для разработчиков, начинающих новые проекты или ищущих абсолютный передовой уровень (state-of-the-art), мы настоятельно рекомендуем обновиться до Ultralytics YOLO26 (выпущена в январе 2026 года).
YOLO26 переопределяет edge-first Vision AI, представляя революционный End-to-End NMS-Free дизайн. Устраняя необходимость в пост-обработке Non-Maximum Suppression, она упрощает логику развертывания и радикально снижает дисперсию задержек.
Ключевые инновации в YOLO26 включают:
- Оптимизатор MuSGD: гибрид SGD и Muon, привносящий передовую стабильность обучения LLM в компьютерное зрение для более быстрой и надежной сходимости.
- До 43% быстрее инференс на CPU: сильно оптимизирована для сред без выделенных ускорителей.
- Удаление DFL: удаление Distribution Focal Loss упрощает процесс экспорта и повышает совместимость с маломощными edge-устройствами.
- ProgLoss + STAL: передовые функции потерь, которые значительно улучшают распознавание мелких объектов, что критически важно для аэросъемки и датчиков интернета вещей в «умных городах».
Для задач общего назначения YOLO11 также остается отличным, полностью поддерживаемым выбором в семействе Ultralytics.
Заключение#
И YOLOv6-3.0, и YOLOv5 сыграли ключевую роль в продвижении обнаружения в реальном времени. YOLOv6-3.0 предлагает узкоспециализированную архитектуру для GPU-ускоренной пропускной способности, в то время как YOLOv5 предоставляет непревзойденный опыт разработчика благодаря обширной документации, простоте использования и поддержке нескольких задач.
Для современных приложений использование интегрированной экосистемы Ultralytics гарантирует надежный рабочий процесс на будущее. Принимая новейшие архитектуры, такие как YOLO26, ты обеспечиваешь преимущество своих конвейеров развертывания за счет последних прорывов в скорости, точности и алгоритмической простоте.