Lors de la conférence GTC qui s'est tenue en septembre, Gautham Sholingar, chef de produit NVIDIA, a donné une introduction complète aux derniers progrès et développements de NVIDIA en matière de formation aux scénarios à longue traîne au cours de l'année écoulée avec le titre « Génération de données synthétiques : accélérer le développement et la vérification de l'auto-évaluation. Conduite de véhicules" Des expériences pertinentes, en particulier, explorent comment les développeurs peuvent utiliser DRIVE Replicator pour générer divers ensembles de données synthétiques et des étiquettes de données précises sur le terrain afin d'accélérer le développement et la vérification des véhicules autonomes. La conférence était pleine d'informations utiles et a suscité une large attention et de nombreux débats dans l'industrie. Cet article résume et organise l'essentiel de ce partage pour aider chacun à mieux comprendre DRIVE Replicator et la génération de données synthétiques des algorithmes de perception de la conduite autonome.
Figure 1
Au cours de l'année écoulée, NVIDIA a réalisé des progrès positifs dans l'utilisation de DRIVE Replicator pour générer des ensembles de données synthétiques destinés à entraîner des algorithmes de perception de la conduite autonome. La figure 1 montre certains des défis des scénarios à longue traîne que NVIDIA résout actuellement :
Les fonctions ci-dessus sont implémentées via NVIDIA DRIVE Replicator.
DRIVE Replicator fait partie de la suite d'outils DRIVE Sim et peut être utilisé pour la simulation de conduite autonome.
DRIVE Sim est un simulateur de voiture autonome de pointe construit par NVIDIA basé sur Omniverse, qui peut effectuer une simulation de capteur physiquement précise à grande échelle. Les développeurs peuvent exécuter des simulations reproductibles sur un poste de travail, puis passer en mode batch dans le centre de données ou le cloud. DRIVE Sim est une plate-forme modulaire construite sur de puissants standards ouverts tels que USD, permettant aux utilisateurs d'introduire leurs propres fonctionnalités via les extensions Omniverse.
DRIVE Sim comprend plusieurs applications telles que DRIVE Replicator. DRIVE Replicator fournit principalement une série de fonctions axées sur la génération de données synthétiques pour la formation et la vérification des algorithmes des véhicules autonomes. DRIVE Sim et DRIVE Constellation prennent également en charge la simulation de conduite autonome complète à tous les niveaux, y compris les tests logiciels dans la boucle, matériel dans la boucle et d'autres tests de simulation dans la boucle (modèles, usines, humains, et plus).
La différence entre DRIVE Sim et les outils de simulation de conduite autonome traditionnels est que lors de la création d'ensembles de données synthétiques, les outils de simulation de conduite autonome traditionnels sont souvent combinés avec des moteurs de jeux professionnels pour restituer des scènes suffisamment réalistes. Cependant, pour la simulation de conduite autonome, cela est loin d’être suffisant et des exigences fondamentales, notamment la précision physique, la répétabilité et l’échelle, doivent être satisfaites.
Figure 2
Avant de présenter davantage DRIVE Replicator, permettez-moi d'abord de vous présenter plusieurs concepts connexes (Figure 2), en particulier Omniverse, pour vous aider à mieux comprendre la technologie sous-jacente liée à la prise en charge de DRIVE Replicator.
Tout d’abord, découvrez Omniverse, le moteur de simulation à grande échelle de NVIDIA. Omniverse est construit sur USD (Universal Scene Description, un langage universel extensible pour décrire des mondes virtuels) développé par Pixar. USD est une source unique de données de valeur de vérité pour l'ensemble de la simulation et tous les aspects de la simulation (y compris les capteurs et l'environnement 3D). Ces scènes entièrement construites via USD permettent aux développeurs d'avoir un accès hiérarchique à chaque élément de la simulation et de générer divers éléments. Les données pour la génération ultérieure jettent les bases d’un ensemble de données synthétiques spécialisées.
Deuxièmement, Omniverse fournit des effets de traçage de rayons en temps réel pour prendre en charge les capteurs dans DRIVE Sim. RTX est l'une des avancées importantes de NVIDIA en matière de graphisme informatique, tirant parti d'une API de traçage de rayons optimisée qui se concentre sur la précision physique pour garantir un comportement complexe des caméras, du lidar, du radar à ondes millimétriques et des capteurs à ultrasons tels que les réflexions multiples, les effets de trajets multiples, l'obturateur roulant et distorsion de l'objectif) sont modélisés nativement.
Troisièmement, NVIDIA Omniverse est une plate-forme ouverte facilement évolutive conçue pour la collaboration virtuelle et la simulation en temps réel physiquement précise. Elle peut exécuter des flux de travail dans le cloud ou dans un centre de données, et peut réaliser un rendu et une génération de données parallèles multi-GPU et nœuds.
Quatrièmement, Omniverse et DRIVE Sim adoptent des conceptions ouvertes et modulaires, et un vaste écosystème de partenaires s'est formé autour de cette plateforme. Ces partenaires peuvent fournir des matériaux 3D, des capteurs, des modèles de véhicules et de trafic, des outils de vérification, etc.
Cinquièmement, le cœur de la collaboration Omniverse est que Nucleus dispose de fonctions de stockage de données et de contrôle d'accès, et il peut servir d'entrepôt de contenu centralisé. plusieurs utilisateurs. , prend en charge DRIVE Sim pour découpler l'exécution du contenu, améliorer le contrôle de version et créer un point de référence unique pour toutes les séquences, scènes et métadonnées.
DRIVE Sim est une plateforme NVIDIA adopte une démarche de coopération écologique pour construire cette plateforme, permettant aux partenaires de contribuer à cette plateforme universelle. À l'heure actuelle, DRIVE Sim a établi un vaste écosystème de partenaires, couvrant les actifs 3D, les modèles de capteurs environnementaux, la vérification et d'autres domaines. Avec le SDK DRIVE Sim, les partenaires peuvent facilement introduire leurs propres modèles de capteurs, de trafic et de dynamique des véhicules et étendre leurs capacités de simulation de base. Les développeurs peuvent non seulement écrire des extensions dans Omniverse et ajouter facilement de nouvelles fonctionnalités, mais également profiter des avantages du développement sur une plate-forme commune. Omniverse a mis en relation plusieurs partenaires clés qui fournissent un travail important lié au flux de développement de la conduite autonome.
Ensuite, j'expliquerai comment le contenu ci-dessus est combiné et les cinq principales étapes de travail de DRIVE Replicator pour générer des données synthétiques (Figure 3) : Contenu ( Contenu) — DRIVE Sim Runtime — Détection — Randomisation — Écrivains de données.
Figure 3
La première étape du processus de simulation est le contenu et les matériaux 3D stockés sur le serveur Nucleus. Ces actifs sont transmis à DRIVE Sim Runtime, la technologie de base pour l'exécution de scénarios, de modèles de trafic, de dynamique et de comportement des véhicules. DRIVE Sim Runtime peut être utilisé avec des caméras basées sur le traçage de rayons RTX, un lidar, un radar à ondes millimétriques et la technologie de perception de l'USS. L'étape suivante consiste à introduire de la variété dans les données grâce à la randomisation du mouvement, du comportement, de l'éclairage et de l'apparence. Pour la simulation en boucle fermée, l'étape suivante consiste à connecter la simulation à la pile de conduite autonome via les E/S du véhicule, qui se composent généralement de protocoles de capteurs, de messages CAN et d'un ECU virtuel (qui envoie des informations importantes à la pile de conduite autonome pour boucler la boucle).
Pour la génération de données synthétiques, il s'agit d'un processus en boucle ouverte qui envoie des données aléatoires de capteurs aux rédacteurs de données, qui peuvent produire une vérité terrain pour la formation des algorithmes de perception de la conduite autonome Label. Les étapes ci-dessus représentent un flux de travail complet pour la génération de données synthétiques.
Comme mentionné ci-dessus, la première étape du processus de simulation est le contenu et les matériaux 3D stockés sur le serveur Nucleus. D'où vient ce contenu ? Comment l'obtenir ? Quelles sont les normes ou exigences ?
Au cours des dernières années, NVIDIA a travaillé avec plusieurs partenaires de contenu pour créer un vaste écosystème de fournisseurs d'actifs 3D, comprenant des véhicules, des accessoires, des piétons, de la végétation et des environnements 3D, prêts à être utilisés dans DRIVE Sim.
Une chose à noter est que même si vous obtenez ces actifs sur le marché, cela ne signifie pas que vous pouvez commencer le travail de simulation. Vous devez également préparer ces actifs pour la simulation, et c'est là qu'intervient SimReady.
Une partie importante de l'expansion consiste à travailler avec les fournisseurs d'actifs 3D et à leur fournir les outils dont ils ont besoin pour garantir que certaines conventions, dénominations, gréements d'actifs sont respectés lors de l'importation d'actifs dans DRIVE Sim, étiquettes sémantiques et propriétés physiques.
SimReady Studio aide les fournisseurs de contenu à convertir leurs actifs existants en actifs USD prêts pour la simulation qui peuvent être chargés sur DRIVE Sim, y compris des environnements 3D, des actifs dynamiques et des accessoires statiques.
Alors, qu'est-ce que SimReady ? Vous pouvez le considérer comme un convertisseur qui permet de garantir que les ressources 3D dans DRIVE Sim et Replicator sont prêtes à prendre en charge les flux de travail de simulation de bout en bout. SimReady comporte plusieurs éléments clés, notamment : 🎜🎜#Des balises sémantiques et une ontologie bien définie pour annoter chaque élément d'un actif. Ceci est essentiel pour générer des étiquettes de vérité terrain pour la perception ;
Retour à la création de contenu de simulation de véhicule autonome, à partir de données cartographiques Là Il existe généralement plusieurs façons de créer un environnement (voir Figure 4). Une option consiste à utiliser l'outil Roadrunner de MathWorks pour créer un environnement 3D sur une carte NVIDIA DRIVE ouverte (plateforme cartographique multimodale). Le résultat de cette étape, ainsi que les informations de carte sémantique, la synchronisation du signal, etc., sont ensuite transférés vers SimReady Studio, où l'environnement 3D peut être converti en un actif USD pouvant être chargé sur DRIVE Sim.
Une autre option consiste à utiliser les données cartographiques voxels d'une flotte autonome et à extraire des informations cartographiques sémantiques telles que les voies, les panneaux de signalisation et d'autres métadonnées. Ces informations sont créées via un jumeau numérique, ce qui donne lieu à un actif en USD qui peut être chargé sur DRIVE Sim.Les deux types d'environnements USD ci-dessus seront utilisés pour prendre en charge les tests de simulation de bout en bout (E2E) des véhicules autonomes et les flux de travail de génération de données synthétiques.
DRIVE Sim Runtime Ensuite, je présenterai la deuxième étape de la simulation-DRIVE Sim Runtime, qui constitue la base de toutes les fonctionnalités que nous utilisons dans DRIVE Replicator pour générer des ensembles de données synthétiques.DRIVE Sim Runtime est un composant ouvert, modulaire et extensible. Qu’est-ce que cela signifie en pratique (voir Figure 5) ?
Tout d'abord, il est construit sur des scènes, où les développeurs peuvent définir la position, le mouvement et l'interaction spécifiques des objets dans la scène. Ces scénarios peuvent être définis en Python ou à l'aide de l'interface utilisateur de l'éditeur de scénarios et enregistrés pour une utilisation ultérieure.
Deuxièmement, il prend en charge l'intégration avec des packages de dynamique de véhicule personnalisés via le SDK DRIVE Sim, soit en tant qu'étape du processus, soit en co-simulation avec DRIVE Sim 2.0.
Troisièmement, le modèle de trafic. DRIVE Sim dispose d'une interface de modèle de véhicule riche et, avec l'aide du Runtime, les développeurs peuvent introduire leur propre dynamique de véhicule ou configurer des modèles de trafic existants basés sur des règles.
Quatrièmement, le système d'action, qui contient une riche bibliothèque d'actions prédéfinies (comme les changements de voie), des déclencheurs temporels pouvant être utilisés pour créer des scènes d'interactions entre différents objets, etc.
Image 5
Revoyons brièvement le contenu précédent ici : Processus de simulation, chapitre 5 Dans la première étape, le contenu 3D prêt pour la simulation et les matériaux convertis par SimReady sont stockés sur le serveur Nucleus. Dans la deuxième étape, ces matériaux sont transmis à DRIVE Sim Runtime, qui constitue la technologie de base pour l'exécution de scénarios, de modèles de trafic, de dynamique et de comportement des véhicules, jetant ainsi les bases de toutes les fonctions ultérieures permettant de générer des ensembles de données synthétiques.
Avant de générer des données, des capteurs doivent être utilisés pour configurer la cible véhicule d'essai. À l'aide de l'outil Ego Configurator, les développeurs peuvent sélectionner des véhicules spécifiques et les ajouter à la scène.
De plus, les développeurs peuvent également déplacer des véhicules dans la scène et ajouter des capteurs aux véhicules. L'outil de configuration Ego prend en charge les capteurs universels et Hyperion 8.
Après avoir ajouté le capteur au véhicule, les développeurs peuvent également modifier des paramètres tels que le champ de vision, la résolution, le nom du capteur et configurer intuitivement les emplacements des capteurs sur le véhicule.
Les utilisateurs peuvent également visualiser des aperçus du POV du capteur et visualiser le champ de vision dans un environnement 3D avant de créer des scènes de génération de données.
Cet outil peut aider les développeurs à prototyper rapidement différentes configurations et à visualiser la couverture obtenue par les tâches de détection.
Présentons maintenant brièvement la quatrième étape du processus de simulation, la randomisation du domaine, comment introduisez de la variété dans vos données en randomisant les mouvements, les comportements, l'éclairage et l'apparence.
Cela impliquera une autre façon de créer des scènes, en utilisant Python. L'API Python de DRIVE Replicator permet aux développeurs d'interroger la carte NVIDIA DRIVE ouverte et de placer une gamme d'actifs statiques et dynamiques en fonction du contexte. Certains randomiseurs se concentreront sur la manière de téléporter un véhicule autonome d'un point à un autre, sur la manière de générer des objets autour du véhicule autonome et de générer différents ensembles de données synthétiques à partir de ceux-ci. Ces opérations qui semblent complexes sont faciles à réaliser car l'utilisateur a un contrôle direct sur la scène USD et tous les objets de cet environnement.
Une autre étape importante lors de la création d'ensembles de données synthétiques pour la formation est la possibilité d'introduire des changements dans l'apparence de la scène 3D. Les puissantes fonctions de l'USD ont également été mentionnées ci-dessus. Par exemple, les scénarios créés via l'USD permettent aux développeurs d'avoir un accès hiérarchique à chaque élément de la simulation. L'API de SimReady utilise USD pour configurer rapidement des fonctionnalités dans une scène.
Regardons un exemple (voir Figure 6) : la surface de la route est un peu humide, mais lorsque nous définissons différents paramètres, le niveau d'humidité de la surface de la route changera. Nous pouvons apporter des modifications similaires à des aspects tels que l’azimut solaire et l’altitude solaire pour produire des ensembles de données réalistes dans diverses conditions environnementales.
Un autre point fort est la possibilité d'activer les modifications d'éclairage et d'apparence, qui sont toutes disponibles via l'API SimReady et USD. L'un des principaux avantages de DRIVE Sim est le flux de travail des capteurs RTX. Il prend en charge une variété de capteurs (voir Figure 7), y compris des modèles génériques et disponibles dans le commerce pour les caméras, le lidar, le radar conventionnel et l'USS. De plus, DRIVE Sim fournit une prise en charge complète de la suite de capteurs NVIDIA DRIVE Hyperion, permettant aux utilisateurs de commencer le travail de développement et de validation d'algorithmes dans un environnement virtuel.
De plus, DRIVE Sim dispose d'un SDK puissant et polyvalent qui permet aux partenaires d'utiliser l'API de traçage de rayons de NVIDIA pour implémenter des modèles de capteurs complexes tout en protégeant leur adresse IP et leurs algorithmes propriétaires. Cet écosystème s'est développé au fil des années et NVIDIA travaille avec des partenaires pour intégrer de nouveaux types de capteurs, tels que le radar d'imagerie, le lidar FMCW, etc., dans DRIVE Sim.
Image 7
Maintenant, l'accent est mis sur la génération de données de vérité terrain et sur la manière de visualiser ces informations. Cela implique la dernière étape du processus de simulation, le rédacteur de données. Dans ce processus, les données randomisées des capteurs sont envoyées aux rédacteurs de données, qui génèrent des étiquettes de vérité terrain utilisées pour entraîner des algorithmes de perception de la conduite autonome.
Le rédacteur de données est un script Python utilisé pour générer les étiquettes de vérité terrain nécessaires à la formation des algorithmes de perception de la conduite autonome.
NVIDIA DRIVE Replicator est livré avec des rédacteurs de modèles tels que le rédacteur de base et le rédacteur KITTI.
L'écrivain de base couvre un large éventail d'étiquettes de données du monde réel, y compris les classes d'objets, les cadres de délimitation serrés et lâches en 2D et 3D, les masques sémantiques et d'instance, la sortie de profondeur, les occlusions, l'attente normale.
De même, il existe des rédacteurs lidar/radar normaux qui peuvent être utilisés pour exporter des données de nuages de points laser vers des tableaux numpy, ou vers toute personnalisation pertinente avec des cadres de délimitation, la sémantique et les étiquettes d'objet. Définissez le format.
Ces rédacteurs fournissent des exemples permettant aux développeurs de configurer leurs propres rédacteurs en fonction de formats de balisage personnalisés et d'étendre leurs efforts de génération de données.
Enfin, j'aimerais vous présenter un logiciel passionnant, Replicator Insight, créé par l'équipe Omniverse.
Replicator Insight est une application autonome construite sur Omniverse Kit qui peut être utilisée pour inspecter des ensembles de données synthétiques rendus et superposer diverses étiquettes de vérité terrain pour la formation.
Replicator Insight prend en charge tous les cas d'utilisation de génération de données synthétiques, notamment DRIVE, Isaac et Omniverse Replicator.
Regardons un exemple (voir Figure 8) : les utilisateurs peuvent charger les données générées par DRIVE Replicator dans cet outil de visualisation et activer et désactiver différentes étiquettes de vérité pour différentes catégories d'objets dans la scène.
Photo 8
Avec cet outil de visualisation, les utilisateurs peuvent lire des vidéos et trier Les ensembles de données peuvent même être comparés entre différentes vues telles que les données de profondeur et RVB.
Les utilisateurs peuvent également modifier des paramètres tels que la fréquence d'images de lecture et la plage de profondeur, ou visualiser rapidement des ensembles de données avant un entraînement en voiture autonome.
Cela aidera les développeurs à comprendre facilement les nouveaux types d'étiquettes de vérité terrain et à analyser des ensembles de données complexes.
Dans l'ensemble, il s'agit d'un outil puissant qui permet aux utilisateurs d'acquérir de nouvelles informations à chaque fois qu'ils examinent des données, qu'elles soient réelles ou synthétiques.
Ce qui précède résume le dernier développement de DRIVE Replicator au cours de l'année écoulée et explique comment les développeurs peuvent utiliser DRIVE Replicator pour générer divers ensembles de données synthétiques et mettre à la terre avec précision- des étiquettes de données de vérité pour accélérer le développement et la vérification des véhicules autonomes. NVIDIA a réalisé des progrès passionnants dans la génération d'ensembles de données de capteurs de haute qualité pour une variété de cas d'utilisation réels, et nous sommes impatients de poursuivre la communication avec vous !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!