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

YOLOv8 и DAMO-YOLO: всестороннее техническое сравнение

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

Краткое изложение

YOLOv8, разработанная Ultralytics, представляет собой универсальную, ориентированную на пользователя эволюцию в семействе YOLO. Запущенная в начале 2023 года, она отдает приоритет унифицированной структуре, поддерживающей несколько задач — detect, segment, классификацию, оценку позы и OBB —, подкрепленной надежной, хорошо поддерживаемой экосистемой.

DAMO-YOLO, выпущенный Alibaba Group в конце 2022 года, уделяет большое внимание архитектурным инновациям, полученным в результате поиска нейронных архитектур (NAS) и передовых методов слияния признаков. Он разработан в первую очередь для высокопроизводительного detect объектов на GPU.

Архитектурные инновации

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

Ultralytics YOLOv8: Улучшенная и унифицированная

YOLOv8 развивает успех своих предшественников, представляя современную anchor-free голову обнаружения. Эта decoupled head обрабатывает задачи определения объекта, классификации и регрессии независимо, что повышает скорость сходимости и точность.

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

  • C2f Module: Заменяя модуль C3, блок C2f (Cross-Stage Partial with 2 bottlenecks) улучшает поток градиентов и представление признаков, сохраняя при этом небольшой размер.
  • Дизайн без Anchor: Устранение необходимости в предопределенных anchor boxes уменьшает количество гиперпараметров, упрощая процесс обучения и улучшая обобщение для различных наборов данных.
  • Аугментация данных Mosaic: Оптимизированный конвейер, который повышает способность модели обнаруживать объекты в сложных сценах и различных масштабах.

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

DAMO-YOLO: Оптимизация, основанная на исследованиях

DAMO-YOLO («Discovery, Adventure, Momentum, and Outlook») объединяет несколько передовых исследовательских концепций для максимального повышения производительности архитектуры.

Ключевые технологии включают:

  • Бэкбон MAE-NAS: Он использует поиск нейронной архитектуры (NAS) для автоматического обнаружения эффективной структуры бэкбона, оптимизируя компромисс между задержкой и точностью.
  • RepGFPN Neck: Efficient RepGFPN (Generalized Feature Pyramid Network) улучшает объединение признаков в разных масштабах, что имеет решающее значение для detect объектов разных размеров.
  • ZeroHead: облегченная конструкция головки, позволяющая снизить вычислительную сложность (FLOPs) без существенного снижения производительности обнаружения.
  • AlignedOTA: Стратегия динамического назначения меток, которая решает проблему рассогласования между задачами классификации и регрессии во время обучения.

Узнайте больше о DAMO-YOLO

Метрики производительности

Производительность часто является решающим фактором для инженеров. В таблице ниже представлено подробное сравнение ключевых метрик на COCO dataset.

Модельразмер
(пиксели)
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
DAMO-YOLOt64042.0-2.328.518.1
DAMO-YOLOs64046.0-3.4516.337.8
DAMO-YOLOm64049.2-5.0928.261.8
DAMO-YOLOl64050.8-7.1842.197.3

Анализ

  • Высочайшая точность: Самая большая модель YOLOv8x достигает наивысшей точности с 53.9 mAP, превосходя самый большой вариант DAMO-YOLO. Это делает YOLOv8 предпочтительным выбором для приложений, где точность имеет первостепенное значение, таких как анализ медицинских изображений или системы, критичные к безопасности.
  • Скорость инференса:YOLOv8n (Nano) доминирует по скорости, показывая всего 1,47 мс на GPU T4 и 80,4 мс на CPU. Эта исключительная скорость жизненно важна для инференса в реальном времени на периферийных устройствах.
  • Эффективность: YOLOv8 демонстрирует превосходную эффективность параметров. Например, YOLOv8n использует всего 3,2M параметров по сравнению с 8,5M у DAMO-YOLOt, но при этом обеспечивает высокую конкурентоспособную производительность. Этот меньший объем памяти имеет решающее значение для развертывания на оборудовании с ограниченными ресурсами, таком как Raspberry Pi.
  • Производительность CPU: Ultralytics предоставляет прозрачные тесты производительности CPU, в то время как DAMO-YOLO не предоставляет официальных данных о CPU. Для многих предприятий, не имеющих доступа к выделенным GPU, подтвержденная производительность CPU YOLOv8 является значительным преимуществом.

Гибкость развертывания

Модели YOLOv8 можно легко экспортировать в различные форматы, включая ONNX, TensorRT, CoreML и TFLite, используя yolo export команда. Это развертывание модели возможность обеспечивает плавную интеграцию в различные производственные среды.

Удобство использования и экосистема

Разрыв между исследовательской моделью и производственным инструментом часто определяется ее экосистемой и простотой использования.

Преимущества экосистемы Ultralytics

YOLOv8 — это не просто модель; это часть комплексной платформы. Экосистема Ultralytics предоставляет:

  • Простой API: Унифицированный интерфейс python позволяет разработчикам обучать, проверять и развертывать модели, используя менее пяти строк кода.
  • Обширная документация: Подробные руководства, учебные пособия и глоссарий помогают пользователям ориентироваться в сложных концепциях компьютерного зрения.
  • Поддержка сообщества: Активное сообщество на GitHub и Discord обеспечивает быстрое решение проблем.
  • Интеграции: Нативная поддержка таких инструментов, как Weights & Biases, Comet и Roboflow, оптимизирует конвейер MLOps.

Удобство использования DAMO-YOLO

DAMO-YOLO — это, прежде всего, исследовательский репозиторий. Несмотря на впечатляющие технологии, он требует более крутой кривой обучения. Пользователям часто необходимо вручную настраивать окружение и ориентироваться в сложных кодовых базах, чтобы адаптировать модель для пользовательских наборов данных. Ему не хватает широкой поддержки мультизадачности (segmentation, определение позы и т. д.), которая есть во фреймворке Ultralytics.

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

Идеальные сценарии для YOLOv8

  • Системы машинного зрения для нескольких задач: Проекты, требующие одновременного обнаружения объектов, сегментации экземпляров и оценки позы.
  • Edge AI: Развертывания на таких устройствах, как NVIDIA Jetson или мобильные телефоны, где эффективность использования памяти и низкая задержка имеют решающее значение.
  • Быстрое прототипирование: Стартапы и команды R&D, которым необходимо быстро выполнять итерации от сбора данных до развертывания модели.
  • Промышленная автоматизация: Производственные линии, использующие контроль качества, где необходимы надежность и стандартные интеграции.

Идеальные сценарии для DAMO-YOLO

  • Серверы, ориентированные на GPU: Высокопроизводительные облачные сервисы, где огромные пакеты изображений обрабатываются на мощных GPU.
  • Академические исследования: Исследователи, изучающие эффективность NAS и методов дистилляции в архитектурах object detection.

Пример обучения: YOLOv8

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

from ultralytics import YOLO

# Load a pre-trained YOLOv8 model
model = YOLO("yolov8n.pt")

# Train the model on your custom data
# The data argument points to a YAML file describing your dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

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

Этот простой рабочий процесс контрастирует с более сложной настройкой, обычно необходимой для исследовательских моделей, таких как DAMO-YOLO.

Заключение

Обе архитектуры представляют собой значительные достижения в области компьютерного зрения. DAMO-YOLO представляет убедительные инновации, такие как ZeroHead и MAE-NAS, что делает его сильным конкурентом для конкретных высокопроизводительных задач GPU.

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

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

Сравнение моделей — лучший способ найти подходящий инструмент для ваших конкретных потребностей. Ознакомьтесь с этими другими сравнениями:


Комментарии