DAMO-YOLO и YOLOv9#
Ландшафт обнаружения объектов в реальном времени продолжает стремительно развиваться. Стремясь найти идеальный баланс между точностью, скоростью инференса и вычислительной эффективностью, инженерные команды и исследователи выделили две заметные архитектуры, появившиеся в научном сообществе: DAMO-YOLO и YOLOv9. Обе модели предлагают значительные архитектурные инновации, призванные расширить границы возможностей компьютерного зрения.
Это подробное техническое руководство содержит углублённый анализ двух моделей и сравнивает их уникальные архитектурные подходы, методики обучения и возможности развёртывания в реальных условиях. Мы также рассмотрим, какую важную роль более широкая программная экосистема играет в современной разработке ИИ, и покажем преимущества интегрированных платформ, таких как Ultralytics Platform, и моделей нового поколения, таких как YOLO26.
Краткое резюме: выбор подходящей архитектуры#
Хотя обе модели стали важными достижениями в исследованиях глубокого обучения, они ориентированы на несколько разные подходы к развёртыванию.
DAMO-YOLO особенно эффективна в средах, где можно применять ресурсоёмкий поиск нейронной архитектуры (NAS) для получения конкретных профилей производительности, что делает её интересным вариантом для изучения при индивидуальном развёртывании на периферийных устройствах. YOLOv9, напротив, сосредоточена на решении проблем информационных узких мест глубокого обучения и обеспечивает исключительно высокую эффективность использования параметров.
Однако для готовых к эксплуатации решений инженерные команды неизменно рекомендуют использовать единую экосистему Ultralytics. Для новых проектов новейшая модель YOLO26 предлагает лучшее из обоих подходов: передовую точность в сочетании с нативной сквозной архитектурой, устраняющей необходимость в сложной постобработке.
Хотя DAMO-YOLO и YOLOv9 — мощные академические модели, их развёртывание в production часто требует значительного объёма индивидуальной инженерной работы. Использование Ultralytics YOLO26 даёт доступ к передовой производительности через оптимизированный и удобный в сопровождении API.
Технические характеристики и авторство#
Понимание происхождения и направлений развития этих моделей даёт важный контекст для оценки их сильных сторон.
DAMO-YOLO#
DAMO-YOLO, разработанная исследователями из Alibaba Group, в значительной степени ориентирована на автоматическую генерацию архитектуры и эффективное объединение признаков.
- Авторы: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang и Xiuyu Sun
- Организация: Alibaba Group
- Дата выпуска: 23 ноября 2022 г.
- Статья на Arxiv: исследовательская статья о DAMO-YOLO
- Официальный GitHub: репозиторий tinyvision/DAMO-YOLO
- Документация: README DAMO-YOLO
YOLOv9#
YOLOv9, представленная как решение проблемы потери информации в глубоких свёрточных сетях, расширяет теоретические пределы сохранения градиентов во время обучения.
- Авторы: Chien-Yao Wang и Hong-Yuan Mark Liao
- Организация: Институт информационных наук, Academia Sinica, Тайвань
- Дата выпуска: 21 февраля 2024 г.
- Статья на Arxiv: исследовательская статья о YOLOv9
- Официальный GitHub: репозиторий WongKinYiu/yolov9
- Документация: документация Ultralytics по YOLOv9
Архитектурные инновации#
DAMO-YOLO: на основе поиска нейронной архитектуры#
DAMO-YOLO выделяется благодаря тщательно настроенным компонентам, сгенерированным машиной. Её backbone создаётся с помощью поиска нейронной архитектуры (NAS) с особым вниманием к инференсу с низкой задержкой на различном оборудовании.
В архитектуре используется эффективная RepGFPN (обобщённая репараметризованная пирамидальная сеть признаков) для объединения признаков, что улучшает обнаружение объектов разных масштабов без чрезмерного увеличения вычислительных затрат. Кроме того, применяется дизайн ZeroHead для упрощения detection head и 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.1 | 26.4 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.0 | 76.3 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.3 | 102.1 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 57.3 | 189.0 |
Как показано выше, YOLOv9-E обеспечивает наивысшую точность, тогда как меньшие варианты DAMO-YOLO и YOLOv9 сохраняют весьма конкурентоспособную скорость инференса благодаря оптимизациям TensorRT.
Методики обучения и экосистема#
Хотя сама архитектура важна, для практического применения решающее значение имеют удобство использования и эффективность обучения, определяемые экосистемой модели.
Зависимость DAMO-YOLO от дистилляции знаний часто требует предварительного обучения громоздкой модели «учителя» перед переносом знаний в целевую модель «ученика». Такой традиционный исследовательский подход значительно увеличивает требования к памяти и продолжительность циклов обучения. Аналогично, исходный репозиторий YOLOv9 требует работы со сложными конфигурационными файлами, что может замедлять гибкую разработку.
Напротив, интеграция моделей с Ultralytics Platform полностью меняет опыт разработчика. Пакет Ultralytics для Python скрывает шаблонный код и позволяет командам без лишних усилий выполнять аугментацию данных, настройку гиперпараметров и экспорт моделей.
Применение и варианты использования в реальных условиях#
Разные архитектуры закономерно лучше всего подходят для определённых отраслей с учётом их ресурсных требований и профилей точности.
- DAMO-YOLO в Edge AI: Благодаря своим оптимизированным с помощью NAS хребтам DAMO-YOLO часто исследуется в встраиваемых системах, где аппаратная репараметризация является строгой необходимостью, например при развертывании кастомных ASIC в базовом контоле качества производства.
- YOLOv9 для точной аналитики: благодаря высокой эффективности использования параметров и сохранению градиентов под управлением PGI YOLOv9 отлично подходит для сценариев плотного обнаружения объектов, например для анализа аэрофотоснимков или отслеживания маленьких объектов в переполненных розничных магазинах.
Варианты применения и рекомендации#
Выбор между DAMO-YOLO и YOLOv9 зависит от конкретных требований проекта, ограничений развёртывания и предпочтений в отношении экосистемы.
Когда стоит выбрать DAMO-YOLO#
DAMO-YOLO — хороший выбор для:
- Высокопроизводительная видеоаналитика: Обработка видеопотоков с высоким FPS на фиксированной инфраструктуре NVIDIA GPU, где пропускная способность при размере пакета 1 является основной метрикой.
- Промышленные производственные линии: Сценарии со строгими ограничениями по задержке GPU на выделенном оборудовании, например контроль качества в реальном времени на сборочных линиях.
- Исследования поиска нейронных архитектур: Изучение влияния автоматизированного поиска архитектур (MAE-NAS) и эффективных репараметризованных базовых сетей на производительность обнаружения.
Когда стоит выбрать YOLOv9#
YOLOv9 рекомендуется для:
- Исследований информационного узкого места: академических проектов, изучающих архитектуры Programmable Gradient Information (PGI) и Generalized Efficient Layer Aggregation Network (GELAN).
- Исследований оптимизации потока градиентов: работ, посвященных пониманию и устранению потери информации в слоях глубоких сетей во время обучения.
- Сравнительного тестирования обнаружения с высокой точностью: сценариев, где высокие результаты YOLOv9 на тесте COCO нужны как эталон для архитектурных сравнений.
Когда выбирать Ultralytics (YOLO26)#
Для большинства новых проектов Ultralytics YOLO26 предлагает лучшее сочетание производительности и удобства для разработчиков:
- Развертывания на периферийных устройствах без NMS: приложений, требующих стабильного вывода с низкой задержкой без сложной постобработки с подавлением немаксимумов.
- Сред без GPU: устройств без выделенного ускорения GPU, где до 43% более быстрый вывод YOLO26 на CPU дает решающее преимущество.
- Обнаружения мелких объектов: сложных сценариев, таких как аэрофотосъемка с дронов или анализ данных IoT-сенсоров, где ProgLoss и STAL значительно повышают точность обнаружения крошечных объектов.
Преимущества Ultralytics: переход на YOLO26#
Для пользователей, сравнивающих устаревшие архитектуры, переход на современную экосистему Ultralytics, в частности на новейшие модели YOLO26, даёт беспрецедентное преимущество.
YOLO26 фундаментально меняет подход к развёртыванию благодаря своему сквозному дизайну без NMS. Полностью устраняя постобработку Non-Maximum Suppression (NMS), модель обеспечивает более быстрое и значительно более простое развёртывание. В сочетании с отказом от Distribution Focal Loss (DFL) это делает YOLO26 более совместимой с периферийными устройствами и устройствами с низким энергопотреблением.
Кроме того, YOLO26 включает революционный оптимизатор MuSGD — гибрид Stochastic Gradient Descent и оптимизаций Muon, вдохновлённый инновациями в обучении LLM. Это обеспечивает стабильную сходимость обучения при исключительно низком потреблении памяти по сравнению с альтернативами, в значительной степени использующими Transformer.
Благодаря интуитивно понятному API Ultralytics ты можешь обучить передовую модель YOLO26 со встроенным отслеживанием экспериментов всего в несколько строк Python.
from ultralytics import YOLO
# Load the latest NMS-free YOLO26 model
model = YOLO("yolo26n.pt")
# Train on your custom dataset efficiently
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Export the trained model to ONNX format
model.export(format="onnx")Нужна ли тебе продвинутая сегментация экземпляров, высокоточная оценка позы или стандартное обнаружение ограничивающих рамок, универсальность фреймворка Ultralytics позволяет твоей команде тратить меньше времени на настройку окружений глубокого обучения и больше — на развёртывание надёжных решений ИИ. Благодаря специализированным улучшениям задач, таким как ProgLoss + STAL для более эффективного распознавания маленьких объектов, YOLO26 становится оптимальным выбором для следующего поколения приложений компьютерного зрения.