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) и передовых методах дистилляции. Она расширяет теоретические пределы производительности на конкретном оборудовании, особенно подходя для исследовательских задач и периферийных сред, требующих экстремальной оптимизации.
- Авторы: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang и Xiuyu Sun
- Организация: Alibaba Group
- Дата: 2022-11-23
- Arxiv: https://arxiv.org/abs/2211.15444v2
- GitHub: https://github.com/tinyvision/DAMO-YOLO
Архитектурные инновации#
Обе модели используют уникальные структурные концепции для достижения производительности в реальном времени, хотя их подходы существенно различаются.
YOLOv5: стабильность и универсальность#
YOLOv5 использует модифицированный бэкбон CSP (частичное пересечение этапов) в сочетании с шеей PANet (сеть агрегации путей). Эта структура отличается высокой эффективностью и минимизирует использование памяти CUDA как во время обучения, так и во время инференса.
Одна из главных сильных сторон YOLOv5 — его универсальность в различных задачах. Помимо предсказания ограничивающих рамок, модель предлагает специализированные архитектуры для сегментации изображений и классификации изображений, позволяя разработчикам стандартизировать конвейеры компьютерного зрения на базе единого целостного фреймворка.
DAMO-YOLO: автоматизированный поиск архитектуры#
Главной инновацией DAMO-YOLO является его MAE-NAS Backbone. Используя поиск на основе принципа максимальной энтропии, команда 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 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
| 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
# Load a pretrained YOLOv5 model
model = YOLO("yolov5s.pt")
# Train on a custom dataset effortlessly
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Export to ONNX format for deployment
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 и TFLite.
Когда стоит выбрать DAMO-YOLO#
DAMO-YOLO рекомендуется для следующих задач:
- Высокопроизводительная видеоаналитика: Обработка видеопотоков с высоким FPS на фиксированной инфраструктуре NVIDIA GPU, где пропускная способность при размере пакета 1 является основной метрикой.
- Промышленные производственные линии: Сценарии со строгими ограничениями по задержке GPU на выделенном оборудовании, например контроль качества в реальном времени на сборочных линиях.
- Исследования поиска нейронных архитектур: Изучение влияния автоматизированного поиска архитектур (MAE-NAS) и эффективных репараметризованных базовых сетей на производительность обнаружения.
Когда выбирать Ultralytics (YOLO26)#
Для большинства новых проектов Ultralytics YOLO26 предлагает лучшее сочетание производительности и удобства для разработчиков:
- Развертывания на периферийных устройствах без NMS: приложений, требующих стабильного вывода с низкой задержкой без сложной постобработки с подавлением немаксимумов.
- Сред без GPU: устройств без выделенного ускорения GPU, где до 43% более быстрый вывод YOLO26 на CPU дает решающее преимущество.
- Обнаружения мелких объектов: сложных сценариев, таких как аэрофотосъемка с дронов или анализ данных IoT-сенсоров, где ProgLoss и STAL значительно повышают точность обнаружения крошечных объектов.
Следующий этап эволюции: YOLO26#
Если ты начинаешь новый проект, настоятельно рекомендуем смотреть в будущее. Ultralytics YOLO26 развивает впечатляющую основу YOLOv5, внедряя революционные усовершенствования, которые переопределяют передовой уровень технологий ИИ для компьютерного зрения.
Выпущенная и получившая всеобщее признание, YOLO26 изначально работает по принципу end-to-end. Она оснащена дизайном без NMS с поддержкой end-to-end, полностью устраняя постобработку Non-Maximum Suppression для значительно более быстрого и простого развертывания.
Ключевые инновации YOLO26 включают:
- Оптимизатор MuSGD: вдохновлённый инновациями в обучении LLM, этот гибрид SGD и Muon обеспечивает высокую стабильность обучения и быструю сходимость.
- До 43% более быстрый инференс на CPU: глубокая оптимизация для периферийных вычислений делает модель идеальной для IoT-устройств, работающих без выделенных GPU.
- ProgLoss + STAL: передовые функции потерь, значительно улучшающие распознавание небольших объектов, что критически важно для аэрофотосъёмки с дронов и робототехники.
- Улучшения для конкретных задач: от специализированной функции потерь для угла ориентированных ограничивающих рамок (OBB) до оценки остаточного логарифмического правдоподобия (RLE) для точной оценки позы — YOLO26 легко справляется со сложными предметными областями.
Заключение#
И YOLOv5, и DAMO-YOLO заняли прочное место в истории обнаружения объектов. DAMO-YOLO остаётся интересным примером поиска архитектуры нейронной сети и дистилляции. Однако для организаций, которые ставят во главу угла экосистему с качественной поддержкой, простоту использования и быстрый путь к промышленной эксплуатации, моделям Ultralytics по-прежнему нет равных.
Мы настоятельно рекомендуем использовать Ultralytics Platform для разметки, обучения и развертывания моделей следующего поколения, таких как YOLO26, чтобы твой конвейер компьютерного зрения оставался актуальным, быстрым и исключительно точным.