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

YOLO-NAS

Важное обновление

Обратите внимание, что компания Deci, создатель YOLO-NAS, была приобретена NVIDIA. В результате эти модели больше не поддерживаются компанией Deci. Ultralytics продолжает поддерживать использование этих моделей, но дальнейших обновлений от первоначальной команды не ожидается.

Обзор

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

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

Основные характеристики

  • Блок, дружественный к квантованию: YOLO-NAS представляет новый базовый блок, который является дружественным к квантованию, устраняя одно из существенных ограничений предыдущих моделей YOLO.
  • Сложное обучение и квантование: YOLO-NAS использует передовые схемы обучения и квантование после обучения для повышения производительности.
  • Оптимизация AutoNAC и предварительное обучение: YOLO-NAS использует оптимизацию AutoNAC и предварительно обучен на известных наборах данных, таких как COCO, Objects365 и Roboflow 100. Эта предварительная подготовка делает его чрезвычайно подходящим для последующих задач обнаружения объектов в производственной среде.

Предварительно обученные модели

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

Производительность

МодельmAPЗадержка (мс)
YOLO-NAS S47.53.21
YOLO-NAS M51.555.85
YOLO-NAS L52.227.87
YOLO-NAS S INT-847.032.36
YOLO-NAS M INT-851.03.78
YOLO-NAS L INT-852.14.78

Каждый вариант модели разработан для обеспечения баланса между средней точностью (mAP) и задержкой, помогая вам оптимизировать задачи обнаружения объектов как по производительности, так и по скорости.

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

Ultralytics упростила интеграцию моделей YOLO-NAS в ваши python-приложения через наш ultralytics python package. Пакет предоставляет удобный Python API для оптимизации процесса.

В следующих примерах показано, как использовать модели YOLO-NAS с ultralytics Пакет для инференса и валидации:

Примеры инференса и валидации

В этом примере мы проверяем YOLO-NAS-s на наборе данных COCO8.

Пример

В этом примере представлен простой код для inference и валидации для YOLO-NAS. Информацию об обработке результатов inference см. в разделе Прогнозирование mode. Для использования YOLO-NAS с дополнительными режимами см. Валидация и Экспорт. YOLO-NAS на ultralytics Этот пакет не поддерживает обучение.

PyTorch предварительно обученные *.pt файлы моделей могут быть переданы в NAS() класс для создания экземпляра модели в python:

from ultralytics import NAS

# Load a COCO-pretrained YOLO-NAS-s model
model = NAS("yolo_nas_s.pt")

# Display model information (optional)
model.info()

# Validate the model on the COCO8 example dataset
results = model.val(data="coco8.yaml")

# Run inference with the YOLO-NAS-s model on the 'bus.jpg' image
results = model("path/to/bus.jpg")

Для непосредственного запуска моделей доступны команды CLI:

# Load a COCO-pretrained YOLO-NAS-s model and validate it's performance on the COCO8 example dataset
yolo val model=yolo_nas_s.pt data=coco8.yaml

# Load a COCO-pretrained YOLO-NAS-s model and run inference on the 'bus.jpg' image
yolo predict model=yolo_nas_s.pt source=path/to/bus.jpg

Поддерживаемые задачи и режимы

Мы предлагаем три варианта моделей YOLO-NAS: Small (s), Medium (m) и Large (l). Каждый вариант разработан для удовлетворения различных вычислительных потребностей и потребностей в производительности:

  • YOLO-NAS-s: Оптимизирован для сред, где вычислительные ресурсы ограничены, но эффективность является ключевым фактором.
  • YOLO-NAS-m: Предлагает сбалансированный подход, подходящий для detectирования объектов общего назначения с более высокой точностью.
  • YOLO-NAS-l: Предназначен для сценариев, требующих высочайшей точности, где вычислительные ресурсы менее ограничены.

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

Тип моделиПредварительно обученные весаПоддерживаемые задачиИнференсВалидацияОбучениеЭкспорт
YOLO-NAS-syolo_nas_s.ptОбнаружение объектов
YOLO-NAS-myolo_nas_m.ptОбнаружение объектов
YOLO-NAS-lyolo_nas_l.ptОбнаружение объектов

