YOLOv8 vs DAMO-YOLO: техническое сравнение
Выбор подходящей модели обнаружения объектов предполагает компромисс между точностью, скоростью и простотой использования. На этой странице представлено подробное техническое сравнение двух мощных моделей: Ultralytics YOLOv8, современной модели от Ultralytics, и DAMO-YOLO, высокопроизводительной модели от Alibaba Group. Хотя обе модели демонстрируют отличную производительность, они построены на разных принципах проектирования и ориентированы на различные потребности разработки. Мы рассмотрим их архитектуры, показатели производительности и идеальные варианты использования, чтобы помочь вам принять взвешенное решение.
Ultralytics YOLOv8
Авторы: Glenn Jocher, Ayush Chaurasia и Jing Qiu
Организация: Ultralytics
Дата: 2023-01-10
GitHub: https://github.com/ultralytics/ultralytics
Документация: https://docs.ultralytics.com/models/yolov8/
Ultralytics YOLOv8 — это современная модель, основанная на успехе предыдущих версий YOLO. Она разработана для обеспечения скорости, точности и простоты использования, что делает ее идеальным выбором для широкого спектра задач обнаружения объектов и визуального ИИ. YOLOv8 — это не просто модель, а комплексная платформа, поддерживающая полный жизненный цикл разработки моделей ИИ, от обучения и проверки до развертывания в реальных приложениях.
Ключевые особенности и преимущества
-
Продвинутая архитектура: YOLOv8 представляет собой конструкцию anchor-free с разделенной головой, что повышает точность и ускоряет постобработку за счет устранения необходимости в Non-Maximum Suppression (NMS) (Немаксимальное подавление) в некоторых случаях. В нем используется усовершенствованная магистральная сеть CSPDarknet и новый модуль C2f для улучшения объединения признаков.
-
Исключительная универсальность: Ключевым преимуществом YOLOv8 является ее нативная поддержка множества задач компьютерного зрения в рамках единого унифицированного фреймворка. Она легко справляется с обнаружением объектов, сегментацией экземпляров, классификацией изображений, оценкой позы и обнаружением ориентированных объектов (OBB). Эта универсальность делает ее универсальным решением для сложных проектов компьютерного зрения.
-
Простота использования: Ultralytics уделяет первостепенное внимание удобству разработки. YOLOv8 поставляется с простым и интуитивно понятным Python API и мощным CLI, подкрепленным обширной документацией и учебными пособиями. Это невероятно упрощает обучение, проверку и развертывание моделей как для новичков, так и для экспертов.
-
Хорошо поддерживаемая экосистема: YOLOv8 является частью процветающей экосистемы open-source с активной разработкой, частыми обновлениями и сильной поддержкой сообщества. Он интегрируется с такими инструментами, как Ultralytics HUB для обучения и развертывания без кода, и многочисленными платформами MLOps, такими как Weights & Biases и Comet.
-
Производительность и эффективность: YOLOv8 предлагает превосходный баланс между скоростью и точностью для различных размеров моделей (от Nano до Extra-Large). Она высоко оптимизирована как для инференса на CPU, так и на GPU, обеспечивая эффективное развертывание на различном оборудовании, от периферийных устройств до облачных серверов. Кроме того, она разработана для эффективного использования памяти, требуя меньше памяти CUDA для обучения по сравнению со многими другими архитектурами.
Слабые стороны
- Как одностадийный детектор, он может столкнуться с проблемами при обнаружении очень маленьких или сильно перекрывающихся объектов по сравнению с некоторыми специализированными двухстадийными детекторами, хотя он исключительно хорошо работает в большинстве сценариев общего назначения.
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 — это быстрая и точная модель обнаружения объектов, разработанная Alibaba Group. Она представляет несколько новых методов для повышения производительности детекторов в стиле YOLO. Название «DAMO» расшифровывается как «Discovery, Adventure, Momentum, and Outlook» (Открытие, Приключение, Импульс и Перспектива), что отражает исследовательский характер проекта.
Ключевые особенности и преимущества
- Neural Architecture Search (NAS): DAMO-YOLO использует NAS для поиска оптимальной архитектуры backbone (MAE-NAS), что помогает достичь лучшего компромисса между точностью и задержкой.
- Продвинутая конструкция neck: Она включает в себя эффективный neck RepGFPN (Generalized Feature Pyramid Network), который предназначен для улучшения объединения признаков с разных уровней магистральной сети.
- ZeroHead: DAMO-YOLO предлагает подход "ZeroHead", который использует легкую сопряженную голову для снижения вычислительных издержек при сохранении высокой производительности.
- Назначение меток AlignedOTA: Используется динамическая стратегия назначения меток под названием AlignedOTA, которая помогает модели лучше обучаться, согласовывая задачи классификации и регрессии во время обучения.
- Высокая производительность GPU: Модель хорошо оптимизирована для инференса на GPU, обеспечивая очень низкую задержку на высокопроизводительном оборудовании, как показано в ее официальных тестах.
Слабые стороны
- Сложность: Использование продвинутых техник, таких как NAS и пользовательские модули (RepGFPN, ZeroHead), делает архитектуру более сложной и менее интуитивно понятной для разработчиков, которым необходимо настраивать или понимать внутреннюю работу модели.
- Ограниченная универсальность: DAMO-YOLO в основном разработан для обнаружения объектов. Ему не хватает встроенной многозадачной поддержки сегментации, классификации и оценки позы, которая является стандартной во фреймворке Ultralytics YOLOv8.
- Экосистема и поддержка: Хотя это проект с открытым исходным кодом, его экосистема не так всеобъемлюща и хорошо поддерживается, как у Ultralytics. Документация может быть неполной, а поддержка сообщества менее обширной, что затрудняет внедрение и устранение неполадок для разработчиков.
- Производительность CPU: Модель в значительной степени оптимизирована для GPU. Информация и бенчмарки производительности CPU менее доступны, что может быть ограничением для развертываний на оборудовании, отличном от GPU.
Анализ производительности: YOLOv8 против DAMO-YOLO
При сравнении производительности крайне важно учитывать как точность (mAP), так и скорость инференса на различном оборудовании.
Модель | размер (пиксели) |
mAPval 50-95 |
Скорость CPU ONNX (мс) |
Скорость T4 TensorRT10 (мс) |
параметры (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
YOLOv8n | 640 | 37.3 | 80.4 | 1.47 | 3.2 | 8.7 |
YOLOv8s | 640 | 44.9 | 128.4 | 2.66 | 11.2 | 28.6 |
YOLOv8m | 640 | 50.2 | 234.7 | 5.86 | 25.9 | 78.9 |
YOLOv8l | 640 | 52.9 | 375.2 | 9.06 | 43.7 | 165.2 |
YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
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 |
На основании таблицы можно сделать несколько выводов:
- Точность: Модели YOLOv8 стабильно превосходят свои аналоги DAMO-YOLO в аналогичных масштабах. Например, YOLOv8m достигает 50,2 mAP, превосходя 49,2 mAP у DAMO-YOLOm. Более крупные модели YOLOv8l и YOLOv8x значительно увеличивают этот отрыв.
- Скорость: В то время как DAMO-YOLO демонстрирует очень конкурентоспособные скорости на GPU, YOLOv8n является самой быстрой моделью на GPU в целом. Важно отметить, что Ultralytics предоставляет прозрачные тесты CPU, которые жизненно важны для многих реальных приложений, где ресурсы GPU недоступны. YOLOv8 демонстрирует отличную, хорошо документированную производительность на CPU.
- Эффективность: Модели YOLOv8 обычно предлагают лучший баланс параметров и FLOPs для заданной точности. Например, YOLOv8s достигает 44.9 mAP всего с 11.2M параметрами, в то время как DAMO-YOLOs требует 16.3M параметров для достижения аналогичного 46.0 mAP.
Заключение
DAMO-YOLO — это впечатляющая модель, демонстрирующая возможности передовых исследовательских методов, таких как NAS, для достижения высокой производительности на GPU-оборудовании. Это сильный претендент для приложений, где скорость GPU является основным показателем, а команда разработчиков обладает опытом управления более сложной архитектурой.
Однако, для подавляющего большинства разработчиков, исследователей и предприятий Ultralytics YOLOv8 является очевидным и превосходным выбором. Он предлагает лучший общий пакет: более высокую точность, отличную производительность как на CPU, так и на GPU, и беспрецедентную универсальность благодаря поддержке нескольких задач.
Ключевые преимущества экосистемы Ultralytics, включая простоту использования, обширную документацию, активную поддержку сообщества и бесшовную интеграцию, делают YOLOv8 не просто мощной моделью, а практичным и продуктивным инструментом для создания надежных решений компьютерного зрения в реальном мире. Независимо от того, являетесь ли вы новичком, начинающим свой первый проект, или экспертом, развертывающим сложные системы, YOLOv8 предлагает более надежный, эффективный и удобный путь к успеху.
Изучите другие модели
Если вам интересны сравнения других моделей, ознакомьтесь со следующими страницами, чтобы увидеть, как YOLOv8 соотносится с другими современными архитектурами: