Перейти к содержанию

YOLO YOLOv10: обзор эволюции обнаружения объектов в реальном времени

Область обнаружения объектов в реальном времени быстро развивается, чему способствует неустанное стремление к снижению задержки и повышению точности. Двумя важными вехами на этом пути являются YOLO, разработанная Alibaba Group, и YOLOv10, созданная исследователями из Университета Цинхуа. В то время какYOLO в эту область передовые технологии поиска нейронных архитектур (NAS), YOLOv10 в процессе развертывания, устранив немаксимальное подавление (NMS). В этом всестороннем сравнении рассматриваются их технические архитектуры, показатели производительности и объясняется, почему новейшие Ultralytics , такие как YOLO26, представляют собой вершину этих достижений для производственных сред.

Сравнение показателей эффективности

В следующей таблице представлено прямое сравнение ключевых показателей производительности. Обратите внимание на разницу в скорости вывода заключений, особенно в тех случаях, когда конструкции NMS способствуют снижению задержки.

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

YOLO: архитектура и методология

YOLO был предложен в ноябре 2022 года исследователями из Alibaba Group. Его цель заключалась в расширении границ производительности за счет интеграции передовых технологий в единую структуру детектора.

  • Авторы: Сяньчжэ Сюй, Ици Цзян, Вэйхуа Чэнь, Илунь Хуан, Юань Чжан и Сююй Сунь
  • Организация: Alibaba Group
  • Дата: 2022-11-23
  • Статья:arXiv:2211.15444
  • GitHub:tinyvision/DAMO-YOLO

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

YOLO использованием нейронного архитектурного поиска (NAS). В отличие от моделей с вручную разработанными базовыми структурами,YOLO метод Method-Awareness Efficient NAS (MAE-NAS) для поиска оптимальных сетевых структур при определенных ограничениях. В результате получается базовая структура, которая является высокоэффективной для конкретного оборудования, для которого она была разработана.

Кроме того, он включает в себя эффективную сеть RepGFPN (Reparameterized Generalized Feature Pyramid Network) для слияния признаков и облегченную головку, известную как «ZeroHead». Важным компонентом стратегии обучения является AlignedOTA, динамический механизм присвоения меток, который обеспечивает улучшенное согласование между задачами классификации и регрессии. Однако для достижения максимальной производительности сYOLO требуется сложный процесс дистилляции, требующий использования тяжелой модели-учителя во время обучения, что может значительно увеличить вычислительную нагрузку по сравнению с подходами «bag-of-freebies», используемыми в YOLOv8.

Сложность обучения

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

YOLOv10: прорыв в области сквозных решений

Выпущен в мае 2024 года Университетом Цинхуа, YOLOv10 ознаменовал собой смену парадигмы, устранив одно из самых давних препятствий в области обнаружения объектов: немаксимальное подавление (NMS).

  • Авторы: Ao Wang, Hui Chen, Lihao Liu, и др.
  • Организация: Университет Цинхуа
  • Дата: 2024-05-23
  • Статья:arXiv:2405.14458
  • GitHub:THU-MIG/yolov10

Архитектурные инновации

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

Кроме того, YOLOv10 целостную модель, ориентированную на эффективность и точность. Она включает в себя легкие классификационные головки, пространственно-канальное декуплированное понижающее преобразование и ранжированный блок-дизайн, что позволяет получить модель, которая меньше и быстрее, чем ее предшественники, такие как YOLOv9 , сохраняя при этом конкурентоспособную точность.

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

Преимущества Ultralytics: Почему стоит выбрать YOLO26?

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

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

