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

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

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

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 README

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

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

DAMO-YOLO выделяется несколькими технически сложными компонентами, разработанными для максимального повышения производительности сети:

  • Бэкбон MAE-NAS: В отличие от моделей с бэкбонами, разработанными вручную, DAMO-YOLO использует поиск нейронной архитектуры (NAS), управляемый принципом максимальной энтропии. Это приводит к созданию структуры бэкбона, оптимизированной специально для эффективности извлечения признаков при различных ограничениях.
  • Эффективный RepGFPN: Модель использует Reparameterized Generalized Feature Pyramid Network (RepGFPN). Этот усовершенствованный модуль neck улучшает стандартные FPN за счет оптимизации слияния признаков в разных масштабах и использования повторной параметризации для снижения задержки inference без ущерба для точности.
  • ZeroHead: Чтобы минимизировать вычислительные затраты на головку обнаружения, YOLO представляет ZeroHead, легкую отсоединенную головку, которая эффективно справляется с задачами классификации и регрессии.
  • AlignedOTA: Стабильность и точность обучения повышаются за счет Aligned Optimal Transport Assignment (AlignedOTA) — стратегии динамического назначения меток, которая согласовывает привязки прогнозов с фактическими объектами более эффективно, чем статические правила сопоставления.
  • Улучшение дистилляции: Процесс обучения часто включает дистилляцию знаний, когда большая модель-"учитель" направляет обучение меньшей модели-"ученика", передавая более богатые представления признаков.

Дизайн, ориентированный на исследования

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

Сильные и слабые стороны

Основным преимуществом DAMO-YOLO является ее точность обнаружения. Благодаря использованию NAS и передовых конструкций neck, она часто достигает более высоких показателей средней точности (mAP), чем сопоставимые модели того же поколения. Она превосходно определяет объекты в сложных сценах, где критически важна детальная дискриминация признаков.

Однако, эти преимущества достигаются за счет компромиссов. Зависимость от NAS backbones и конвейеров дистилляции увеличивает сложность обучения и интеграции. В отличие от plug-and-play характера некоторых альтернатив, настройка пользовательского конвейера обучения для DAMO-YOLO может потребовать больших ресурсов. Кроме того, ее экосистема относительно меньше, что означает меньшее количество ресурсов сообщества, учебных пособий и сторонних интеграций по сравнению с более устоявшимися фреймворками.

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

Ultralytics YOLOv5: Стандарт для практического ИИ

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

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

Архитектура и удобство использования

YOLOv5 использует основу CSPDarknet53 в сочетании с PANet neck, архитектуры, выбранные за их надежность и эффективность на оборудовании GPU и CPU. Хотя он использует обнаружение на основе якорей — проверенную методологию — его истинная сила заключается в его инженерии и экосистеме:

  • Оптимизированный пользовательский опыт: YOLOv5 известна своей философией "из новичка в героя". Разработчики могут настроить среду, обучать на пользовательских наборах данных и запускать вывод всего несколькими строками кода.
  • Универсальность: Помимо стандартного object detection, YOLOv5 поддерживает instance segmentation и image classification, позволяя пользователям решать множество задач компьютерного зрения в рамках единого фреймворка.
  • Возможность экспорта: Модель поддерживает простой экспорт в многочисленные форматы, включая ONNX, TensorRT, CoreML и TFLite, обеспечивая простое развертывание на всем, от облачных серверов до периферийных устройств.
  • Эффективность памяти: Модели Ultralytics обычно демонстрируют более низкое использование памяти во время обучения по сравнению со сложными архитектурами на основе трансформеров или моделями с интенсивным использованием NAS, что делает их доступными на более широком спектре оборудования.

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

Экосистема Ultralytics — это мощный ускоритель разработки. Благодаря обширной документации, активным форумам сообщества и частым обновлениям разработчики тратят меньше времени на отладку и больше времени на инновации. Интеграция с такими инструментами, как Ultralytics HUB, еще больше упрощает управление моделями и обучение.

Почему разработчики выбирают YOLOv5

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

Несмотря на то, что новые модели, такие как YOLO11, с тех пор представили anchor-free архитектуры и дальнейшее повышение производительности, YOLOv5 остается надежной, хорошо поддерживаемой и очень способной рабочей лошадкой для бесчисленных производственных систем.

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

Сравнение производительности

При прямом сравнении различие между двумя моделями становится очевидным: DAMO-YOLO ориентирована на максимизацию точности валидации (mAP), тогда как YOLOv5 оптимизирована для скорости инференса и практичности развертывания. В таблице ниже показано, что, хотя модели DAMO-YOLO часто достигают более высоких показателей mAP при аналогичном количестве параметров, модели YOLOv5 (особенно варианты Nano и Small) предлагают превосходную скорость на CPU и GPU, что часто является решающим фактором для развертывания на периферии.

Модельразмер
(пиксели)
mAPval
50-95
Скорость
CPU ONNX
(мс)
Скорость
T4 TensorRT10
(мс)
параметры
(M)
FLOPs
(B)
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
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

Код приложения для реального мира

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

import torch

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

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

# Run inference
results = model(img)

# Print results to console
results.print()

# Show the results
results.show()

Заключение

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

Однако, для подавляющего большинства разработчиков, исследователей и предприятий, Ultralytics YOLOv5 (и ее преемник, YOLO11) остается наилучшей рекомендацией. Преимущества хорошо поддерживаемой экосистемы невозможно переоценить: простые API, исчерпывающая документация и беспроблемные варианты экспорта значительно сокращают время выхода на рынок. Благодаря балансу производительности, который эффективно справляется с ограничениями реального времени, и универсальности в таких задачах, как segment и классификация, модели Ultralytics обеспечивают надежную, перспективную основу для создания практических решений на основе искусственного интеллекта.

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

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

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


Комментарии