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) |
|---|---|---|---|---|---|---|
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
| DAMO-YOLOt | 640 | 42.0 | - | 2.32 | 8.5 | 18.1 |
| DAMO-YOLOs | 640 | 46.0 | - | 3.45 | 16.3 | 37.8 |
| DAMO-YOLOm | 640 | 49.2 | - | 5.09 | 28.2 | 61.8 |
| DAMO-YOLOl | 640 | 50.8 | - | 7.18 | 42.1 | 97.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 легко интегрируется с популярными инструментами 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, что делает его сильным претендентом для соревнований или академических исследований, где важна каждая доля процента.
Архитектурные и операционные различия
Расхождение между 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, предлагая еще большую скорость, точность и универсальность задач.
Изучите другие сравнения
Чтобы лучше понять, как эти модели вписываются в более широкую экосистему, изучите эти подробные сравнения:
- YOLOv5 vs YOLOv8
- DAMO-YOLO против YOLOv8
- YOLOv5 против RT-DETR
- DAMO-YOLO vs. YOLO11
- YOLOv5 против YOLOv7