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

YOLOv8 против YOLOv6.0: Техническое сравнение

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

Ultralytics YOLOv8

Авторы: Гленн Джочер, Аюш Чаурасия и Цзин Цю
Организация: Ultralytics
Дата: 2023-01-10
GitHub: ultralytics
Docs: https:yolov8

Ultralytics YOLOv8 представляет собой значительный скачок вперед в развитии архитектуры YOLO . Разработанный как единый фреймворк, он поддерживает широкий спектр задач компьютерного зрения, выходящих за рамки простого обнаружения, включая сегментацию объектов, оценку позы и классификацию. Ориентированный на пользователя дизайн ставит во главу угла простоту использования, делая передовой ИИ доступным для разработчиков любого уровня подготовки.

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

В YOLOv8 реализован механизм обнаружения без якорей, который упрощает головную часть модели и уменьшает количество гиперпараметров, необходимых для обучения. Этот подход улучшает обобщение для объектов различных форм и размеров. В архитектуре используется современная основа и шея с использованием модуля C2f, который улучшает градиентный поток и интеграцию признаков по сравнению с предыдущими итерациями.

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

  • Непревзойденная универсальность: В отличие от многих конкурентов, YOLOv8 не ограничивается обнаружением объектов. Он поддерживает сегментацию объектов, классификацию изображений, оценку позы и задачи ориентированного периметра (OBB) в рамках одной кодовой базы.
  • Превосходная эффективность: Как показано в бенчмарках, YOLOv8 достигает более высокой точностиmAP) при меньшем количестве параметров и FLOP. Это приводит к снижению требований к памяти как при обучении, так и при выводе, что является критическим преимуществом по сравнению с более тяжелыми моделями на основе трансформаторов.
  • Простота в использовании: модель реализована в упрощенном API наPython и интерфейсе командной строкиCLI), что позволяет пользователям обучать, проверять и развертывать модели с минимальным количеством кода.
  • Надежная экосистема: При поддержке UltralyticsYOLOv8 получает постоянные обновления, обширную документацию и активное сообщество. Это обеспечивает долгосрочную жизнеспособность и поддержку корпоративных развертываний.

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

  • Обнаружение мелких объектов: Хотя одноступенчатые детекторы, такие как YOLOv8 , обладают большими возможностями, они могут иногда испытывать трудности при обнаружении очень мелких или окклюдированных объектов по сравнению со специализированными двухступенчатыми детекторами, требующими больших вычислительных затрат.

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

YOLOv6.0

Авторы: Chuyi Li, Lulu Li, Yifei Geng, Hongliang Jiang, Meng Cheng, Bo Zhang, Zaidan Ke, Xiaoming Xu, and Xiangxiang Chu
Organization: Meituan
Дата: 2023-01-13
Arxiv: https://arxiv.org/abs/2301.05586
GitHub: YOLOv6
Docs: https:ultralytics

YOLOv6.0 - это фреймворк для обнаружения объектов, разработанный компанией Meituan и предназначенный специально для промышленных приложений, где приоритетом является скорость вычисления на специализированном оборудовании. Он ориентирован на оптимизацию компромисса между скоростью и точностью, используя передовые методы для максимального использования GPU .

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

В архитектуре YOLOv6 реализована аппаратно-ориентированная конструкция, использующая структуры Rep-Block (перепараметризация), которые позволяют сети иметь сложные ветви во время обучения, но сворачиваться в более простую и быструю структуру во время вычислений. В ней также используется стратегия саморасщепления для повышения точности без дополнительных затрат на вывод.

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

  • Скорость вывода наGPU : модель оптимизирована для работы на GPU , особенно на оборудовании NVIDIA , что делает ее сильным кандидатом для промышленных сценариев с жесткими ограничениями по задержкам.
  • Поддержка квантования: YOLOv6 уделяет особое внимание поддержке квантования моделей, предоставляя инструменты для развертывания моделей на оборудовании с ограниченной точностью вычислений.
  • Мобильная оптимизация: Благодаря таким вариантам, как YOLOv6Lite, фреймворк предлагает решения, адаптированные для мобильных и CPU конечных устройств.

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

  • Ограниченный круг задач: YOLOv6 в первую очередь ориентирован на обнаружение объектов. В ней отсутствует встроенная поддержка сегментации, оценки позы и отслеживания, характерная для экосистемы Ultralytics .
  • Интенсивность использования ресурсов: Для достижения точности, сравнимой с YOLOv8, модели YOLOv6 часто требуют значительно больше параметров и FLOP, что приводит к большим вычислительным затратам во время обучения.
  • Сообщество и поддержка: Несмотря на открытый исходный код, экосистема менее активна по сравнению с Ultralytics, что может привести к замедлению решения проблем и уменьшению количества ресурсов, предоставляемых сообществом.

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

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

