Formation et déploiement du modèle DL à l'aide de données simulées

Auteurs : Harsh Vardhan Singh , Mayank Mukesh, Anisha Thakkar | Date : 21 March 2023 | Catégorie : Automobile

Introduction

Un pipeline de développement de modèle d'apprentissage profond typique comprend l'acquisition de données, la préparation des données, l'entraînement du modèle, l'analyse comparative des performances du modèle, l'optimisation du modèle et enfin le déploiement du modèle sur l'appareil cible. Étant donné qu'un modèle d'apprentissage profond apprend la représentation directement à partir des données, nous pouvons dire que plus nous avons de données, meilleures sont les performances.

La saisie manuelle d'une telle quantité de données, incluant toutes les variations, est une tâche fastidieuse. En outre, l'annotation d'une telle quantité de données prend beaucoup de temps et demande beaucoup de travail. Pour résoudre ce problème, Nvidia a produit un simulateur (Isaac Simulator) qui peut aider un ingénieur en ML (Machine Learning) à créer facilement de grands ensembles de données annotées.

Pour capturer un ensemble de données d'images à partir du simulateur Isaac, nous importons une scène créée à l'aide de l'outil Blender. Après avoir importé le fichier modèle de la scène et des autres objets requis dans le simulateur, nous pouvons appliquer diverses randomisations de domaine, telles que la texture et l'éclairage, afin d'incorporer les variations du monde réel dans l'ensemble de données. L'ensemble de données généré est ensuite utilisé pour entraîner le modèle DL à l'aide de la boîte à outils TAO fournie par Nvidia. La boîte à outils TAO est une solution unique pour l'entraînement, l'augmentation et l'optimisation du modèle. Il est possible d'exporter le modèle formé à l'aide de la boîte à outils TAO au format .trt ou .plan exécutable sur le serveur d'exécution TensorRT ou Triton. Dans ce blog, nous verrons ces outils en détail et comment nous pouvons les utiliser pour la formation et le déploiement d'un modèle d'apprentissage profond.

Formation et déploiement du modèle DL à l'aide de données simulées

Création de jeux de données

Nous avons créé un ensemble de données d'entraînement synthétiques en utilisant Blender et le simulateur Isaac. Blender est une suite de création 3D libre et gratuite qui prend en charge l'intégralité du pipeline 3D, y compris la modélisation, le truquage, l'animation, la simulation et le rendu. La scène créée à l'aide de Blender est ensuite importée dans le simulateur Isaac. NVIDIA Isaac Sim™ est une application de simulation robotique évolutive et un outil de génération de données synthétiques qui fournit des outils étendus pour la génération de données synthétiques, tels que la randomisation du domaine, l'étiquetage de la vérité terrain, la segmentation et les boîtes de délimitation.

Pour plus de détails sur la génération de données synthétiques à l'aide d'Isaac sim, veuillez consulter le blog suivant : Du concept à la réalisation : Streamlining 3D Scene Creation for Robotics with Nvidia Isaac Sim and Blender (De la conception à la réalisation : rationalisation de la création de scènes 3D pour la robotique avec Nvidia Isaac Sim et Blender)

 

Lorsque nous travaillons avec un système non linéaire tel qu'un AMR, nous devons apporter quelques modifications à l'algorithme du filtre de Kalman. Pour garantir que notre représentation de l'état reste une distribution gaussienne après chaque étape de prédiction et de mise à jour, nous devons linéariser les modèles de mouvement et de mesure. Pour ce faire, nous utilisons des séries de Taylor pour approximer les modèles non linéaires en tant que modèles linéaires. Cette extension du filtre de Kalman est appelée filtre de Kalman étendu.

Modèle de formation utilisant la boîte à outils du TAO

Nvidia propose une solution low-code permettant aux développeurs et aux entreprises d'accélérer les processus d'entraînement et d'optimisation des modèles, appelée TAO toolkit. La boîte à outils TAO aide les débutants en faisant abstraction de la complexité des modèles d'IA et des cadres d'apprentissage profond. Avec le kit d'outils TAO de NVIDIA, nous pouvons utiliser la puissance de l'apprentissage par transfert et affiner les modèles pré-entraînés de NVIDIA avec nos propres données et optimiser le modèle pour l'inférence.

