DAMO-YOLO против YOLOX: техническое сравнение
Выбор подходящей модели обнаружения объектов предполагает компромисс между точностью, скоростью и сложностью развертывания. На этой странице представлено подробное техническое сравнение двух мощных моделей в области компьютерного зрения: DAMO-YOLO и YOLOX. Обе модели внесли значительные инновации в семейство YOLO, но они ориентированы на разные приоритеты и варианты использования. Мы углубимся в их архитектуры, показатели производительности и идеальные приложения, чтобы помочь вам принять взвешенное решение.
DAMO-YOLO: Быстрый и точный детектор
DAMO-YOLO — это высокопроизводительная модель обнаружения объектов, разработанная Alibaba Group. В ней представлен набор передовых технологий для достижения превосходного баланса между скоростью и точностью, особенно на GPU-устройствах. Модель использует поиск нейронной архитектуры (NAS) для оптимизации своих компонентов для достижения максимальной эффективности.
Технические детали:
- Авторы: Сяньчжэ Сюй, Ици Цзян, Вэйхуа Чэнь, Илунь Хуан, Юань Чжан и Сююй Сунь
- Организация: Alibaba Group
- Дата: 23.11.2022
- Arxiv: https://arxiv.org/abs/2211.15444
- GitHub: https://github.com/tinyvision/DAMO-YOLO
- Документация: https://github.com/tinyvision/DAMO-YOLO/blob/master/README.md
Архитектура и ключевые особенности
Архитектура DAMO-YOLO основана на нескольких ключевых инновациях:
- NAS-Powered Backbone: Вместо разработанного вручную backbone, DAMO-YOLO использует backbone под названием GiraffeNet, который генерируется с использованием Neural Architecture Search (NAS). Это позволяет сети найти оптимальную структуру для извлечения признаков, адаптированную для эффективности.
- Эффективный RepGFPN Neck: Модель использует эффективную структуру neck, RepGFPN, которая также оптимизирована с помощью NAS. Этот компонент отвечает за слияние признаков из разных масштабов backbone, и его конструкция направлена на достижение высокой производительности при низких вычислительных затратах.
- ZeroHead: DAMO-YOLO упрощает структуру детектора, представляя ZeroHead, который уменьшает количество слоев и параметров, необходимых для задач классификации и регрессии, без ущерба для точности.
- Назначение меток AlignedOTA: Используется усовершенствованная стратегия назначения меток под названием AlignedOTA, которая улучшает предыдущие методы за счет лучшего согласования задач классификации и регрессии, что приводит к более точным прогнозам.
Сильные стороны
- Превосходный компромисс между скоростью и точностью: DAMO-YOLO превосходно обеспечивает высокую точность при очень высокой скорости инференса, особенно на современных GPU.
- Инновационная архитектура: Использование NAS как для backbone, так и для neck демонстрирует перспективный подход к проектированию модели, расширяя границы автоматизированного машинного обучения.
- Масштабируемые модели: Предлагает семейство моделей (Tiny, Small, Medium, Large), которые позволяют разработчикам выбирать правильный баланс между производительностью и использованием ресурсов для своих конкретных нужд.
Слабые стороны
- Оптимизация под GPU: Модель в высокой степени оптимизирована для инференса на GPU, с меньшим акцентом на производительность CPU, что может быть ограничением для некоторых сценариев периферийных вычислений.
- Экосистема и поддержка: Как модель из внешнего репозитория, ей не хватает бесшовной интеграции, обширной документации и активной поддержки сообщества, которые есть в экосистеме Ultralytics.
- Специфичность задачи: DAMO-YOLO в основном разработан для обнаружения объектов и изначально не поддерживает другие задачи компьютерного зрения, такие как сегментация или оценка позы.
Случаи использования
DAMO-YOLO — отличный выбор для приложений, где критически важна производительность в реальном времени на GPU-оборудовании:
- Облачные сервисы Vision: Обработка больших объемов видеопотоков для аналитики и мониторинга.
- Промышленная автоматизация: Высокоскоростной контроль качества и обнаружение дефектов на производственных линиях.
- Наблюдение в реальном времени: Обеспечение работы систем безопасности, требующих быстрой и точной детекции объектов.
YOLOX: Anchor-Free и высокопроизводительная альтернатива
YOLOX, разработанный компанией Megvii, стал важным шагом в развитии моделей YOLO, представив anchor-free дизайн. Это упрощение конвейера обнаружения было направлено на повышение производительности и снижение сложности, связанной с настройкой anchor box.
Технические детали:
- Авторы: Чжэн Ге, Сунтао Лю, Фэн Ван, Цзэмин Ли и Цзянь Сунь
- Организация: Megvii
- Дата: 18.07.2021
- Arxiv: https://arxiv.org/abs/2107.08430
- GitHub: https://github.com/Megvii-BaseDetection/YOLOX
- Документация: https://yolox.readthedocs.io/en/latest/
Архитектура и ключевые особенности
YOLOX отличается несколькими ключевыми архитектурными решениями:
- Anchor-Free Design: Отказ от предопределенных anchor boxes упрощает процесс обучения YOLOX и уменьшает количество гиперпараметров, что может привести к лучшему обобщению.
- Разделенная Head: Она использует отдельные heads для задач классификации и локализации. Было обнаружено, что такое разделение устраняет проблему несоответствия, присутствующую в объединенных heads, тем самым улучшая точность и скорость сходимости.
- Назначение меток SimOTA: В YOLOX представлена продвинутая стратегия назначения меток под названием SimOTA, которая рассматривает процесс назначения как задачу оптимальной транспортировки для динамического назначения положительных примеров, что приводит к повышению производительности.
- Надежные аугментации: Модель опирается на надежные аугментации данных, такие как MixUp и Mosaic, для повышения своей устойчивости и точности.
Сильные стороны
- Высокая точность: YOLOX достигает конкурентоспособных показателей mAP, при этом ее самый крупный вариант (YOLOX-X) достигает более 51% mAP на наборе данных COCO.
- Упрощенный конвейер: Подход без anchor-ов делает модель более простой для понимания и реализации по сравнению с традиционными детекторами, основанными на anchor-ах.
- Устоявшаяся и хорошо документированная модель: YOLOX, как более старая модель, имеет значительное количество ресурсов сообщества, учебных пособий и примеров развертывания.
Слабые стороны
- Более медленный инференс: По сравнению с более новыми моделями, такими как DAMO-YOLO, YOLOX может иметь более низкую скорость инференса для заданного уровня точности, особенно его более крупные варианты.
- Внешняя экосистема: Она не является частью интегрированной экосистемы Ultralytics, а это означает, что пользователи упускают возможность использовать оптимизированные рабочие процессы, такие инструменты, как Ultralytics HUB, и унифицированную поддержку.
- Ограниченная универсальность: Как и DAMO-YOLO, YOLOX в основном ориентирован на обнаружение объектов и не имеет встроенной поддержки других задач компьютерного зрения.
Случаи использования
YOLOX хорошо подходит для приложений, где высокая точность является главным приоритетом, а конструкция без привязки к anchor boxes является преимуществом:
- Автономное вождение: Системы восприятия в автономных транспортных средствах, требующие точного обнаружения объектов.
- Продвинутая робототехника: Позволяет роботам перемещаться и взаимодействовать со сложными, неструктурированными средами.
- Исследования и разработки: Служит прочной основой для академических и промышленных исследований методов обнаружения без привязки к якорям.
Анализ производительности: DAMO-YOLO в сравнении с YOLOX
В следующей таблице представлено подробное сравнение производительности различных размеров моделей DAMO-YOLO и YOLOX, протестированных на наборе данных COCO val.
Модель | размер (пиксели) |
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 |
YOLOXnano | 416 | 25.8 | - | - | 0.91 | 1.08 |
YOLOXtiny | 416 | 32.8 | - | - | 5.06 | 6.45 |
YOLOXs | 640 | 40.5 | - | 2.56 | 9.0 | 26.8 |
YOLOXm | 640 | 46.9 | - | 5.43 | 25.3 | 73.8 |
YOLOXl | 640 | 49.7 | - | 9.04 | 54.2 | 155.6 |
YOLOXx | 640 | 51.1 | - | 16.1 | 99.1 | 281.9 |
На основании данных можно сделать несколько выводов:
- DAMO-YOLO обычно предлагает лучший фронт Парето скорости и точности. Например, DAMO-YOLOs достигает 46,0 mAP при 3,45 мс, в то время как YOLOXm достигает аналогичного 46,9 mAP, но при более медленных 5,43 мс.
- YOLOX масштабируется до более высокой пиковой точности с помощью своей модели YOLOX-x (51,1 mAP), но это достигается за счет значительных затрат с точки зрения параметров, FLOP и задержки.
- Для легких моделей YOLOX-Nano является наиболее эффективной с точки зрения параметров и FLOPs, хотя и работает с более низким входным разрешением.
- DAMO-YOLO демонстрирует превосходную задержку GPU по сравнению с сопоставимыми размерами моделей, что делает его более подходящим кандидатом для приложений реального времени на оборудовании NVIDIA.
Преимущество Ultralytics: Превосходная альтернатива
Хотя DAMO-YOLO и YOLOX являются мощными моделями, разработчикам и исследователям, стремящимся к оптимальному сочетанию производительности, удобства использования и универсальности, следует рассмотреть модели из экосистемы Ultralytics YOLO, такие как YOLOv8 и новейшая YOLO11.
Модели Ultralytics предоставляют несколько ключевых преимуществ:
- Простота использования: Оптимизированный Python API, подробная документация, а также простые процессы обучения и развертывания значительно упрощают начало работы.
- Развитая экосистема: Воспользуйтесь преимуществами активной разработки, сильной поддержки сообщества через GitHub, частых обновлений и бесшовной интеграции с такими инструментами, как Ultralytics HUB для управления наборами данных и обучения.
- Баланс производительности: Модели Ultralytics высоко оптимизированы для достижения превосходного компромисса между скоростью инференса (как на CPU, так и на GPU) и точностью, что делает их подходящими для широкого спектра сценариев развертывания, от периферийных устройств до облачных серверов.
- Эффективность использования памяти: Модели Ultralytics YOLO обычно требуют меньше памяти для обучения и инференса по сравнению с более сложными архитектурами, что позволяет разрабатывать их на менее мощном оборудовании.
- Универсальность: Изначально поддерживают несколько задач, помимо обнаружения, включая сегментацию экземпляров, классификацию изображений, оценку позы и ориентированные ограничивающие рамки (OBB).
- Эффективность обучения: Быстрое время обучения и готовые предварительно обученные веса на различных наборах данных, таких как COCO, ускоряют сроки реализации проектов.
Заключение
DAMO-YOLO и YOLOX — это мощные модели обнаружения объектов, которые продвинули эту область вперед. DAMO-YOLO выделяется своей исключительной скоростью на GPU и инновационным дизайном на основе NAS, что делает его идеальным для высокопроизводительных систем реального времени. YOLOX предлагает надежную, высокоточную, свободную от anchor альтернативу, которая доказала свою ценность как в исследованиях, так и в промышленности.
Однако, для большинства разработчиков и исследователей модели Ultralytics YOLO, такие как YOLO11, представляют собой наиболее привлекательный общий пакет. Они сочетают в себе передовую производительность с беспрецедентной простотой использования, многозадачной универсальностью и процветающей, хорошо поддерживаемой экосистемой. Этот целостный подход делает модели Ultralytics рекомендуемым выбором для создания практичных, высокопроизводительных и масштабируемых решений компьютерного зрения.
Изучите другие модели
Пользователям, заинтересованным в дальнейших сравнениях, может быть интересно изучить, как DAMO-YOLO и YOLOX соотносятся с другими современными моделями:
- YOLOv8 vs. DAMO-YOLO
- YOLO11 vs. DAMO-YOLO
- RT-DETR против DAMO-YOLO
- YOLOv8 против YOLOX
- YOLOv9 против YOLOX
- EfficientDet против YOLOX