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 (Reparameterized Generalized Feature Pyramid Network). Эта конструкция с мощным «горлышком» особенно хороша в извлечении сложных пространственных иерархий, что полезно в таких сценариях, как анализ аэрофотоснимков. Кроме того, DAMO-YOLO представляет ZeroHead — упрощенную «голову» детекции, которая значительно снижает сложность финальных слоев предсказания, опираясь на надежный процесс улучшения дистилляции во время обучения.
DAMO-YOLO часто использует многоэтапный процесс дистилляции знаний. Он требует обучения более тяжелой «учительской» модели для обучения меньшей «ученической» модели, что позволяет получить более высокий mAP (средняя точность), но значительно увеличивает необходимое время GPU-вычислений.
YOLOv10: Пионер сквозного детектирования объектов
Выпущенная полтора года спустя, модель YOLOv10 совершила сдвиг парадигмы, полностью исключив необходимость в немаксимальном подавлении (NMS) при инференсе.
- Авторы: Ao Wang, Hui Chen, Lihao Liu и др.
- Организация: Tsinghua University
- Дата: 23 мая 2024 г.
- Arxiv: 2405.14458
- Документация: Ultralytics YOLOv10
Ключевые архитектурные особенности
Отличительной особенностью YOLOv10 являются согласованные двойные назначения (consistent dual assignments) для обучения без NMS. Традиционные детекторы предсказывают несколько перекрывающихся ограничивающих рамок для одного объекта, что требует NMS для фильтрации дубликатов. Этот этап постобработки создает узкое место, особенно на периферийных устройствах. YOLOv10 решает эту проблему, позволяя модели естественным образом предсказывать одну точную ограничивающую рамку для каждого объекта.
Авторы также сосредоточились на целостном подходе к проектированию модели, ориентированном на эффективность и точность. Тщательно проанализировав вычислительную избыточность в существующих архитектурах, они оптимизировали бэкбон и голову, чтобы сократить количество FLOPs и параметров. Такой облегченный дизайн гарантирует, что YOLOv10 обеспечивает исключительную задержку инференса при экспорте в такие форматы, как TensorRT или OpenVINO.
Производительность и бенчмарки
В таблице ниже показаны показатели базовой производительности на датасете COCO. Лучшие общие значения в каждом столбце выделены жирным шрифтом.
| Модель | размер (пиксели) | mAPval 50-95 | Скорость CPU ONNX (мс) | Скорость T4 TensorRT10 (мс) | параметры (М) | FLOPs (Б) |
|---|---|---|---|---|---|---|
| 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 могут создать крутую кривую обучения для инженерных команд.
Conversely, YOLOv10 benefits immensely from being fully integrated into the Ultralytics Python SDK. Training a custom model involves minimal boilerplate code. Ultralytics handles data augmentation, hyperparameter tuning, and experiment tracking automatically.
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 гарантирует детерминированную, предсказуемую задержку, что критически важно для систем безопасности в автономном вождении.
- Industrial Automation (YOLOv10): Detecting defects on fast-moving assembly lines requires models that maximize real-time inference speeds without consuming vast VRAM, making YOLOv10 a prime candidate for edge deployment.
Варианты использования и рекомендации
Выбор между DAMO-YOLO и YOLOv10 зависит от твоих конкретных требований к проекту, ограничений развертывания и предпочтений в экосистеме.
Когда выбирать DAMO-YOLO
DAMO-YOLO — отличный выбор для:
- Высокопроизводительной видеоаналитики: Обработки видеопотоков с высоким FPS на фиксированной инфраструктуре NVIDIA GPU, где пропускная способность при размере пакета 1 является основным показателем.
- Линий промышленного производства: Сценариев со строгими ограничениями задержки GPU на специализированном оборудовании, таких как контроль качества в реальном времени на сборочных линиях.
- Исследований в области поиска архитектуры нейронных сетей: Изучения влияния автоматизированного поиска архитектуры (MAE-NAS) и эффективных репараметризованных основ на производительность обнаружения.
Когда выбирать YOLOv10
YOLOv10 рекомендуется для:
- Обнаружение в реальном времени без NMS: Приложения, которые выигрывают от комплексного обнаружения без Non-Maximum Suppression, что снижает сложность развертывания.
- Сбалансированные компромиссы скорости и точности: Проекты, требующие хорошего баланса между скоростью вывода и точностью обнаружения для моделей различных масштабов.
- Consistent-Latency Applications: Deployment scenarios where predictable inference times are critical, such as robotics or autonomous systems.
Когда выбирать Ultralytics (YOLO26)
Для большинства новых проектов Ultralytics YOLO26 предлагает лучшее сочетание производительности и опыта разработчика:
- Периферийное развертывание без NMS: Приложениям требуется стабильный вывод с низкой задержкой без сложности постобработки Non-Maximum Suppression.
- Среды только с CPU: Устройства без выделенного GPU-ускорения, где преимущество YOLO26 в виде до 43% более быстрого вывода на CPU является решающим.
- Обнаружение мелких объектов: Сложные сценарии, такие как аэросъемка с дронов или анализ данных IoT-датчиков, где ProgLoss и STAL значительно повышают точность распознавания крошечных объектов.
Следующее поколение: встречай Ultralytics YOLO26
Хотя YOLOv10 заложила основу для обнаружения без NMS, технология быстро эволюционировала. Для современных приложений модель Ultralytics YOLO26 предлагает непревзойденную производительность и удобство использования, беря лучшее от предыдущих поколений и дорабатывая их для продакшена.
YOLO26 features a strictly natively end-to-end design, eliminating NMS post-processing for simpler deployment pipelines across edge devices. Furthermore, the removal of Distribution Focal Loss (DFL) has dramatically improved compatibility with low-power edge AI hardware.
Что касается обучения, YOLO26 представляет MuSGD Optimizer, гибрид, вдохновленный методами обучения больших языковых моделей (LLM). Это обеспечивает более стабильное обучение и быструю сходимость. В сочетании с функциями потерь ProgLoss + STAL, YOLO26 демонстрирует заметные улучшения в распознавании мелких объектов — критически важная функция для охраны дикой природы и операций с дронами.
Важно отметить, что YOLO26 — это не просто детектор объектов. Он предлагает улучшения по всем направлениям для конкретных задач, нативно поддерживая сегментацию экземпляров, оценку позы с использованием Residual Log-Likelihood Estimation (RLE), а также специализированные угловые потери для ориентированных ограничивающих рамок (OBB). Благодаря увеличению скорости инференса на CPU до 43% по сравнению с предшественниками, это окончательный выбор для гибких инженерных команд.
Для централизованного управления, разметки и облачного обучения моделей YOLO26 платформа Ultralytics Platform предоставляет интуитивно понятный интерфейс, который оптимизирует весь жизненный цикл компьютерного зрения.
Разработчики, заинтересованные в изучении других недавних достижений, также могут оценить Ultralytics YOLO11 или Transformer-фреймворк RT-DETR для сценариев, требующих иных архитектурных решений.