YOLO Vision 2026 :

YOLO-NAS#

Mise à jour importante

Note que Deci, les créateurs originaux de YOLO-NAS, ont été rachetés par NVIDIA. Par conséquent, ces modèles ne sont plus activement maintenus par Deci. Ultralytics continue de prendre en charge l'utilisation de ces modèles, mais aucune mise à jour supplémentaire de la part de l'équipe d'origine n'est attendue.

Présentation#

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 Neural Architecture Search, méticuleusement conçue pour répondre aux limites des modèles YOLO précédents. Avec des améliorations significatives en matière de support de quantification et de compromis accuracy-latence, YOLO-NAS représente un bond en avant majeur dans la détection d'objets.

YOLO-NAS model accuracy comparison on COCO benchmark Aperçu de YOLO-NAS. YOLO-NAS utilise des blocs conscients de la quantification et une quantification sélective pour des performances optimales. Lorsqu'il est converti en version quantifiée INT8, le modèle subit une baisse de précision minimale, 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 sans précédent et de performances exceptionnelles.

Fonctionnalités clés#

  • Bloc de base compatible avec la quantification : YOLO-NAS introduit un nouveau bloc de base qui est compatible avec la quantification, résolvant ainsi 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 AutoNAC et pré-entraînement : YOLO-NAS utilise l'optimisation AutoNAC et est pré-entraîné sur des jeux de données importants 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écouvre la puissance de la détection d'objets de nouvelle génération avec les modèles YOLO-NAS pré-entraînés 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 :

Performance
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 offrir un équilibre entre le Mean Average Precision (mAP) et la latence, t'aidant à optimiser tes tâches de détection d'objets pour la performance et la vitesse.

Exemples d'utilisation#

Ultralytics a rendu l'intégration des modèles YOLO-NAS facile dans tes applications Python via notre paquet python ultralytics. Le paquet fournit une API Python conviviale pour simplifier 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 un code simple d'inférence et de validation pour YOLO-NAS. Pour gérer les résultats d'inférence, consulte le mode Predict. Pour utiliser YOLO-NAS avec des modes supplémentaires, consulte Val et Export. YOLO-NAS sur le paquet ultralytics ne prend pas en charge l'entraînement.

Les fichiers de modèles pré-entraînés PyTorch *.pt peuvent être passés à la classe NAS() pour créer une instance de modèle en 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")

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 informatiques et de performance :

  • YOLO-NAS-s : Optimisé pour les environnements où les ressources informatiques sont limitées mais où l'efficacité est clé.
  • YOLO-NAS-m : Offre une approche équilibrée, adaptée à la object detection à usage général avec une plus grande précision.
  • YOLO-NAS-l : Conçu pour les scénarios nécessitant la plus grande précision, où les ressources informatiques sont moins une contrainte.

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 différents modes de fonctionnement.

Type de modèlePoids pré-entraînésTâches prises en chargeEntraînementValidationInférenceExporter (Export)
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, merci de citer 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 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é computer vision. 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#

  • YOLO-NAS, développé par Deci AI, est un modèle de détection d'objets de pointe qui exploite la technologie avancée Neural Architecture Search (NAS). Il répond aux limites des modèles YOLO précédents en introduisant des fonctionnalités telles que des blocs de base adaptés à la quantification et des schémas d'entraînement sophistiqués. Il en résulte des améliorations significatives des performances, en particulier dans les environnements aux ressources de calcul limitées. YOLO-NAS prend également en charge la quantification, maintenant une haute précision même lorsqu'il est converti en version INT8, ce qui renforce son adéquation aux environnements de production. Pour plus de détails, consulte la section Overview.

  • Tu peux facilement intégrer des modèles YOLO-NAS dans ton application Python en utilisant le 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
    
    # 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, réfère-toi aux Inference and Validation Examples.

  • YOLO-NAS introduit plusieurs fonctionnalités 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 optimise les performances du modèle avec une baisse minime de la precision après quantification.
    • Entraînement et quantification sophistiqués : Utilise des schémas d'entraînement avancés et des techniques de quantification post-entraînement.
    • Optimisation AutoNAC et pré-entraînement : Utilise l'optimisation AutoNAC et est pré-entraîné sur des jeux de données importants comme COCO, Objects365 et Roboflow 100.

    Ces fonctionnalités contribuent à sa haute précision, à ses performances efficaces et à son aptitude au déploiement dans des environnements de production. En apprends plus dans la section Key Features.

  • Les modèles YOLO-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 l'entraînement. Les modèles pris en charge incluent YOLO-NAS-s, YOLO-NAS-m et YOLO-NAS-l, chacun étant adapté à différentes capacités de calcul et besoins de performance. Pour un aperçu détaillé, réfère-toi à la section Supported Tasks and Modes.

  • 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 tels que COCO, garantissant 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 Pretrained Models. Voici quelques exemples :

Commentaires