Перейти к содержимому

YOLO-NAS

Обзор

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

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

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

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

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

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

Модель mAP Латентность (мс)
YOLO-NAS S 47.5 3.21
YOLO-NAS M 51.55 5.85
YOLO-NAS L 52.22 7.87
YOLO-NAS S INT-8 47.03 2.36
YOLO-NAS M INT-8 51.0 3.78
YOLO-NAS L INT-8 52.1 4.78

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

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

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

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

Примеры умозаключений и проверок

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

Пример

В этом примере приведен простой код вывода и проверки для YOLO-NAS. О том, как работать с результатами проверки, см. Предсказывай режим. Об использовании 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: Предлагает сбалансированный подход, подходящий для обнаружения объектов общего назначения с более высокой точностью.
  • YOLO-NAS-l: Предназначен для сценариев, требующих максимальной точности, где вычислительные ресурсы не так сильно ограничены.

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

Тип модели Предварительно обученные веса Поддерживаемые задачи Заключение Валидация Тренировка Экспорт
YOLO-NAS-s yolo_nas_s.pt Обнаружение объектов
YOLO-NAS-m yolo_nas_m.pt Обнаружение объектов
YOLO-NAS-l yolo_nas_l.pt Обнаружение объектов

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

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

@misc{supergradients,
      doi = {10.5281/ZENODO.7789328},
      url = {https://zenodo.org/record/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},
}

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

ВОПРОСЫ И ОТВЕТЫ

Что такое YOLO-NAS и чем она лучше предыдущих моделей YOLO ?

YOLO-NAS, разработанная Deci AI, - это современная модель обнаружения объектов, использующая передовую технологию нейронной архитектуры поиска (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 представляет несколько ключевых особенностей, которые делают его превосходным выбором для задач обнаружения объектов:

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

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

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

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

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



Создано 2023-11-12, Обновлено 2024-07-04
Авторы: glenn-jocher (13)

Комментарии