YOLOv8 против DAMO-YOLO: Всестороннее техническое сравнение моделей обнаружения объектов
Ландшафт компьютерного зрения постоянно развивается, новые архитектуры расширяют границы возможного на периферийных устройствах и в массивных облачных кластерах. В этом углубленном техническом анализе мы сравниваем две выдающиеся модели обнаружения объектов в реальном времени: YOLOv8 и DAMO-YOLO. Изучая их архитектуры, метрики производительности и методологии обучения, инженеры машинного обучения могут принимать обоснованные решения для своих конвейеров развертывания.
Предыстория и происхождение моделей
Обе модели были представлены примерно в одно и то же время, но возникли из разных философий проектирования и исследовательских целей.
YOLOv8 Подробности
- Авторы: Glenn Jocher, Ayush Chaurasia, and 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
- Дата: 23.11.2022
- Arxiv: Научная статья DAMO-YOLO
- GitHub: Репозиторий DAMO-YOLO на GitHub
Архитектурные инновации
YOLOv8: Универсальный безанкерный дизайн
Ultralytics YOLOv8 внес значительные улучшения по сравнению со своими предшественниками, закрепив за собой статус высоконадежной современной модели. Он оснащен безанкерной детектирующей головой, что сокращает количество предсказаний ограничивающих рамок и ускоряет инференс. Архитектура использует разделенную голову, отделяющую задачи определения объектов, классификации и регрессии, что приводит к более точным предсказаниям ограничивающих рамок.
Кроме того, YOLOv8 реализует Distribution Focal Loss (DFL) наряду с CIoU loss, повышая способность модели точно локализовать границы объектов, особенно для мелких или перекрытых целей. Его оптимизированная магистральная сеть высоко оптимизирована как для выполнения на GPU, так и на CPU.
DAMO-YOLO: Обусловленный поиском архитектуры
DAMO-YOLO использует иной подход, активно опираясь на Neural Architecture Search (NAS) для автоматического проектирования своей магистральной сети. Команда Alibaba представила "MAE-NAS" для поиска структур, которые обеспечивают оптимальные компромиссы между задержкой и точностью, особенно при ускорении с помощью TensorRT.
Модель включает RepGFPN (перепараметризованную обобщённую пирамидальную сеть признаков) для эффективного слияния признаков и архитектуру "ZeroHead" для минимизации вычислительной нагрузки на detect-голову. Во время обучения она использует 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 требует очень низкого потребления памяти и может быть выполнено через унифицированный Python API или интерфейс командной строки.
Напротив, воспроизведение обучения DAMO-YOLO с улучшенной дистилляцией часто требует работы со сложными файлами конфигурации и управления многоэтапным отслеживанием экспериментов (teacher-student) experiment tracking.
Вот пример того, как просто обучать, валидировать и экспортировать 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 рекомендуется для:
- Высокопроизводительная видеоаналитика: Обработка видеопотоков с высокой частотой кадров на стационарной инфраструктуре NVIDIA GPU, где пропускная способность при размере пакета 1 является основным показателем.
- Промышленные производственные линии: Сценарии со строгими ограничениями по задержке GPU на специализированном оборудовании, например, контроль качества в реальном времени на сборочных линиях.
- Исследования нейронного поиска архитектуры: Изучение влияния автоматизированного поиска архитектуры (MAE-NAS) и эффективных репараметризованных бэкбонов на производительность detect.
Когда выбирать Ultralytics (YOLO26)
Для большинства новых проектов Ultralytics YOLO26 предлагает наилучшее сочетание производительности и удобства для разработчиков:
- Развертывание на периферии без NMS: Приложения, требующие стабильного вывода с низкой задержкой без сложности постобработки методом Non-Maximum Suppression.
- Среды только с CPU: Устройства без выделенного ускорения GPU, где до 43% более быстрая инференция YOLO26 на CPU обеспечивает решающее преимущество.
- Обнаружение мелких объектов: Сложные сценарии, такие как аэрофотосъемка с дронов или анализ данных с IoT-датчиков, где ProgLoss и STAL значительно повышают точность на крошечных объектах.
Взгляд в будущее: Новые модели Ultralytics
Хотя YOLOv8 остается очень надежной рабочей лошадкой, область компьютерного зрения быстро развивается. Пользователям также следует рассмотреть изучение новых поколений:
YOLO26: Последнее поколение, Ultralytics YOLO26, представляет собой смену парадигмы. Оно внедряет нативную сквозную без NMS архитектуру, полностью устраняя узкие места задержки, связанные с постобработкой Non-Maximum Suppression. Основанный на новом оптимизаторе MuSGD (гибрид SGD и Muon) и специализированных функциях потерь ProgLoss + STAL, YOLO26 достигает удивительно стабильного обучения и значительно улучшенного распознавания мелких объектов. Благодаря удалению DFL (Distribution Focal Loss удалена для упрощенного экспорта и лучшей совместимости с периферийными/маломощными устройствами), архитектурные изменения обеспечивают до 43% более быстрый инференс на CPU по сравнению с предыдущими поколениями, что делает его окончательным выбором для современных периферийных вычислений.
YOLO11: Еще одна отличная альтернатива, Ultralytics YOLO11 предлагает инкрементальные архитектурные улучшения по сравнению с YOLOv8 и остается надежной, широко используемой моделью в сообществе.
Оптимизируйте свой рабочий процесс
Готовы перевести ваши модели из прототипа в производство? Используйте платформу Ultralytics для автоматической аннотации наборов данных, track экспериментов и бесшовного развертывания моделей в облаке или на периферийных устройствах.
В заключение, хотя DAMO-YOLO предлагает интересные академические идеи в области поиска архитектур, модели Ultralytics обеспечивают значительно более зрелую, универсальную и удобную для разработчиков экосистему. Независимо от того, придерживаетесь ли вы проверенной стабильности YOLOv8 или переходите на молниеносную архитектуру YOLO26 без NMS, пакет Ultralytics остается лучшим выбором для ИИ компьютерного зрения в реальном времени.