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

YOLOv6-3.0 против YOLOv8: всестороннее техническое сравнение

Выбор оптимальной архитектуры для detectирования объектов является ключевым решением в разработке компьютерного зрения, влияющим на все, от задержки inference до гибкости развертывания. В этом руководстве представлен углубленный технический анализ, сравнивающий YOLOv6-3.0, разработанный Meituan, и Ultralytics YOLOv8, современную модель от Ultralytics. Мы рассматриваем их архитектурные особенности, показатели производительности и пригодность для реальных приложений, чтобы помочь вам сделать осознанный выбор.

В то время как обе платформы обеспечивают впечатляющие результаты, YOLOv8 отличается непревзойденной универсальностью, экосистемой, ориентированной на разработчиков, и превосходным балансом скорости и точности на различных аппаратных платформах.

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 — это одноэтапная структура detect объектов, разработанная с основным упором на промышленные приложения. Отдавая приоритет аппаратным сетевым конструкциям, он стремится максимизировать пропускную способность inference на выделенных GPU, что делает его сильным претендентом для сред, где задержка строго ограничена скоростью производственной линии.

Архитектура и ключевые особенности

Архитектура YOLOv6-3.0 построена вокруг концепции re-parameterization. Она использует EfficientRep backbone и Rep-PAN neck, которые позволяют сети иметь сложные структуры во время обучения, но упрощаются до оптимизированных сверточных слоев во время вывода. Эта "структурная re-parameterization" помогает снизить задержку без ущерба для возможности извлечения признаков.

Кроме того, YOLOv6-3.0 использует развязанную структуру головы, разделяя задачи классификации и регрессии, и интегрирует стратегии назначения меток SimOTA. Фреймворк также уделяет особое внимание обучению с учетом квантования (QAT), чтобы облегчить развертывание на периферийных устройствах, требующих арифметики с более низкой точностью.

Сильные и слабые стороны

Модель отлично подходит для сценариев промышленного производства, где доступны высокопроизводительные GPU, обеспечивая конкурентоспособную скорость вывода. Ориентация на квантование также помогает при развертывании на определенных аппаратных ускорителях. Однако YOLOv6 в первую очередь предназначена для object detection, и ей не хватает встроенной, бесшовной поддержки более широких задач компьютерного зрения, таких как оценка позы или ориентированные ограничивающие рамки, которые есть в более полных фреймворках. Кроме того, экосистема менее обширна, что может означать больше сложностей при интеграции со сторонними инструментами MLOps или поиске поддержки сообщества.

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

Ultralytics YOLOv8

Авторы: Glenn Jocher, Ayush Chaurasia и Jing Qiu
Организация: Ultralytics
Дата: 2023-01-10
Arxiv: None
GitHub: https://github.com/ultralytics/ultralytics
Документация: https://docs.ultralytics.com/models/yolov8/

Ultralytics YOLOv8 представляет собой значительный скачок вперед в серии YOLO, разработанный не просто как модель, а как унифицированная платформа для практического AI. Она переопределяет современную (SOTA) производительность, сочетая архитектурную эффективность с интуитивно понятным пользовательским интерфейсом, делая передовое компьютерное зрение доступным как для исследователей, так и для разработчиков.

Архитектура и ключевые особенности

YOLOv8 представляет собой высокоэффективный механизм обнаружения без anchor boxes, который устраняет необходимость в ручных вычислениях anchor boxes и улучшает обобщение на различных наборах данных. Ее архитектура включает в себя новую магистральную сеть, использующую модули C2f (Cross-Stage Partial connections with fusion), которые улучшают распространение градиента и насыщенность признаков, сохраняя при этом небольшой размер.

Разделенная голова в YOLOv8 обрабатывает objectness, классификацию и регрессию независимо, что приводит к более высокой точности сходимости. Что особенно важно, модель поддерживает полный спектр задач—detect объектов, segment экземпляров, классификацию изображений, оценку позы и ориентированные ограничивающие рамки (OBB)—в рамках одного устанавливаемого python-пакета.

Почему стоит выбрать YOLOv8?

  • Простота использования: С помощью простого pip install ultralytics, разработчики получают доступ к мощному CLI и Python API. Этот оптимизированный пользовательский опыт сокращает время от установки до первой тренировки с нескольких часов до нескольких минут.
  • Хорошо поддерживаемая экосистема: Ultralytics предоставляет надежную экосистему, включающую Ultralytics HUB для управления моделями, активные обсуждения на GitHub и простую интеграцию с такими инструментами, как TensorBoard и MLflow.
  • Баланс производительности: Как показано в приведенных ниже метриках, YOLOv8 достигает превосходного mAP с меньшим количеством параметров и FLOPs, предлагая оптимальный компромисс для развертывания в реальном времени как на периферийных устройствах, так и на облачных серверах.
  • Универсальность: В отличие от конкурентов, ориентированных исключительно на detect, YOLOv8 изначально обрабатывает segment, track и classification, что позволяет вам переключаться между задачами без изучения новой структуры.

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

Сравнение производительности

В следующей таблице представлено подробное сравнение показателей производительности на наборе данных COCO val2017. Выделены лучшие показатели в каждой категории.

