Ultralytics YOLO27: Запишись в список ожидания.
Get Started

YOLOv8 и DAMO-YOLO#

Ландшафт компьютерного зрения постоянно меняется: новые архитектуры расширяют возможности периферийных устройств и крупных облачных кластеров. В этом техническом сравнении рассматриваются две заметные модели обнаружения объектов в реальном времени: YOLOv8 и DAMO-YOLO. Анализ архитектур, метрик производительности и методик обучения поможет инженерам по машинному обучению принимать обоснованные решения при построении конвейеров развертывания.

История моделей и их происхождение#

Обе модели появились примерно в одно время, но основаны на разных принципах проектирования и исследовательских целях.

Особенности YOLOv8#

Подробнее о DAMO-YOLO#

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

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

YOLOv8: универсальная безанкорная архитектура#

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

Кроме того, в YOLOv8 используется Distribution Focal Loss (DFL) наряду с потерями CIoU, благодаря чему модель точнее определяет границы объектов, особенно небольших или частично закрытых. Упрощенная основа оптимизирована для работы как на GPU, так и на CPU.

DAMO-YOLO использует другой подход и в значительной степени полагается на поиск архитектуры нейронной сети (NAS) для автоматического проектирования основы. Команда Alibaba разработала «MAE-NAS» для поиска архитектур, обеспечивающих оптимальный баланс задержки и точности, в частности при ускорении с помощью TensorRT.

Модель использует RepGFPN (обобщённую пирамидальную сеть признаков с перепараметризацией) для эффективного объединения признаков и архитектуру «ZeroHead» для снижения вычислительной нагрузки на голову обнаружения. При обучении модель использует AlignedOTA для назначения меток и активно применяет сложную дистилляцию знаний, для которой нужна более крупная модель-учитель, обучающая целевую модель-ученика.

Сложность обучения

DAMO-YOLO обеспечивает высокую производительность по задержке благодаря NAS и дистилляции, но дистилляция обычно требует во время обучения больше памяти CUDA и вычислительных ресурсов, чем одноэтапный конвейер обучения YOLOv8.

Производительность и метрики#

При развертывании моделей компьютерного зрения в production критически важно соблюдать баланс между точностью (mAP) и скоростью инференса. В таблице ниже сравнивается производительность обеих моделей разных размеров.

Модельразмер
(пиксели)
mAPval
50-95
Скорость
CPU ONNX
(мс)
Скорость
T4 TensorRT10
(мс)
параметры
(M)
FLOPs
(B)
YOLOv8n64037.380.41.473.28.7
YOLOv8s64044.9128.42.6611.228.6
YOLOv8m64050.2234.75.8625.978.9
YOLOv8l64052.9375.29.0643.7165.1
YOLOv8x64053.9479.114.3768.2257.8
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

В небольших вариантах DAMO-YOLOt и DAMO-YOLOs обеспечивают более высокий mAP, чем YOLOv8n и YOLOv8s, но используют больше параметров; начиная со среднего размера YOLOv8 превосходит их по точности. Для YOLOv8n (nano) требуется всего 3.2 миллиона параметров против 8.5 миллиона у DAMO-YOLOt, поэтому она лучше подходит для мобильных устройств и сред со строгими ограничениями по памяти. YOLOv8 также предлагает больше вариантов размеров, вплоть до YOLOv8x — самой точной модели в этом сравнении, подходящей для облачных нагрузок.

Опыт разработчиков и экосистема#

Удобство использования и эффективность обучения#

Одно из главных отличий — удобство использования. Экосистема Ultralytics разработана с учетом высокой скорости разработки. Обучение пользовательской модели YOLOv8 не требует много памяти и выполняется через унифицированный Python API или интерфейс командной строки.

В свою очередь, для воспроизведения обучения DAMO-YOLO с дистилляцией часто приходится разбираться в сложных файлах конфигурации и настраивать отслеживание экспериментов для многоэтапного процесса «учитель — ученик».

В следующем примере YOLOv8 обучается и экспортируется с помощью Python:

from ultralytics import YOLO

# Загрузи предварительно обученную модель YOLOv8 nano
model = YOLO("yolov8n.pt")

# Обучи модель на датасете COCO8
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device="cpu")

# Экспортируй обученную модель в формат ONNX
path = model.export(format="onnx")

Универсальность для задач компьютерного зрения#

DAMO-YOLO предназначена исключительно для обнаружения объектов с ограничивающими рамками. Архитектура YOLOv8, напротив, изначально поддерживает несколько задач. Заменив веса модели, разработчики могут выполнять сегментацию экземпляров, классификацию изображений и оценку позы, не меняя основную кодовую базу развертывания. Благодаря этому модели Ultralytics практичнее для приложений с несколькими задачами.

