DAMO-YOLO против YOLOv7: оцениваем детекторы объектов реального времени

Стремительное развитие компьютерного зрения привело к созданию высокоэффективных моделей обнаружения объектов, разработанных для баланса между точностью и вычислительными затратами. Две примечательные модели, представленные в 2022 году, — это DAMO-YOLO и YOLOv7. Хотя обе они стремятся расширить границы задач машинного зрения в реальном времени, они достигают своих результатов с помощью принципиально разных архитектурных парадигм и методологий обучения.

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

Происхождение и метаданные моделей

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

DAMO-YOLO

Разработанная исследователями Alibaba Group, модель DAMO-YOLO была представлена для оптимизации как скорости, так и точности с помощью автоматизированного поиска архитектуры и дистилляции.

  • Авторы: Сяньчжэ Сюй (Xianzhe Xu), Ици Цзян (Yiqi Jiang), Вэйхуа Чэнь (Weihua Chen), Илунь Хуан (Yilun Huang), Юань Чжан (Yuan Zhang) и Сююй Сунь (Xiuyu Sun)
  • Организация: Alibaba Group
  • Дата: 23 ноября 2022 г.
  • Arxiv: 2211.15444v2
  • GitHub: tinyvision/DAMO-YOLO

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

YOLOv7

Выпущенная как передовое решение в середине 2022 года, модель YOLOv7 продвинула инференс в реальном времени дальше, внедрив обучаемые «наборы бесплатных улучшений» (bag-of-freebies) без увеличения затрат на развертывание.

Узнай больше о YOLOv7

Поддерживаемая экосистема

Модель YOLOv7 официально поддерживается в экосистеме Ultralytics, что позволяет легко выполнять обучение, валидацию и экспорт с помощью унифицированного API.

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

DAMO-YOLO: NAS и дистилляция

DAMO-YOLO включает несколько передовых методов, направленных на максимальную эффективность:

  • Бэкбоны NAS: Использование поиска нейронных архитектур (NAS) для автоматического проектирования оптимальных бэкбонов (MAE-NAS), адаптированных для сред, критичных к задержкам.
  • Эффективная RepGFPN: Модифицированная обобщенная пирамида признаков, которая значительно повышает эффективность слияния признаков в различных масштабах.
  • ZeroHead и AlignedOTA: Включает легкую голову детектирования и оптимизированную стратегию назначения меток (AlignedOTA) для снижения вычислительных накладных расходов.
  • Улучшение дистилляции: Активно использует дистилляцию знаний во время обучения, чтобы повысить производительность меньших вариантов модели без увеличения количества их параметров.

YOLOv7: E-ELAN и Bag-of-Freebies

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

  • Архитектура E-ELAN: Extended Efficient Layer Aggregation Network позволяет модели изучать более разнообразные признаки путем контроля кратчайших и длиннейших путей градиента, обеспечивая эффективную сходимость обучения.
  • Масштабирование модели: Вводит метод составного масштабирования, адаптированный для моделей на основе конкатенации, масштабируя глубину и ширину одновременно для структурного соответствия.
  • Обучаемые Bag-of-Freebies: Использует такие методы, как перепараметризованные свертки (RepConv) без identity-соединений и стратегии динамического назначения меток, которые повышают точность во время обучения, не влияя на скорость инференса.

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

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

Модельразмер
(пиксели)
mAPval
50-95
Скорость
CPU ONNX
(мс)
Скорость
T4 TensorRT10
(мс)
параметры
(М)
FLOPs
(Б)
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
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9

Как видно из метрик, в то время как DAMO-YOLO предоставляет чрезвычайно легкие варианты (например, tiny-модель всего с 8,5 млн параметров), YOLOv7 достигает более высокого пика общей точности, где YOLOv7x достигает впечатляющих 53,1 mAP на датасете COCO.

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

Хотя теоретическая архитектура важна, практичность модели определяется ее экосистемой. Модели, поддерживаемые Ultralytics, такие как YOLOv7, выигрывают от хорошо поддерживаемой экосистемы и непревзойденной простоты использования.

  • Баланс производительности: Модели Ultralytics стабильно обеспечивают оптимальный компромисс между скоростью инференса и точностью обнаружения, что делает их идеальными как для edge-устройств, так и для облачного развертывания моделей.
  • Требования к памяти: В отличие от более тяжелых моделей на базе Transformer, модели Ultralytics YOLO поддерживают низкие требования к памяти CUDA во время обучения. Это позволяет использовать большие размеры батчей, упрощая процесс обучения даже на оборудовании потребительского уровня.
  • Универсальность: Фреймворк Ultralytics выходит за рамки обнаружения объектов и включает такие задачи, как сегментация экземпляров и оценка позы, предоставляя разработчикам полный инструментарий компьютерного зрения.
Эффективность обучения

Пакет Ultralytics позволяет тебе плавно перейти от наборов данных к полностью обученной модели всего за несколько минут, используя высокооптимизированные загрузчики данных и предобученные веса.

Пример кода: Обучение YOLOv7 с помощью Ultralytics

Интеграция YOLOv7 в твой конвейер компьютерного зрения невероятно проста при использовании Python API от Ultralytics.

from ultralytics import YOLO

# Load a pre-trained YOLOv7 model
model = YOLO("yolov7.pt")

# Train the model on your custom dataset
results = model.train(data="coco8.yaml", epochs=50, imgsz=640)

# Run inference and validate results
metrics = model.val()
predictions = model.predict("https://ultralytics.com/images/bus.jpg", save=True)

Новый стандарт: Представляем YOLO26

Хотя YOLOv7 и DAMO-YOLO стали значительными прорывами в 2022 году, область AI для зрения развивается быстро. Для команд, начинающих новые проекты сегодня, рекомендуется использовать передовую модель Ultralytics YOLO26, выпущенную в январе 2026 года.

YOLO26 обеспечивает качественный скачок в производительности и удобстве использования, внедряя современные инновации:

  • Дизайн End-to-End без NMS: YOLO26 является нативно end-to-end моделью. Устраняя постпроцессинг Non-Maximum Suppression (NMS), она обеспечивает более быструю и простую логику развертывания — парадигмальный сдвиг, впервые представленный YOLOv10.
  • Оптимизатор MuSGD: Вдохновленный инновациями в больших языковых моделях, такими как Kimi K2 от Moonshot AI, YOLO26 использует гибрид SGD и Muon. Этот оптимизатор обеспечивает высокую стабильность динамики обучения и значительно более быструю скорость сходимости.
  • До 43% быстрее инференс на CPU: Благодаря целенаправленному удалению Distribution Focal Loss (DFL) и глубоким структурным улучшениям, YOLO26 сильно оптимизирована для маломощных edge-вычислений, превосходя предыдущие поколения на оборудовании без GPU.
  • ProgLoss + STAL: Включает передовые новые функции потерь, которые явно нацелены на улучшение распознавания мелких объектов — важная возможность для приложений в аэрофотосъемке, робототехнике и мониторинге безопасности.
  • Улучшения для конкретных задач: Помимо стандартного обнаружения, YOLO26 предлагает специализированные улучшения для различных задач, включая многомасштабное прототипирование для сегментации, RLE для оценки позы и специфические угловые потери для ориентированных ограничивающих рамок (OBB).

Узнай больше о YOLO26

Идеальные сценарии использования

Выбор правильной архитектуры полностью зависит от твоей целевой среды развертывания и ограничений проекта.

Когда выбирать DAMO-YOLO:

  • Ты работаешь в сильно ограниченных ресурсами edge-средах, где количество параметров должно быть крайне низким (например, микроконтроллеры).
  • Ты используешь автоматизированные конвейеры машинного обучения, специально интегрированные с проприетарными облачными сервисами Alibaba.

Когда выбирать YOLOv7:

  • У тебя есть старые конвейеры на базе GPU, уже оптимизированные для инференса с привязкой к якорям (anchor-based) и высокой точностью.
  • Ты работаешь в средах, где точность в реальном времени имеет первостепенное значение, например, в высокоскоростных автономных транспортных средствах или передовой робототехнике.

Когда выбирать YOLO26 (Рекомендуется):

  • Ты создаешь новое приложение компьютерного зрения с нуля и нуждаешься в абсолютном современном уровне точности и скорости инференса на CPU/edge-устройствах.
  • Тебе требуется быстрое и бесшовное развертывание (например, экспорт в CoreML или TensorRT) без необходимости справляться с ограничениями оператора NMS.
  • Ты хочешь использовать все возможности платформы Ultralytics для обучения в облаке, управления наборами данных и автоматизированного развертывания.

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

Комментарии