Модельразмер
(пиксели)
mAPval
50-95
Скорость
CPU ONNX
(мс)
Скорость
T4 TensorRT10
(мс)
параметры
(M)
FLOPs
(B)
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
YOLOv8n64037.380.41.473.28.7
YOLOv8s64044.9128.42.6611.228.6
YOLOv8m64050.2234.75.8625.978.9
YOLOv8l64052.9375.29.0643.7165.2
YOLOv8x64053.9479.114.3768.2257.8

Критический анализ

Данные показывают явные преимущества архитектуры Ultralytics:

  1. Эффективность и использование ресурсов: YOLOv8 последовательно использует значительно меньше параметров и FLOPs для достижения сопоставимой или превосходящей точности. Например, YOLOv8s соответствует точности YOLOv6-3.0s (приблизительно 45 mAP), но требует примерно на 40% меньше параметров и примерно на 37% меньше FLOPs. Это сокращение напрямую приводит к снижению потребления памяти и ускорению времени обучения.
  2. Лидерство по точности: В верхнем диапазоне спектра модели YOLOv8 (M, L, X) расширяют границы точности, при этом YOLOv8x достигает 53,9 mAP, превосходя крупнейшие перечисленные варианты YOLOv6.
  3. Инференс на CPU: YOLOv8 предоставляет прозрачные бенчмарки для инференса на CPU через ONNX, демонстрируя свою жизнеспособность для развертывания на стандартном оборудовании без специализированных ускорителей. Это имеет решающее значение для масштабируемых приложений в логистике или розничной торговле, где GPU не всегда могут быть доступны.

Эффективность памяти

Эффективная архитектура YOLOv8 обеспечивает меньшие требования к памяти GPU во время обучения по сравнению со многими моделями на основе трансформеров или более тяжелыми сверточными сетями. Это позволяет разработчикам обучать модели с большими размерами пакетов или использовать более высокое разрешение на оборудовании потребительского класса.

Случаи использования и приложения

Выбор между этими моделями часто зависит от конкретной среды развертывания и требований к задаче.

Где превосходит YOLOv8

YOLOv8 — рекомендуемый выбор для подавляющего большинства проектов компьютерного зрения благодаря своей адаптивности:

  • Edge AI и IoT: Благодаря низкому количеству параметров и высокой эффективности, YOLOv8 идеально подходит для таких устройств, как Raspberry Pi или NVIDIA Jetson.
  • Системы для нескольких задач: Проекты, требующие отслеживания объектов (например, мониторинг трафика) или сегментации (например, медицинская визуализация), выигрывают от унифицированной кодовой базы YOLOv8.
  • Быстрое прототипирование: Простота использования и обширные предварительно обученные веса позволяют стартапам и исследовательским группам быстро выполнять итерации.
  • Корпоративные решения: Благодаря интеграции с такими платформами, как Roboflow, и поддержке таких форматов, как CoreML и TFLite, YOLOv8 легко масштабируется от прототипа до производства.

Где применим YOLOv6-3.0

YOLOv6-3.0 остается отличным вариантом для нишевых промышленных сценариев:

  • Выделенные линии GPU: На фабриках с налаженными конвейерами, использующими NVIDIA T4/A10 GPU с TensorRT, специфические аппаратные оптимизации YOLOv6 могут выжать незначительные выигрыши в задержке.
  • Устаревшая интеграция: Для систем, уже построенных на основе backbones в стиле RepVGG, интеграция YOLOv6 может потребовать меньше архитектурных изменений.

Обучение и опыт разработчика

Одним из наиболее значительных отличий является опыт разработчиков. Ultralytics отдает приоритет подходу с низким уровнем кодирования и высокой функциональностью.

Простое обучение с YOLOv8

Обучение модели YOLOv8 — это простая задача. Фреймворк автоматически обрабатывает увеличение данных, эволюцию гиперпараметров и построение графиков.

from ultralytics import YOLO

# Load a model
model = YOLO("yolov8n.pt")  # load a pretrained model

# Train the model
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference
results = model("path/to/image.jpg")

В отличие от этого, хотя YOLOv6 предлагает скрипты для обучения, это часто включает в себя больше ручной настройки переменных среды и зависимостей. Интеграция YOLOv8 с Ultralytics HUB еще больше упрощает это, предлагая веб-управление набором данных и обучение модели в один клик.

Поддержка экосистемы

Сообщество Ultralytics — одно из самых активных в области ИИ. Если вам нужна помощь с пользовательскими наборами данных или расширенными опциями экспорта, ресурсы легко доступны через подробную документацию и форумы сообщества.

Заключение

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

Изучите другие модели

Для тех, кто интересуется более широкой картиной в области detectирования объектов, Ultralytics поддерживает широкий спектр моделей. Вы можете сравнить YOLOv8 с устаревшей YOLOv5, чтобы понять эволюцию архитектуры, или изучить передовую YOLO11 для получения самых последних результатов. Кроме того, для подходов, основанных на трансформерах, модель RT-DETR предлагает уникальные преимущества в detectировании в реальном времени.


Комментарии