YOLO Vision 2026:

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 в значительной степени полагается на Neural Architecture Search (NAS) для баланса между производительностью и задержкой. Его бэкбон, получивший название MAE-NAS, использует многоцелевой эволюционный поиск при строгих вычислительных ограничениях для нахождения оптимальной глубины и ширины слоев.

Для работы с слиянием признаков в разных масштабах модель использует эффективную сеть RepGFPN (Reparameterized Generalized Feature Pyramid Network). Эта конструкция с утяжеленной шейной частью особенно хорошо справляется с извлечением сложных пространственных иерархий, что делает ее полезной в таких сценариях, как анализ аэрофотоснимков. Кроме того, DAMO-YOLO представляет ZeroHead — оптимизированную голову обнаружения, которая значительно снижает сложность финальных слоев предсказания, полагаясь на надежный процесс улучшения дистилляции во время обучения.

Дистилляционное обучение

DAMO-YOLO часто задействует многоэтапный процесс дистилляции знаний. Для этого требуется обучение более тяжелой модели-"учителя", которая направляет меньшую модель-"ученика", что позволяет получить более высокий показатель mAP (средняя точность), но существенно увеличивает время вычислений на GPU.

Узнай больше о DAMO-YOLO

YOLOv10: Пионер в области end-to-end детекции объектов#

Выпущенная полтора года спустя, YOLOv10 представила парадигмальный сдвиг, полностью устранив необходимость в подавлении немаксимумов (NMS) во время инференса.

Архитектурные особенности#

Отличительной чертой YOLOv10 являются его согласованные двойные назначения для обучения без NMS. Традиционные детекторы предсказывают несколько перекрывающихся ограничивающих рамок (bbox) для одного объекта, требуя NMS для фильтрации дубликатов. Этот этап постобработки создает «бутылочное горлышко», особенно на периферийных устройствах. YOLOv10 решает эту проблему, позволяя модели естественным образом предсказывать одну точную ограничивающую рамку для каждого объекта.

Авторы также сосредоточились на целостном проектировании моделей, ориентированном на эффективность и точность. Тщательно проанализировав вычислительную избыточность в существующих архитектурах, они оптимизировали базовую сеть и голову, чтобы уменьшить количество FLOPs и параметров. Такой легковесный дизайн гарантирует, что YOLOv10 обеспечивает исключительную задержку выводов при экспорте в такие форматы, как TensorRT или OpenVINO.

Узнай больше о YOLOv10

Производительность и бенчмарки#

В таблице ниже приведены основные показатели производительности на наборе данных COCO. Лучшие общие значения в каждом столбце выделены жирным шрифтом.

Модельразмер
(пиксели)
mAPval
50-95
Скорость
CPU ONNX
(мс)
Скорость
T4 TensorRT10
(мс)
параметры
(М)
FLOPs
(Б)
DAMO-YOLOt64042.0-2.328.518.1
DAMO-YOLOs64046.0-3.4516.337.8
DAMO-YOLOm64049.2-5.0928.261.8
DAMO-YOLOl64050.8-7.1842.197.3
YOLOv10n64039.5-1.562.36.7
YOLOv10s64046.7-2.667.221.6
YOLOv10m64051.3-5.4815.459.1
YOLOv10b64052.7-6.5424.492.0
YOLOv10l64053.3-8.3329.5120.3
YOLOv10x64054.4-12.256.9160.4

Хотя DAMO-YOLO держится на уровне с точки зрения точности, YOLOv10 стабильно обеспечивает меньшую задержку и значительно меньший размер весов модели. Например, YOLOv10s достигает немного более высокого mAP (46.7%), чем DAMO-YOLOs (46.0%), используя при этом менее половины параметров (7.2M против 16.3M). Более низкие требования к памяти делают YOLOv10 исключительно универсальным выбором для встраиваемых систем.

Эффективность обучения и удобство использования#

