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

YOLOv8 демонстрирует превосходный баланс производительности. Модель YOLOv8n (nano) требует всего 3,2 млн параметров против 8,5 млн у DAMO-YOLOt, поэтому она гораздо лучше подходит для мобильных устройств и сред со строгими ограничениями по памяти. Кроме того, у YOLOv8 больше вариантов размеров, включая высокоточную YOLOv8x для облачных рабочих нагрузок.

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

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

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

В свою очередь, для воспроизведения обучения 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: Приложения, которым необходим стабильный инференс с низкой задержкой без усложнения постобработки подавлением немаксимумов.
  • Среды только с CPU: Устройства без выделенного ускорителя GPU, где до 43% более быстрый инференс YOLO26 на CPU даёт решающее преимущество.
  • Обнаружение небольших объектов: Сложные сценарии, например съёмка с дронов или анализ данных IoT-датчиков, где ProgLoss и STAL заметно повышают точность обнаружения крошечных объектов.

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

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

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

YOLO11: ещё один отличный вариант — Ultralytics YOLO11. Эта модель получила ряд архитектурных улучшений по сравнению с YOLOv8 и остаётся надёжным решением, широко используемым сообществом.

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

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

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

Комментарии