YOLOv8 против DAMO-YOLO#
Ландшафт компьютерного зрения постоянно развивается, и новые архитектуры расширяют границы возможного как на периферийных устройствах, так и в масштабных облачных кластерах. В этом техническом обзоре мы сравниваем две выдающиеся модели обнаружения объектов в реальном времени: YOLOv8 и DAMO-YOLO. Анализируя их архитектуры, показатели производительности и методологии обучения, инженеры ML смогут принимать обоснованные решения для своих конвейеров развертывания.
История создания и происхождение моделей#
Обе модели были представлены примерно в одно и то же время, но основаны на различных философиях проектирования и исследовательских целях.
Детали YOLOv8#
- Авторы: Glenn Jocher, Ayush Chaurasia и Jing Qiu
- Организация: Ultralytics
- Дата: 2023-01-10
- GitHub: Ultralytics GitHub Repository
- Документация: YOLOv8 Official Documentation
Подробности DAMO-YOLO#
- Авторы: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang и Xiuyu Sun
- Организация: Alibaba Group
- Дата: 2022-11-23
- Arxiv: DAMO-YOLO Research Paper
- GitHub: DAMO-YOLO GitHub Repository
Архитектурные инновации#
YOLOv8: Универсальный дизайн без анкоров#
Ultralytics YOLOv8 принесла значительные улучшения по сравнению с предшественниками, закрепив за собой статус высоконадежной современной модели. Она оснащена безахорным детектирующим слоем (detection head), который уменьшает количество предсказаний рамки и ускоряет инференс. Архитектура использует разделенный слой (decoupled head), разделяющий задачи определения объекта, классификации и регрессии, что приводит к более точным предсказаниям ограничивающих рамок.
Кроме того, 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 (мс) | параметры (М) | FLOPs (Б) |
|---|---|---|---|---|---|---|
| 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 (nano) требует всего 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 изначально поддерживает множество задач. Просто поменяв веса модели, ты можешь выполнять Instance Segmentation, Image Classification и Pose Estimation без изменения базового кода развертывания. Эта универсальность делает модели Ultralytics гораздо более практичными для сложных приложений.
Реальные сценарии использования#
Когда использовать YOLOv8#
Сочетание скорости, точности и простоты развертывания YOLOv8 делает ее идеальной для:
- Аналитика для умного ритейла: Выполнение object tracking для мониторинга поведения клиентов или автоматизации проверки запасов.
- Сельскохозяйственная робототехника: Использование высокой производительности на различном оборудовании для идентификации сельскохозяйственных культур или вредителей в режиме реального времени.
- Медицинская диагностика: Использование сегментации экземпляров для быстрой и точной разметки аномалий на медицинских изображениях.
- Развертывание на периферии: Бесшовная интеграция с форматами экспорта вроде 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, где пропускная способность при batch-1 является основной метрикой.
- Промышленных производственных линий: сценариев с жесткими ограничениями по задержке GPU на специализированном оборудовании, таких как проверка качества в реальном времени на сборочных линиях.
- Исследований Neural Architecture Search: изучения влияния автоматизированного поиска архитектуры (MAE-NAS) и эффективных репараметризованных бэкендов на производительность детекции.
Когда выбирать Ultralytics (YOLO26)#
Для большинства новых проектов Ultralytics YOLO26 предлагает наилучшее сочетание производительности и удобства для разработчика:
- Развертывания на периферии без NMS: приложений, требующих стабильного вывода с низкой задержкой без сложности постобработки подавления немаксимумов.
- Среды только с CPU: устройств без выделенного GPU-ускорения, где до 43% более быстрый вывод на CPU у YOLO26 дает решающее преимущество.
- Обнаружение малых объектов: Сложные сценарии, такие как aerial drone imagery или анализ с помощью IoT-сенсоров, где ProgLoss и STAL значительно повышают точность для крошечных объектов.
Взгляд в будущее: Новые модели Ultralytics#
Хотя YOLOv8 остается надежной «рабочей лошадкой», область компьютерного зрения быстро движется вперед. Тебе также стоит рассмотреть возможность изучения новых поколений:
YOLO26: Последнее поколение, Ultralytics YOLO26, представляет собой смену парадигмы. Оно внедряет изначальный End-to-End NMS-Free Design, полностью устраняя узкие места задержки, связанные с постобработкой подавления немаксимумов (NMS). Работая на новом MuSGD Optimizer (гибрид SGD и Muon) и специализированных функциях потерь ProgLoss + STAL, YOLO26 достигает удивительно стабильного обучения и значительно улучшенного распознавания мелких объектов. Благодаря DFL Removal (удалению Distribution Focal Loss для упрощенного экспорта и лучшей совместимости с периферийными устройствами и устройствами с низким энергопотреблением), архитектурные доработки обеспечивают до 43% Faster CPU Inference по сравнению с предыдущими поколениями, что делает ее окончательным выбором для современного периферийного вычисления.
YOLO11: Еще одна отличная альтернатива, Ultralytics YOLO11 предлагает точечные архитектурные доработки по сравнению с YOLOv8 и остается надежной, широко принятой в сообществе моделью.
Готов перенести свои модели из прототипа в продакшн? Используй Ultralytics Platform, чтобы автоматически размечать датасеты, отслеживать эксперименты и бесшовно развертывать модели в облаке или на периферийных устройствах.
В заключение, хотя DAMO-YOLO предлагает интересные академические идеи для поиска архитектур, модели Ultralytics предоставляют значительно более зрелую, универсальную и удобную для разработчиков экосистему. Независимо от того, остановишься ли ты на проверенной стабильности YOLOv8 или обновишься до молниеносной архитектуры YOLO26 без NMS, набор инструментов Ultralytics остается первоклассным выбором для AI зрения в реальном времени.