YOLOv10 vs DAMO-YOLO: Техническое сравнение
Выбор оптимальной модели для detectирования объектов является критически важным решением, которое балансирует компромиссы между точностью, скоростью и вычислительными затратами. На этой странице представлено подробное техническое сравнение между YOLOv10, последней высокоэффективной моделью, интегрированной в экосистему Ultralytics, и DAMO-YOLO, мощным детектором от Alibaba Group. Мы проанализируем их архитектуры, показатели производительности и идеальные варианты использования, чтобы помочь вам сделать осознанный выбор для ваших проектов в области компьютерного зрения.
YOLOv10: Обнаружение в реальном времени End-to-End
YOLOv10, представленный исследователями из Университета Цинхуа в мае 2024 года, знаменует собой значительный шаг вперед в обнаружении объектов в реальном времени. Его основное новшество заключается в достижении сквозного обнаружения за счет устранения необходимости в 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 построен на надежной платформе Ultralytics, унаследовав ее простоту использования и мощную экосистему. Его архитектура представляет несколько ключевых усовершенствований для повышения эффективности и производительности:
- Обучение без NMS: YOLOv10 использует согласованные двойные назначения для меток во время обучения. Это позволяет модели создавать чистые прогнозы, не требуя этапа постобработки NMS, что упрощает конвейер развертывания и делает его действительно сквозным.
- Комплексный подход к эффективности и точности: Архитектура модели была всесторонне оптимизирована для снижения вычислительной избыточности. Это включает в себя облегченную классификационную голову и пространственно-канальную разделенную дискретизацию, что повышает как скорость, так и возможности.
- Простая интеграция Ultralytics: Как часть экосистемы Ultralytics, YOLOv10 выигрывает от оптимизированного пользовательского опыта. Это включает в себя простой Python API, обширную документацию, эффективные процессы обучения и легкодоступные предварительно обученные веса. Эта интеграция позволяет разработчикам исключительно легко начать работу и быстро развертывать модели.
Почему важен NMS-Free
Традиционные детекторы объектов часто предсказывают несколько ограничивающих рамок для одного объекта. Non-Maximum Suppression (NMS) — это этап постобработки, используемый для фильтрации этих дубликатов. Устраняя NMS, YOLOv10 значительно снижает задержку и сложность inference, особенно в сценариях edge deployment, где важна каждая миллисекунда.
DAMO-YOLO: эффективность, основанная на NAS
DAMO-YOLO — это быстрая и точная модель обнаружения объектов, разработанная Alibaba Group. Выпущенная в ноябре 2022 года, она представила несколько новых методов для расширения границ производительности детекторов в стиле YOLO, уделяя особое внимание архитектурной оптимизации с помощью алгоритмов поиска.
Технические детали:
Авторы: Xianzhe Xu, Yiqi Jiang, Weihua Chen, и др.
Организация:Alibaba Group
Дата: 2022-11-23
Arxiv:https://arxiv.org/abs/2211.15444
GitHub:https://github.com/tinyvision/DAMO-YOLO
Документация:https://github.com/tinyvision/DAMO-YOLO/blob/master/README.md
Архитектура и ключевые особенности
DAMO-YOLO исследует передовые методы для улучшения компромисса между скоростью и точностью. Его архитектура характеризуется:
- Поиск нейронной архитектуры (NAS): Backbone DAMO-YOLO был сгенерирован с использованием NAS, что позволило создать высокооптимизированную сеть извлечения признаков, разработанную специально для задач detection.
- Эффективный RepGFPN Neck: Он включает в себя новую конструкцию Feature Pyramid Network (FPN) под названием RepGFPN, которая эффективно объединяет признаки из разных масштабов.
- ZeroHead и AlignedOTA: В модели используется упрощенная головка с нулевым параметром и улучшенная стратегия присвоения меток под названием AlignedOTA (Aligned Optimal Transport Assignment) для повышения точности обнаружения и локализации.
- Дистилляция знаний: DAMO-YOLO использует дистилляцию знаний для дальнейшего повышения производительности своих небольших моделей, обучаясь у более крупных обучающих сетей.
Прямое сравнение производительности
В следующей таблице сравнивается производительность различных размеров моделей YOLOv10 и DAMO-YOLO на COCO dataset. YOLOv10 постоянно демонстрирует превосходную производительность, предлагая более высокую точность с меньшей задержкой и меньшим количеством параметров.
| Модель | размер (пиксели) | 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, как правило, превосходят свои аналоги DAMO-YOLO по эффективности. Например, YOLOv10-S достигает более высокого mAP (46.7 против 46.0), чем DAMO-YOLO-S, при этом значительно быстрее (2.66 мс против 3.45 мс) и имея менее половины параметров (7.2M против 16.3M). Эта тенденция сохраняется для всех размеров моделей, достигая высшей точки в YOLOv10-X, достигающей самого высокого mAP 54.4.
Анализ сильных и слабых сторон
Преимущества YOLOv10
- Современная эффективность: YOLOv10 обеспечивает исключительный баланс скорости и точности, часто превосходя конкурентов с меньшим количеством параметров и меньшей задержкой.
- Простота использования: Модель невероятно удобна в использовании благодаря интеграции с экосистемой Ultralytics.
- Сквозное развертывание: Отсутствие NMS упрощает весь рабочий процесс от обучения до вывода, что делает его идеальным для реальных приложений на периферийных устройствах.
- Более низкие требования к памяти: По сравнению с более сложными архитектурами, YOLOv10 эффективно использует память как во время обучения, так и во время инференса.
Сильные стороны DAMO-YOLO
- Высокая производительность: DAMO-YOLO обеспечивает конкурентоспособную точность и скорость, что делает его сильным претендентом в области обнаружения объектов.
- Инновационные технологии: Он включает в себя передовые исследовательские концепции, такие как NAS и продвинутые стратегии назначения меток, которые ценны для академических исследований.
Слабые стороны
- YOLOv10: Будучи исключительной для object detection, YOLOv10 в настоящее время сосредоточена на этой единственной задаче, в отличие от универсальной Ultralytics YOLO11, которая поддерживает segmentation, classification и оценку позы из коробки.
- DAMO-YOLO: Архитектура и конвейер обучения модели более сложны по сравнению с YOLOv10. Он в основном доступен в рамках определенных исследовательских инструментариев, что может быть препятствием для разработчиков, которые предпочитают более интегрированное и удобное решение, такое как то, которое предлагает Ultralytics.
Преимущество Ultralytics
Несмотря на то, что обе модели впечатляют, модели Ultralytics, такие как YOLOv10 и флагманская YOLO11, предлагают разработчикам и исследователям явное преимущество:
- Унифицированная экосистема: Ultralytics предоставляет единую платформу, где аннотация данных, обучение и развертывание происходят без проблем.
- Простота использования: Благодаря простому Python API вы можете загрузить модель и запустить вывод всего за несколько строк кода.
- Универсальность: Ultralytics поддерживает широкий спектр задач, включая instance segmentation, image classification, pose estimation и Oriented Bounding Boxes (OBB).
- Поддержка сообщества: Активное сообщество и обширная документация гарантируют, что вы никогда не застрянете на проблеме надолго.
Пример использования: YOLOv10 с Ultralytics
Запустить YOLOv10 просто, используя пакет Ultralytics python. Вот как можно загрузить предварительно обученную модель и запустить прогнозирование на изображении:
from ultralytics import YOLO
# Load a pre-trained YOLOv10n model
model = YOLO("yolov10n.pt")
# Perform object detection on an image
results = model("path/to/image.jpg")
# Display the results
results[0].show()
Заключение
И YOLOv10, и DAMO-YOLO являются впечатляющими моделями detect объектов. DAMO-YOLO служит отличным примером для исследований архитектур на основе NAS и продвинутой интеграции признаков. Однако, для практического развертывания и эффективности MLOps, YOLOv10 выделяется как превосходный выбор. Его архитектура без NMS, в сочетании с комплексной экосистемой Ultralytics, гарантирует, что вы сможете перейти от концепции к производству быстрее и с лучшей производительностью.
Для пользователей, которым требуется еще большая универсальность при выполнении различных задач компьютерного зрения, мы настоятельно рекомендуем изучить YOLO11, который определяет современный уровень развития семейства YOLO.
Изучите другие сравнения моделей
Чтобы увидеть, как эти модели соотносятся с другими ведущими архитектурами, ознакомьтесь с этими сравнениями:
- YOLO11 vs. DAMO-YOLO
- YOLOv8 vs. DAMO-YOLO
- RT-DETR против DAMO-YOLO
- YOLOX в сравнении с DAMO-YOLO
- YOLOv10 vs. RT-DETR
- YOLOv10 vs. YOLOX