YOLO-NAS
Vue d'ensemble
Développé par Deci AI, YOLO-NAS est un modèle de base révolutionnaire pour la détection d'objets. Il est le produit 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. Avec des améliorations significatives dans la prise en charge de la quantification et les compromis entre précision et latence, YOLO-NAS représente une avancée majeure dans la détection d'objets.
Aperçu de YOLO-NAS. YOLO-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, subit 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 utilise 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
Fais l'expérience de 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. Choisis parmi une variété d'options adaptées à tes 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 t'aide à optimiser tes tâches de détection d'objets en termes de performance et de rapidité.
Exemples d'utilisation
Ultralytics Les modèles YOLO-NAS s'intègrent facilement dans tes applications Python grâce à nos ultralytics
python paquet. Le progiciel fournit 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 de déduction 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 Exporter. YOLO-NAS sur le ultralytics
ne soutient pas la formation.
PyTorch préformé *.pt
Les fichiers de modèles peuvent être transmis à l'outil 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 Des commandes 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, où les ressources informatiques sont moins contraignantes.
Tu trouveras ci-dessous un aperçu détaillé 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 | Exporter |
---|---|---|---|---|---|---|
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 tu utilises YOLO-NAS dans tes travaux de recherche ou de développement, cite 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 le maintien 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 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 de pointe qui s'appuie sur la technologie avancée Neural Architecture Search (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 de formation 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-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 ?
Tu peux facilement intégrer les modèles YOLO-NAS dans ton application Python à l'aide de la fonction ultralytics
paquet. 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, reporte-toi aux 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 NAS présente plusieurs caractéristiques clés qui en font un choix supérieur pour les tâches de détection d'objets :
- Bloc de base adapté à 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 importants 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, consulte 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, voir 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 tu peux accéder directement. Ces modèles sont pré-entraînés sur des ensembles de données comme COCO, ce qui garantit des performances élevées en termes de vitesse et de précision. Tu peux télécharger ces modèles en utilisant les liens fournis dans la section Modèles pré-entraînés. Voici quelques exemples :