YOLOv5 vs. DAMO-YOLO: Подробное техническое сравнение
В быстро развивающейся области компьютерного зрения выбор правильной архитектуры обнаружения объектов имеет решающее значение для успеха проекта. В этом сравнении рассматриваются две важные модели: Ultralytics YOLOv5принятый во всем мире промышленный стандарт, известный своей надежностью и скоростью, и YOLO, исследовательская модель от Alibaba Group, в которой представлены новые методы архитектурного поиска.
Хотя обе модели нацелены на решение задач обнаружения объектов, они удовлетворяют разным потребностям. YOLOv5 ставит во главу угла простоту использования, универсальность развертывания и баланс производительности в реальных условиях, в то время как YOLO стремится расширить академические границы с помощью нейронной архитектуры поиска (NAS) и тяжелых механизмов слияния признаков.
Показатели эффективности и контрольные показатели
Понимание компромисса между скоростью вывода и точностью обнаружения очень важно при выборе модели для производства. Приведенные ниже данные показывают, как эти модели работают на наборе данныхCOCO , стандартном эталоне обнаружения объектов.
| Модель | размер (пиксели) | 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 . Это делает его идеальным для краевых приложений ИИ, где низкая задержка не является обязательным условием.
Модели 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 легко интегрируется с популярными инструментами 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 , что делает его сильным соперником для соревнований или академических исследований, где важна каждая доля процента.
Архитектурные и эксплуатационные различия
Различия между 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, предлагая еще большую скорость, точность и универсальность задач.
Изучите другие сравнения
Чтобы лучше понять, как эти модели вписываются в общую экосистему, изучите эти подробные сравнения: