Ultralytics YOLO27:
Get Started

DAMO-YOLO и YOLOv7#

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

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

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

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

DAMO-YOLO#

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

  • Авторы: Сяньчжэ Сюй, Ици Цзян, Вэйхуа Чэнь, Илуне Хуан, Юань Чжан и Сюйюй Сунь
  • Организация: Alibaba Group
  • Дата: 23 ноября 2022 года
  • Arxiv: 2211.15444v2
  • GitHub: tinyvision/DAMO-YOLO

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

YOLOv7#

Выпущенная в середине 2022 года как передовая модель, YOLOv7 расширила возможности вывода в реальном времени, добавив обучаемые методы «бесплатного улучшения» без увеличения затрат на развёртывание.

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

Поддержка Ultralytics

Ultralytics не публикует веса и YAML-файлы YOLOv7, поэтому обучать YOLOv7 напрямую с помощью пакета Ultralytics нельзя. Модели YOLOv7, обученные в исходном репозитории, можно экспортировать в ONNX или TensorRT и запускать для вывода с помощью Ultralytics.

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

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

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

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

YOLOv7: E-ELAN и бесплатные улучшения#

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

  • Архитектура E-ELAN: расширенная эффективная сеть агрегации слоёв позволяет модели изучать более разнообразные признаки, контролируя самые короткие и самые длинные пути градиента и обеспечивая эффективную сходимость обучения.
  • Масштабирование модели: метод составного масштабирования, разработанный для моделей на основе конкатенации, одновременно изменяет глубину и ширину, сохраняя структурное соответствие.
  • Обучаемые бесплатные улучшения: применяются такие методы, как свёртки с репараметризацией (RepConv) без связей идентичности и стратегии динамического назначения меток. Они повышают точность при обучении, не влияя на скорость вывода.

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

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

Модельразмер
(пиксели)
mAPval
50-95
Скорость
CPU ONNX
(мс)
Скорость
T4 TensorRT10
(мс)
параметры
(M)
FLOPs
(B)
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, например YOLO26, отличаются хорошо поддерживаемой экосистемой и непревзойдённой простотой использования.

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

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

Пример кода: запуск YOLOv7 с Ultralytics#

После преобразования экспорта YOLOv7 в ONNX из исходного репозитория, как описано в примерах использования YOLOv7, ты можешь запустить модель с помощью Python API Ultralytics.

from ultralytics import YOLO

# Загрузи модель YOLOv7 ONNX, преобразованную для Ultralytics
model = YOLO("yolov7-ultralytics.onnx", task="detect")

# Выполнить инференс
predictions = model.predict("https://ultralytics.com/images/bus.jpg", save=True)

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

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

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

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

Оптимальные сценарии применения#

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

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

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

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

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

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

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

Комментарии