Ultralytics YOLO27 :
Get Started

YOLO-NAS#

Mise à jour importante

Note que Deci, les créateurs originaux de YOLO-NAS, a été racheté par NVIDIA. Par conséquent, Deci n’assure plus la maintenance active de ces modèles. Ultralytics continue de prendre en charge leur utilisation, mais aucune autre mise à jour de l’équipe d’origine n’est prévue.

Présentation#

Développé par Deci AI, YOLO-NAS est un modèle fondamental révolutionnaire pour la détection d’objets. Il est le fruit d’une technologie avancée de recherche d’architecture neuronale, soigneusement conçue pour remédier aux limites des précédents modèles YOLO. Avec des améliorations significatives de la prise en charge de la quantification et du compromis entre précision et latence, YOLO-NAS représente une avancée majeure en détection d’objets.

Comparaison de la précision des modèles YOLO-NAS sur le benchmark COCO Présentation de YOLO-NAS. YOLO-NAS utilise des blocs sensibles à la quantification ainsi qu’une quantification sélective pour offrir des performances optimales. Lorsque le modèle est converti en version quantifiée INT8, la perte de précision est minime, ce qui constitue une amélioration significative par rapport aux autres modèles. Ces avancées aboutissent à une architecture supérieure, dotée de capacités de détection d’objets inédites et de performances exceptionnelles.

Fonctionnalités clés#

  • Bloc de base adapté à la quantification : YOLO-NAS introduit un nouveau bloc de base adapté à la quantification, qui remédie à l’une des principales limites des précédents modèles YOLO.
  • Entraînement et quantification avancés : YOLO-NAS exploite des stratégies d’entraînement avancées et la quantification après entraînement pour améliorer les performances.
  • Optimisation AutoNAC et préentraînement : YOLO-NAS utilise l’optimisation AutoNAC et est préentraîné sur des jeux de données de premier plan comme COCO, Objects365 et Roboflow 100. Ce préentraînement le rend particulièrement adapté aux tâches de détection d’objets en aval dans les environnements de production.

Modèles préentraînés#

Découvre la puissance de la détection d’objets de nouvelle génération avec les modèles YOLO-NAS préentraînés proposés par Ultralytics. Ces modèles sont conçus pour offrir des performances de premier ordre en matière de vitesse comme de précision. Choisis parmi plusieurs options adaptées à tes besoins spécifiques :

Performances
ModèlemAPLatence (ms)
YOLO-NAS S47.53.21
YOLO-NAS M51.555.85
YOLO-NAS L52.227.87
YOLO-NAS S INT-847.032.36
YOLO-NAS M INT-851.03.78
YOLO-NAS L INT-852.14.78

Chaque variante de modèle est conçue pour équilibrer la précision moyenne moyenne (mAP) et la latence, afin de t’aider à optimiser tes tâches de détection d’objets en matière de performances et de vitesse.

Exemples d'utilisation#

Ultralytics facilite l’intégration des modèles YOLO-NAS dans tes applications Python grâce à notre paquet Python ultralytics. Ce paquet fournit une API Python conviviale qui simplifie le processus.

Les exemples suivants montrent comment utiliser les modèles YOLO-NAS avec le paquet 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 du code simple pour l’inférence et la validation avec YOLO-NAS. Pour traiter les résultats d’inférence, consulte le mode Predict. Pour utiliser YOLO-NAS avec d’autres modes, consulte Val et Export. YOLO-NAS avec le paquet ultralytics ne prend pas en charge l’entraînement.

Les fichiers de modèle *.pt préentraînés avec PyTorch peuvent être transmis à la classe NAS() pour créer une instance de modèle en Python :

from ultralytics import NAS

# Charger un modèle YOLO-NAS-s préentraîné sur COCO
model = NAS("yolo_nas_s.pt")

# Afficher les informations du modèle (facultatif)
model.info()

# Valider le modèle sur le jeu de données d’exemple COCO8
results = model.val(data="coco8.yaml")

# Lancer l’inférence avec le modèle YOLO-NAS-s sur l’image 'bus.jpg'
results = model("path/to/bus.jpg")

Tâches et modes pris en charge#