Примеры применения в реальных условиях#

Когда использовать YOLOv8#

Сочетание скорости, точности и простоты развертывания делает YOLOv8 идеальным решением для следующих задач:

  • Аналитика для умной розницы: использование отслеживания объектов для мониторинга поведения покупателей или автоматизации учёта запасов.
  • Сельскохозяйственная робототехника: использование высокой производительности на разном оборудовании для обнаружения культур или вредителей в реальном времени.
  • Медицинская диагностика: сегментация экземпляров помогает быстро и точно выявлять аномалии на медицинских изображениях.
  • Развертывание на периферийных устройствах: встроенный экспорт в форматы OpenVINO и CoreML делает YOLOv8 подходящей для устройств с ограниченными ресурсами.

Когда использовать DAMO-YOLO#

DAMO-YOLO может быть полезна в определённых сценариях, в частности:

  • Академические исследования NAS: для команд, изучающих репараметризацию или методы автоматизированного проектирования архитектур.
  • Пайплайны, ограниченные возможностями GPU: приложения, работающие исключительно на определённом оборудовании NVIDIA, где структуры, разработанные с помощью NAS, оптимизированы для выполнения в TensorRT.

Сценарии использования и рекомендации#

Выбор между YOLOv8 и DAMO-YOLO зависит от конкретных требований проекта, ограничений на развертывание и предпочтений в отношении экосистемы.

Когда выбрать YOLOv8#

YOLOv8 — хороший выбор для:

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

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

DAMO-YOLO рекомендуется для следующих задач:

  • Высокопроизводительная видеоаналитика: Обработка видеопотоков с высокой частотой кадров на фиксированной инфраструктуре NVIDIA GPU, где основной показатель — пропускная способность при размере пакета 1.
  • Промышленные производственные линии: Сценарии со строгими ограничениями по задержке GPU на выделенном оборудовании, например контроль качества в реальном времени на сборочных линиях.
  • Исследования в области поиска нейросетевых архитектур: Изучение влияния автоматизированного поиска архитектур (MAE-NAS) и эффективных перенастраиваемых базовых сетей на качество обнаружения.

Когда выбирать Ultralytics (YOLO26)#

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

  • Развертывание на периферийных устройствах без NMS: приложения, которым нужен стабильный инференс с низкой задержкой без сложной постобработки методом подавления немаксимумов (NMS).
  • Среды, работающие только на CPU: устройства без выделенного ускорения на GPU, на которых преимущество YOLO26n особенно заметно: инференс на CPU выполняется до 43% быстрее, чем у YOLO11n.
  • Обнаружение мелких объектов: сложные сценарии, например съемка с дронов или анализ данных датчиков IoT, где ProgLoss и STAL повышают точность распознавания крошечных объектов.

Что дальше: новые модели Ultralytics#

YOLOv8 остаётся надёжной рабочей моделью, но компьютерное зрение развивается быстро, поэтому пользователям стоит рассмотреть и более новые поколения:

YOLO26: новейшее поколение — Ultralytics YOLO26 — представляет нативную сквозную архитектуру без NMS (nms=False), которая устраняет задержки на этапе постобработки NMS. Оптимизатор MuSGD (гибрид SGD и Muon) стабилизирует обучение, а ProgLoss + STAL (прогрессивная функция потерь и назначение меток с учётом малых объектов) повышают качество обнаружения мелких объектов. Благодаря удалению DFL (Distribution Focal Loss удалена для упрощения экспорта и повышения совместимости с периферийными устройствами и устройствами с низким энергопотреблением) YOLO26n обеспечивает до 43% более высокую скорость инференса на CPU, чем YOLO11n, что делает её отличным выбором для периферийных вычислений.

YOLO11: Ultralytics YOLO11 дорабатывает архитектуру YOLOv8 и остаётся широко востребованной в сообществе.

Оптимизируй рабочий процесс

Чтобы перевести модели от прототипа к производству, используй Ultralytics Platform, чтобы автоматически размечать датасеты, отслеживать эксперименты и развёртывать модели в облаке или на периферийных устройствах.

В заключение: DAMO-YOLO даёт полезные исследовательские сведения о поиске архитектур, но модели Ultralytics предлагают более зрелую, универсальную и удобную для разработчиков экосистему. Независимо от того, останешься ли ты на YOLOv8 или перейдёшь на архитектуру YOLO26 без NMS, Ultralytics предоставляет полный инструментарий для компьютерного зрения и ИИ в реальном времени.

Комментарии