DAMO-YOLO против YOLOv7: подробное техническое сравнение
Выбор оптимальной архитектуры для object detection — это важнейшее решение в разработке компьютерного зрения. Этот выбор часто требует балансировки задержки inference с точностью detection, при этом учитываются ограничения аппаратного обеспечения для развертывания. В этом техническом сравнении рассматриваются DAMO-YOLO и YOLOv7, две влиятельные модели, выпущенные в 2022 году, которые расширили границы detection в реальном времени. Мы анализируем их архитектурные инновации, эталонную производительность и идеальные сценарии применения, чтобы помочь вам сориентироваться в процессе выбора модели.
DAMO-YOLO: поиск нейронной архитектуры для эффективности на периферии
DAMO-YOLO был разработан Alibaba Group с особым акцентом на максимизацию производительности для промышленных приложений. Он отличается тем, что включает в себя поиск нейронной архитектуры (NAS) для автоматизации проектирования своей базовой сети, обеспечивая оптимальную эффективность.
- Авторы: Сяньчжэ Сюй, Ици Цзян, Вэйхуа Чэнь, Илунь Хуан, Юань Чжан и Сююй Сунь
- Организация:Alibaba Group
- Дата: 23.11.2022
- Arxiv:https://arxiv.org/abs/2211.15444v2
- GitHub:https://github.com/tinyvision/DAMO-YOLO
- Документация:https://github.com/tinyvision/DAMO-YOLO/blob/master/README.md
Архитектурные инновации
DAMO-YOLO представляет несколько передовых технологий, направленных на снижение вычислительных затрат при сохранении высокой точности:
- Бэкбон MAE-NAS (GiraffeNet): В отличие от традиционных бэкбонов, разработанных вручную, DAMO-YOLO использует подход Method-Aware Efficiency (MAE) NAS. Это приводит к созданию серии бэкбонов под названием GiraffeNet, которая обеспечивает превосходный компромисс между операциями с плавающей запятой (FLOPs) и задержкой при различных аппаратных ограничениях.
- Эффективный RepGFPN: Модель оснащена обобщенной пирамидой признаков (GFPN), оптимизированной с помощью повторной параметризации. Этот "RepGFPN" обеспечивает эффективное многомасштабное слияние признаков, необходимое для detect объектов различных размеров без больших вычислительных затрат, связанных со стандартными FPN.
- ZeroHead: новая конструкция "ZeroHead" значительно упрощает головку обнаружения. Разделяя задачи классификации и регрессии и удаляя сложный специфический слой, она сводит к нулю количество параметров головки во время вывода, экономя память и повышая скорость.
- AlignedOTA: Для повышения стабильности и точности обучения DAMO-YOLO использует AlignedOTA — стратегию динамического назначения меток, которая решает проблему рассогласования между достоверностью классификации и точностью регрессии.
Сильные стороны и варианты использования
DAMO-YOLO превосходен в средах, где задержка имеет решающее значение. Его уменьшенные варианты (Tiny/Small) особенно эффективны для развертываний edge AI.
- Промышленная автоматизация: Идеально подходит для высокоскоростных сборочных линий, где важна каждая миллисекунда.
- Мобильные приложения: Небольшое количество параметров делает его пригодным для запуска на смартфонах с ограниченной вычислительной мощностью.
YOLOv7: Оптимизация точности в реальном времени
YOLOv7, выпущенная незадолго до DAMO-YOLO, установила новый эталон для современного уровня производительности в диапазоне от 5 FPS до 160 FPS. Она была в значительной степени ориентирована на оптимизацию процесса обучения и градиентного потока для достижения более высокой точности без увеличения затрат на inference.
- Авторы: Чен-Яо Ванг, Алексей Бочковский и Хонг-Юань Марк Ляо
- Организация:Институт информатики, Academia Sinica, Тайвань
- Дата: 06.07.2022
- Arxiv:https://arxiv.org/abs/2207.02696
- GitHub:https://github.com/WongKinYiu/yolov7
- Документация:https://docs.ultralytics.com/models/yolov7/
Архитектурные инновации
YOLOv7 представила методы «bag-of-freebies», которые повышают точность во время обучения, не влияя на структуру модели вывода:
- E-ELAN (Extended Efficient Layer Aggregation Network): Эта архитектура контролирует кратчайшие и длиннейшие градиентные пути, позволяя сети изучать более разнообразные функции. Она улучшает обучаемость «cardinality», не нарушая исходное состояние градиентного пути.
- Масштабирование модели для моделей на основе конкатенации: YOLOv7 предлагает метод составного масштабирования, который масштабирует глубину и ширину одновременно для архитектур на основе конкатенации, обеспечивая оптимальное использование параметров.
- Обучаемые Bag-of-Freebies: Используются такие методы, как запланированная репараметризация и контроль вспомогательной головы (от грубого к точному). Они повышают устойчивость и точность модели во время обучения, но объединяются или отбрасываются во время инференса, сохраняя скорость модели.
Сильные стороны и варианты использования
YOLOv7 — это мощный инструмент для object detection общего назначения, предлагающий отличную среднюю точность (mAP) на стандартных наборах данных, таких как MS COCO.
- Наблюдение в умном городе: Его высокая точность делает его надежным для обнаружения пешеходов и транспортных средств в сложных городских условиях.
- Автономные системы: Подходит для робототехники и дронов, требующих надежного detect на больших расстояниях, где полезны входные данные с более высоким разрешением.
Сравнение производительности
В следующей таблице сравнивается производительность DAMO-YOLO и YOLOv7. В то время как DAMO-YOLO часто достигает более низкой задержки (более высокой скорости) для своего размера, YOLOv7 обычно поддерживает прочную репутацию точности, особенно в своих более крупных конфигурациях.
| Модель | размер (пиксели) | 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 |
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
Данные показывают, что для сред с высокой степенью ограничений DAMO-YOLO предлагает очень легкое решение (8,5M параметров для крошечной версии). Однако YOLOv7 расширяет границы точности, достигая 53,1% mAP со своим X-вариантом, хотя и с более высокими вычислительными затратами.
Компромиссы в архитектуре
Несмотря на то, что бэкбон DAMO-YOLO на основе NAS оптимизирован специально для задержки, ручной архитектурный дизайн YOLOv7 фокусируется на эффективности потока градиентов. Пользователям следует протестировать оба на своем конкретном оборудовании, поскольку теоретические FLOP не всегда идеально коррелируют с реальной скоростью inference.
Преимущество Ultralytics: Зачем обновлять?
В то время как DAMO-YOLO и YOLOv7 представляют собой значительные достижения в истории компьютерного зрения, эта область быстро развивается. Для разработчиков, ищущих наиболее надежные, универсальные и простые в использовании решения, рекомендуются Ultralytics YOLO11 и YOLOv8.
Модели Ultralytics разработаны не просто как исследовательские артефакты, а как комплексные инструменты для production. Они решают проблемы «последней мили» при развертывании ИИ — удобство использования, интеграцию и обслуживание.
Основные преимущества моделей Ultralytics
- Простота использования: Благодаря унифицированному Python API и CLI вы можете обучить современную модель, используя всего несколько строк кода. Нет необходимости вручную настраивать сложные файлы конфигурации или бороться с зависимостями.
- Хорошо поддерживаемая экосистема: Ultralytics предоставляет процветающую экосистему с частыми обновлениями, быстро выявляя и исправляя ошибки. Поддержка легко доступна через обширную документацию и активные каналы сообщества.
- Баланс производительности: Такие модели, как YOLO11, используют передовые безанкерные головы обнаружения и оптимизированные бэкбоны для достижения превосходного соотношения точности и скорости по сравнению с YOLOv7 и DAMO-YOLO.
- Универсальность: В отличие от более старых моделей, часто ограниченных detect, Ultralytics YOLO поддерживает instance segmentation, pose estimation, oriented object detection (OBB) и classification из коробки.
- Эффективность обучения: Предварительно обученные веса и оптимизированные загрузчики данных обеспечивают более быструю сходимость, экономя часы работы GPU и энергию.
from ultralytics import YOLO
# Load the latest YOLO11 model
model = YOLO("yolo11n.pt")
# Train on COCO8 dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image
results = model("path/to/image.jpg")
Заключение
DAMO-YOLO и YOLOv7 имеют свои отдельные преимущества. DAMO-YOLO — сильный кандидат для проектов, где скорость логического вывода на периферии является основным ограничением, используя NAS для сокращения миллисекунд. YOLOv7 остается надежным выбором для исследователей, ищущих высокоточную детекцию с проверенной архитектурной родословной.
Однако, для большинства коммерческих и исследовательских приложений сегодня экосистема Ultralytics YOLO предлагает превосходный опыт. Сочетая в себе современную производительность с непревзойденной простотой использования и универсальностью, модели Ultralytics позволяют разработчикам сосредоточиться на создании ценности, а не на отладке кода. Независимо от того, развертываете ли вы его на облачном сервере или на периферийном устройстве, таком как NVIDIA Jetson, Ultralytics обеспечивает наиболее оптимизированный путь к производству.
Другие модели
Если вы изучаете архитектуры object detection, вам также могут быть интересны следующие модели:
- Ultralytics YOLOv8: Универсальная модель, поддерживающая задачи обнаружения, сегментации и определения позы.
- Ultralytics YOLO11: Последняя эволюция в серии YOLO, предлагающая передовую эффективность.
- RT-DETR: Детектор на основе трансформера в реальном времени, который позволяет избежать задержек NMS.
- YOLOv9: Использует программируемую градиентную информацию (PGI) для расширенного обучения.
- YOLOv10: Ориентирована на end-to-end обучение без NMS для снижения задержки.