DAMO-YOLO против YOLOv10: Эволюция эффективного обнаружения объектов в реальном времени
Область компьютерного зрения стала свидетелем быстрой эволюции архитектур обнаружения объектов в реальном времени. Сравнивая DAMO-YOLO и YOLOv10, мы наблюдаем две различные философии в проектировании моделей: автоматизированный поиск архитектуры против сквозной NMS-free оптимизации. Хотя обе модели расширяют границы точности и скорости, их базовые структуры и идеальные сценарии использования значительно различаются.
DAMO-YOLO: Масштабируемый поиск нейронных архитектур
Разработанный Alibaba Group, DAMO-YOLO стал мощным детектором, ориентированным на использование автоматизированного поиска для достижения структурной эффективности.
- Авторы: Сяньчжэ Сюй, Ици Цзян, Вэйхуа Чэнь, Илунь Хуан, Юань Чжан и Сююй Сунь
- Дата: 23 ноября 2022 г.
- Arxiv:2211.15444v2
- GitHub:tinyvision/DAMO-YOLO
Архитектурные особенности
DAMO-YOLO активно опирается на Neural Architecture Search (NAS) для балансировки производительности и задержки. Ее магистральная сеть, названная MAE-NAS, использует многоцелевой эволюционный поиск в условиях строгих вычислительных бюджетов для нахождения оптимальной глубины и ширины слоев.
Для обработки слияния признаков на разных масштабах модель использует эффективную RepGFPN (Reparameterized Generalized Feature Pyramid Network). Эта архитектура с «тяжелой» шейкой особенно хорошо справляется с извлечением сложных пространственных иерархий, что делает ее полезной в таких сценариях, как анализ аэрофотоснимков. Кроме того, DAMO-YOLO представляет ZeroHead — оптимизированную голову детекции, которая значительно снижает сложность финальных слоев предсказания, полагаясь на надежный процесс усиления дистилляции во время обучения.
Дистилляционное обучение
DAMO-YOLO часто использует многостадийный процесс дистилляции знаний. Он требует обучения более тяжелой модели-«учителя» для направления меньшей модели-«ученика», что позволяет достичь более высокого mAP (средней средней точности), но значительно увеличивает требуемое время вычислений на GPU.
YOLOv10: Пионер сквозного обнаружения объектов
Выпущенный полтора года спустя, YOLOv10 произвел сдвиг парадигмы, полностью устранив необходимость в Non-Maximum Suppression (NMS) во время инференса.
- Авторы: Ao Wang, Hui Chen, Lihao Liu, и др.
- Организация:Университет Цинхуа
- Дата: 23 мая 2024 г.
- Arxiv:2405.14458
- Документация:Ultralytics YOLOv10
Архитектурные особенности
Выдающейся особенностью YOLOv10 являются его согласованные двойные назначения для обучения без NMS. Традиционные детекторы предсказывают несколько перекрывающихся ограничивающих рамок для одного объекта, требуя NMS для фильтрации дубликатов. Этот этап постобработки создает узкое место, особенно на периферийных устройствах. YOLOv10 решает эту проблему, позволяя модели естественным образом предсказывать одну точную ограничивающую рамку для каждого объекта.
Авторы также сосредоточились на целостном подходе к проектированию модели, ориентированном на эффективность и точность. Тщательно проанализировав вычислительную избыточность в существующих архитектурах, они оптимизировали магистральную сеть и голову для уменьшения количества 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.2M против 16.3M). Более низкие требования к памяти делают YOLOv10 исключительно универсальным выбором для встраиваемых систем.
Эффективность обучения и удобство использования
При переходе от академических исследований к производству простота использования имеет первостепенное значение. Многоэтапный процесс дистилляции DAMO-YOLO и сложные конфигурации NAS могут создавать значительные трудности в освоении для инженерных команд.
Напротив, YOLOv10 значительно выигрывает от полной интеграции в Ultralytics Python SDK. Обучение пользовательской модели требует минимального шаблонного кода. 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 — это отличный выбор для:
- Высокопроизводительная видеоаналитика: Обработка видеопотоков с высокой частотой кадров на стационарной инфраструктуре NVIDIA GPU, где пропускная способность при размере пакета 1 является основным показателем.
- Промышленные производственные линии: Сценарии со строгими ограничениями по задержке GPU на специализированном оборудовании, например, контроль качества в реальном времени на сборочных линиях.
- Исследования нейронного поиска архитектуры: Изучение влияния автоматизированного поиска архитектуры (MAE-NAS) и эффективных репараметризованных бэкбонов на производительность detect.
Когда выбирать YOLOv10
YOLOv10 рекомендуется для:
- Обнаружение в реальном времени без NMS: Приложения, выигрывающие от сквозного обнаружения без Non-Maximum Suppression, что снижает сложность развертывания.
- Сбалансированный компромисс между скоростью и точностью: Проекты, требующие оптимального баланса между скоростью инференса и точностью обнаружения для моделей различных масштабов.
- Приложения с предсказуемой задержкой: Сценарии развертывания, где критически важны предсказуемые времена инференса, например, в робототехнике или автономных системах.
Когда выбирать Ultralytics (YOLO26)
Для большинства новых проектов Ultralytics YOLO26 предлагает наилучшее сочетание производительности и удобства для разработчиков:
- Развертывание на периферии без NMS: Приложения, требующие стабильного вывода с низкой задержкой без сложности постобработки методом Non-Maximum Suppression.
- Среды только с CPU: Устройства без выделенного ускорения GPU, где до 43% более быстрая инференция YOLO26 на CPU обеспечивает решающее преимущество.
- Обнаружение мелких объектов: Сложные сценарии, такие как аэрофотосъемка с дронов или анализ данных с IoT-датчиков, где ProgLoss и STAL значительно повышают точность на крошечных объектах.
Следующее поколение: Представляем Ultralytics YOLO26
Хотя YOLOv10 заложила основу для обнаружения без NMS, технология быстро развивалась. Для современных приложений модель Ultralytics YOLO26 предлагает беспрецедентную производительность и удобство использования, взяв лучшее из предыдущих поколений и доработав его для производства.
YOLO26 обладает строго нативной сквозной архитектурой, исключающей постобработку NMS для упрощения конвейеров развертывания на периферийных устройствах. Кроме того, исключение Distribution Focal Loss (DFL) значительно улучшило совместимость с маломощным оборудованием для периферийного ИИ.
Что касается обучения, YOLO26 представляет оптимизатор MuSGD — гибрид, вдохновленный методами обучения больших языковых моделей (LLM). Это обеспечивает более стабильное обучение и более быструю сходимость. В сочетании с функциями потерь ProgLoss + STAL YOLO26 демонстрирует значительные улучшения в распознавании мелких объектов, что является критически важной особенностью для сохранения дикой природы и операций с дронами.
Важно отметить, что YOLO26 — это не просто детектор объектов. Он предлагает общие улучшения, специфичные для задач, нативно поддерживая сегментацию экземпляров, оценку позы с использованием оценки остаточного логарифмического правдоподобия (RLE) и специализированные угловые потери для ориентированных ограничивающих рамок (obb). Благодаря ускорению инференса на CPU до 43% по сравнению с предшественниками, это окончательный выбор для гибких инженерных команд.
Для централизованного управления, аннотирования и облачного обучения моделей YOLO26 Платформа Ultralytics предоставляет интуитивно понятный интерфейс, который оптимизирует весь жизненный цикл компьютерного зрения.
Разработчики, заинтересованные в изучении других недавних достижений, также могут рассмотреть Ultralytics YOLO11 или основанный на трансформерах фреймворк RT-DETR для сценариев, требующих различных архитектурных решений.