YOLOv5 и DAMO-YOLO#
Сфера компьютерного зрения в реальном времени непрерывно развивается: исследователи и инженеры стремятся найти идеальный баланс точности, скорости и удобства. Среди моделей, определивших это направление, — Ultralytics YOLOv5 и DAMO-YOLO от Alibaba.
В этом руководстве подробно рассматриваются технические особенности архитектур, метрики производительности и методики обучения, чтобы помочь тебе выбрать подходящую модель для следующего развёртывания.
История моделей#
Прежде чем перейти к техническим деталям, важно разобраться в происхождении и основных принципах разработки каждой из этих влиятельных моделей компьютерного зрения.
Ultralytics YOLOv5#
Разработанная Гленном Джохером и командой Ultralytics, YOLOv5 с момента выпуска стала отраслевым стандартом. Созданная на базе фреймворка PyTorch, модель с самого начала обеспечивала удобную работу разработчиков и надёжные возможности развёртывания.
- Автор: Glenn Jocher
- Организация: Ultralytics
- Дата: 2020-06-26
- GitHub: https://github.com/ultralytics/yolov5
- Документация: Документация Ultralytics YOLOv5
DAMO-YOLO#
Созданная исследователями Alibaba Group, DAMO-YOLO в значительной степени опирается на поиск архитектур нейронных сетей (NAS) и передовые методы дистилляции. Она расширяет теоретические пределы производительности на конкретном оборудовании и ориентирована на исследовательские и периферийные среды, где требуется тщательная настройка.
- Авторы: Сяньчжэ Сюй, Ици Цзян, Вэйхуа Чэнь, Илуне Хуан, Юань Чжан и Сюйюй Сунь
- Организация: Alibaba Group
- Дата: 2022-11-23
- Arxiv: https://arxiv.org/abs/2211.15444v2
- GitHub: https://github.com/tinyvision/DAMO-YOLO
Архитектурные инновации#
Обе модели используют уникальные структурные решения для работы в реальном времени, однако их подходы значительно различаются.
YOLOv5: стабильность и универсальность#
В YOLOv5 используется модифицированный бэкбон CSP (Cross Stage Partial) и шея PANet (Path Aggregation Network). Такая структура отличается высокой эффективностью и минимизирует использование памяти CUDA как при обучении, так и при инференсе.
Одно из главных преимуществ YOLOv5 — универсальность при решении разных задач. Помимо предсказания ограничивающих рамок, модель предлагает отдельные архитектуры для сегментации изображений и классификации изображений, позволяя разработчикам строить конвейеры компьютерного зрения на едином согласованном фреймворке.
DAMO-YOLO: автоматизированный поиск архитектуры#
Главное нововведение DAMO-YOLO — бэкбон MAE-NAS. Используя поиск с максимальной энтропией, команда Alibaba обнаружила бэкбоны, которые динамически балансируют точность обнаружения и скорость инференса.
Кроме того, в модели используется шея Efficient RepGFPN для улучшения объединения признаков — это особенно полезно при значительных различиях масштабов, часто встречающихся при анализе спутниковых снимков. Архитектура ZeroHead упрощает финальные слои предсказаний, чтобы сократить задержку, однако такая сложная генерация структуры может сделать архитектуру негибкой и затруднить её адаптацию для пользовательских приложений.
Архитектуры на базе Transformer часто потребляют много VRAM. И YOLOv5, и DAMO-YOLO используют эффективные свёрточные архитектуры, чтобы экономить память, но модели Ultralytics специально оптимизированы для GPU потребительского класса и гораздо доступнее независимым исследователям и стартапам.
Производительность и метрики#
Для оценки детекторов объектов, работающих в реальном времени, нужно учитывать совокупность показателей: mAP (средняя точность), скорость инференса и количество параметров модели.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv5n | 640 | 28.0 | - | 1.12 | 1.9 | 4.5 |
| YOLOv5s | 640 | 37.4 | - | 1.92 | 7.2 | 16.5 |
| YOLOv5m | 640 | 45.4 | - | 4.03 | 21.2 | 49.0 |
| YOLOv5l | 640 | 49.0 | - | 6.61 | 46.5 | 109.1 |
| YOLOv5x | 640 | 50.7 | - | 11.89 | 86.7 | 205.7 |
| 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 |
DAMO-YOLO показывает конкурентоспособные значения mAP при некоторых количествах параметров, однако YOLOv5 стабильно демонстрирует исключительную скорость TensorRT и очень малое количество параметров в конфигурациях nano и small. Благодаря такому балансу производительности YOLOv5 эффективно работает в самых разных сценариях развёртывания на периферийных устройствах.
Эффективность обучения и экосистема#
Теоретическая точность модели имеет значение лишь тогда, когда модель можно эффективно применять на практике. Именно здесь модели заметно различаются.
Сложности дистилляции#
DAMO-YOLO в значительной степени опирается на многоэтапную методику обучения. В ней сочетаются назначение меток AlignedOTA и дистилляция знаний по схеме «учитель — ученик». Этот подход позволяет добиться максимальной производительности модели-ученика, но сначала требует обучить огромную модель-учителя. Это резко увеличивает необходимое вычислительное время, энергозатраты и требования к оборудованию, создавая узкое место для гибких ML-команд.
Преимущества Ultralytics: простота использования#
В свою очередь, экосистема Ultralytics известна во всём мире интуитивно понятными API и эффективным обучением. Благодаря активной разработке и огромному сообществу открытого исходного кода разработчики могут легко обучать, валидировать и развёртывать модели.
from ultralytics import YOLO
# Загрузка предварительно обученной модели YOLOv5
model = YOLO("yolov5su.pt") # YOLOv5u: веса YOLOv5 без якорей для пакета ultralytics
# Без труда обучи модель на пользовательском датасете
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Экспортируем в формат ONNX для развертывания
model.export(format="onnx")Ultralytics также предлагает встроенную поддержку отслеживания экспериментов с помощью таких инструментов, как Weights & Biases и Comet ML, обеспечивая бесперебойный рабочий процесс.
Примеры применения в реальных условиях#
- YOLOv5 отлично подходит для динамичных производственных сред. Простота экспорта делает её оптимальным выбором для аналитики в умной рознице, быстрого обнаружения производственных дефектов и интеграции в мобильные приложения через CoreML.
- DAMO-YOLO хорошо подходит для строгих академических тестов и сценариев, где доступны значительные вычислительные ресурсы для длительного дистиллированного обучения. Такой подход позволяет добиться небольшого прироста mAP на конкретных неизменных конфигурациях оборудования.
Сценарии использования и рекомендации#
Выбор между YOLOv5 и DAMO-YOLO зависит от требований конкретного проекта, ограничений развёртывания и предпочтений в отношении экосистемы.
Когда стоит выбрать YOLOv5#
YOLOv5 — отличный выбор для:
- Проверенные производственные системы: существующие развертывания, где ценятся длительная история стабильной работы YOLOv5, подробная документация и поддержка большого сообщества.
- Обучение при ограниченных ресурсах: среды с ограниченными ресурсами GPU, где эффективный конвейер обучения YOLOv5 и сниженные требования к памяти дают преимущество.
- Широкая поддержка форматов экспорта: проекты, требующие развертывания во множестве форматов, включая ONNX, TensorRT, CoreML и LiteRT.
Когда стоит выбрать DAMO-YOLO#
DAMO-YOLO рекомендуется для следующих задач:
- Высокопроизводительная видеоаналитика: Обработка видеопотоков с высокой частотой кадров на фиксированной инфраструктуре NVIDIA GPU, где основной показатель — пропускная способность при размере пакета 1.
- Промышленные производственные линии: Сценарии со строгими ограничениями по задержке GPU на выделенном оборудовании, например контроль качества в реальном времени на сборочных линиях.
- Исследования в области поиска нейросетевых архитектур: Изучение влияния автоматизированного поиска архитектур (MAE-NAS) и эффективных перенастраиваемых базовых сетей на качество обнаружения.
Когда выбирать Ultralytics (YOLO26)#
Для большинства новых проектов Ultralytics YOLO26 предлагает оптимальное сочетание производительности и удобства разработки:
- Развертывание на периферийных устройствах без NMS: Приложения, которым необходим стабильный инференс с низкой задержкой без усложнения постобработки подавлением немаксимумов.
- Среды только с CPU: Устройства без выделенного ускорителя GPU, где до 43% более быстрый инференс YOLO26 на CPU даёт решающее преимущество.
- Обнаружение небольших объектов: Сложные сценарии, например съёмка с дронов или анализ данных IoT-датчиков, где ProgLoss и STAL заметно повышают точность обнаружения крошечных объектов.
Следующий этап развития: YOLO26#
Если ты начинаешь новый проект, настоятельно рекомендуем смотреть в будущее. Ultralytics YOLO26 развивает впечатляющую основу YOLOv5 и включает революционные нововведения, которые задают новые стандарты визуального ИИ.
YOLO26, получившая всеобщее признание, изначально построена как сквозная модель. В ней используется сквозная архитектура без NMS (nms=False), которая пропускает этап постобработки подавления немаксимумов, обеспечивая значительно более быстрое и простое развёртывание.
Ключевые нововведения YOLO26:
- Оптимизатор MuSGD: Этот гибрид SGD и Muon, вдохновлённый новыми методами обучения LLM, обеспечивает высокую стабильность обучения и быструю сходимость.
- Инференс на CPU до 43% быстрее: Модель тщательно оптимизирована для периферийных вычислений и отлично подходит для устройств IoT без выделенных GPU.
- ProgLoss + STAL: Современные функции потерь значительно повышают качество распознавания мелких объектов, что особенно важно для аэрофотосъёмки с дронов и робототехники.
- Улучшения для конкретных задач: От специализированной функции потерь для угла в ориентированных ограничивающих рамках (OBB) до оценки остаточного логарифмического правдоподобия (RLE) для точной оценки позы — YOLO26 легко справляется со сложными задачами.
Заключение#
YOLOv5 и DAMO-YOLO уже вошли в историю обнаружения объектов. DAMO-YOLO остаётся интересным примером применения поиска архитектур нейронных сетей и дистилляции. Однако для организаций, которым важны хорошо поддерживаемая экосистема, простота использования и быстрый переход к эксплуатации, модели Ultralytics не имеют себе равных.
Настоятельно рекомендуем использовать платформу Ultralytics, чтобы аннотировать данные, обучать и развёртывать модели следующего поколения, например YOLO26, и создавать перспективные, быстрые и исключительно точные конвейеры компьютерного зрения.