Перейти к содержанию

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.

Узнайте больше о YOLOv5

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

Прямое сравнение производительности

В приведенном ниже сравнении освещаются компромиссы в производительности. YOLOv6-3.0 нацелен на максимальную точность на мощном оборудовании, часто жертвуя эффективностью параметров. В отличие от этого, Ultralytics YOLOv5 поддерживает замечательный баланс, предлагая легкие модели, которые превосходно работают в средах на базе CPU и обеспечивают инференс в реальном времени на периферийных устройствах.

Модельразмер
(пиксели)
mAPval
50-95
Скорость
CPU ONNX
(мс)
Скорость
T4 TensorRT10
(мс)
параметры
(M)
FLOPs
(B)
YOLOv5n64028.073.61.122.67.7
YOLOv5s64037.4120.71.929.124.0
YOLOv5m64045.4233.94.0325.164.2
YOLOv5l64049.0408.46.6153.2135.0
YOLOv5x64050.7763.211.8997.2246.4
YOLOv6-3.0n64037.5-1.174.711.4
YOLOv6-3.0s64045.0-2.6618.545.3
YOLOv6-3.0m64050.0-5.2834.985.8
YOLOv6-3.0l64052.8-8.9559.6150.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.


Комментарии