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 привнес значительные улучшения по сравнению со своими предшественниками, укрепив статус высоконадежной современной модели. В ней используется детектирующая головка без якорей (anchor-free), что сокращает количество предсказаний ограничивающих рамок и ускоряет инференс. Архитектура использует разделенную головку (decoupled head), которая отделяет задачи определения объекта, классификации и регрессии, что приводит к более точным предсказаниям BBox.
Кроме того, 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 требует очень малого объема памяти и может выполняться через унифицированный Python API или командную строку.
И наоборот, воспроизведение обучения 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: Приложениям требуется стабильный вывод с низкой задержкой без сложности постобработки Non-Maximum Suppression.
- Среды только с CPU: Устройства без выделенного GPU-ускорения, где преимущество YOLO26 в виде до 43% более быстрого вывода на 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 для автоматической разметки наборов данных, отслеживания экспериментов и бесшовного развертывания моделей в облаке или на периферийных устройствах.
В заключение, хотя DAMO-YOLO предлагает интересные академические идеи в области поиска архитектуры, модели Ultralytics предоставляют значительно более зрелую, универсальную и дружелюбную к разработчикам экосистему. Независимо от того, придерживаешься ли ты проверенной стабильности YOLOv8 или переходишь на молниеносную архитектуру YOLO26 без NMS, набор инструментов Ultralytics остается лучшим выбором для систем компьютерного зрения в реальном времени.