DAMO-YOLO и YOLOv10#
Область компьютерного зрения стремительно развивается, особенно в направлении архитектур детектирования объектов в реальном времени. При сравнении DAMO-YOLO и YOLOv10 можно заметить две разные философии проектирования моделей: автоматизированный поиск архитектуры и сквозную оптимизацию без NMS. Обе модели расширяют границы точности и скорости, однако их внутреннее устройство и оптимальные сценарии применения существенно различаются.
DAMO-YOLO: поиск нейронной архитектуры в широком масштабе#
Разработанная Alibaba Group, модель DAMO-YOLO стала мощным детектором, ориентированным на использование автоматизированного поиска для повышения структурной эффективности.
- Авторы: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang и Xiuyu Sun
- Дата: 23 ноября 2022 года
- Arxiv: 2211.15444v2
- GitHub: tinyvision/DAMO-YOLO
Архитектурные особенности#
DAMO-YOLO сильно полагается на поиск архитектуры нейросетей (NAS) для балансировки производительности и задержки. Его бэкбон под названием MAE-NAS использует направленный поисковый метод с максимальной энтропией в условиях жестких вычислительных ограничений для поиска оптимальной глубины и ширины слоев.
Для объединения признаков разных масштабов модель использует эффективную RepGFPN (обобщённую пирамиду признаков с репараметризацией). Эта сложная neck-архитектура особенно хорошо извлекает комплексные пространственные иерархии, что делает её полезной, например, для анализа аэрофотоснимков. Кроме того, DAMO-YOLO представляет ZeroHead — упрощённую detection head, которая значительно снижает сложность финальных слоёв предсказаний и использует эффективное дистиллирование в процессе обучения.
DAMO-YOLO часто использует многоэтапный процесс дистилляции знаний. Для этого требуется обучить более тяжёлую модель «учитель», которая направляет обучение меньшей модели «ученик». Такая модель позволяет получить более высокий mAP (среднюю точность), но значительно увеличивает необходимое время вычислений на GPU.
YOLOv10: пионер обнаружения объектов сквозного типа#
Выпущенная полтора года спустя, YOLOv10 изменила парадигму, полностью устранив необходимость в подавлении немаксимумов (NMS) во время инференса.
- Авторы: Ao Wang, Hui Chen, Lihao Liu и др.
- Организация: Университет Цинхуа
- Дата: 23 мая 2024 года
- Arxiv: 2405.14458
- Документация: Ultralytics YOLOv10
Архитектурные особенности#
Ключевая особенность YOLOv10 — согласованные двойные назначения для обучения без NMS. Традиционные детекторы предсказывают несколько перекрывающихся ограничивающих рамок для одного объекта, поэтому для фильтрации дубликатов требуется NMS. Этот этап постобработки создаёт узкое место, особенно на периферийных устройствах. YOLOv10 решает эту проблему, позволяя модели естественным образом предсказывать одну точную ограничивающую рамку для каждого объекта.
Авторы также сосредоточились на целостном проектировании модели с учётом эффективности и точности. Тщательно проанализировав вычислительную избыточность существующих архитектур, они оптимизировали backbone и head, чтобы уменьшить количество 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 | 39.5 | - | 1.56 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
| YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 160.4 |
Хотя DAMO-YOLO показывает достойную точность, YOLOv10 стабильно обеспечивает меньшую задержку и значительно меньший размер весов модели. Например, YOLOv10s достигает немного более высокого mAP (46,7%), чем DAMO-YOLOs (46,0%), используя при этом менее половины параметров (7,2 млн против 16,3 млн). Меньшие требования к памяти делают YOLOv10 исключительно универсальным выбором для встраиваемых систем.
Эффективность обучения и удобство использования#
При переходе от академических исследований к промышленной эксплуатации простота использования имеет первостепенное значение. Многоэтапный процесс дистилляции DAMO-YOLO и сложные конфигурации NAS могут создать для инженерных команд высокий порог входа.
Напротив, YOLOv10 получает значительные преимущества благодаря полной интеграции с Python SDK Ultralytics. Для обучения собственной модели требуется минимум шаблонного кода. Ultralytics автоматически выполняет аугментацию данных, настройку гиперпараметров и отслеживание экспериментов.
from ultralytics import YOLO
# Load a pretrained YOLOv10 nano model
model = YOLO("yolov10n.pt")
# Train on a custom dataset with built-in validation
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image seamlessly
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 — хороший выбор для:
- Высокопроизводительная видеоаналитика: Обработка видеопотоков с высоким FPS на фиксированной инфраструктуре NVIDIA GPU, где пропускная способность при размере пакета 1 является основной метрикой.
- Промышленные производственные линии: Сценарии со строгими ограничениями по задержке GPU на выделенном оборудовании, например контроль качества в реальном времени на сборочных линиях.
- Исследования поиска нейронных архитектур: Изучение влияния автоматизированного поиска архитектур (MAE-NAS) и эффективных репараметризованных базовых сетей на производительность обнаружения.
Когда выбирать YOLOv10#
YOLOv10 рекомендуется для:
- Обнаружения объектов в реальном времени без NMS: приложений, которым полезно сквозное обнаружение без подавления немаксимумов, что снижает сложность развертывания.
- Сбалансированного соотношения скорости и точности: проектов, требующих удачного баланса между скоростью инференса и точностью обнаружения для моделей разных размеров.
- Приложений со стабильной задержкой: сценариев развертывания, где критически важны предсказуемые времена инференса, например в робототехнике или автономных системах.
Когда выбирать Ultralytics (YOLO26)#
Для большинства новых проектов Ultralytics YOLO26 предлагает лучшее сочетание производительности и удобства для разработчиков:
- Развертывания на периферийных устройствах без NMS: приложений, требующих стабильного вывода с низкой задержкой без сложной постобработки с подавлением немаксимумов.
- Сред без GPU: устройств без выделенного ускорения GPU, где до 43% более быстрый вывод YOLO26 на CPU дает решающее преимущество.
- Обнаружения мелких объектов: сложных сценариев, таких как аэрофотосъемка с дронов или анализ данных IoT-сенсоров, где ProgLoss и STAL значительно повышают точность обнаружения крошечных объектов.
Следующее поколение: встречай Ultralytics YOLO26#
Хотя YOLOv10 заложила основу для детектирования без NMS, технология быстро развивалась. Для современных приложений модель Ultralytics YOLO26 предлагает непревзойдённые производительность и удобство использования, объединяя лучшие решения предыдущих поколений и совершенствуя их для промышленной эксплуатации.
YOLO26 обладает изначально сквозным дизайном, исключающим постобработку NMS для более простых конвейеров развертывания на периферийных устройствах. Кроме того, удаление функции потерь фокуса распределения (DFL) значительно улучшило совместимость с низкомощным железом edge AI.
В части обучения YOLO26 представляет оптимизатор MuSGD — гибридный метод, вдохновлённый техниками обучения больших языковых моделей (LLM). Это обеспечивает более стабильное обучение и быструю сходимость. В сочетании с функциями потерь ProgLoss + STAL YOLO26 демонстрирует заметное улучшение распознавания малоразмерных объектов — критически важную возможность для сохранения дикой природы и эксплуатации дронов.
Важно, что YOLO26 — это не просто детектор объектов. Модель предлагает улучшения для специализированных задач по всем направлениям, нативно поддерживая сегментацию экземпляров, оценку позы с использованием оценки остаточного логарифмического правдоподобия (RLE), а также специализированные функции потерь угла для ориентированных ограничивающих рамок (OBB). Благодаря инференсу на CPU, который до 43% быстрее, чем у предшественников, это окончательный выбор для гибких инженерных команд.
Для централизованного управления, аннотирования и облачного обучения моделей YOLO26 платформа Ultralytics предоставляет интуитивно понятный интерфейс, упрощающий весь жизненный цикл компьютерного зрения.
Разработчики, заинтересованные в изучении других последних достижений, также могут оценить Ultralytics YOLO11 или основанный на Transformer фреймворк RT-DETR для сценариев, требующих иных архитектурных решений.