DAMO-YOLO и YOLOv5#
Развитие компьютерного зрения сопровождается постоянными инновациями в области обнаружения объектов в реальном времени. Сегодня разработчики и исследователи могут выбирать из множества архитектур для построения конвейеров компьютерного зрения. В этом подробном техническом сравнении рассматриваются особенности DAMO-YOLO и Ultralytics YOLOv5, в том числе их архитектуры, методы обучения, метрики производительности и оптимальные сценарии развёртывания.
Знакомство с DAMO-YOLO#
Выпущенная Alibaba Group модель DAMO-YOLO представила несколько новых методов, призванных повысить скорость и точность обнаружения.
- Авторы: Сяньчжэ Сюй, Ици Цзян, Вэйхуа Чэнь, Илуне Хуан, Юань Чжан и Сюйюй Сунь
- Организация: Alibaba Group
- Дата: 23 ноября 2022 года
- Arxiv: 2211.15444v2
- GitHub: tinyvision/DAMO-YOLO
- Документация: README.md
Архитектурные инновации#
В основе DAMO-YOLO лежит поиск архитектуры нейронной сети (NAS). Авторы использовали MAE-NAS для автоматического проектирования базовых сетей, обеспечивающих баланс между задержкой и точностью. В модели применяется эффективная RepGFPN (обобщённая пирамидальная сеть признаков с перепараметризацией), улучшающая слияние признаков на разных масштабах. Кроме того, в DAMO-YOLO используется архитектура «ZeroHead»: сложные многоветвевые головы предсказания заменены более простой и эффективной структурой, в значительной степени опирающейся на перепараметризацию во время инференса.
Для улучшения обучения модель использует AlignedOTA для сопоставления меток и интенсивную процедуру дистилляции: более крупная модель-«учитель» помогает меньшей модели-«ученику» достичь более высокой точности.
Знакомство с Ultralytics YOLOv5#
Ultralytics YOLOv5 — одна из самых распространённых в мире архитектур компьютерного зрения, известная своей стабильностью, простотой использования и развитой экосистемой развёртывания.
- Авторы: Glenn Jocher
- Организация: Ultralytics
- Дата: 26 июня 2020 года
- GitHub: ultralytics/yolov5
- Документация: Документация YOLOv5
Стандарт экосистемы#
YOLOv5 изменила отраслевые стандарты удобства использования. Модель изначально создана на PyTorch и использует высокооптимизированную базовую сеть CSPNet и шейку PANet для надёжного объединения признаков. Хотя она появилась до распространения архитектур без якорей в более поздних моделях, отточенный подход на основе якорей в сочетании с их автоматическим подбором обеспечивает отличную производительность сразу после установки.
Главное преимущество YOLOv5 — хорошо поддерживаемая экосистема. Модель легко интегрируется с инструментами отслеживания, такими как Comet и Weights & Biases, а также поддерживает экспорт в один клик в форматы ONNX, TensorRT и CoreML.
YOLOv5 очень легко обучать на пользовательских наборах данных. Упрощённый API сокращает путь от прототипа до готового решения, поэтому модель популярна среди гибких инженерных команд.
Сравнение производительности и метрик#
При сравнении этих моделей важно учитывать баланс между средней точностью (mAP), скоростью инференса и количеством параметров.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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-YOLO показывает впечатляющие значения mAP для своего количества параметров во многом благодаря этапу дистилляционного обучения. Однако за это приходится платить эффективностью обучения. Многоэтапная дистилляция требует сначала обучить большую модель-учитель, что значительно увеличивает необходимое время вычислений на GPU и потребление VRAM.
В свою очередь, YOLOv5 отличается низкими требованиями к памяти. Модели Ultralytics YOLO потребляют меньше памяти при обучении и инференсе, чем сложные процессы дистилляции или модели на основе Transformer, такие как RT-DETR. Благодаря этому YOLOv5 можно эффективно обучать на потребительском оборудовании или в доступных облачных средах, например в Google Colab.
Применение в реальных условиях и универсальность#
Выбор подходящей архитектуры часто зависит от среды развёртывания.
В чём преимущества DAMO-YOLO#
DAMO-YOLO предназначена только для обнаружения объектов. Это отличный выбор для академических исследований, особенно для команд, изучающих поиск архитектуры нейронных сетей или стремящихся воспроизвести описанные в статье методы перепараметризации. Если у проекта достаточно вычислительных ресурсов для дистилляционного обучения и его цель — выжать максимум точности для двумерных ограничивающих рамок, DAMO-YOLO станет серьёзным кандидатом.
Преимущества Ultralytics#
Для промышленной эксплуатации модели Ultralytics предпочтительны благодаря простоте использования и универсальности. YOLOv5 остаётся популярным решением для обнаружения объектов и классификации изображений, а широкая экосистема Ultralytics позволяет разработчикам легко переключаться между задачами.
Например, новые модели семейства Ultralytics изначально поддерживают сегментацию экземпляров, оценку позы и обнаружение с помощью ориентированных ограничивающих рамок (OBB). Поддержка нескольких задач позволяет командам использовать единый API Python для сложных конвейеров, например сочетать автоматическое распознавание номерных знаков с сегментацией транспортных средств.
Сценарии использования и рекомендации#
Выбор между DAMO-YOLO и YOLOv5 зависит от требований конкретного проекта, ограничений развёртывания и предпочтений в отношении экосистемы.
Когда стоит выбрать DAMO-YOLO#
DAMO-YOLO — хороший выбор для:
- Высокопроизводительная видеоаналитика: Обработка видеопотоков с высокой частотой кадров на фиксированной инфраструктуре NVIDIA GPU, где основной показатель — пропускная способность при размере пакета 1.
- Промышленные производственные линии: Сценарии со строгими ограничениями по задержке GPU на выделенном оборудовании, например контроль качества в реальном времени на сборочных линиях.
- Исследования в области поиска нейросетевых архитектур: Изучение влияния автоматизированного поиска архитектур (MAE-NAS) и эффективных перенастраиваемых базовых сетей на качество обнаружения.
Когда стоит выбрать YOLOv5#
YOLOv5 рекомендуется для следующих задач:
- Проверенные производственные системы: существующие развертывания, где ценятся длительная история стабильной работы YOLOv5, подробная документация и поддержка большого сообщества.
- Обучение при ограниченных ресурсах: среды с ограниченными ресурсами GPU, где эффективный конвейер обучения YOLOv5 и сниженные требования к памяти дают преимущество.
- Широкая поддержка форматов экспорта: проекты, требующие развертывания во множестве форматов, включая ONNX, TensorRT, CoreML и LiteRT.
Когда выбирать Ultralytics (YOLO26)#
Для большинства новых проектов Ultralytics YOLO26 предлагает оптимальное сочетание производительности и удобства разработки:
- Развертывание на периферийных устройствах без NMS: Приложения, которым необходим стабильный инференс с низкой задержкой без усложнения постобработки подавлением немаксимумов.
- Среды только с CPU: Устройства без выделенного ускорителя GPU, где до 43% более быстрый инференс YOLO26 на CPU даёт решающее преимущество.
- Обнаружение небольших объектов: Сложные сценарии, например съёмка с дронов или анализ данных IoT-датчиков, где ProgLoss и STAL заметно повышают точность обнаружения крошечных объектов.
Будущее: переход на YOLO26#
YOLOv5 стала легендарной моделью, а DAMO-YOLO предлагает интересные идеи для академических исследований, но технологии не стоят на месте. Выпущенная в январе 2026 года Ultralytics YOLO26 стала большим шагом вперёд для сообщества компьютерного зрения.
YOLO26 устраняет традиционные проблемы развёртывания на периферии и нестабильности обучения:
- Сквозная архитектура без NMS: опциональная сквозная голова YOLO26 (
nms=False) исключает постобработку с подавлением немаксимумов. Это нововведение упрощает логику развёртывания и значительно уменьшает разброс задержки, делая модель идеальным решением для высокоскоростной робототехники и автономных систем. - Оптимизатор MuSGD: вдохновлённая инновациями в обучении LLM, например Kimi K2 от Moonshot AI, YOLO26 использует оптимизатор MuSGD — гибрид SGD и Muon. Он обеспечивает стабильное обучение и существенно ускоряет сходимость.
- До 43% более быстрый инференс на CPU: благодаря целенаправленному удалению Distribution Focal Loss (DFL) модель YOLO26n работает на CPU с ONNX до 43% быстрее YOLO11n и превосходит предшественников, таких как YOLO11 и YOLOv8, по скорости на CPU и периферийных устройствах.
- ProgLoss + STAL: эти усовершенствованные функции потерь заметно повышают точность распознавания мелких объектов, что особенно важно при анализе снимков с дронов и данных датчиков IoT.
Пример кода: просто и наглядно#
Пакет Ultralytics позволяет обучать и развёртывать модели всего несколькими строками кода. Пользуешься ты YOLOv5 или переходишь на рекомендуемую YOLO26 — интерфейс остаётся единообразным и понятным.
from ultralytics import YOLO
# Загрузи передовую малую модель YOLO26
model = YOLO("yolo26s.pt")
# Без труда обучи модель на пользовательском датасете
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Запусти инференс на изображении и отобрази результаты
predictions = model("https://ultralytics.com/images/bus.jpg")
predictions[0].show()
# Экспортируй модель для развёртывания на периферийном устройстве
model.export(format="onnx")Заключение#
DAMO-YOLO и YOLOv5 внесли значительный вклад в развитие компьютерного зрения. DAMO-YOLO демонстрирует возможности поиска архитектуры нейронных сетей и дистилляции, поэтому представляет интерес для исследователей. Однако YOLOv5 остаётся практичным мощным решением благодаря сбалансированной производительности, низким требованиям к памяти и непревзойдённой простоте использования.
Разработчикам, которые начинают новые проекты сегодня, рекомендуем использовать платформу Ultralytics и выбрать YOLO26. Эта модель сочетает удобную и привычную экосистему YOLOv5 с революционными улучшениями архитектуры, обеспечивая высокую точность и молниеносный инференс как в облачных, так и в периферийных приложениях ИИ. В зависимости от ограничений устаревшего оборудования разработчикам также стоит рассмотреть другие эффективные модели, например YOLOv6 или YOLOX.