YOLO26 является рекомендуемым выбором для новых проектов, предлагая явные преимущества по сравнению с YOLOv10 YOLO чистым YOLOv10 :

  • Сквозной NMS: Как и YOLOv10, YOLO26 является сквозным по своей сути. Он устраняет NMS , что упрощает процессы развертывания и значительно снижает изменчивость задержки.
  • Повышенная стабильность обучения: YOLO26 использует оптимизатор MuSGD, гибрид SGD Muon, вдохновленный обучением больших языковых моделей (LLM). Это нововведение обеспечивает более быструю сходимость и большую стабильность во время обучения, сокращая объем необходимой GPU по сравнению с архитектурами, в которых широко используются трансформаторы.
  • Оптимизация полей: благодаря удалению Distribution Focal Loss (DFL) YOLO26 оптимизирует выходной слой, ускоряя CPU на CPU до 43 %. Это крайне важно для полей, где GPU недоступны.

YOLO26 Технологические прорывы

YOLO26 — это не просто новая версия, а комплексное обновление.

  • ProgLoss + STAL: усовершенствованные функции потери, которые значительно улучшают распознавание мелких объектов, что крайне важно для изображений с дронов и робототехники.
  • Универсальность: в отличие отYOLO, который в первую очередь является детектором, YOLO26 поддерживает оценку позы, сегментацию, классификацию и OBB.

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

Одной из основных проблем, связанных с исследовательскими хранилищами, такими какYOLO сложность настройки и обслуживания. Ultralytics эту проблему с помощью унифицированного Python . Независимо от того, используете ли вы YOLO11, YOLOv10 или YOLO26, рабочий процесс остается неизменным и простым.

Ultralytics (ранее HUB) еще больше ускоряет разработку, предоставляя инструменты для управления наборами данных, автоматической аннотации и экспорта в форматы TensorRT, ONNX и CoreML одним щелчком мыши.

Узнайте больше о YOLO26

Идеальные варианты использования

Выбор подходящей модели зависит от ваших конкретных ограничений:

  • ВыберитеYOLO : Вы проводите исследования в области поиска нейронных архитектур (NAS) или вам требуется специализированная базовая структура для уникальных аппаратных ограничений, для которых стандартные базовые структуры CSP/ELAN являются недостаточными.
  • Выберите YOLOv10 : вам нужен конкретный детектор NMS для академического тестирования или у вас есть устаревшее требование к конкретной архитектуре, предложенной в оригинальной статье Цинхуа.
  • Выберите Ultralytics , если: Вам нужно готовое к производству современное решение. Его конструкцияNMS в сочетании со стабильностью обучения MuSGD и оптимизированной CPU делает его лучшим универсальным решением. Оно особенно превосходно подходит для приложений реального времени в производстве, аналитике розничной торговли и автономных системах, где важны простота развертывания и долгосрочная поддержка.

Пример кода: Запуск YOLOv10 и YOLO26

Ultralytics с невероятной легкостью переключаться между этими архитектурами. Поскольку YOLOv10 в Ultralytics , вы можете протестировать обе модели с минимальными изменениями в коде.

Запуск YOLOv10

from ultralytics import YOLO

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

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

# Show results
results[0].show()

Обучение YOLO26

Чтобы использовать последние достижения YOLO26, такие как оптимизатор MuSGD и ProgLoss, обучение на пользовательском наборе данных не представляет сложности:

from ultralytics import YOLO

# Load the latest YOLO26 model
model = YOLO("yolo26n.pt")

# Train on a custom dataset using the new optimizer settings (auto-configured)
model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Export to ONNX for simplified edge deployment
model.export(format="onnx")

Заключение

YOLO YOLOv10 прогрессу в этой области —YOLO эффективной системе NAS, а YOLOv10 удалению NMS. Однако для разработчиков, которые хотят создать надежные, перспективные приложения в 2026 году, Ultralytics предлагает неоспоримое преимущество. Благодаря сочетанию архитектуры YOLOv10 NMS YOLOv10 превосходной динамикой обучения, более быстрым CPU и непревзойденной поддержкой Ultralytics , YOLO26 является лучшим выбором для профессионалов в области компьютерного зрения.

Для тех, кто заинтересован в изучении предыдущих стабильных поколений, YOLO11 остается полностью поддерживаемой и высокопроизводительной альтернативой.


Комментарии