La boîte à outils TAO fournit de nombreux modèles pré-entraînés de vision artificielle pour la détection d'objets, la classification d'images, la segmentation et l'intelligence artificielle des conversations. Les modèles générés avec la boîte à outils TAO sont entièrement compatibles et accélérés pour TensorRT, ce qui garantit des performances d'inférence maximales sans aucun effort supplémentaire.

Notre pipeline de formation exploite la boîte à outils Nvidia TAO pour un développement efficace et rapide du modèle. Le flux de travail, de la génération de données synthétiques au déploiement, est illustré ci-dessous :

Modèle de formation utilisant la boîte à outils du TAO

Lors de l'apprentissage du modèle à l'aide de la boîte à outils TAO, il est important de noter que toutes les ressources/actifs qui seront utilisés tout au long du pipeline TAO seront montés sur le conteneur Docker TAO et seront utilisés à partir de là. Pendant la formation, des variables d'environnement sont créées à la fois pour le chemin du répertoire système (source) et le chemin du conteneur Docker TAO (destination). Le fichier "mount.json" contient les chemins d'accès à la source et à la destination.

Pendant la formation, il est important de conserver les mêmes dimensions dans tous les fichiers de spécification jusqu'à la fin. Toute modification de la dimension entre-temps entraînera des mesures de sortie erronées (précision, rappel, MIOU) et de mauvaises performances du modèle.

Pour la tâche de détection d'objets, nous avons sélectionné DetectNetV2 et l'avons affiné sur des données synthétiques générées par le simulateur Isaac. Le fichier du modèle entraîné est exporté et déployé sur le matériel pour l'inférence. Le schéma fonctionnel du pipeline de formation est représenté ci-dessous :

Formation au modèle à l'aide de la boîte à outils TAO1

Déploiement sur les appareils périphériques

 

Gazebo est un environnement de simulation compatible avec ROS 2 qui offre une grande flexibilité pour tester les systèmes robotiques. Il nous permet d'introduire du bruit dans les capteurs, d'essayer différents coefficients de friction et de réduire la précision de l'encodeur de roue, ce qui nous permet de reproduire des scénarios réalistes qui affecteraient l'estimation de l'état d'un AMR dans le monde réel.

Pour quantifier les performances de la fusion des capteurs, nous pouvons effectuer un test de fermeture de boucle, qui consiste à faire fonctionner l'AMR sur une trajectoire fermée aléatoirement de sorte que les positions initiale et finale de l'AMR soient les mêmes. Nous pouvons ensuite tracer l'estimation de l'état réalisée par l'EKF après fusion des codeurs de l'IMU et des roues et la comparer à l'estimation de l'état réalisée à partir des codeurs de roues bruts. Idéalement, nous voulons que l'état estimé de notre AMR indique x, y et lacet comme (0, 0, 0), respectivement.

Une fois que le modèle atteint la précision souhaitée et passe tous les contrôles de performance, il est exporté dans un fichier .trt ou .plan. Le modèle exporté peut être déployé sur les périphériques Nvidia pour une inférence en temps réel. Le pipeline d'inférence attend les images RVB provenant de la caméra en temps réel et applique le prétraitement requis à l'image pour la rendre compatible avec la taille d'entrée du modèle et atteindre les performances/le débit souhaités. Le schéma fonctionnel ci-dessous décrit le flux d'inférence :

Déploiement sur les appareils périphériques

Conclusion et perspectives d'avenir

Dans ce blog, nous avons vu comment nous pouvons rapidement entraîner un modèle DL sur des données synthétiques et le déployer pour l'inférence en temps réel. Nous avons entraîné le modèle de détection des cartons sur des données synthétiques et obtenu une précision de plus de 90 % dans le monde réel. Dans nos travaux futurs, nous aimerions expérimenter en mélangeant des données synthétiques avec des données réelles et voir comment cela affecte les performances globales du modèle.

Conclusion et perspectives d'avenir

Auteurs

Pallavi Pansare
Pallavi Pansare
ManMohan Tripathi
ManMohan Tripathi

Notre travail

Innover

Transformer.

Échelle

Partenariats

Partenariats pour les appareils
Partenariats numériques
Partenariats de qualité
Partenariats en silicium

Entreprise

Produits et PI