YOLO-NAS#
Обрати внимание, что Deci, первоначальные создатели YOLO-NAS, были приобретены NVIDIA. В результате эти модели больше не поддерживаются активно со стороны Deci. Ultralytics продолжает поддерживать использование этих моделей, но никаких дальнейших обновлений от первоначальной команды не ожидается.
Обзор#
Разработанная Deci AI, YOLO-NAS представляет собой прорывная базовая модель для обнаружения объектов. Это продукт передовой технологии Neural Architecture Search, тщательно разработанный для устранения ограничений предыдущих моделей 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 |
Каждый вариант модели разработан так, чтобы обеспечить баланс между Mean Average Precision (mAP) и задержкой, помогая тебе оптимизировать задачи обнаружения объектов как по производительности, так и по скорости.
Примеры использования#
Ultralytics упростила интеграцию моделей YOLO-NAS в твои приложения на Python с помощью нашего пакета Python ultralytics. Пакет предоставляет удобный API на Python для оптимизации этого процесса.
В следующих примерах показано, как использовать модели YOLO-NAS с пакетом ultralytics для инференса и валидации:
Примеры инференса и валидации#
В этом примере мы валидируем YOLO-NAS-s на наборе данных COCO8.
Этот пример содержит простой код инференса и валидации для YOLO-NAS. Сведения об обработке результатов инференса см. в режиме Predict. Сведения об использовании YOLO-NAS в дополнительных режимах см. в разделах Val и Export. YOLO-NAS в пакете ultralytics не поддерживает обучение.
Предобученные файлы моделей *.pt для PyTorch можно передать в класс 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")Поддерживаемые задачи и режимы#
Мы предлагаем три варианта моделей YOLO-NAS: Small (s), Medium (m) и Large (l). Каждый вариант разработан с учетом различных вычислительных потребностей и требований к производительности:
- YOLO-NAS-s: Оптимизирована для сред с ограниченными вычислительными ресурсами, где эффективность имеет ключевое значение.
- YOLO-NAS-m: Предлагает сбалансированный подход, подходящий для общего обнаружения объектов с более высокой точностью.
- YOLO-NAS-l: Предназначена для сценариев, требующих максимальной точности, где вычислительные ресурсы не являются жестким ограничением.
Ниже приведен подробный обзор каждой модели, включая ссылки на их предварительно обученные веса, поддерживаемые задачи и совместимость с различными рабочими режимами.
| Тип модели | Предобученные веса | Поддерживаемые задачи | Training | Validation | Inference | Экспорт |
|---|---|---|---|---|---|---|
| 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 с ее инновационной архитектурой и превосходными возможностями обнаружения объектов станет критически важным инструментом как для разработчиков, так и для исследователей.
FAQ#
YOLO-NAS, разработанная Deci AI, представляет собой ультрасовременную модель обнаружения объектов, использующую передовую технологию Neural Architecture Search (NAS). Она устраняет ограничения предыдущих моделей YOLO за счет внедрения таких функций, как дружественные к квантованию базовые блоки и сложные схемы обучения. Это приводит к значительному повышению производительности, особенно в средах с ограниченными вычислительными ресурсами. YOLO-NAS также поддерживает квантование, сохраняя высокую точность даже при конвертации в версию INT8, что повышает ее пригодность для производственных сред. Для получения дополнительной информации см. раздел Overview.
Ты можешь легко интегрировать модели 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")Для получения дополнительной информации обратись к разделу Inference and Validation Examples.
YOLO-NAS предлагает несколько ключевых функций, делающих её превосходным выбором для задач обнаружения объектов:
- Базовый блок, дружественный к квантованию: Улучшенная архитектура, которая повышает производительность модели с минимальным падением точности после квантования.
- Сложное обучение и квантование: Использует передовые схемы обучения и методы пост-тренировочного квантования.
- Оптимизация AutoNAC и предварительное обучение: Использует оптимизацию AutoNAC и предварительно обучена на таких известных наборах данных, как COCO, Objects365 и Roboflow 100.
Эти функции способствуют ее высокой точности, эффективной производительности и пригодности для развертывания в производственных средах. Узнай больше в разделе Key Features.
Модели YOLO-NAS поддерживают различные задачи и режимы обнаружения объектов, такие как инференс, валидация и экспорт. Они не поддерживают обучение. Поддерживаемые модели включают YOLO-NAS-s, YOLO-NAS-m и YOLO-NAS-l, каждая из которых адаптирована под различные вычислительные мощности и требования к производительности. Подробный обзор см. в разделе Supported Tasks and Modes.
Да, Ultralytics предоставляет предобученные модели YOLO-NAS, к которым у тебя есть прямой доступ. Эти модели предварительно обучены на таких датасетах, как COCO, что обеспечивает высокую производительность как по скорости, так и по точности. Ты можешь скачать эти модели, используя ссылки, предоставленные в разделе Pretrained Models. Вот несколько примеров: