DAMO-YOLO и YOLOv10#
В области компьютерного зрения архитектуры обнаружения объектов в реальном времени развиваются стремительными темпами. Сравнивая DAMO-YOLO и YOLOv10, мы видим два разных подхода к проектированию моделей: автоматизированный поиск архитектуры и сквозную оптимизацию без NMS. Обе модели расширяют границы точности и скорости, но их архитектуры и оптимальные сценарии применения значительно различаются.
DAMO-YOLO: поиск нейронной архитектуры в крупных масштабах#
Разработанная Alibaba Group, DAMO-YOLO стала мощной моделью обнаружения объектов, в которой автоматизированный поиск используется для повышения структурной эффективности.
- Авторы: Сяньчжэ Сюй, Ици Цзян, Вэйхуа Чэнь, Илуне Хуан, Юань Чжан и Сюйюй Сунь
- Дата: 23 ноября 2022 года
- Arxiv: 2211.15444v2
- GitHub: tinyvision/DAMO-YOLO
Основные особенности архитектуры#
DAMO-YOLO активно использует поиск нейронной архитектуры (NAS), чтобы найти баланс между производительностью и задержкой. Её базовая сеть MAE-NAS применяет поиск под управлением максимальной энтропии в условиях строгих вычислительных ограничений, чтобы подобрать оптимальные глубину и ширину слоёв.
Для слияния признаков на разных масштабах модель использует эффективную RepGFPN (обобщённую пирамиду признаков с репараметризацией). Эта архитектура с тяжёлой шеей особенно хорошо извлекает сложные пространственные иерархии, поэтому подходит, например, для анализа аэрофотоснимков. Кроме того, DAMO-YOLO предлагает ZeroHead — упрощённую голову обнаружения, значительно снижающую сложность финальных слоёв предсказания. Во время обучения при этом применяется эффективный процесс дистилляции.
DAMO-YOLO часто использует многоэтапную дистилляцию знаний. Для управления более компактной моделью-«учеником» необходимо обучить более крупную модель-«учителя». Это повышает mAP (среднюю точность), но значительно увеличивает время вычислений на GPU.
YOLOv10: первопроходец сквозного обнаружения объектов#
Выпущенная спустя полтора года YOLOv10 изменила подход к обнаружению объектов, полностью устранив необходимость в Non-Maximum Suppression (NMS) во время инференса.
- Авторы: Ao Wang, Hui Chen, Lihao Liu и др.
- Организация: Университет Цинхуа
- Дата: 23 мая 2024 года
- Arxiv: 2405.14458
- Документация: Ultralytics YOLOv10
Основные особенности архитектуры#
Главная особенность YOLOv10 — согласованные двойные назначения для обучения без NMS. Традиционные модели обнаружения предсказывают несколько перекрывающихся ограничивающих рамок для одного объекта, поэтому для фильтрации дубликатов нужна NMS. Этот этап постобработки становится узким местом, особенно на периферийных устройствах. YOLOv10 решает эту проблему, позволяя модели естественным образом предсказывать одну точную ограничивающую рамку для каждого объекта.
Авторы также сосредоточились на комплексном проектировании модели с учётом эффективности и точности. Проанализировав избыточные вычисления в существующих архитектурах, они оптимизировали базовую сеть и голову, чтобы сократить число FLOPs и параметров. Благодаря лёгкой архитектуре YOLOv10 обеспечивает исключительную задержку инференса при экспорте в такие форматы, как TensorRT и OpenVINO.
Производительность и тесты#
В таблице ниже представлены показатели производительности на наборе данных COCO. Лучшие значения в каждом столбце выделены жирным.
| Модель | размер (пиксели) | 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 |
| YOLOv10n | 640 | 38.5 | - | 1.84 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.3 | - | 2.49 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.1 | - | 4.74 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.5 | - | 5.74 | 19.1 | 92.0 |
| YOLOv10l | 640 | 53.2 | - | 7.28 | 24.4 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 10.70 | 29.5 | 160.4 |
DAMO-YOLO демонстрирует хорошую точность, но YOLOv10 обеспечивает более высокую точность при сопоставимом размере модели и значительно меньшем объёме весов модели. Например, YOLOv10s достигает немного более высокого mAP — 46,3% против 46,0% у DAMO-YOLOs, — используя менее половины параметров (7,2 млн против 16,3 млн). Благодаря более низким требованиям к памяти YOLOv10 отлично подходит для встраиваемых систем.
Эффективность обучения и удобство использования#
При переходе от академических исследований к промышленной эксплуатации особенно важна простота использования. Многоэтапная дистилляция и сложные конфигурации NAS в DAMO-YOLO могут стать серьёзным препятствием для освоения инженерными командами.
YOLOv10, напротив, получает значительные преимущества благодаря полной интеграции в Python SDK Ultralytics. Для обучения собственной модели требуется минимум шаблонного кода. Ultralytics автоматически выполняет аугментацию данных, настройку гиперпараметров и отслеживание экспериментов.
from ultralytics import YOLO
# Загрузи предварительно обученную nano-модель YOLOv10
model = YOLO("yolov10n.pt")
# Обучи модель на собственном наборе данных со встроенной валидацией
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Легко запустить инференс на изображении
prediction = model("path/to/image.jpg")
prediction[0].show()Экосистема Ultralytics позволяет разработчикам перейти от прототипа к полноценной модели ONNX, готовой к экспорту, написав всего несколько строк кода и избежав сложной настройки среды, необходимой для старых фреймворков.
Примеры применения в реальных условиях#
- Умная розница (DAMO-YOLO): точность DAMO-YOLO подходит для анализа поведения покупателей в крупных серверных средах, где достаточно GPU и можно справиться с узкими местами, вызванными NMS в реальном времени.
- Автономные транспортные средства (YOLOv10): архитектура без NMS обеспечивает детерминированную и предсказуемую задержку, что критически важно для систем безопасности при автономном вождении.
- Промышленная автоматизация (YOLOv10): для обнаружения дефектов на быстро движущихся сборочных линиях нужны модели с максимальной скоростью инференса в реальном времени, не расходующие огромные объёмы VRAM. Поэтому YOLOv10 отлично подходит для развертывания на периферийных устройствах.
Сценарии использования и рекомендации#
Выбор между DAMO-YOLO и YOLOv10 зависит от требований конкретного проекта, ограничений среды развертывания и предпочтений в отношении экосистемы.
Когда стоит выбрать DAMO-YOLO#
DAMO-YOLO — хороший выбор для:
- Высокопроизводительная видеоаналитика: Обработка видеопотоков с высокой частотой кадров на фиксированной инфраструктуре NVIDIA GPU, где основной показатель — пропускная способность при размере пакета 1.
- Промышленные производственные линии: Сценарии со строгими ограничениями по задержке GPU на выделенном оборудовании, например контроль качества в реальном времени на сборочных линиях.
- Исследования в области поиска нейросетевых архитектур: Изучение влияния автоматизированного поиска архитектур (MAE-NAS) и эффективных перенастраиваемых базовых сетей на качество обнаружения.
Когда выбирать YOLOv10#
YOLOv10 рекомендуется для таких задач:
- Детектирование в реальном времени без NMS: Приложения, которым полезно сквозное детектирование без подавления немаксимумов, что упрощает развертывание.
- Сбалансированное соотношение скорости и точности: Проекты, в которых важно найти оптимальный баланс между скоростью инференса и точностью детектирования для моделей разных размеров.
- Приложения с постоянной задержкой: Сценарии развертывания, где важны предсказуемые времена инференса, например в робототехнике или автономных системах.
Когда выбирать Ultralytics (YOLO26)#
Для большинства новых проектов Ultralytics YOLO26 предлагает оптимальное сочетание производительности и удобства разработки:
- Развертывание на периферийных устройствах без NMS: Приложения, которым необходим стабильный инференс с низкой задержкой без усложнения постобработки подавлением немаксимумов.
- Среды только с CPU: Устройства без выделенного ускорителя GPU, где до 43% более быстрый инференс YOLO26 на CPU даёт решающее преимущество.
- Обнаружение небольших объектов: Сложные сценарии, например съёмка с дронов или анализ данных IoT-датчиков, где ProgLoss и STAL заметно повышают точность обнаружения крошечных объектов.
Следующее поколение: встречай Ultralytics YOLO26#
YOLOv10 заложила основу для обнаружения объектов без NMS, но технологии быстро развиваются. Для современных приложений модель Ultralytics YOLO26 предлагает непревзойдённые производительность и удобство: она объединяет лучшие решения предыдущих поколений и дорабатывает их для промышленной эксплуатации.
YOLO26 поддерживает встроенный сквозной режим (nms=False), который пропускает постобработку NMS и упрощает конвейеры развертывания на периферийных устройствах. Кроме того, удаление Distribution Focal Loss (DFL) значительно улучшило совместимость с маломощным оборудованием для периферийного AI.
В обучении YOLO26 предлагает оптимизатор MuSGD — гибрид, вдохновлённый методами обучения больших языковых моделей (LLM). Он обеспечивает более стабильное обучение и быструю сходимость. В сочетании с функциями потерь ProgLoss + STAL это позволяет YOLO26 заметно лучше распознавать мелкие объекты — важное преимущество для охраны дикой природы и управления дронами.
Важно, что YOLO26 — не просто модель для обнаружения объектов. Она предлагает специализированные улучшения для целого ряда задач и изначально поддерживает сегментацию экземпляров, оценку позы с использованием оценки остаточного логарифмического правдоподобия (RLE), а также специальные функции потерь для углов в задаче обнаружения объектов с ориентированными ограничивающими рамками (OBB). Благодаря инференсу на CPU до 43% быстрее, чем у предшественников, YOLO26 — оптимальный выбор для гибких инженерных команд.
Для централизованного управления, аннотирования и облачного обучения моделей YOLO26 платформа Ultralytics предлагает интуитивно понятный интерфейс, упрощающий весь цикл разработки решений для компьютерного зрения.
Разработчикам, желающим изучить другие недавние достижения, стоит также оценить Ultralytics YOLO11 и фреймворк на основе Transformer RT-DETR — для сценариев, требующих иных архитектурных решений.