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 может потребовать больших ресурсов. Кроме того, ее экосистема относительно меньше, что означает меньшее количество ресурсов сообщества, учебных пособий и сторонних интеграций по сравнению с более устоявшимися фреймворками.
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 остается надежной, хорошо поддерживаемой и очень способной рабочей лошадкой для бесчисленных производственных систем.
Сравнение производительности
При прямом сравнении различие между двумя моделями становится очевидным: DAMO-YOLO ориентирована на максимизацию точности валидации (mAP), тогда как YOLOv5 оптимизирована для скорости инференса и практичности развертывания. В таблице ниже показано, что, хотя модели DAMO-YOLO часто достигают более высоких показателей mAP при аналогичном количестве параметров, модели YOLOv5 (особенно варианты Nano и Small) предлагают превосходную скорость на CPU и GPU, что часто является решающим фактором для развертывания на периферии.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 | 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 |
Код приложения для реального мира
Одним из самых весомых аргументов в пользу моделей 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, обеспечивая еще большую точность и эффективность.
Изучите другие сравнения
Чтобы дополнительно оценить лучшую модель для ваших нужд, изучите эти подробные сравнения:
- DAMO-YOLO против YOLOv8
- DAMO-YOLO vs. YOLO11
- YOLOv5 vs YOLOv8
- YOLOv5 против RT-DETR
- YOLOv5 против EfficientDet