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

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

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

Хотя обе модели нацелены на решение задач обнаружения объектов, они удовлетворяют разным потребностям. YOLOv5 ставит во главу угла простоту использования, универсальность развертывания и баланс производительности в реальных условиях, в то время как YOLO стремится расширить академические границы с помощью нейронной архитектуры поиска (NAS) и тяжелых механизмов слияния признаков.

Показатели эффективности и контрольные показатели

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

Модельразмер
(пиксели)
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 . Это делает его идеальным для краевых приложений ИИ, где низкая задержка не является обязательным условием.

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

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

Автор: Гленн Джочер
Организация:Ultralytics
Дата: 2020-06-26
GitHubyolov5
Документацияyolov5

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

Основные сильные стороны

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

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

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

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

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

Авторы: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang, and Xiuyu Sun
Organization: Alibaba Group
Дата: 2022-11-23
Arxiv:https://arxiv.org/abs/2211.15444v2
GitHubYOLO

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

В чем преимущества YOLOv5

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

В чем преимущество YOLO

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

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

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

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

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

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

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

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


Комментарии