В следующей таблице представлено прямое сравнение показателей производительности на наборе данныхCOCO . Эти данные подчеркивают эффективность Ultralytics YOLOv8, которая стабильно обеспечивает высокую среднюю точность (mAP) при сниженной сложности модели.

Модельразмер
(пиксели)
mAPval
50-95
Скорость
CPU ONNX
(мс)
Скорость
T4 TensorRT10
(мс)
параметры
(M)
FLOPs
(B)
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
YOLOv6.0n64037.5-1.174.711.4
YOLOv6.0s64045.0-2.6618.545.3
YOLOv6.0m64050.0-5.2834.985.8
YOLOv6.0l64052.8-8.9559.6150.7

Анализ метрик

  • Эффективность: YOLOv8 демонстрирует превосходную эффективность параметров. Например, YOLOv8s достигает конкурентного значения 44,9 mAP , используя всего 11,2 М параметров, в то время как YOLOv6.0s требует 18,5 М параметров на 65 %больше, чтобыдостичь практически идентичного значения mAP 45,0. Это означает снижение затрат на хранение и более быстрое обновление на граничных устройствах.
  • Вычислительная нагрузка: Аналогично, с точки зрения операций с плавающей запятой (FLOPs), YOLOv8m выполняет 78,9B FLOPs по сравнению с 85,8B YOLOv6.0m, что делает модель Ultralytics более легкой в вычислениях, но при этом обеспечивает более высокий mAP (50,2 против 50,0).
  • Скорость: В то время как YOLOv6.0 демонстрирует несколько более высокую скорость обработки выводов на графических процессорах T4 благодаря специализированной аппаратно-ориентированной конструкции, YOLOv8 предлагает отличную производительность на CPU благодаря ONNXчто очень важно для развертываний, в которых GPU недоступны.

Обучение и удобство использования

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

Унифицированный рабочий процесс

Ultralytics предоставляет единый API для всех задач. Независимо от того, выполняете ли вы обнаружение, сегментацию или оценку позы, синтаксис остается неизменным, что значительно сокращает время обучения.

Простота использования Ultralytics

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

from ultralytics import YOLO

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

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

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

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

Идеальные варианты использования

Когда следует выбирать Ultralytics YOLOv8

  • Разнообразные приложения: Если ваш проект требует не только ограничительных рамок - например, сегментирования объектов или оценки ключевых точек, - многозадачные возможности YOLOv8 будут незаменимы.
  • Развертывание на границах и в облаке: Благодаря своим режимам экспорта YOLOv8 легко развертывается в TFLite, ONNX, CoreML и TensorRT, охватывая все сферы - от мобильных телефонов до облачных серверов.
  • Быстрая разработка: Для команд, которым требуется быстрое обновление, обширная документация и активная поддержка сообщества сводят к минимуму время простоя и устранения неполадок.

Когда выбирать YOLOv6.0

  • Специфическое промышленное оборудование: если ваша среда развертывания строго контролируется и в ней используется оборудование, которое использует преимущества архитектуры Rep-Block (например, некоторые GPU ), YOLOv6 может обеспечить незначительный прирост скорости.
  • Унаследованные системы: Для существующих конвейеров, уже построенных на основе специфических форматов ввода/вывода YOLOv6, где рефакторинг не представляется возможным.

Заключение

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

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


Комментарии