При переходе от академических исследований к производству простота использования имеет первостепенное значение. Многоэтапный процесс дистилляции и сложные конфигурации NAS в DAMO-YOLO могут создать серьезные трудности при освоении для инженерных команд.

Напротив, 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 — сильный выбор для:

  • Высокопроизводительной видеоаналитики: обработки видеопотоков с высоким FPS на фиксированной инфраструктуре NVIDIA GPU, где пропускная способность при batch-1 является основной метрикой.
  • Промышленных производственных линий: сценариев с жесткими ограничениями по задержке GPU на специализированном оборудовании, таких как проверка качества в реальном времени на сборочных линиях.
  • Исследований Neural Architecture Search: изучения влияния автоматизированного поиска архитектуры (MAE-NAS) и эффективных репараметризованных бэкендов на производительность детекции.

Когда стоит выбрать YOLOv10#

YOLOv10 рекомендуется для:

  • Детекции в реальном времени без NMS: Приложения, которым полезна сквозная (end-to-end) детекция без использования Non-Maximum Suppression, что снижает сложность развертывания.
  • Сбалансированного соотношения скорости и точности: Проекты, требующие оптимального баланса между скоростью вывода и точностью детекции для различных масштабов моделей.
  • Приложения с постоянной задержкой: Сценарии развертывания, где предсказуемое время вывода критически важно, например, в robotics или автономных системах.

Когда выбирать Ultralytics (YOLO26)#

Для большинства новых проектов Ultralytics YOLO26 предлагает наилучшее сочетание производительности и удобства для разработчика:

  • Развертывания на периферии без NMS: приложений, требующих стабильного вывода с низкой задержкой без сложности постобработки подавления немаксимумов.
  • Среды только с CPU: устройств без выделенного GPU-ускорения, где до 43% более быстрый вывод на CPU у YOLO26 дает решающее преимущество.
  • Обнаружение малых объектов: Сложные сценарии, такие как aerial drone imagery или анализ с помощью IoT-сенсоров, где ProgLoss и STAL значительно повышают точность для крошечных объектов.

Следующее поколение: знакомься с Ultralytics YOLO26#

Хотя YOLOv10 заложил основу для детектирования без NMS, технология развивалась стремительно. Для современных приложений модель Ultralytics YOLO26 предлагает непревзойденную производительность и удобство использования, беря лучшее от предыдущих поколений и совершенствуя их для промышленного использования.

YOLO26 отличается строго нативным сквозным дизайном, исключая пост-обработку NMS для более простых конвейеров развертывания на периферийных устройствах. Кроме того, удаление функции потерь Distribution Focal Loss (DFL) существенно повысило совместимость с маломощным железом edge AI.

Что касается обучения, YOLO26 представляет MuSGD Optimizer, гибрид, вдохновленный методами обучения больших языковых моделей (LLM). Это обеспечивает более стабильное обучение и быстрый процесс сходимости. В сочетании с функциями потерь ProgLoss + STAL, YOLO26 демонстрирует заметные улучшения в распознавании мелких объектов, что является критически важной функцией для охраны дикой природы и управления дронами.

Что особенно важно, YOLO26 — это не просто детектор объектов. Он предлагает улучшения для конкретных задач по всем направлениям, изначально поддерживая сегментацию экземпляров, оценку позы с использованием оценки остаточного лог-правдоподобия (RLE) и специализированные угловые потери для ориентированных ограничивающих рамок (OBB). Обладая на 43% более быстрым инференсом на CPU по сравнению с предшественниками, это идеальный выбор для гибких инженерных команд.

Для централизованного управления, разметки и облачного обучения моделей YOLO26 платформа Ultralytics предоставляет интуитивно понятный интерфейс, который оптимизирует весь жизненный цикл компьютерного зрения.

Разработчики, заинтересованные в изучении других недавних достижений, также могут оценить Ultralytics YOLO11 или фреймворк RT-DETR на базе трансформеров для сценариев, требующих уникальных архитектурных решений.

Комментарии