YOLOv8 против DAMO-YOLO#
Ландшафт компьютерного зрения постоянно меняется: новые архитектуры расширяют границы возможного — от периферийных устройств до масштабных облачных кластеров. В этом техническом обзоре мы сравним две заметные модели обнаружения объектов в реальном времени: YOLOv8 и DAMO-YOLO. Изучив их архитектуры, показатели производительности и методики обучения, ML-инженеры смогут принимать обоснованные решения для своих конвейеров развёртывания.
Предпосылки и происхождение моделей#
Обе модели были представлены примерно в одно время, но основаны на разных принципах проектирования и исследовательских целях.
Сведения о YOLOv8#
- Авторы: Glenn Jocher, Ayush Chaurasia и Jing Qiu
- Организация: Ultralytics
- Дата: 2023-01-10
- GitHub: Репозиторий Ultralytics на GitHub
- Документация: Официальная документация YOLOv8
Подробности о DAMO-YOLO#
- Авторы: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang и Xiuyu Sun
- Организация: Alibaba Group
- Дата: 2022-11-23
- Arxiv: Научная статья о DAMO-YOLO
- GitHub: Репозиторий DAMO-YOLO на GitHub
Архитектурные инновации#
YOLOv8: универсальная безъякорная архитектура#
Ultralytics YOLOv8 внесла существенные улучшения по сравнению с предшественниками, закрепив за моделью статус надёжной передовой системы. Она оснащена безъякорной головой обнаружения, что уменьшает количество предсказаний рамок и ускоряет инференс. В архитектуре используется разделённая голова, которая отделяет задачи определения объектности, классификации и регрессии, обеспечивая более точные предсказания ограничивающих рамок.
Кроме того, YOLOv8 реализует Distribution Focal Loss (DFL) вместе с функцией потерь CIoU, улучшая способность модели точно определять границы объектов, особенно небольших или частично закрытых целей. Оптимизированный бэкбон эффективно работает как на GPU, так и на CPU.
DAMO-YOLO: архитектура на основе автоматизированного поиска#
DAMO-YOLO использует другой подход, активно опираясь на поиск нейронной архитектуры (NAS) для автоматического проектирования своего бэкбона. Команда Alibaba представила «MAE-NAS» для поиска структур, обеспечивающих оптимальный компромисс между задержкой и точностью специально при ускорении с помощью TensorRT.
В модели используется RepGFPN (обобщённая пирамидальная сеть признаков с репараметризацией) для эффективного объединения признаков и архитектура «ZeroHead» для снижения вычислительной нагрузки на голову обнаружения. Во время обучения модель применяет AlignedOTA для назначения меток и активно использует сложный процесс дистилляции знаний, требующий более крупной модели-учителя для обучения целевой модели-ученика.
Хотя DAMO-YOLO достигает впечатляющих показателей задержки благодаря NAS и дистилляции, для этого требуется значительно больше памяти CUDA и вычислительного времени на этапе обучения по сравнению с высокооптимизированным одностадийным конвейером обучения YOLOv8.
Производительность и метрики#
При развёртывании моделей компьютерного зрения в рабочей среде критически важно сбалансировать точность (mAP) и скорость инференса. В таблице ниже показана производительность обеих моделей при разных размерах.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv8n | 640 | 37.3 | 80.4 | 1.47 | 3.2 | 8.7 |
| YOLOv8s | 640 | 44.9 | 128.4 | 2.66 | 11.2 | 28.6 |
| YOLOv8m | 640 | 50.2 | 234.7 | 5.86 | 25.9 | 78.9 |
| YOLOv8l | 640 | 52.9 | 375.2 | 9.06 | 43.7 | 165.2 |
| YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
| 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 |
YOLOv8 демонстрирует исключительный баланс производительности. Модель YOLOv8n (нано) требует всего 3,2 миллиона параметров против 8,5 миллиона у DAMO-YOLOt, что делает её значительно более подходящей для мобильных устройств или сред со строгими ограничениями по памяти. Кроме того, YOLOv8 предлагает более широкий диапазон размеров, масштабируясь до высокоточной модели YOLOv8x для облачных рабочих нагрузок.
Удобство для разработчиков и экосистема#
Простота использования и эффективность обучения#
Одним из главных отличий является пользовательский опыт. Экосистема Ultralytics создана для ускорения работы разработчиков. Обучение собственной модели YOLOv8 требует очень мало памяти и может выполняться через унифицированный API Python или интерфейс командной строки.
Напротив, воспроизведение обучения DAMO-YOLO с дистилляцией часто требует работы со сложными файлами конфигурации и ведения отслеживания экспериментов в многоэтапной схеме «учитель—ученик».
Вот пример того, насколько просто обучать, валидировать и экспортировать YOLOv8 с помощью Python:
from ultralytics import YOLO
# Load a pre-trained YOLOv8 nano model
model = YOLO("yolov8n.pt")
# Train the model on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device="cpu")
# Export the trained model to ONNX format
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 рекомендуется для следующих задач:
- Высокопроизводительная видеоаналитика: Обработка видеопотоков с высоким FPS на фиксированной инфраструктуре NVIDIA GPU, где пропускная способность при размере пакета 1 является основной метрикой.
- Промышленные производственные линии: Сценарии со строгими ограничениями по задержке GPU на выделенном оборудовании, например контроль качества в реальном времени на сборочных линиях.
- Исследования поиска нейронных архитектур: Изучение влияния автоматизированного поиска архитектур (MAE-NAS) и эффективных репараметризованных базовых сетей на производительность обнаружения.
Когда выбирать Ultralytics (YOLO26)#
Для большинства новых проектов Ultralytics YOLO26 предлагает лучшее сочетание производительности и удобства для разработчиков:
- Развертывания на периферийных устройствах без NMS: приложений, требующих стабильного вывода с низкой задержкой без сложной постобработки с подавлением немаксимумов.
- Сред без GPU: устройств без выделенного ускорения GPU, где до 43% более быстрый вывод YOLO26 на CPU дает решающее преимущество.
- Обнаружения мелких объектов: сложных сценариев, таких как аэрофотосъемка с дронов или анализ данных IoT-сенсоров, где ProgLoss и STAL значительно повышают точность обнаружения крошечных объектов.
Будущее: новые модели Ultralytics#
Хотя YOLOv8 остаётся надёжной рабочей моделью, область компьютерного зрения развивается стремительно. Пользователям также стоит обратить внимание на новые поколения:
YOLO26: новейшее поколение, Ultralytics YOLO26, представляет собой смену парадигмы. Модель вводит изначально сквозную архитектуру без NMS, полностью устраняя узкие места по задержке, связанные с постобработкой подавления немаксимумов. Благодаря новому оптимизатору MuSGD (гибриду SGD и Muon) и специализированным функциям потерь ProgLoss + STAL YOLO26 обеспечивает исключительно стабильное обучение и значительно лучше распознаёт небольшие объекты. Благодаря удалению DFL (Distribution Focal Loss удалена для упрощения экспорта и повышения совместимости с периферийными устройствами и устройствами с низким энергопотреблением) изменения в архитектуре обеспечивают до 43% более быстрый инференс на CPU по сравнению с предыдущими поколениями, делая модель оптимальным выбором для современных периферийных вычислений.
YOLO11: ещё одна отличная альтернатива — Ultralytics YOLO11 предлагает постепенные архитектурные улучшения по сравнению с YOLOv8 и остаётся надёжной моделью, широко используемой сообществом.
Готов перевести свои модели из прототипа в рабочую среду? Используй платформу Ultralytics, чтобы автоматически размечать наборы данных, отслеживать эксперименты и бесшовно развёртывать модели в облаке или на периферийных устройствах.
В заключение: хотя DAMO-YOLO даёт интересные академические представления о поиске архитектур, модели Ultralytics предлагают значительно более зрелую, универсальную и удобную для разработчиков экосистему. Независимо от того, останешься ли ты с проверенной стабильностью YOLOv8 или перейдёшь на молниеносную архитектуру YOLO26 без NMS, набор решений Ultralytics остаётся лучшим выбором для ИИ компьютерного зрения в реальном времени.