Nous proposons trois variantes des modèles YOLO-NAS : Small (s), Medium (m) et Large (l). Chaque variante est conçue pour répondre à différents besoins en matière de calcul et de performances :

  • YOLO-NAS-s : optimisé pour les environnements où les ressources de calcul 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 précision accrue.
  • YOLO-NAS-l : adapté aux scénarios exigeant une précision maximale, où les ressources de calcul sont moins limitées.

Voici un aperçu détaillé de chaque modèle, avec des liens vers ses poids préentraînés, les tâches prises en charge et sa compatibilité avec les différents modes de fonctionnement.

Type de modèlePoids préentraînésTâches prises en chargeEntraînementValidationInférenceExport
YOLO-NAS-syolo_nas_s.ptDétection d'objets❌✅✅✅
YOLO-NAS-myolo_nas_m.ptDétection d'objets❌✅✅✅
YOLO-NAS-lyolo_nas_l.ptDétection d'objets❌✅✅✅

Citations et remerciements#

Si tu utilises YOLO-NAS dans tes travaux de recherche ou de développement, cite SuperGradients :

Citation
@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},
}

Nous remercions l’équipe SuperGradients de Deci AI pour ses efforts consacrés à la création et à la maintenance de cette ressource précieuse pour la communauté de la vision par ordinateur. Nous pensons que YOLO-NAS, grâce à son architecture innovante et à ses capacités supérieures de détection d’objets, deviendra un outil essentiel pour les développeurs comme pour les chercheurs.

FAQ#

  • YOLO-NAS, développé par Deci AI, est un modèle de détection d’objets de pointe qui exploite la technologie avancée de recherche d’architecture neuronale (NAS). Il remédie aux limites des précédents modèles YOLO en introduisant des fonctionnalités comme des blocs de base adaptés à la quantification et des stratégies d’entraînement avancées. Il en résulte des améliorations significatives des performances, notamment dans les environnements où les ressources de calcul sont limitées. YOLO-NAS prend également en charge la quantification et conserve une grande précision même après sa conversion en version INT8, ce qui le rend encore plus adapté aux environnements de production. Pour plus de détails, consulte la section Présentation.

  • Tu peux facilement intégrer les modèles YOLO-NAS à ton application Python à l’aide du paquet ultralytics. Voici un exemple simple montrant comment charger un modèle YOLO-NAS préentraîné et effectuer une inférence :

    from ultralytics import NAS
    
    # Charger un modèle YOLO-NAS-s préentraîné sur COCO
    model = NAS("yolo_nas_s.pt")
    
    # Valider le modèle sur le jeu de données d’exemple COCO8
    results = model.val(data="coco8.yaml")
    
    # Lancer l’inférence avec le modèle YOLO-NAS-s sur l’image 'bus.jpg'
    results = model("path/to/bus.jpg")

    Pour en savoir plus, consulte les exemples d’inférence et de validation.

  • YOLO-NAS offre plusieurs fonctionnalités clés qui en font un excellent choix pour les tâches de détection d’objets :

    • Bloc de base adapté à la quantification : architecture améliorée qui renforce les performances du modèle avec une perte de précision minimale après quantification.
    • Entraînement et quantification avancés : utilise des stratégies d’entraînement avancées et des techniques de quantification après entraînement.
    • Optimisation AutoNAC et préentraînement : utilise l’optimisation AutoNAC et est préentraîné sur des jeux de données de premier plan comme COCO, Objects365 et Roboflow 100.

    Ces fonctionnalités contribuent à sa grande précision, à ses performances efficaces et à son adéquation au déploiement en production. Pour en savoir plus, consulte la section Fonctionnalités clés.

  • Les modèles YOLO-NAS prennent en charge diverses tâches et différents modes de détection d’objets, comme l’inférence, la validation et l’exportation. Ils ne prennent pas en charge l’entraînement. Les modèles pris en charge comprennent YOLO-NAS-s, YOLO-NAS-m et YOLO-NAS-l, chacun étant adapté à différentes capacités de calcul et exigences de performance. Pour obtenir une présentation détaillée, consulte la section Tâches et modes pris en charge.

  • Oui, Ultralytics fournit des modèles YOLO-NAS préentraînés auxquels tu peux accéder directement. Ces modèles sont préentraînés sur des jeux de données comme COCO, ce qui leur garantit de hautes performances en matière de vitesse et de précision. Tu peux télécharger ces modèles à l’aide des liens fournis dans la section Modèles préentraînés. En voici quelques exemples :

Commentaires