YOLOv10 против DAMO-YOLO: Техническое сравнение детекторов объектов реального времени
При создании современных конвейеров компьютерного зрения выбор правильной архитектуры для обнаружения объектов в реальном времени имеет решающее значение. В этом всестороннем техническом анализе мы исследуем архитектуры, метрики производительности и идеальные варианты использования для YOLOv10 и DAMO-YOLO. Обе модели представляют собой значительные прорывы в возможностях обнаружения объектов, но они используют разные архитектурные подходы для достижения своих целей.
Независимо от того, требует ли ваш проект развертывания на ограниченном периферийном ИИ-оборудовании или требует максимальной точности на облачных GPU, понимание нюансов этих архитектур поможет вам принять обоснованное решение.
Исследование YOLOv10
Представленный исследователями Университета Цинхуа, YOLOv10 произвел революцию в семействе YOLO, введя нативный сквозной подход, эффективно устранив необходимость в немаксимальном подавлении (NMS) на этапе постобработки.
YOLOv10 Подробности:
- Авторы: Ao Wang, Hui Chen, Lihao Liu и др.
- Организация: Tsinghua University
- Дата: 2024-05-23
- arXiv: https://arxiv.org/abs/2405.14458
- GitHub: https://github.com/THU-MIG/YOLOv10
- Документация: https://docs.ultralytics.com/models/yolov10/
Ключевые архитектурные особенности
Основное нововведение YOLOv10 — это стратегия согласованных двойных назначений (Consistent Dual Assignments) для обучения без NMS. Традиционные детекторы объектов сильно зависят от NMS для фильтрации перекрывающихся ограничивающих прямоугольников, что приводит к непредсказуемой задержке — значительному узкому месту для приложений реального времени, таких как автономные транспортные средства и высокоскоростная робототехника. Предсказывая непосредственно один оптимальный ограничивающий прямоугольник на объект, YOLOv10 достигает предсказуемого инференса с ультранизкой задержкой.
Кроме того, модель использует целостный дизайн, ориентированный на эффективность и точность. Архитектура оптимизирует различные компоненты, включая легковесную классификационную голову и пространственно-канальное разделенное понижающее сэмплирование, что значительно снижает вычислительную избыточность. В результате получается архитектура с меньшим количеством параметров и FLOPs, сохраняющая при этом конкурентоспособную среднюю точность (mAP).
Оптимизированный экспорт для производства
Поскольку YOLOv10 удаляет операции NMS из графа вывода, экспорт модели в такие форматы, как ONNX или TensorRT, значительно упрощается, что делает ее исключительно подходящей для развертывания на периферийных устройствах.
Пример использования
YOLOv10 глубоко интегрирован в экосистему Ultralytics, что делает его невероятно простым в использовании через пакет Ultralytics Python.
from ultralytics import YOLO
# Load a pre-trained YOLOv10 nano model
model = YOLO("yolov10n.pt")
# Train the model on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on a test image
results = model("https://ultralytics.com/images/bus.jpg")
# Export the model to TensorRT format
model.export(format="engine", half=True)
Исследование DAMO-YOLO
Разработанный Alibaba Group, DAMO-YOLO сосредоточен на поиске высокоэффективных сетевых структур с помощью автоматизированного нейронного архитектурного поиска (NAS), стремясь расширить границу Парето в отношении скорости и точности.
Подробности DAMO-YOLO:
- Авторы: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang и Xiuyu Sun
- Организация: Alibaba Group
- Дата: 23.11.2022
- arXiv: https://arxiv.org/abs/2211.15444v2
- GitHub: https://github.com/tinyvision/DAMO-YOLO
Ключевые архитектурные особенности
DAMO-YOLO представляет несколько новых технологий, адаптированных для промышленных применений. Основой модели является ее MAE-NAS Backbone, сгенерированная с помощью многоцелевого эволюционного поиска. Этот автоматизированный процесс позволяет находить структуры магистральных сетей, которые строго соответствуют заранее определенным вычислительным бюджетам, обеспечивая тонкий баланс между точностью и задержкой инференса.
Кроме того, архитектура использует шейку Efficient RepGFPN. Эта сеть пирамиды признаков предназначена для улучшения слияния признаков в разных масштабах, что критически важно для сложных задач, таких как анализ аэрофотоснимков, где объекты сильно различаются по размеру. В дополнение к этому, DAMO-YOLO реализует ZeroHead — минималистичную голову детекции, которая значительно снижает сложность конечных слоев предсказания, экономя ценное вычислительное время во время инференса.
Сравнение производительности
При оценке архитектур обнаружения объектов поиск оптимального компромисса между скоростью инференса, эффективностью параметров и точностью обнаружения имеет первостепенное значение. В таблице ниже сравнивается производительность YOLOv10 и DAMO-YOLO для соответствующих размеров моделей.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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-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 |
Как видно из бенчмарков, YOLOv10 стабильно демонстрирует исключительные профили задержки на TensorRT, особенно в своем нано-варианте, требуя значительно меньше параметров и FLOPs, чем сопоставимые модели DAMO-YOLO. В то время как DAMO-YOLO предлагает высокий mAP в своем миниатюрном варианте, эффективность параметров и задержка инференции семейства YOLOv10 обеспечивают явное преимущество для сред развертывания с ограниченными ресурсами.
Сценарии использования и рекомендации
Выбор между YOLOv10 и DAMO-YOLO зависит от конкретных требований вашего проекта, ограничений развертывания и предпочтений экосистемы.
Когда выбирать YOLOv10
YOLOv10 — отличный выбор для:
- Обнаружение в реальном времени без NMS: Приложения, выигрывающие от сквозного обнаружения без Non-Maximum Suppression, что снижает сложность развертывания.
- Сбалансированный компромисс между скоростью и точностью: Проекты, требующие оптимального баланса между скоростью инференса и точностью обнаружения для моделей различных масштабов.
- Приложения с предсказуемой задержкой: Сценарии развертывания, где критически важны предсказуемые времена инференса, например, в робототехнике или автономных системах.
Когда следует выбирать DAMO-YOLO
DAMO-YOLO рекомендуется для:
- Высокопроизводительная видеоаналитика: Обработка видеопотоков с высокой частотой кадров на стационарной инфраструктуре NVIDIA GPU, где пропускная способность при размере пакета 1 является основным показателем.
- Промышленные производственные линии: Сценарии со строгими ограничениями по задержке GPU на специализированном оборудовании, например, контроль качества в реальном времени на сборочных линиях.
- Исследования нейронного поиска архитектуры: Изучение влияния автоматизированного поиска архитектуры (MAE-NAS) и эффективных репараметризованных бэкбонов на производительность detect.
Когда выбирать Ultralytics (YOLO26)
Для большинства новых проектов Ultralytics YOLO26 предлагает наилучшее сочетание производительности и удобства для разработчиков:
- Развертывание на периферии без NMS: Приложения, требующие стабильного вывода с низкой задержкой без сложности постобработки методом Non-Maximum Suppression.
- Среды только с CPU: Устройства без выделенного ускорения GPU, где до 43% более быстрая инференция YOLO26 на CPU обеспечивает решающее преимущество.
- Обнаружение мелких объектов: Сложные сценарии, такие как аэрофотосъемка с дронов или анализ данных с IoT-датчиков, где ProgLoss и STAL значительно повышают точность на крошечных объектах.
Преимущество Ultralytics
Хотя обе модели технически впечатляют, выбор архитектуры для производства предполагает выход за рамки необработанных метрик. Создание с использованием моделей, нативно поддерживаемых экосистемой Ultralytics, предоставляет непревзойденные преимущества как для разработчиков, так и для исследователей.
Простота использования и хорошо поддерживаемая экосистема
В отличие от отдельных академических репозиториев, которые часто забрасываются, Ultralytics предлагает надежную, активно поддерживаемую экосистему. Настройка сложных сред для моделей, сильно зависящих от конвейеров NAS, может быть непростой задачей. В противоположность этому, Ultralytics предоставляет стандартизированный, интуитивно понятный Python API и мощный CLI, подкрепленные обширной документацией. Это радикально сокращает время выхода на рынок для пользовательских решений в области компьютерного зрения.
Эффективность обучения и требования к памяти
Обучение больших моделей может быстро стать вычислительно затратным. Архитектуры Ultralytics YOLO исторически известны своим низким потреблением памяти CUDA во время обучения и инференса. Эта эффективность позволяет разработчикам обучать модели на потребительском оборудовании или экономичных облачных экземплярах, избегая ошибок нехватки памяти, которые часто возникают при работе с трансформерными моделями, такими как RT-DETR.
Отслеживание экспериментов
Ultralytics нативно интегрируется с ведущими инструментами MLOps. Вы можете легко отслеживать прогресс обучения вашей модели, используя интеграции с Weights & Biases, Comet или ClearML без дополнительного шаблонного кода.
Универсальность в различных задачах
Значительным ограничением многих специализированных моделей обнаружения является их узкая направленность. В экосистеме Ultralytics вы не ограничены только обнаружением объектов. Инструменты легко распространяются на множество задач компьютерного зрения, включая сегментацию экземпляров, классификацию изображений, оценку позы и обнаружение ориентированных ограничивающих рамок (OBB).
Взгляд в будущее: Эволюция YOLO26
Хотя YOLOv10 впервые применила инференс без NMS, а DAMO-YOLO продемонстрировала мощь NAS, область компьютерного зрения быстро развивается. Разработчикам, ищущим передовое решение, мы рекомендуем ознакомиться с Ultralytics YOLO26.
Выпущенный как окончательный преемник YOLO11, YOLO26 основывается на NMS-свободной основе, заложенной YOLOv10, но значительно развивает ее.
Ключевые достижения в YOLO26 включают:
- До 43% более быстрый инференс на CPU: Специально оптимизирован для периферийных вычислений и маломощных устройств.
- Удаление DFL: Distribution Focal Loss была удалена, что обеспечивает более простой экспорт и улучшенную совместимость с различными целевыми платформами развертывания.
- Оптимизатор MuSGD: Гибрид SGD и Muon, переносящий передовую стабильность обучения LLM и более быструю сходимость непосредственно в компьютерное зрение.
- ProgLoss + STAL: Значительно улучшенные функции потерь, предлагающие заметные улучшения в распознавании мелких объектов, что крайне важно для таких сценариев использования, как сельское хозяйство и дистанционное зондирование.
Используя обновленную платформу Ultralytics, разработчики могут легко аннотировать, обучать и развертывать модели следующего поколения, такие как YOLO26, всего за несколько кликов, обеспечивая передовой и перспективный конвейер компьютерного зрения.