Цитирование и благодарности

Если вы используете YOLO-NAS в своей исследовательской или опытно-конструкторской работе, пожалуйста, сошлитесь на SuperGradients:

@misc{supergradients,
      doi = {10.5281/ZENODO.7789328},
      url = {https://zenodo.org/records/7789328},
      author = {Aharon,  Shay and {Louis-Dupont} and {Ofri Masad} and Yurkova,  Kate and {Lotem Fridman} and {Lkdci} and Khvedchenya,  Eugene and Rubin,  Ran and Bagrov,  Natan and Tymchenko,  Borys and Keren,  Tomer and Zhilko,  Alexander and {Eran-Deci}},
      title = {Super-Gradients},
      publisher = {GitHub},
      journal = {GitHub repository},
      year = {2021},
}

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

Часто задаваемые вопросы

Что такое YOLO-NAS и как он улучшен по сравнению с предыдущими моделями YOLO?

YOLO-NAS, разработанный Deci AI, — это современная модель detect объектов, использующая передовую технологию поиска нейронной архитектуры (NAS). Она устраняет ограничения предыдущих моделей YOLO, внедряя такие функции, как удобные для квантования базовые блоки и сложные схемы обучения. Это приводит к значительному улучшению производительности, особенно в средах с ограниченными вычислительными ресурсами. YOLO-NAS также поддерживает квантование, сохраняя высокую точность даже при преобразовании в версию INT8, что повышает ее пригодность для производственных сред. Дополнительные сведения см. в разделе Обзор.

Как я могу интегрировать модели YOLO-NAS в мое приложение на python?

Вы можете легко интегрировать модели YOLO-NAS в ваше приложение на python, используя ultralytics пакет. Вот простой пример того, как загрузить предварительно обученную модель YOLO-NAS и выполнить инференс:

from ultralytics import NAS

# Load a COCO-pretrained YOLO-NAS-s model
model = NAS("yolo_nas_s.pt")

# Validate the model on the COCO8 example dataset
results = model.val(data="coco8.yaml")

# Run inference with the YOLO-NAS-s model on the 'bus.jpg' image
results = model("path/to/bus.jpg")

Для получения дополнительной информации обратитесь к разделу Примеры инференса и валидации.

Каковы ключевые особенности YOLO-NAS и почему стоит рассмотреть возможность его использования?

YOLO-NAS представляет несколько ключевых особенностей, которые делают его превосходным выбором для задач detect объектов:

  • Базовый блок, оптимизированный для квантования: Улучшенная архитектура, которая повышает производительность модели с минимальным снижением точности после квантования.
  • Продвинутое обучение и квантование: Использует передовые схемы обучения и методы квантования после обучения.
  • Оптимизация AutoNAC и предварительное обучение: Использует оптимизацию AutoNAC и предварительно обучен на известных наборах данных, таких как COCO, Objects365 и Roboflow 100.

Эти характеристики способствуют высокой точности, эффективной производительности и пригодности для развертывания в производственных средах. Узнайте больше в разделе Основные характеристики.

Какие задачи и режимы поддерживаются моделями YOLO-NAS?

Модели YOLO-NAS поддерживают различные задачи и режимы detect объектов, такие как inference, валидация и экспорт. Они не поддерживают обучение. Поддерживаемые модели включают YOLO-NAS-s, YOLO-NAS-m и YOLO-NAS-l, каждая из которых адаптирована к различным вычислительным мощностям и потребностям в производительности. Подробный обзор см. в разделе Поддерживаемые задачи и режимы.

Существуют ли предварительно обученные модели YOLO-NAS и как я могу получить к ним доступ?

Да, Ultralytics предоставляет предварительно обученные модели YOLO-NAS, к которым вы можете получить прямой доступ. Эти модели предварительно обучены на наборах данных, таких как COCO, что обеспечивает высокую производительность как с точки зрения скорости, так и с точки зрения точности. Вы можете скачать эти модели, используя ссылки, представленные в разделе Pre-trained Models. Вот несколько примеров:



📅 Создано 2 года назад ✏️ Обновлено 1 месяц назад
glenn-jocherRizwanMunawarY-T-GLaughing-qMatthewNoyce

Комментарии