DAMO-YOLO и YOLOv9#
Область обнаружения объектов в реальном времени продолжает стремительно развиваться. Стремясь найти идеальный баланс между точностью, скоростью инференса и вычислительной эффективностью, инженеры и исследователи обратили внимание на две примечательные архитектуры, созданные в научном сообществе: DAMO-YOLO и YOLOv9. В обеих моделях реализованы значительные архитектурные инновации, призванные расширить возможности компьютерного зрения.
В этом подробном техническом руководстве мы углублённо разберём эти модели, сравним их уникальные архитектурные решения, методики обучения и возможности развертывания в реальных условиях. Мы также рассмотрим важную роль широких программных экосистем в современной разработке AI и выделим преимущества интегрированных платформ, таких как платформа Ultralytics, и моделей нового поколения, таких как YOLO26.
Краткий обзор: как выбрать подходящую архитектуру#
Хотя обе модели стали важными вехами в исследованиях глубокого обучения, они рассчитаны на несколько различающиеся подходы к развертыванию.
DAMO-YOLO особенно хорошо подходит для сред, где интенсивный поиск нейронной архитектуры (NAS) позволяет добиться конкретных показателей производительности. Поэтому её интересно изучать для адаптированного развертывания на периферийных устройствах. YOLOv9, напротив, уделяет особое внимание устранению информационных узких мест в глубоком обучении, обеспечивая исключительно эффективное использование параметров.
Однако для готового к промышленной эксплуатации развертывания инженерные команды неизменно рекомендуют использовать единую экосистему Ultralytics. Для новых проектов новейшая модель YOLO26 предлагает лучшее из обоих подходов: передовую точность и опциональную сквозную архитектуру, избавляющую от сложной постобработки.
Хотя DAMO-YOLO и YOLOv9 — мощные академические модели, их развертывание в промышленной среде часто требует значительных усилий по разработке. Ultralytics YOLO26 обеспечивает доступ к передовым возможностям и при этом предлагает простой в использовании и поддержке API.
Технические характеристики и авторы#
Понимание происхождения моделей и задач, на которых сосредоточена их разработка, помогает разобраться в их сильных сторонах.
DAMO-YOLO#
DAMO-YOLO, созданная исследователями Alibaba Group, ориентирована на автоматизированную генерацию архитектуры и эффективное слияние признаков.
- Авторы: Сяньчжэ Сюй, Ици Цзян, Вэйхуа Чэнь, Илуне Хуан, Юань Чжан и Сюйюй Сунь
- Организация: Alibaba Group
- Дата выпуска: 23 ноября 2022 года
- Статья на arXiv: Исследовательская статья DAMO-YOLO
- Официальный GitHub: Репозиторий tinyvision/DAMO-YOLO
- Документация: README DAMO-YOLO
YOLOv9#
YOLOv9 была представлена как решение проблемы потери информации в глубоких сверточных сетях и расширяет теоретические границы сохранения градиентов во время обучения.
- Авторы: Chien-Yao Wang и Hong-Yuan Mark Liao
- Организация: Институт информатики, Академия Синика, Тайвань
- Дата выпуска: 21 февраля 2024 года
- Статья на arXiv: Исследовательская статья YOLOv9
- Официальный GitHub: Репозиторий WongKinYiu/yolov9
- Документация: Документация Ultralytics по YOLOv9
Архитектурные инновации#
DAMO-YOLO: на основе поиска нейронной архитектуры#
DAMO-YOLO отличается компонентами, созданными с помощью машинного поиска и глубокой настройки. Её базовая сеть сгенерирована методом поиска нейронной архитектуры (NAS), ориентированным на инференс с низкой задержкой на различных устройствах.
В архитектуре для слияния признаков используется эффективная RepGFPN (обобщённая пирамида признаков с репараметризацией), которая улучшает обнаружение объектов на разных масштабах без чрезмерного увеличения вычислительной нагрузки. Кроме того, архитектура ZeroHead упрощает голову обнаружения, а для назначения меток используется AlignedOTA. Во время обучения также применяется сложный процесс дистилляции. Эти методы обеспечивают быстрый инференс, но многоэтапная дистилляция часто требует значительного объёма VRAM и длительного обучения.
YOLOv9: решение проблемы информационного узкого места#
YOLOv9 решает фундаментальную проблему глубоких сетей: постепенную потерю информации о входных данных при их прохождении через последовательные слои.
Чтобы решить эту проблему, авторы представили Programmable Gradient Information (PGI) — вспомогательную систему обучения, предназначенную для сохранения важных деталей в глубоких слоях и формирования высоконадежных градиентов для обновления весов. Вместе с PGI представлена архитектура GELAN (обобщённая эффективная сеть агрегации слоёв). GELAN повышает эффективность использования параметров, сочетая преимущества CSPNet и ELAN, максимально увеличивая поток информации и строго минимизируя количество операций с плавающей точкой (FLOPs).
Анализ производительности и метрики#
При оценке производительности обе модели демонстрируют высокий показатель средней точности (mAP) на стандартных бенчмарках, таких как COCO. YOLOv9 обеспечивает более высокую точность при сопоставимом количестве параметров и наивысшую абсолютную точность в целом, используя архитектуру PGI для сохранения высокой точности на сложных наборах данных.
| Модель | размер (пиксели) | 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 |
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.2 | 26.7 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.1 | 76.8 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.5 | 102.8 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 58.1 | 192.5 |
Как показано выше, YOLOv9-E обеспечивает наивысшую точность, а более компактные DAMO-YOLO и варианты YOLOv9 сохраняют высококонкурентную скорость вывода благодаря оптимизациям TensorRT.
Методики обучения и экосистема#
Хотя базовая архитектура важна, для реальных применений первостепенное значение имеют удобство использования и эффективность обучения, которые определяются экосистемой модели.
Из-за зависимости DAMO-YOLO от дистилляции знаний часто приходится сначала обучать громоздкую модель-«учителя», а затем передавать знания целевой модели-«ученику». Такой традиционный исследовательский подход значительно увеличивает требования к памяти и длительность циклов обучения. Аналогично, в исходном репозитории YOLOv9 приходится разбираться в сложных файлах конфигурации, что может замедлить гибкую разработку.
Интеграция моделей в платформу Ultralytics, напротив, полностью меняет опыт разработчика. Пакет Ultralytics для Python избавляет от шаблонного кода и позволяет командам без труда выполнять аугментацию данных, настраивать гиперпараметры и экспортировать модели.
Примеры применения в реальных условиях#
Разные архитектуры естественным образом лучше подходят для отдельных отраслей в зависимости от требований к ресурсам и характеристик точности.
- DAMO-YOLO в периферийном ИИ: благодаря оптимизированным с помощью NAS базовым сетям DAMO-YOLO часто изучают для встраиваемых систем, где строго необходима репараметризация с учётом конкретного оборудования, например для развёртывания на заказных ASIC в базовом контроле качества на производстве.
- YOLOv9 для прецизионной аналитики: благодаря высокой эффективности использования параметров и сохранению градиентов за счёт PGI YOLOv9 отлично подходит для сценариев плотного обнаружения объектов, например для анализа аэрофотоснимков или отслеживания крошечных объектов в переполненных торговых залах.
Сценарии использования и рекомендации#
Выбор между DAMO-YOLO и YOLOv9 зависит от требований конкретного проекта, ограничений развёртывания и предпочтений в отношении экосистемы.
Когда стоит выбрать DAMO-YOLO#
DAMO-YOLO — хороший выбор для:
- Высокопроизводительная видеоаналитика: Обработка видеопотоков с высокой частотой кадров на фиксированной инфраструктуре NVIDIA GPU, где основной показатель — пропускная способность при размере пакета 1.
- Промышленные производственные линии: Сценарии со строгими ограничениями по задержке GPU на выделенном оборудовании, например контроль качества в реальном времени на сборочных линиях.
- Исследования в области поиска нейросетевых архитектур: Изучение влияния автоматизированного поиска архитектур (MAE-NAS) и эффективных перенастраиваемых базовых сетей на качество обнаружения.
Когда выбирать YOLOv9#
YOLOv9 рекомендуется для таких задач:
- Исследование информационного узкого места: Академические проекты, изучающие архитектуры программируемой информации о градиентах (PGI) и обобщённой эффективной сети агрегации слоёв (GELAN).
- Исследования оптимизации потока градиентов: Работы, посвящённые изучению и устранению потери информации в глубоких слоях сети во время обучения.
- Сравнительное тестирование точного детектирования: Сценарии, в которых высокая результативность YOLOv9 на тестах COCO нужна в качестве ориентира для сравнения архитектур.
Когда выбирать Ultralytics (YOLO26)#
Для большинства новых проектов Ultralytics YOLO26 предлагает оптимальное сочетание производительности и удобства разработки:
- Развертывание на периферийных устройствах без NMS: Приложения, которым необходим стабильный инференс с низкой задержкой без усложнения постобработки подавлением немаксимумов.
- Среды только с CPU: Устройства без выделенного ускорителя GPU, где до 43% более быстрый инференс YOLO26 на CPU даёт решающее преимущество.
- Обнаружение небольших объектов: Сложные сценарии, например съёмка с дронов или анализ данных IoT-датчиков, где ProgLoss и STAL заметно повышают точность обнаружения крошечных объектов.
Преимущество Ultralytics: переход на YOLO26#
Для пользователей, сравнивающих устаревшие архитектуры, переход к современной экосистеме Ultralytics — в частности, к новейшим моделям YOLO26, — даёт беспрецедентное преимущество.
YOLO26 кардинально меняет подход к развёртыванию благодаря сквозной архитектуре без NMS. Необязательная голова один-к-одному (nms=False) исключает постобработку с подавлением немаксимумов (NMS), обеспечивая более быстрое и значительно более простое развёртывание. Благодаря отказу от Distribution Focal Loss (DFL) YOLO26 также лучше совместима с периферийными устройствами и устройствами с низким энергопотреблением.
Кроме того, YOLO26 включает революционный оптимизатор MuSGD — гибрид стохастического градиентного спуска и оптимизаций Muon, вдохновлённый новыми подходами к обучению LLM. Это обеспечивает высокую стабильность сходимости при обучении и исключительно низкое потребление памяти по сравнению с альтернативами на основе Transformer.
Благодаря интуитивно понятному API Ultralytics ты можешь обучить современную модель YOLO26 со встроенным отслеживанием экспериментов всего за несколько строк Python.
from ultralytics import YOLO
# Загрузи новейшую модель YOLO26
model = YOLO("yolo26n.pt")
# Эффективно обучи модель на собственном наборе данных
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Экспортируй обученную модель в формат ONNX
model.export(format="onnx")Нужна ли тебе продвинутая сегментация экземпляров, высокоточная оценка позы или стандартное обнаружение объектов по ограничивающим рамкам — универсальность фреймворка Ultralytics позволяет твоей команде тратить меньше времени на настройку сред глубокого обучения и больше — на развёртывание надёжных решений на базе ИИ. Благодаря специализированным улучшениям задач, таким как ProgLoss + STAL для более эффективного распознавания мелких объектов, YOLO26 становится ведущим выбором для нового поколения приложений компьютерного зрения.