Skip to content

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.

Modèle exemple image 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 n'apporte pas de soutien à 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 :

# 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

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 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 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 :



Créé le 2023-11-12, Mis à jour le 2024-07-04
Auteurs : glenn-jocher (13)

Commentaires