YOLOv5 против YOLOv6-3.0: Баланс зрелости экосистемы и промышленной точности
В быстро развивающейся области компьютерного зрения выбор правильной архитектуры обнаружения объектов является ключевым решением для разработчиков и исследователей. В этом сравнении рассматриваются технические различия между Ultralytics YOLOv5, легендарной моделью, известной своей доступностью и надежной экосистемой, и Meituan YOLOv6-3.0, фреймворком, разработанным специально для промышленных приложений. Хотя обе модели превосходны в обнаружении объектов, они удовлетворяют различные потребности развертывания и предпочтения рабочего процесса.
Ultralytics YOLOv5
Авторы: Glenn Jocher
Организация: Ultralytics
Дата: 2020-06-26
GitHub: https://github.com/ultralytics/yolov5
Документация: https://docs.ultralytics.com/models/yolov5/
С момента выпуска в 2020 году YOLOv5 зарекомендовал себя как одна из самых популярных и надежных AI-моделей в мире. Построенный на базе фреймворка PyTorch, он уделял первостепенное внимание удобству использования, экспортируемости и производительности "из коробки", демократизируя доступ к современному AI-видению.
Архитектура и экосистема
YOLOv5 использует бэкбон CSPDarknet в сочетании с neck PANet и head в стиле YOLOv3. Его архитектура основана на anchor boxes и использует anchor boxes для предсказания местоположения объектов. Ключевым отличием является его интеграция в зрелую экосистему. В отличие от многих исследовательских кодовых баз, YOLOv5 был разработан как продукт для инженеров, обеспечивающий бесшовный экспорт в такие форматы, как ONNX, CoreML и TFLite, что делает его исключительно универсальным для мобильных и периферийных развертываний.
Ключевые преимущества
- Простота использования: «Опыт YOLOv5» определяется его простотой. От обучения пользовательских наборов данных до запуска выводов — рабочие процессы оптимизированы и хорошо документированы.
- Хорошо поддерживаемая экосистема: Пользователи получают выгоду от активного обслуживания, частых обновлений и огромного сообщества. Интеграции с инструментами MLOps, такими как Weights & Biases и Comet, являются встроенными.
- Универсальность: Помимо стандартного обнаружения, репозиторий поддерживает сегментацию экземпляров и классификацию изображений, предоставляя многозадачное решение в единой кодовой базе.
- Эффективность использования памяти: YOLOv5 известна своим относительно низким объемом памяти во время обучения по сравнению с моделями на основе transformer, что делает ее доступной на GPU потребительского класса.
Простое развертывание
Ориентация YOLOv5 на экспортируемость позволяет разработчикам без труда развертывать модели в различных средах, от облачных серверов до периферийных устройств, таких как Raspberry Pi или NVIDIA Jetson.
Meituan YOLOv6-3.0
Авторы: Chuyi Li, Lulu Li, Yifei Geng, Hongliang Jiang, Meng Cheng, Bo Zhang, Zaidan Ke, Xiaoming Xu и Xiangxiang Chu
Организация: Meituan
Дата: 2023-01-13
Arxiv: https://arxiv.org/abs/2301.05586
GitHub: https://github.com/meituan/YOLOv6
Документация: https://docs.ultralytics.com/models/yolov6/
YOLOv6-3.0, разработанный командой vision AI в Meituan, позиционируется как промышленный претендент, ориентированный на баланс скорости и точности, особенно для приложений, учитывающих особенности оборудования. Он был разработан для максимального увеличения пропускной способности на GPU с использованием оптимизации TensorRT.
Архитектура и промышленная направленность
YOLOv6 использует backbone EfficientRep и neck Rep-PAN, используя методы репараметризации (в стиле RepVGG) для повышения скорости inference без ущерба для точности. Во время обучения модель использует многоветвистую структуру, которая сворачивается в одноветвистую структуру во время inference. В версии 3.0 были представлены такие стратегии, как self-distillation, для дальнейшего повышения средней точности (mAP).
Сильные и слабые стороны
- Оптимизация GPU: Архитектура тщательно настроена для стандартного inference на GPU, часто достигая высоких показателей FPS на картах NVIDIA T4 при использовании TensorRT.
- Поддержка квантования: Meituan обеспечивает специальную поддержку квантования после обучения (PTQ) и квантования с учетом обучения (QAT), что имеет решающее значение для определенных сценариев промышленного развертывания.
- Ограниченная универсальность: Несмотря на превосходные возможности detection, YOLOv6 не хватает широкой встроенной поддержки нескольких задач (таких как оценка позы или OBB), которая есть в комплексном наборе Ultralytics.
- Сложность: Этапы репараметризации и конкретные конвейеры обучения могут привнести сложность по сравнению с принципом plug-and-play моделей Ultralytics.
Прямое сравнение производительности
В приведенном ниже сравнении освещаются компромиссы в производительности. YOLOv6-3.0 нацелен на максимальную точность на мощном оборудовании, часто жертвуя эффективностью параметров. В отличие от этого, Ultralytics YOLOv5 поддерживает замечательный баланс, предлагая легкие модели, которые превосходно работают в средах на базе CPU и обеспечивают инференс в реальном времени на периферийных устройствах.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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.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 выделяется как чрезвычайно эффективное решение для мобильных приложений, требующее значительно меньше параметров (2.6M) по сравнению с самым маленьким вариантом YOLOv6 (4.7M). В то время как YOLOv6-3.0 достигает более высокого пикового mAP в больших размерах, это происходит за счет увеличения размера модели (FLOPs и Parameters). Для разработчиков, ориентированных на развертывание на CPU (обычно в робототехнике или мониторинге с низким энергопотреблением), скорости CPU YOLOv5 явно протестированы и оптимизированы, тогда как YOLOv6 в значительной степени ориентирован на ускорение GPU.
Методологии и опыт обучения
Опыт обучения значительно различается между двумя экосистемами. Ultralytics отдает приоритет подходу с низким объемом кода и высокой гибкостью.
Рабочий процесс Ultralytics
YOLOv5 может быть интегрирован напрямую через PyTorch Hub, что позволяет пользователям загружать и запускать модели с минимальным количеством шаблонного кода. Скрипт обучения автоматически обрабатывает все, от аугментации данных до ведения журнала.
import torch
# Load YOLOv5s from PyTorch Hub
model = torch.hub.load("ultralytics/yolov5", "yolov5s")
# Perform inference
img = "https://ultralytics.com/images/zidane.jpg"
results = model(img)
results.print()
Производственный процесс
YOLOv6 обычно требует более ручной настройки, включающей клонирование репозитория, настройку определенных файлов конфигурации для репараметризации backbone и запуск скриптов, которые менее интегрированы с внешними инструментами MLOps «из коробки». Хотя это и мощно, это требует более глубокого понимания конкретных архитектурных ограничений (таких как параметры self-distillation) для достижения заявленных показателей.
Идеальные варианты использования
Выбор между этими моделями зависит от ваших конкретных ограничений, касающихся оборудования, точности и скорости разработки.
- Ultralytics YOLOv5: Оптимальный выбор для быстрого прототипирования, развертывания на периферийных устройствах и поддержки сообщества. Если вам нужно развернуть решение на Raspberry Pi, мобильном телефоне или сервере с CPU, то легковесность YOLOv5 и поддержка экспорта не имеют себе равных. Он также идеально подходит для исследователей, которым нужна универсальная кодовая база, поддерживающая сегментацию и классификацию наряду с detect.
- Meituan YOLOv6-3.0: Лучше всего подходит для фиксированных промышленных сред, где доступны высокопроизводительные GPU, и максимизация mAP является единственным приоритетом. Если вы создаете систему контроля качества на заводе, работающую на серверах NVIDIA T4/A10, и у вас есть инженерные ресурсы для точной настройки репараметризованных моделей, YOLOv6 является сильным кандидатом.
Заключение
Ultralytics YOLOv5 остается краеугольным камнем сообщества компьютерного зрения, получив признание за баланс производительности, простоту использования и процветающую экосистему. Его способность обеспечивать надежные результаты на широком спектре оборудования — от периферии до облака — делает его превосходным выбором для большинства разработчиков, уделяющих приоритетное внимание универсальности и скорости вывода на рынок.
Хотя YOLOv6-3.0 представляет впечатляющие архитектурные инновации для промышленного вывода на GPU, ему не хватает комплексной экосистемы и многоплатформенной адаптируемости моделей Ultralytics. Тем, кто ищет самые последние достижения в производительности и эффективности, мы рекомендуем изучить Ultralytics YOLO11, который превосходит как YOLOv5, так и YOLOv6 по точности и скорости, сохраняя при этом удобный API Ultralytics.
Для специализированных задач разработчики могут также рассмотреть другие модели в документации Ultralytics, такие как YOLOv8, YOLOv9, YOLOv10 или RT-DETR на основе трансформеров RT-DETR.
Раскройте весь потенциал vision AI в документации по моделям Ultralytics.