YOLO-NAS
Vue d'ensemble
Développé par Deci AI, YOLO-NAS est un modèle fondamental de détection d'objets révolutionnaire. Il est le fruit d'une technologie avancée de recherche d'architecture neuronale, méticuleusement conçue pour répondre aux limites des modèles YOLO précédents. Grâce à des améliorations significatives de la prise en charge de la quantification et des compromis entre précision et latence, YOLO-NAS représente une avancée majeure dans le domaine de la détection d'objets.
Aperçu de YOLO-NAS. YOLO-Le NAS utilise des blocs sensibles à la quantification et une quantification sélective pour des performances optimales. Le modèle, lorsqu'il est converti en sa version quantifiée INT8, ne subit qu'une baisse de précision minimale, ce qui constitue une amélioration significative par rapport aux autres modèles. Ces progrès aboutissent à une architecture supérieure dotée de capacités de détection d'objets sans précédent et de performances exceptionnelles.
Caractéristiques principales
- Bloc de base adapté à la quantification : YOLO-NAS introduit un nouveau bloc de base adapté à la quantification, ce qui permet de remédier à l'une des limitations importantes des modèles YOLO précédents.
- Entraînement et quantification sophistiqués : YOLO-NAS exploite des schémas d'entraînement avancés et une quantification post-entraînement pour améliorer les performances.
- Optimisation et pré-entraînement AutoNAC : YOLO-NAS utilise l'optimisation AutoNAC et est pré-entraîné sur des ensembles de données de premier plan tels que COCO, Objects365 et Roboflow 100. Ce pré-entraînement le rend extrêmement adapté aux tâches de détection d'objets en aval dans les environnements de production.
Modèles pré-entraînés
Découvrez la puissance de la détection d'objets de nouvelle génération avec les modèles pré-entraînés YOLO-NAS fournis par Ultralytics. Ces modèles sont conçus pour offrir des performances de premier ordre en termes de vitesse et de précision. Choisissez parmi une variété d'options adaptées à vos besoins spécifiques :
Modèle | mAP | Temps de latence (ms) |
---|---|---|
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 |
Chaque variante de modèle est conçue pour offrir un équilibre entre la précision moyenne (mAP) et la latence, ce qui vous permet d'optimiser vos tâches de détection d'objets en termes de performances et de rapidité.
Exemples d'utilisation
Ultralytics a rendu les modèles YOLO-NAS faciles à intégrer dans vos applications Python par le biais de notre ultralytics
python paquet. Ce progiciel propose une API Python conviviale pour rationaliser le processus.
Les exemples suivants montrent comment utiliser les modèles YOLO-NAS avec l'option ultralytics
pour l'inférence et la validation :
Exemples d'inférence et de validation
Dans cet exemple, nous validons YOLO-NAS-s sur le jeu de données COCO8.
Exemple
Cet exemple fournit un code simple d'inférence et de validation pour YOLO-NAS. Pour le traitement des résultats de l'inférence, voir Prévoir mode. Pour utiliser YOLO-NAS avec d'autres modes, voir Val et Exportation. YOLO-NAS sur le ultralytics
ne soutient pas la formation.
PyTorch préformé *.pt
peuvent ĂŞtre transmis Ă la fonction NAS()
pour créer une instance de modèle dans 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 sont disponibles pour exécuter directement les modèles :
Tâches et modes pris en charge
Nous proposons trois variantes des modèles YOLO-NAS : Petit (s), Moyen (m) et Grand (l). Chaque variante est conçue pour répondre à des besoins différents en matière de calcul et de performances :
- YOLO-NAS-s : Optimisé pour les environnements où les ressources informatiques sont limitées mais où l'efficacité est essentielle.
- YOLO-NAS-m : Offre une approche équilibrée, adaptée à la détection d'objets à usage général avec une plus grande précision.
- YOLO-NAS-l : Adapté aux scénarios nécessitant la plus grande précision, lorsque les ressources informatiques sont moins contraignantes.
Vous trouverez ci-dessous une présentation détaillée de chaque modèle, y compris des liens vers leurs poids pré-entraînés, les tâches qu'ils prennent en charge et leur compatibilité avec les différents modes de fonctionnement.
Type de modèle | Poids pré-entraînés | Tâches prises en charge | Inférence | Validation | Formation | Exportation |
---|---|---|---|---|---|---|
YOLO-NAS-s | yolo_nas_s.pt | Détection d'objets | ✅ | ✅ | ❌ | ✅ |
YOLO-NAS-m | yolo_nas_m.pt | Détection d'objets | ✅ | ✅ | ❌ | ✅ |
YOLO-NAS-l | yolo_nas_l.pt | Détection d'objets | ✅ | ✅ | ❌ | ✅ |
Citations et remerciements
Si vous utilisez YOLO-NAS dans vos travaux de recherche ou de développement, veuillez citer 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},
}
Nous exprimons notre gratitude à l'équipe SuperGradients de Deci AI pour ses efforts dans la création et la maintenance de cette ressource précieuse pour la communauté de la vision par ordinateur. Nous pensons que YOLO-NAS, avec son architecture innovante et ses capacités supérieures de détection d'objets, deviendra un outil essentiel pour les développeurs et les chercheurs.
FAQ
Qu'est-ce que le YOLO-NAS et quelles sont les améliorations par rapport aux modèles YOLO précédents ?
YOLO-NAS, développé par Deci AI, est un modèle de détection d'objets à la pointe de la technologie qui s'appuie sur la technologie avancée de recherche d'architecture neuronale (NAS). Il s'attaque aux limites des modèles YOLO précédents en introduisant des caractéristiques telles que des blocs de base faciles à quantifier et des schémas d'apprentissage sophistiqués. Il en résulte des améliorations significatives des performances, en particulier dans les environnements où les ressources informatiques sont limitées. YOLO-Le NAS prend également en charge la quantification et conserve une grande précision même lorsqu'il est converti en version INT8, ce qui lui permet de mieux s'adapter aux environnements de production. Pour plus de détails, voir la section Vue d'ensemble.
Comment puis-je intégrer les modèles YOLO-NAS dans mon application Python ?
Vous pouvez facilement intégrer les modèles YOLO-NAS dans votre application Python à l'aide de la fonction ultralytics
paquetage. Voici un exemple simple de chargement d'un modèle pré-entraîné YOLO-NAS et d'inférence :
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")
Pour plus d'informations, voir les exemples d'inférence et de validation.
Quelles sont les principales caractéristiques du YOLO-NAS et pourquoi devrais-je envisager de l'utiliser ?
YOLO-Le système NAS présente plusieurs caractéristiques clés qui en font un choix de premier ordre pour les tâches de détection d'objets :
- Bloc de base facilitant la quantification : Architecture améliorée qui améliore les performances du modèle avec une baisse minimale de la précision après la quantification.
- Formation et quantification sophistiquées : Utilise des schémas de formation avancés et des techniques de quantification post-formation.
- Optimisation et pré-entraînement AutoNAC : Utilise l'optimisation AutoNAC et est pré-entraîné sur des ensembles de données de premier plan tels que COCO, Objects365 et Roboflow 100.
Ces caractéristiques contribuent à sa grande précision, à ses performances efficaces et à son aptitude à être déployé dans des environnements de production. Pour en savoir plus, consultez la section Caractéristiques principales.
Quels sont les tâches et les modes pris en charge par les modèles YOLO-NAS ?
YOLO-Les modèles NAS prennent en charge diverses tâches et modes de détection d'objets, tels que l'inférence, la validation et l'exportation. Ils ne prennent pas en charge la formation. Les modèles pris en charge comprennent YOLO-NAS-s, YOLO-NAS-m et YOLO-NAS-l, chacun adapté à des capacités de calcul et à des besoins de performance différents. Pour une présentation détaillée, reportez-vous à la section Tâches et modes pris en charge.
Existe-t-il des modèles pré-entraînés YOLO-NAS et comment y accéder ?
Oui, Ultralytics fournit des modèles pré-entraînés YOLO-NAS auxquels vous pouvez accéder directement. Ces modèles sont pré-entraînés sur des ensembles de données tels que COCO, ce qui garantit des performances élevées en termes de vitesse et de précision. Vous pouvez télécharger ces modèles en utilisant les liens fournis dans la section Modèles pré-entraînés. Voici quelques exemples :