YOLO-NAS est le summum des modèles de détection d'objets de la série YOLO. Mais pourquoi est-il considéré comme le meilleur ?

Après YOLOv8, il existe encore un nouveau et meilleur modèle de détection d'objets à la pointe de la technologie, YOLO-NAS. Il s'agit d'un algorithme de détection d'objets développé par Deci AI pour s'attaquer aux limitations des précédents modèles YOLO (You Only Look Once).

Le modèle est construit à partir d'AutoNAC, un moteur de recherche d'architecture neuronale. Il surpasse la vitesse et les performances des modèles SOTA, ce qui représente un grand pas en avant dans la détection d'objets en améliorant les compromis précision-latence et prise en charge de la quantification.

Cet article discutera des points forts et des caractéristiques de YOLO-NAS, en explorant pourquoi il s'agit du meilleur modèle de détection d'objets de la série YOLO.

Comprendre le fonctionnement de YOLO-NAS

AutoNAC (Automated Neural Architecture Construction) de Deci génère l'architecture de YOLO-NAS. AutoNAC est un processus transparent qui améliore les performances des réseaux de neurones profonds existants.

Le pipeline AutoNAC utilise un réseau neuronal profond formé par l'utilisateur comme entrée, un ensemble de données et un accès à un système d'inférence. Le réseau neuronal profond formé par l'utilisateur subit ensuite une refonte à l'aide du pipeline. Une architecture optimisée avec une latence plus faible est alors obtenue sans compromettre la précision.

YOLO-NAS utilise RepVGG. RepVGG le met à disposition pour une optimisation post-formation par reparamétrisation ou quantification post-formation. Il s'agit d'un type d'architecture de réseau neuronal basé sur VGG. Il utilise des techniques de régularisation conçues pour améliorer la capacité de généralisation des modèles d'apprentissage en profondeur.

La conception de l'architecture est plus efficace en termes de vitesse et de mémoire. RepVGG suit une formation utilisant une architecture multi-branches pour obtenir une inférence plus rapide. Il est ensuite converti en une seule branche à l'aide d'un nouveau paramétrage.

Cette fonctionnalité rend YOLO-NAS très utile pour le déploiement en production. En effet, il est possible de former et d'optimiser le modèle avec une précision totale pour la vitesse d'inférence et l'utilisation de la mémoire.

Principales caractéristiques de YOLO-NAS

Les fonctionnalités clés de YOLO-NAS sont les suivantes :

  • Formation sensible à la quantification: Le modèle utilise QSP et QCI (modules compatibles avec la quantification) pour réduire la perte de précision lors de la quantification post-formation en combinant le re-paramétrage de la quantification 8 bits.
  • Conception d'architecture automatique: AutoNAC, la technologie NAS propriétaire de Deci, recherche une architecture de modèle optimale qui intègre les architectures fondamentales des modèles YOLO pour proposer un modèle optimisé.
  • Technique de quantification hybride: La méthode de quantification standard affecte l'ensemble du modèle. En revanche, la technique de quantification hybride quantifie une section d'un modèle pour équilibrer la latence et la précision du modèle.
  • Utilisez des approches uniques pour préparer le modèle pour la formation en utilisant des données étiquetées automatiquement. Le modèle apprend alors de ses prédictions et accède à de grandes quantités de données.

Analyse comparative: YOLO-NAS vs autres modèles YOLO

Vous trouverez ci-dessous une comparaison entre différents modèles de la série YOLO.

YOLO-NAS est meilleur que les modèles de détection d'objets préexistants, mais il a ses inconvénients. Voici une liste des avantages et des inconvénients de YOLO-NAS :

Avantages

  • Il est open-source.
  • Il est 10 à 20 % plus rapide que les modèles YOLO préexistants.
  • Il est plus précis par rapport aux modèles YOLO préexistants.
  • Il utilise une meilleure architecture, AutoNAC. Cela établit un nouveau record dans la détection d'objets, offrant les meilleures performances de précision et de latence.
  • Prise en charge transparente des moteurs d'inférence tels que NVIDIA. Cette caractéristique en fait un modèle prêt pour la production.
  • Il a une meilleure efficacité de la mémoire et des vitesses d'inférence accrues.

Les inconvénients

  • Ce n'est pas encore stable car la technologie est encore nouvelle et n'a pas été largement utilisée dans la production.

Implémentation de YOLO-NAS

Vous utiliserez Colab Google pour écrire et exécuter les codes dans cette implémentation. Une alternative à Google Colab serait de créer un environnement virtuel et utiliser un IDE sur votre machine locale.

Le modèle est très gourmand en ressources. Assurez-vous d'avoir au moins 8 Go de RAM avant de l'exécuter sur votre machine. Plus la taille de la vidéo est grande, plus elle utilise de mémoire.

Installation des dépendances

Installez la dépendance YOLO-NAS, super-dégradés en utilisant la commande ci-dessous :

pip install super-gradients==3.1.2

Après une installation réussie, vous pourrez maintenant former le modèle YOLO-NAS.

Formation de modèle

Pour entraîner le modèle, exécutez le bloc de code ci-dessous :

depuis super_gradients.training importer des modèles
yolo_nas_l = modèles.get("yolo_nas_l", pretrained_weights="coco")

Vous importez le modèle de formation à partir de la bibliothèque SuperGradients installée dans ce code. Vous utilisez ensuite les poids de modèle pré-formés à partir de l'ensemble de données COCO.

Inférence de modèle

L'inférence de modèle a des applications potentielles pour les tâches de détection, de classification et de segmentation d'images.

Dans ce cas, vous vous concentrerez sur tâche de détection d'objet pour les vidéos et les images. Pour détecter un objet dans une image, exécutez le bloc de code ci-dessous :

URL = "chemin_img"
yolo_nas_l.predict (url, conf=0.25).montrer()

Assurez-vous d'utiliser le chemin d'accès précis à votre image. Dans ce cas, téléchargez l'image sur l'environnement Google Colab, puis copiez le chemin de l'image.

Production attendue:

Pour détecter des objets dans une vidéo, exécutez le bloc de code ci-dessous :

importer torche

input_video_path = "chemin_vers_vidéo"
output_video_path = "détecté.mp4"
appareil = 'cuda'si torche.cuda.is_available() autre"CPU"
yolo_nas_l.to (appareil).predict (input_video_path).save (output_video_path)

Comme les données d'image, téléchargez la vidéo dont vous souhaitez que ses objets soient détectés dans l'environnement Google Colab et copiez le chemin d'accès à la variable vidéo. La vidéo prédite sera accessible depuis l'environnement Google Colab en utilisant le nom détecté.mp4. Téléchargez la vidéo sur votre machine locale avant de terminer votre session.

Production attendue:

YOLO-NAS prend également en charge le réglage fin du modèle et la formation sur des données personnalisées. La documentation est disponible sur Décis cahier de démarrage de mise au point.

Applications réelles de YOLO-NAS

Le code source de YOLO-NAS est accessible sous Apache License 2.0, qui est accessible pour une utilisation non commerciale. Pour une utilisation commerciale, le modèle doit subir un recyclage à partir de zéro pour obtenir des poids personnalisés.

C'est un modèle polyvalent dont l'application est possible dans plusieurs domaines, tels que :

Véhicules autonomes et robotique

YOLO-NAS peut améliorer les capacités de perception des véhicules autonomes, leur permettant de détecter et de suivre des objets plus rapidement et plus précisément en temps réel. Cette capacité contribue à assurer la sécurité routière et une expérience de conduite fluide.

Systèmes de surveillance et de sécurité

Le modèle peut fournir une détection d'objets rapide, précise et en temps réel pour la surveillance et la sécurité systèmes, ce qui aide à identifier les menaces potentielles ou les activités suspectes, ce qui améliore la sécurité systèmes

Vente au détail et gestion des stocks

Le modèle peut fournir des capacités de détection d'objets rapides et précises qui permettent une gestion automatisée des stocks, un suivi des stocks et une optimisation des étagères efficaces et en temps réel. Ce modèle permet de réduire les coûts d'exploitation et d'augmenter les profits.

Santé et imagerie médicale

Dans le domaine de la santé, YOLO-NAS est capable d'aider à la détection et à l'analyse efficaces d'anomalies de la maladie ou de domaines d'intérêt spécifiques. Le modèle peut aider les médecins à diagnostiquer avec précision les maladies et à surveiller les patients, améliorant ainsi le secteur de la santé.

YOLO-NAS À emporter

YOLO-NAS est un nouveau modèle de détection d'objets pionnier d'une nouvelle façon d'effectuer la détection d'objets. C'est mieux que les modèles SOTA. Ses performances en matière de détection d'objets constituent un grand pas en avant pour les projets de vision par ordinateur.