YOLO-NAS
Важное обновление
Обратите внимание, что компания Deci, создатели YOLO-NAS, была приобретена NVIDIA. В результате эти модели больше не поддерживаются Deci. Ultralytics продолжает поддерживать использование этих моделей, но дальнейших обновлений от первоначальной команды не ожидается.
Обзор
YOLO-NAS, разработанная Deci AI, — это новаторская базовая модель обнаружения объектов. Это продукт передовой технологии поиска нейронной архитектуры, тщательно разработанной для устранения ограничений предыдущих моделей YOLO. Благодаря значительным улучшениям в поддержке квантования и компромиссам между точностью и задержкой, YOLO-NAS представляет собой большой скачок в обнаружении объектов.
Обзор YOLO-NAS. YOLO-NAS использует блоки с учетом квантования и селективное квантование для достижения оптимальной производительности. При преобразовании модели в квантованную версию INT8 происходит минимальное снижение точности, что является значительным улучшением по сравнению с другими моделями. Эти усовершенствования приводят к созданию превосходной архитектуры с беспрецедентными возможностями обнаружения объектов и выдающейся производительностью.
Основные характеристики
- Базовый блок, оптимизированный для квантования: YOLO-NAS представляет новый базовый блок, оптимизированный для квантования, что устраняет одно из существенных ограничений предыдущих моделей YOLO.
- Продвинутое обучение и квантование: YOLO-NAS использует передовые схемы обучения и квантование после обучения для повышения производительности.
- AutoNAC Optimization и предварительное обучение: 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 package. Пакет предоставляет удобный 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/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, — это современная модель обнаружения объектов, использующая передовую технологию Neural Architecture Search (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 Optimization и предварительное обучение: Использует оптимизацию AutoNAC и предварительно обучена на известных наборах данных, таких как COCO, Objects365 и Roboflow 100.
Эти характеристики способствуют высокой точности, эффективной производительности и пригодности для развертывания в производственных средах. Узнайте больше в разделе Основные характеристики.
Какие задачи и режимы поддерживаются моделями YOLO-NAS?
Модели YOLO-NAS поддерживают различные задачи и режимы обнаружения объектов, такие как инференс, валидация и экспорт. Они не поддерживают обучение. Поддерживаемые модели включают YOLO-NAS-s, YOLO-NAS-m и YOLO-NAS-l, каждая из которых адаптирована к различным вычислительным мощностям и потребностям в производительности. Подробный обзор представлен в разделе Поддерживаемые задачи и режимы.
Доступны ли предварительно обученные модели YOLO-NAS и как я могу получить к ним доступ?
Да, Ultralytics предоставляет предварительно обученные модели YOLO-NAS, к которым вы можете получить прямой доступ. Эти модели предварительно обучены на наборах данных, таких как COCO, что обеспечивает высокую производительность с точки зрения скорости и точности. Вы можете скачать эти модели, используя ссылки, представленные в разделе «Предварительно обученные модели». Вот несколько примеров: