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

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, Deci AI, обнаружение объектов, глубокое обучение, поиск нейронной архитектуры, Ultralytics Python API, модель YOLO, SuperGradients, предварительно обученные модели, базовый блок, дружественный квантованию, продвинутые схемы обучения, посттренировочное квантование, оптимизация AutoNAC, COCO, Objects365, Roboflow 100



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

Комментарии