DAMO-YOLO против YOLOv10: глубокий анализ эволюции обнаружения объектов
Выбор правильной модели обнаружения объектов — это ключевое решение, которое влияет на все: от затрат на развертывание до пользовательского опыта. В этом техническом сравнении исследуются различия между DAMO-YOLO, моделью, ориентированной на исследования, от Alibaba Group, и YOLOv10, новейшим детектором реального времени end-to-end, разработанным исследователями из Университета Цинхуа и интегрированным в экосистему Ultralytics.
В то время как обе модели стремятся оптимизировать компромисс между скоростью и точностью, они используют совершенно разные архитектурные стратегии. Этот анализ углубляется в их технические характеристики, показатели производительности и идеальные варианты использования, чтобы помочь вам ориентироваться в сложном ландшафте компьютерного зрения.
Метрики производительности
В таблице ниже представлено прямое сравнение эффективности и точности на наборе данных COCO. Ключевые выводы включают эффективность параметров и скорость инференса, где YOLOv10 демонстрирует значительные преимущества благодаря своей конструкции без NMS.
| Модель | размер (пиксели) | 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: Инновации, основанные на исследованиях
Выпущенный в конце 2022 года, YOLO представляет собой значительное усилие Alibaba Group, направленное на расширение границ детекторов YOLO с помощью усовершенствованной нейронной архитектуры и новых методов объединения признаков.
Технические детали:
Авторы: Xianzhe Xu, Yiqi Jiang, Weihua Chen, и др.
Организация:Alibaba Group
Дата: 2022-11-23
Arxiv:https://arxiv.org/abs/2211.15444v2
GitHub:https://github.com/tinyvision/DAMO-YOLO
Архитектура и ключевые особенности
DAMO-YOLO интегрирует несколько передовых концепций для достижения своей производительности:
- Поиск нейронной архитектуры (NAS): В отличие от моделей с backbones, разработанными вручную, DAMO-YOLO использует MAE-NAS для автоматического обнаружения эффективных сетевых структур, оптимизируя глубину и ширину сети для конкретных аппаратных ограничений.
- RepGFPN Neck: Эта пирамидальная сеть признаков использует репараметризацию для эффективного управления объединением признаков. Она позволяет использовать сложные структуры во время обучения, которые сворачиваются в более простые блоки во время инференса, сохраняя точность и увеличивая скорость.
- ZeroHead и AlignedOTA: модель использует конструкцию "ZeroHead" для снижения сложности головки обнаружения и применяет AlignedOTA (Optimal Transport Assignment) для назначения меток во время обучения, решая проблемы с несоответствием между задачами классификации и регрессии.
Соображения о сложности
Несмотря на то, что DAMO-YOLO представляет впечатляющие инновации, его зависимость от NAS и специализированных компонентов может сделать конвейер обучения более сложным и менее доступным для разработчиков, которым требуется быстрая настройка или развертывание на различном оборудовании без обширной настройки.
Сильные и слабые стороны
- Преимущества: DAMO-YOLO предлагает высокую точность, особенно для своего времени выпуска, и представила новые концепции, такие как улучшение дистилляции для небольших моделей.
- Недостатки: Экосистема, окружающая DAMO-YOLO, в основном связана с фреймворком MMDetection, что может представлять собой более крутую кривую обучения по сравнению с удобной для пользователя экосистемой Ultralytics. Кроме того, требуется традиционная постобработка NMS, что увеличивает задержку.
YOLOv10: Эра обнаружения End-to-End в реальном времени
YOLOv10, выпущенный в мае 2024 года исследователями из Университета Цинхуа, представляет собой смену парадигмы в линейке YOLO. Устраняя необходимость в Non-Maximum Suppression (NMS), он достигает истинной сквозной производительности, значительно снижая задержку инференса.
Технические детали:
Авторы: Ao Wang, Hui Chen, Lihao Liu, и др.
Организация:Университет Цинхуа
Дата: 2024-05-23
Arxiv:https://arxiv.org/abs/2405.14458
GitHub:https://github.com/THU-MIG/yolov10
Документация:https://docs.ultralytics.com/models/yolov10/
Архитектура и инновации
YOLOv10 фокусируется на целостной эффективности, ориентируясь как на архитектуру, так и на конвейер постобработки:
- Дизайн без NMS: Благодаря стратегии, называемой Consistent Dual Assignments, YOLOv10 обучается как с назначением меток «один ко многим», так и «один к одному». Это позволяет модели predict единственный лучший bounding box для каждого объекта во время inference, делая NMS устаревшим. Это критически важное преимущество для inference в реальном времени, где постобработка часто может стать узким местом.
- Целостный дизайн эффективности и точности: Архитектура имеет облегченную классификационную голову и пространственно-канальную разделенную дискретизацию. Эти оптимизации уменьшают вычислительную избыточность, что приводит к снижению FLOPs и количества параметров по сравнению с предыдущими поколениями.
- Блочный дизайн, управляемый рангом: Модель адаптирует свой внутренний блочный дизайн на основе избыточности различных этапов, используя компактные инвертированные блоки (CIB), где необходима эффективность, и частичное самовнимание (PSA), где критически важно улучшение признаков.
Простота использования с Ultralytics
Одним из наиболее значительных преимуществ YOLOv10 является его полная интеграция в экосистему Ultralytics. Разработчики могут обучать, проверять и развертывать YOLOv10, используя тот же простой API, что и для YOLOv8 и YOLO11.
from ultralytics import YOLO
# Load a pre-trained YOLOv10n model
model = YOLO("yolov10n.pt")
# Train the model on your custom dataset
model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image
results = model("path/to/image.jpg")
Сравнительный анализ
При сравнении DAMO-YOLO и YOLOv10 различие заключается в их подходе к эффективности и операционной экосистеме.
Скорость и задержка
YOLOv10 имеет явное преимущество в реальной задержке. Стандартные модели YOLO (и DAMO-YOLO) требуют Non-Maximum Suppression (NMS) для фильтрации перекрывающихся ограничивающих рамок. Время выполнения NMS варьируется в зависимости от количества обнаруженных объектов, что приводит к непредсказуемой задержке. Сквозная конструкция YOLOv10 обеспечивает детерминированную задержку, что делает его превосходным для критически важных по времени приложений, таких как автономное вождение или высокоскоростная промышленная робототехника.
Эффективность использования ресурсов
Как показано в таблице производительности, YOLOv10s достигает более высокого mAP (46.7%), чем DAMO-YOLO-S (46.0%), при этом используя меньше половины параметров (7.2M против 16.3M). Этот уменьшенный объем памяти имеет решающее значение для развертывания на периферии. Модели Ultralytics известны своими более низкими требованиями к памяти как во время обучения, так и во время вывода, что позволяет проводить обучение на GPU потребительского класса, где другие архитектуры могут столкнуться с ошибками нехватки памяти (OOM).
Экосистема и поддержка
Несмотря на то, что DAMO-YOLO является надежным академическим вкладом, YOLOv10 выигрывает от хорошо поддерживаемой экосистемы Ultralytics. Это включает в себя:
- Активная разработка: Частые обновления и исправления ошибок.
- Поддержка сообщества: Огромное сообщество разработчиков на GitHub и Discord.
- Документация: Обширная документация, охватывающая все, от аугментации данных до развертывания.
- Эффективность обучения: Оптимизированные процедуры, поддерживающие такие функции, как автоматическое смешанное обучение (AMP) и обучение на нескольких GPU из коробки.
За пределами Detection
Если ваш проект требует универсальности, выходящей за рамки ограничивающих рамок, например, сегментация экземпляров, оценка позы или ориентированное обнаружение объектов (obb), рассмотрите возможность изучения YOLO11 или YOLOv8. В то время как YOLOv10 превосходно справляется с чистым object detection, более широкое семейство Ultralytics предлагает современные решения для этих сложных многозадачных потребностей.
Идеальные варианты использования
Когда следует выбирать YOLOv10
- Edge AI и IoT: Низкое количество параметров (например, YOLOv10n с 2,3 млн параметров) делает его идеальным для таких устройств, как Raspberry Pi или NVIDIA Jetson.
- Видеоаналитика в реальном времени: Отсутствие NMS обеспечивает стабильную частоту кадров, что необходимо для мониторинга дорожного движения или систем безопасности.
- Быстрая разработка: Команды, которым необходимо быстро перейти от данных к развертыванию, оценят интуитивно понятный интерфейс
ultralyticsPython API и Ultralytics HUB.
Когда стоит рассмотреть DAMO-YOLO
- Академические исследования: Исследователи, изучающие поиск нейронной архитектуры (NAS) или оптимизацию пирамиды признаков, могут найти архитектуру DAMO-YOLO ценным ориентиром.
- Устаревшие конвейеры: Проектам, уже глубоко интегрированным в фреймворк MMDetection, может быть проще принять DAMO-YOLO, чем переключаться между фреймворками.
Заключение
Обе модели представляют собой важные вехи в области компьютерного зрения. DAMO-YOLO продемонстрировал возможности NAS и расширенного слияния признаков в 2022 году. Однако для современных приложений в 2024 году и в последующий период YOLOv10 предлагает более убедительный пакет. Его сквозная архитектура без NMS решает давнюю проблему в detect объектов, а интеграция в экосистему Ultralytics обеспечивает ее доступность, удобство обслуживания и простоту развертывания.
Для разработчиков, стремящихся к наилучшему балансу скорости, точности и простоты использования, YOLOv10 — наряду с универсальным YOLO11 — является превосходным выбором для создания надежных решений на основе ИИ.