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 пакет. Пакет предоставляет удобный API Python для упрощения процесса.
В следующих примерах показано, как использовать модели 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 Команды доступны для прямого запуска моделей:
Поддерживаемые задачи и режимы
Мы предлагаем три варианта моделей 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' 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, что обеспечивает высокую производительность с точки зрения скорости и точности. Вы можете загрузить эти модели по ссылкам, указанным в разделе " Предварительно обученные модели". Вот несколько примеров: