YOLOv10 против DAMO-YOLO: техническое сравнение детекторов объектов в реальном времени

При создании современных конвейеров computer vision выбор правильной архитектуры для обнаружения объектов в реальном времени критически важен. В этом подробном техническом анализе мы рассмотрим архитектуры, показатели производительности и идеальные варианты использования YOLOv10 и DAMO-YOLO. Обе модели представляют собой значительный скачок в возможностях обнаружения объектов, но они используют разные архитектурные пути для достижения своих целей.

Независимо от того, требует ли твой проект развертывания на ограниченном оборудовании edge AI или максимальной точности на облачных GPU, понимание нюансов этих архитектур поможет тебе принять обоснованное решение.

Изучаем YOLOv10

Представленный исследователями из Университета Цинхуа, YOLOv10 совершил революцию в семействе YOLO, внедрив полностью сквозной (end-to-end) подход, что эффективно устранило необходимость в использовании подавления немаксимумов (NMS) во время постобработки.

Подробности YOLOv10:

Ключевые архитектурные особенности

Основная инновация YOLOv10 — это стратегия Consistent Dual Assignments для обучения без NMS. Традиционные детекторы объектов сильно зависят от NMS для фильтрации перекрывающихся ограничивающих рамок, что создает непредсказуемую задержку — значительное «бутылочное горлышко» для приложений реального времени, таких как autonomous vehicles и высокоскоростная робототехника. Предсказывая одну оптимальную ограничивающую рамку для каждого объекта напрямую, YOLOv10 обеспечивает предсказуемую и сверхнизкую задержку вывода.

Кроме того, в модели используется Holistic Efficiency-Accuracy Driven Design. Архитектура оптимизирует различные компоненты, включая легкую классификационную голову и пространственно-канальную несвязанную (decoupled) понижающую дискретизацию, что значительно снижает вычислительную избыточность. Это приводит к созданию архитектуры с меньшим количеством параметров и меньшим количеством FLOPs при сохранении конкурентоспособной mean Average Precision (mAP).

Упрощенный экспорт для производства

Поскольку YOLOv10 удаляет операции NMS из графа вывода, экспорт модели в такие форматы, как ONNX или TensorRT, значительно упрощается, что делает её исключительно подходящей для развертывания на периферийных устройствах.

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

Пример использования

YOLOv10 глубоко интегрирован в экосистему Ultralytics, что делает его невероятно простым в использовании через Ultralytics Python package.

from ultralytics import YOLO

# Load a pre-trained YOLOv10 nano model
model = YOLO("yolov10n.pt")

# Train the model on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference on a test image
results = model("https://ultralytics.com/images/bus.jpg")

# Export the model to TensorRT format
model.export(format="engine", half=True)

Изучаем DAMO-YOLO

Разработанный Alibaba Group, DAMO-YOLO фокусируется на поиске высокоэффективных сетевых структур с помощью автоматизированного поиска нейронных архитектур (NAS), стремясь расширить границы Парето по скорости и точности.

Детали DAMO-YOLO:

Ключевые архитектурные особенности

DAMO-YOLO представляет несколько новых технологий, разработанных для промышленных приложений. Основой модели является ее MAE-NAS Backbone, созданный с помощью многоцелевого эволюционного поиска. Этот автоматизированный процесс находит структуры бэкбона, которые строго придерживаются заранее определенных вычислительных бюджетов, обеспечивая тонкий баланс между точностью и задержкой вывода.

Кроме того, в архитектуре используется «шея» Efficient RepGFPN. Эта пирамида признаков предназначена для улучшения слияния признаков в разных масштабах, что критически важно для таких сложных задач, как aerial imagery analysis, где объекты сильно различаются по размеру. В дополнение к этому, DAMO-YOLO реализует ZeroHead — минималистичную детектирующую голову, которая значительно снижает сложность конечных уровней предсказания, экономя ценное вычислительное время во время вывода.

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

Сравнение производительности

При оценке архитектур обнаружения объектов поиск правильного компромисса между скоростью вывода, эффективностью параметров и точностью обнаружения имеет первостепенное значение. В таблице ниже сравнивается производительность YOLOv10 и DAMO-YOLO для соответствующих размеров моделей.

Модельразмер
(пиксели)
mAPval
50-95
Скорость
CPU ONNX
(мс)
Скорость
T4 TensorRT10
(мс)
параметры
(М)
FLOPs
(Б)
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-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

Как видно из бенчмарков, YOLOv10 неизменно демонстрирует исключительные профили задержки на TensorRT, особенно в своем nano-варианте, требуя значительно меньше параметров и FLOPs, чем сопоставимые модели DAMO-YOLO. Хотя DAMO-YOLO предлагает хороший mAP в своем tiny-варианте, эффективность параметров и задержка вывода семейства YOLOv10 обеспечивают явное преимущество для сред с ограниченными ресурсами.

Варианты использования и рекомендации

Выбор между YOLOv10 и DAMO-YOLO зависит от требований твоего проекта, ограничений развертывания и предпочтений в экосистеме.

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

YOLOv10 — хороший выбор для:

  • Обнаружение в реальном времени без NMS: Приложения, которые выигрывают от комплексного обнаружения без Non-Maximum Suppression, что снижает сложность развертывания.
  • Сбалансированные компромиссы скорости и точности: Проекты, требующие хорошего баланса между скоростью вывода и точностью обнаружения для моделей различных масштабов.
  • Consistent-Latency Applications: Deployment scenarios where predictable inference times are critical, such as robotics or autonomous systems.

Когда выбирать DAMO-YOLO

DAMO-YOLO рекомендуется для:

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

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

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

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

Преимущество Ultralytics

Хотя обе модели технически впечатляют, выбор архитектуры для производства подразумевает взгляд за пределы «голых» метрик. Создание продуктов на основе моделей, которые поддерживаются Ultralytics ecosystem, дает непревзойденные преимущества как разработчикам, так и исследователям.

Простота использования и поддерживаемая экосистема

В отличие от изолированных академических репозиториев, которые часто забрасываются, Ultralytics предлагает надежную, активно поддерживаемую экосистему. Настройка сложных сред для моделей, сильно зависящих от NAS-конвейеров, может быть пугающей. В противовес этому, Ultralytics предоставляет стандартизированный, интуитивно понятный Python API и мощный CLI, подкрепленные обширной документацией. Это радикально сокращает время выхода на рынок для кастомных решений в области компьютерного зрения.

Эффективность обучения и требования к памяти

Обучение больших моделей может быстро стать вычислительно дорогим. Архитектуры Ultralytics YOLO исторически известны низким потреблением памяти CUDA во время обучения и вывода. Эта эффективность позволяет тебе обучать модели на потребительском оборудовании или экономичных облачных инстансах, не сталкиваясь с ошибками нехватки памяти, которые часто возникают при работе с трансформерными моделями, такими как RT-DETR.

Отслеживание экспериментов

Ultralytics поддерживает интеграцию с ведущими MLOps-инструментами. Ты можешь легко отслеживать прогресс обучения своей модели, используя интеграции с Weights & Biases, Comet или ClearML без написания дополнительного шаблонного кода.

Универсальность в задачах

Существенным ограничением многих специализированных моделей обнаружения является их узкая направленность. В рамках экосистемы Ultralytics ты не ограничен только обнаружением объектов. Инструменты плавно расширяются на множество computer vision tasks, включая instance segmentation, image classification, pose estimation и oriented bounding box (OBB) detection.

Взгляд в будущее: эволюция YOLO26

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

Выпущенный как окончательный преемник YOLO11, YOLO26 развивает фундамент без NMS, заложенный YOLOv10, но делает значительно больше шагов вперед.

Основные достижения в YOLO26 включают:

  • До 43% быстрее вывод на CPU: специально оптимизирован для периферийных вычислений и маломощных устройств.
  • Удаление DFL: Distribution Focal Loss был удален, что обеспечивает более простой экспорт и повышенную совместимость с различными целевыми платформами развертывания.
  • Оптимизатор MuSGD: гибрид SGD и Muon, привносящий передовую стабильность обучения LLM и более быструю сходимость прямо в компьютерное зрение.
  • ProgLoss + STAL: значительно улучшенные функции потерь, которые предлагают заметные улучшения в распознавании мелких объектов, что необходимо для таких сценариев, как agriculture и дистанционное зондирование.

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

Комментарии