Link to this sectionYOLOv8 против DAMO-YOLO#
Ландшафт компьютерного зрения постоянно развивается, и новые архитектуры расширяют границы возможного как на периферийных устройствах, так и в масштабных облачных кластерах. В этом техническом обзоре мы сравниваем две выдающиеся модели обнаружения объектов в реальном времени: YOLOv8 и DAMO-YOLO. Анализируя их архитектуры, показатели производительности и методологии обучения, инженеры ML смогут принимать обоснованные решения для своих конвейеров развертывания.
Link to this sectionИстория создания и происхождение моделей#
Обе модели были представлены примерно в одно и то же время, но основаны на различных философиях проектирования и исследовательских целях.
Link to this sectionДетали YOLOv8#
- Авторы: Glenn Jocher, Ayush Chaurasia и Jing Qiu
- Организация: Ultralytics
- Дата: 2023-01-10
- GitHub: Репозиторий Ultralytics на GitHub
- Документация: Официальная документация YOLOv8
Link to this sectionПодробности 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
Link to this sectionАрхитектурные инновации#
Link to this sectionYOLOv8: Универсальный дизайн без анкоров#
Ultralytics YOLOv8 представил значительные улучшения по сравнению со своими предшественниками, закрепив за собой статус высоконадежной современной модели. В ней используется детектирующая головка без анкоров, что сокращает количество предсказаний рамок и ускоряет инференс. Архитектура использует разделенную головку, отделяющую задачи обнаружения объектов, классификации и регрессии, что приводит к более точным предсказаниям ограничивающих рамок.
Кроме того, в YOLOv8 реализована Distribution Focal Loss (DFL) наряду с потерей CIoU, что улучшает способность модели точно локализовать границы объектов, особенно для небольших или частично перекрытых целей. Ее оптимизированный бэкбон отлично подходит как для выполнения на GPU, так и на CPU.
Link to this sectionDAMO-YOLO: На основе архитектурного поиска#
DAMO-YOLO использует другой подход, сильно опираясь на поиск нейронных архитектур (NAS) для автоматического проектирования своего бэкбона. Команда Alibaba представила «MAE-NAS» для поиска структур, обеспечивающих оптимальный компромисс между задержкой и точностью, особенно при использовании ускорения TensorRT.
Модель включает RepGFPN (перепараметризованная обобщенная пирамида признаков) для эффективного слияния признаков и дизайн «ZeroHead» для минимизации вычислительной нагрузки на головку обнаружения. Во время обучения она использует AlignedOTA для назначения меток и в значительной степени полагается на сложный процесс дистилляции знаний, требующий наличия более крупной модели-учителя для обучения целевой модели-ученика.
Хотя DAMO-YOLO достигает впечатляющих показателей задержки благодаря NAS и дистилляции, это требует значительно больше памяти CUDA и времени вычислений во время обучения по сравнению с высокооптимизированным одноэтапным конвейером обучения YOLOv8.
Link to this sectionПроизводительность и метрики#
При развертывании моделей компьютерного зрения в производстве критически важно сбалансировать точность (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 для облачных рабочих нагрузок.
Link to this sectionОпыт разработчика и экосистема#
Link to this sectionПростота использования и эффективность обучения#
Одним из самых больших факторов отличия является пользовательский опыт. Экосистема 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")Link to this sectionУниверсальность в задачах компьютерного зрения#
DAMO-YOLO создана исключительно для обнаружения объектов в ограничивающих рамках. Напротив, архитектура YOLOv8 изначально поддерживает несколько задач. Просто заменив веса модели, разработчики могут выполнять сегментацию экземпляров, классификацию изображений и оценку позы без изменения базового кода развертывания. Эта универсальность делает модели Ultralytics гораздо более практичными для сложных приложений.
Link to this sectionРеальные сценарии использования#
Link to this sectionКогда использовать YOLOv8#
Сочетание скорости, точности и простоты развертывания YOLOv8 делает ее идеальной для:
- Умная розничная аналитика: Выполнение отслеживания объектов для мониторинга поведения клиентов или автоматизации инвентаризации.
- Сельскохозяйственная робототехника: Использование высокой производительности на различном оборудовании для идентификации сельскохозяйственных культур или вредителей в режиме реального времени.
- Медицинская диагностика: Использование сегментации экземпляров для быстрой и точной разметки аномалий на медицинских изображениях.
- Периферийное развертывание: Бесшовная интеграция с форматами экспорта, такими как OpenVINO и CoreML, позволяет YOLOv8 эффективно работать на устройствах с ограниченными ресурсами.
Link to this sectionКогда использовать DAMO-YOLO#
DAMO-YOLO может быть полезна в нишевых сценариях, в частности:
- Академические исследования NAS: Для команд, изучающих методы перепараметризации или автоматизированного проектирования архитектур.
- Конвейеры, работающие исключительно на GPU: Приложения, работающие только на определенном оборудовании NVIDIA, где структуры NAS были сильно оптимизированы для ограничений выполнения TensorRT.
Link to this sectionСценарии использования и рекомендации#
Выбор между YOLOv8 и DAMO-YOLO зависит от требований твоего конкретного проекта, ограничений развертывания и предпочтений в экосистеме.
Link to this sectionКогда выбирать YOLOv8#
YOLOv8 — отличный выбор для:
- Универсального развертывания с несколькими задачами: проектов, требующих проверенной модели для обнаружения, сегментации, классификации и оценки позы в рамках экосистемы Ultralytics.
- Устоявшихся производственных систем: существующих производственных сред, уже построенных на архитектуре YOLOv8 со стабильными и хорошо протестированными пайплайнами развертывания.
- Широкой поддержки сообщества и экосистемы: приложений, которым нужны обширные руководства по YOLOv8, сторонние интеграции и активные ресурсы сообщества.
Link to this sectionКогда выбирать DAMO-YOLO#
DAMO-YOLO рекомендуется для:
- Высокопроизводительной видеоаналитики: обработки видеопотоков с высоким FPS на фиксированной инфраструктуре NVIDIA GPU, где пропускная способность при batch-1 является основной метрикой.
- Промышленных производственных линий: сценариев с жесткими ограничениями по задержке GPU на специализированном оборудовании, таких как проверка качества в реальном времени на сборочных линиях.
- Исследований Neural Architecture Search: изучения влияния автоматизированного поиска архитектуры (MAE-NAS) и эффективных репараметризованных бэкендов на производительность детекции.
Link to this sectionКогда выбирать Ultralytics (YOLO26)#
Для большинства новых проектов Ultralytics YOLO26 предлагает наилучшее сочетание производительности и опыта разработчика:
- Развертывания на периферии без NMS: приложений, требующих стабильного вывода с низкой задержкой без сложности постобработки подавления немаксимумов.
- Среды только с CPU: устройств без выделенного GPU-ускорения, где до 43% более быстрый вывод на CPU у YOLO26 дает решающее преимущество.
- Детектирования мелких объектов: сложных сценариев, таких как аэросъемка с дронов или анализ датчиков IoT, где ProgLoss и STAL значительно повышают точность на крошечных объектах.
Link to this sectionВзгляд в будущее: Новые модели Ultralytics#
Хотя YOLOv8 остается надежной «рабочей лошадкой», область компьютерного зрения быстро движется вперед. Тебе также стоит рассмотреть возможность изучения новых поколений:
YOLO26: Последнее поколение, Ultralytics YOLO26, представляет собой сдвиг парадигмы. Оно вводит нативный End-to-End NMS-Free дизайн, полностью устраняя узкие места по задержке, связанные с постобработкой Non-Maximum Suppression. Благодаря новому оптимизатору MuSGD (гибрид SGD и Muon) и специализированным функциям потерь ProgLoss + STAL, YOLO26 достигает удивительно стабильного обучения и значительно улучшенного распознавания мелких объектов. Благодаря DFL Removal (Distribution Focal Loss удалена для упрощенного экспорта и лучшей совместимости с периферийными устройствами/устройствами с низким энергопотреблением), архитектурные настройки обеспечивают до 43% более быстрый инференс на CPU по сравнению с предыдущими поколениями, что делает ее окончательным выбором для современных периферийных вычислений.
YOLO11: Еще одна отличная альтернатива, Ultralytics YOLO11, предлагает постепенные архитектурные улучшения по сравнению с YOLOv8 и остается надежной и широко используемой моделью в сообществе.
Готов перейти от прототипа к производству? Используй платформу Ultralytics для автоматической аннотации наборов данных, отслеживания экспериментов и бесшовного развертывания моделей в облаке или на периферийных устройствах.
В заключение, хотя DAMO-YOLO предлагает интересные академические идеи для поиска архитектур, модели Ultralytics предоставляют значительно более зрелую, универсальную и удобную для разработчиков экосистему. Независимо от того, остановишься ли ты на проверенной стабильности YOLOv8 или обновишься до молниеносной архитектуры YOLO26 без NMS, набор инструментов Ultralytics остается первоклассным выбором для AI зрения в реальном времени.