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

YOLOv5 vs. DAMO-YOLO: Подробное техническое сравнение

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

В то время как обе модели направлены на решение задач object detection, они отвечают разным потребностям. YOLOv5 уделяет приоритетное внимание простоте использования, универсальности развертывания и балансу производительности в реальном мире, в то время как DAMO-YOLO фокусируется на расширении академических границ с помощью Neural Architecture Search (NAS) и механизмов тяжелого слияния признаков.

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

Понимание компромиссов между скоростью инференса и точностью detect имеет важное значение при выборе модели для производства. Следующие данные показывают, как эти модели работают на наборе данных COCO, стандартном эталоне для object detection.

Модельразмер
(пиксели)
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
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

Анализ результатов

Данные выявляют отчетливую дихотомию в философии проектирования. YOLOv5n (Nano) является бесспорным лидером по скорости и эффективности, предлагая невероятное время вывода 1.12 мс на GPU и широкодоступную производительность CPU. Это делает его идеальным для приложений edge AI, где низкая задержка является обязательным условием.

Модели DAMO-YOLO, такие как DAMO-YOLOl, достигают незначительно более высоких средняя точность (mAP), достигая пика в 50.8, но за счет непрозрачности метрик производительности CPU. Отсутствие информации о скорости CPU для DAMO-YOLO говорит о том, что он в первую очередь оптимизирован для high-end GPU сред, что ограничивает его гибкость для более широких сценариев развертывания, таких как мобильные приложения или встроенные системы.

Ultralytics YOLOv5: Универсальный промышленный стандарт

Author: Glenn Jocher
Organization:Ultralytics
Date: 2020-06-26
GitHub:https://github.com/ultralytics/yolov5
Documentation:https://docs.ultralytics.com/models/yolov5/

С момента своего выпуска YOLOv5 зарекомендовала себя как краеугольный камень в сообществе компьютерного зрения. Будучи изначально разработанной на PyTorch, она сочетает в себе сложность и удобство использования, обеспечивая комплексный опыт «из коробки». Ее архитектура использует бэкбон CSPDarknet и neck PANet, которые эффективно агрегируют признаки в разных масштабах для обнаружения объектов различных размеров.

Ключевые преимущества

  • Простота использования: Ultralytics уделяет первостепенное внимание опыту разработчиков (DX). С простым Python API и интуитивно понятными CLI commands пользователи могут обучать и развертывать модели за считанные минуты.
  • Хорошо поддерживаемая экосистема: Поддерживаемый активным сообществом и частыми обновлениями, YOLOv5 обеспечивает совместимость с новейшими инструментами, включая Ultralytics HUB для беспрепятственного управления моделями.
  • Универсальность: Помимо стандартного detect, YOLOv5 поддерживает instance segmentation и image classification, позволяя разработчикам решать множество задач компьютерного зрения с помощью единого фреймворка.
  • Гибкость развертывания: От экспорта в ONNX и TensorRT до запуска на iOS и Android, YOLOv5 разработан для работы где угодно.

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

Оптимизированный рабочий процесс

YOLOv5 легко интегрируется с популярными инструментами MLOps. Вы можете track свои эксперименты, используя Weights & Biases или Comet с помощью одной команды, гарантируя, что ваши запуски обучения будут воспроизводимыми и простыми для анализа.

DAMO-YOLO: Точность, основанная на исследованиях

Авторы: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang и Xiuyu Sun
Организация: Alibaba Group
Дата: 2022-11-23
Arxiv:https://arxiv.org/abs/2211.15444v2
GitHub:https://github.com/tinyvision/DAMO-YOLO

DAMO-YOLO — это метод, разработанный DAMO Academy компании Alibaba. Он представляет собой набор передовых технологий, включая Neural Architecture Search (NAS) для автоматического проектирования эффективных магистральных сетей (MAE-NAS), тяжелую структуру шеи, известную как RepGFPN (Reparameterized Generalized Feature Pyramid Network), и легкую головку под названием ZeroHead.

Основные характеристики

  • Бэкбон MAE-NAS: Использует метод под названием MAE-NAS для поиска оптимальной структуры сети при определенных ограничениях задержки, хотя это может усложнить ручное изменение архитектуры.
  • Назначение меток AlignedOTA: Использует стратегию динамического назначения меток под названием AlignedOTA для решения проблем рассогласования между задачами классификации и регрессии.
  • Акцент на точности: Основная цель DAMO-YOLO — максимизировать mAP на наборе данных COCO, что делает его сильным претендентом для соревнований или академических исследований, где важна каждая доля процента.

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

Архитектурные и операционные различия

Расхождение между YOLOv5 и DAMO-YOLO выходит за рамки простых метрик и распространяется на их основные философии проектирования и операционные требования.

Архитектура: Простота и сложность

YOLOv5 использует разработанную вручную, интуитивно понятную архитектуру. Его основанный на anchor boxes подход хорошо понятен и прост в отладке. В отличие от этого, DAMO-YOLO полагается на тяжелую репараметризацию и автоматический поиск (NAS). Хотя NAS может создавать эффективные структуры, это часто приводит к моделям «черного ящика», которые разработчикам сложно настраивать или интерпретировать. Кроме того, тяжелый neck (RepGFPN) в DAMO-YOLO увеличивает вычислительную нагрузку во время обучения, требуя больше памяти GPU по сравнению с эффективной конструкцией CSP YOLOv5.

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

Модели Ultralytics известны своей эффективностью обучения. YOLOv5 обычно требует меньше памяти CUDA, что позволяет обучать его на GPU потребительского класса. DAMO-YOLO, с ее сложными процессами повторной параметризации и дистилляции, часто требует высокопроизводительного оборудования для эффективного обучения. Кроме того, Ultralytics предоставляет обширную библиотеку предварительно обученных весов и автоматизированную настройку гиперпараметров для ускорения пути к сходимости.

Экосистема и простота использования

Возможно, самое существенное различие заключается в экосистеме. YOLOv5 — это не просто модель; это часть комплексного набора инструментов.

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

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

Реальные примеры использования

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

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

  • Умное сельское хозяйство: Низкие требования к ресурсам делают его идеальным для запуска на дронах или автономных тракторах для обнаружения болезней сельскохозяйственных культур.
  • Производство: В промышленной автоматизации высокая скорость YOLOv5 позволяет в реальном времени обнаруживать дефекты на быстродвижущихся конвейерных лентах.
  • Аналитика розничной торговли: Для подсчета объектов и управления очередями производительность YOLOv5 на CPU обеспечивает экономичное развертывание на существующем оборудовании магазина.

В чем DAMO-YOLO превосходит другие модели

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

Пример кода: Начало работы с YOLOv5

Запуск YOLOv5 прост благодаря пакету Ultralytics python. В следующем примере показано, как загрузить предварительно обученную модель и запустить inference на изображении.

import torch

# Load a pre-trained YOLOv5s model from PyTorch Hub
model = torch.hub.load("ultralytics/yolov5", "yolov5s", pretrained=True)

# Define an image URL or local path
img = "https://ultralytics.com/images/zidane.jpg"

# Run inference
results = model(img)

# Print results to the console
results.print()

# Show the image with bounding boxes
results.show()

Заключение

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

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

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

Изучите другие сравнения

Чтобы лучше понять, как эти модели вписываются в более широкую экосистему, изучите эти подробные сравнения:


Комментарии