Maison >Périphériques technologiques >IA >Interprétation des algorithmes et modèles de conduite autonome de Tesla
Tesla est une entreprise d'IA typique. Elle a formé 75 000 réseaux de neurones au cours de l'année écoulée, ce qui signifie qu'un nouveau modèle est produit toutes les 8 minutes. Au total, 281 modèles sont utilisés dans les véhicules Tesla. Ensuite, nous interpréterons l’algorithme de Tesla FSD et les progrès du modèle sous plusieurs aspects.
L'une des technologies clés de Tesla en matière de perception cette année est le réseau d'occupation. Les étudiants qui étudient la robotique connaîtront certainement la grille d'occupation. Elle indique si chaque voxel 3D (voxel) dans l'espace est occupé. Il peut s'agir d'une représentation binaire 0/1 ou d'une valeur comprise entre [0, 1].
Pourquoi l'occupation est-elle importante pour la perception de la conduite autonome ? Car pendant la conduite, en plus des obstacles courants tels que les véhicules et les piétons, nous pouvons estimer leurs positions et leurs tailles grâce à la détection d'objets 3D. Il existe également des obstacles plus longs qui auront également un impact important sur la conduite. Par exemple : 1. Les obstacles déformables, tels que les remorques à deux sections, ne peuvent pas être représentés par des cadres de délimitation 3D ; 2. Les obstacles de forme spéciale, tels que les véhicules renversés, l'estimation de l'attitude 3D sera invalide ; catégories Les obstacles tels que les pierres et les déchets sur la route ne peuvent pas être classés. Par conséquent, nous espérons trouver une meilleure expression pour décrire ces obstacles à longue traîne et estimer pleinement l'occupation de chaque position dans l'espace 3D, même la sémantique et le mouvement (flux).
Tesla utilise l'exemple spécifique de l'image ci-dessous pour montrer la puissance d'Occupancy Network. Contrairement aux boîtes 3D, la représentation de l'occupation ne fait pas trop d'hypothèses géométriques sur les objets, elle peut donc modéliser des objets de formes arbitraires et toute forme de mouvement d'objet. La figure montre une scène dans laquelle un bus à deux sections démarre. Le bleu représente des voxels en mouvement et le rouge représente des voxels stationnaires. Le réseau d'occupation estime avec précision que la première section du bus a commencé à se déplacer, tandis que la deuxième section du bus a démarré. pour bouger. La section est toujours au repos.
L'estimation de l'occupation des deux bus en cours de démarrage, le bleu représente les voxels en mouvement, le rouge représente les voxels stationnaires
La structure du modèle du réseau d'occupation est présentée dans la figure ci-dessous. Premièrement, le modèle utilise RegNet et BiFPN pour obtenir les fonctionnalités de plusieurs caméras. Cette structure est cohérente avec la structure du réseau partagée lors de la journée de l'IA de l'année dernière, ce qui indique que l'épine dorsale n'a pas beaucoup changé. Le modèle effectue ensuite une fusion multi-caméras basée sur l'attention sur les caractéristiques de l'image 2D via une requête spatiale avec une position spatiale 3D. Comment réaliser la connexion entre la requête spatiale 3D et la carte de caractéristiques 2D ? La méthode de fusion spécifique n'est pas détaillée dans la figure, mais il existe de nombreux articles publics à titre de référence. Je pense que la solution la plus probable est l'une des deux solutions suivantes. La première est appelée requête 3D vers 2D, qui projette la requête spatiale 3D sur la carte de caractéristiques 2D en fonction des paramètres internes et externes de chaque caméra pour en extraire les caractéristiques. le poste correspondant. Cette méthode a été proposée dans DETR3D, et BEVFormer et PolarFormer ont également adopté cette idée. La seconde consiste à utiliser l'intégration positionnelle pour effectuer un mappage implicite, c'est-à-dire ajouter une intégration positionnelle raisonnable à chaque position de la carte de caractéristiques 2D, telle que les paramètres internes et externes de la caméra, les coordonnées des pixels, etc., puis laisser le modèle apprendre la correspondance. entre les fonctionnalités 2D et 3D par lui-même. Ensuite, le modèle subit une fusion de séries chronologiques. La méthode de mise en œuvre consiste à diviser l'espace de fonctionnalités 3D en fonction des changements de position et d'attitude connus du véhicule autonome.
Structure du réseau d'occupation
Après la fusion des fonctionnalités, un décodeur basé sur la déconvolution décodera l'occupation, la sémantique et le flux de chaque position spatiale 3D. La conférence de presse a souligné que la sortie de ce réseau étant dense, la résolution de sortie sera limitée par la mémoire. Je pense que c'est aussi un casse-tête majeur pour tous les étudiants qui font de la segmentation d'images. De plus, ce que nous faisons ici est de la segmentation 3D, mais la conduite autonome a des exigences de très haute résolution (~ 10 cm). Par conséquent, inspiré de la représentation neuronale implicite, un décodeur MLP interrogeable implicite est conçu à la fin du modèle. En saisissant n'importe quelle valeur de coordonnée (x, y, z), les informations de la position spatiale peuvent être décodées, c'est-à-dire l'occupation, sémantique, flux. Cette méthode brise la limitation de la résolution du modèle, ce qui, à mon avis, est un point fort de la conception.
La planification est un autre module important de la conduite autonome. Tesla met cette fois principalement l'accent sur la modélisation des interactions aux intersections complexes. Pourquoi la modélisation des interactions est-elle si importante ? Parce qu'il existe un certain degré d'incertitude quant au comportement futur des autres véhicules et des piétons, un module de planification intelligent doit prédire en ligne de multiples interactions entre les véhicules autonomes et d'autres véhicules, évaluer les risques induits par chaque interaction et enfin décider quelle stratégie à adopter.
Tesla appelle le modèle de planification qu'ils utilisent Interaction Search, qui se compose principalement de trois étapes principales : la recherche arborescente, la planification de la trajectoire du réseau neuronal et la notation de la trajectoire.
1. La recherche arborescente est un algorithme couramment utilisé pour la planification de trajectoire. Il peut découvrir efficacement diverses situations interactives et trouver des solutions optimales. Cependant, la plus grande difficulté rencontrée lors de l'utilisation des méthodes de recherche pour résoudre les problèmes de planification de trajectoire est que l'espace de recherche est vaste. trop grand. Par exemple, il peut y avoir 20 véhicules liés à soi-même à une intersection complexe, qui peuvent être combinés en plus de 100 méthodes d'interaction, et chaque méthode d'interaction peut avoir des dizaines de trajectoires spatio-temporelles comme candidates. Par conséquent, Tesla n'a pas utilisé la méthode de recherche de trajectoire, mais a utilisé un réseau neuronal pour noter les positions cibles (objectifs) qui peuvent être atteintes après un certain temps et obtenir un petit nombre de meilleures cibles.
2. Après avoir déterminé la cible, nous devons déterminer une trajectoire pour atteindre la cible. Les méthodes de planification traditionnelles utilisent souvent l'optimisation pour résoudre ce problème. Il n'est pas difficile de résoudre le problème d'optimisation. Cependant, lorsqu'il existe de nombreuses cibles candidates données par la recherche arborescente dans les étapes précédentes, nous ne pouvons pas le faire. résoudre le problème en termes de coût de temps. Par conséquent, Tesla a proposé d’utiliser un autre réseau neuronal pour la planification de trajectoire afin d’obtenir une planification hautement parallèle pour plusieurs cibles candidates. Il existe deux sources d'étiquettes de trajectoire pour entraîner ce réseau neuronal : la première est la trajectoire de la conduite humaine réelle, mais nous savons que la trajectoire de la conduite humaine peut n'être qu'une des nombreuses meilleures solutions, donc la deuxième source passe par l'optimisation hors ligne. solutions de trajectoire produites par l’algorithme.
3. Après avoir obtenu une série de trajectoires réalisables, nous devons choisir une solution optimale. La solution adoptée ici est de noter la trajectoire obtenue. La solution de notation combine des indicateurs de risque formulés artificiellement, des indicateurs de confort et un scoreur de réseau neuronal.
Grâce au découplage des trois étapes ci-dessus, Tesla a mis en œuvre un module de planification de trajectoire efficace qui prend en compte l'interaction. Il n'y a pas beaucoup d'articles qui peuvent être référencés pour la planification de trajectoire basée sur les réseaux de neurones. J'ai publié un article TNT [5] qui est relativement lié à cette méthode. Il décompose également le problème de prédiction de trajectoire en trois étapes ci-dessus pour résoudre : cible. notation, planification de trajectoire, notation de trajectoire. Les lecteurs intéressés peuvent consulter les détails. De plus, notre groupe de recherche a exploré les questions liées à l'interaction comportementale et à la planification, et tout le monde est invité à prêter attention à nos derniers travaux InterSim[6].
Structure du modèle de planification de recherche d'interaction
Personnellement, je pense qu'un autre point fort technique majeur de cette journée de l'IA est le modèle de construction de carte vectorielle en ligne Lanes Network. Les étudiants qui ont prêté attention à l'AI Day l'année dernière se souviendront peut-être que Tesla a procédé à une segmentation et une reconnaissance en ligne complètes des cartes dans l'espace BEV. Alors pourquoi voulons-nous encore construire un réseau de voies ? Étant donné que les voies segmentées au niveau des pixels ne suffisent pas à la planification de trajectoire, nous devons également connaître la topologie des lignes de voie pour savoir que notre voiture peut changer d'une voie à l'autre.
Jetons d'abord un coup d'œil à ce qu'est une carte vectorielle. Comme le montre l'image, la carte vectorielle de Tesla se compose d'une série de lignes centrales de voies bleues et de quelques points clés (point de connexion, point de fourche et elle est composée de points). fusionner), et leur relation de connexion est exprimée sous forme de graphique.
Carte vectorielle, les points sont les points clés de la ligne de voie, et le bleu est la ligne centrale de la voie
Lanes Network est un décodeur basé sur l'épine dorsale du réseau perceptuel en termes de structure de modèle. Comparé au décodage de l'occupation et de la sémantique de chaque voxel, il est plus difficile de décoder une série de lignes de voies clairsemées et connectées car le nombre de sorties n'est pas fixe et il existe des relations logiques entre les quantités de sortie.
Tesla fait référence au décodeur Transformer dans le modèle de langage naturel et génère les résultats de manière autorégressive et séquentielle. En termes d'implémentation spécifique, nous devons d'abord sélectionner un ordre de génération (par exemple de gauche à droite, de haut en bas) et discrétiser l'espace (tokénisation). Nous pouvons ensuite utiliser Lanes Network pour prédire une série de jetons discrets. Comme le montre la figure, le réseau va d'abord prédire la position approximative (index : 18) et la position précise (index : 31) d'un nœud, puis prédire la sémantique du nœud (« Start », qui est le point de départ du nœud). ligne de voie), et enfin prédire les caractéristiques de connexion, telles que les paramètres de bifurcation/fusion/courbure, etc. Le réseau générera tous les nœuds de lignes de voies de cette manière autorégressive.
Structure du réseau Lanes Network
Nous devons noter que la génération de séquences autorégressives n'est pas un brevet du modèle Language Transformer. Notre groupe de recherche a également publié deux articles connexes sur la génération de cartes vectorielles au cours des dernières années, HDMapGen[7] et VectorMapNet[8]. HDMapGen utilise le réseau neuronal graphique avec attention (GAT) pour générer de manière autorégressive les points clés de la carte vectorielle, ce qui est similaire à la solution de Tesla. VectorMapNet utilise Detection Transformer (DETR) pour résoudre ce problème, en utilisant une solution de prédiction définie pour générer des cartes vectorielles plus rapidement.
Résultats de la génération de cartes vectorielles HDMapGen
Résultats de la génération de cartes vectorielles VectorMapNet
L’étiquetage automatique était aussi l’IA de Tesla l’année dernière. Une technologie qui Day a expliqué que l'annotation automatique de cette année se concentre sur l'annotation automatique du réseau de voies. Les véhicules Tesla peuvent générer 500 000 trajets en voiture chaque jour, et une bonne utilisation de ces données de conduite peut mieux aider à prédire les lignes de voie.
Le marquage automatique des voies de Tesla comporte trois étapes :
1 Utiliser la technologie d'odométrie inertielle visuelle (odométrie inertielle visuelle) pour estimer les trajectoires de haute précision pour tous les trajets.
2. La reconstruction cartographique de plusieurs véhicules et de plusieurs trajets est l'étape la plus critique de ce plan. La motivation fondamentale de cette étape est que différents véhicules peuvent observer le même emplacement sous différents angles spatiaux et à différents moments. L’agrégation de ces informations peut donc conduire à une meilleure reconstruction cartographique. Les points techniques de cette étape incluent la mise en correspondance géométrique entre les cartes et l'optimisation conjointe des résultats.
3. Marquage automatique des voies pour les nouveaux trajets. Lorsque nous disposons de résultats de reconstruction de carte hors ligne de haute précision, lorsqu'un nouveau trajet se produit, nous pouvons effectuer une simple correspondance géométrique pour obtenir la valeur pseudo-vraie (pseudo-étiquette) de la ligne de voie du nouveau trajet. Cette méthode d'obtention de valeurs pseudo-vraies est parfois encore meilleure que l'annotation manuelle (la nuit, les jours de pluie et de brouillard).
Étiquetage automatique du réseau Lanes
La simulation d'images visuelles est une direction populaire en vision par ordinateur ces dernières années. En conduite autonome, l’objectif principal de la simulation visuelle est de générer de manière ciblée certaines scènes rares, éliminant ainsi le besoin de tenter votre chance lors d’essais routiers réels. Par exemple, Tesla a toujours eu mal à la tête avec la scène d’un gros camion allongé au milieu de la route. Mais la simulation visuelle n'est pas un problème simple. Pour une intersection complexe (Market Street à San Francisco), la solution utilisant la modélisation et le rendu traditionnels nécessite 2 semaines au concepteur. La solution basée sur l’IA de Tesla ne prend désormais que 5 minutes.
Simulation visuelle d'intersection reconstruite
Plus précisément, la condition préalable à la simulation visuelle est de préparer automatiquement des informations routières du monde réel étiquetées et une riche bibliothèque de matériaux graphiques. Passez ensuite aux étapes suivantes dans l'ordre :
1. Génération de chaussée : Remplissez la surface de la route en fonction de la bordure, y compris la pente de la route, le matériau et d'autres informations détaillées.
2. Génération de lignes de voie : tracez des informations sur les lignes de voie sur la surface de la route.
3. Génération de plantes et de bâtiments : générez et restituez de manière aléatoire des plantes et des maisons sur et à côté des routes. Le but de la génération de plantes et de bâtiments n'est pas seulement la beauté visuelle, il simule également l'effet d'occlusion provoqué par ces objets dans le monde réel.
4. Générez d'autres éléments routiers : tels que des feux de circulation, des panneaux de signalisation, ainsi que des voies d'importation et des relations de connexion.
5. Ajoutez des éléments dynamiques tels que des véhicules et des piétons.
Enfin, parlons brièvement du fondement de la série de technologies logicielles de Tesla, qui est une infrastructure puissante. Le centre de calcul de Tesla dispose de 14 000 GPU et d'un total de 30 Po de cache de données, et 500 000 nouvelles vidéos circulent chaque jour dans ces supercalculateurs. Afin de traiter ces données plus efficacement, Tesla a spécialement développé une bibliothèque de décodage vidéo accélérée, ainsi qu'un format de fichier .smol qui accélère la lecture et l'écriture des fonctionnalités intermédiaires. De plus, Tesla a également développé son propre Dojo de puces pour le centre de calcul intensif, que nous n'expliquerons pas ici. "Centre de superinformatique pour la formation de modèles vidéo" Dans le sens de la conduite autonome (assistée), nous avons également vu que Tesla elle-même itère constamment sur elle-même, par exemple de la perception 2D, de la perception BEV, au réseau d'occupation. La conduite autonome est un long voyage de plusieurs milliers de kilomètres. Qu'est-ce qui soutient l'évolution de la technologie Tesla ? Je pense qu'il y a trois points : les capacités de compréhension complète de la scène apportées par les algorithmes visuels, la vitesse d'itération du modèle soutenue par une puissante puissance de calcul et la généralisation apportée par des données massives. Ne sont-ce pas les trois piliers de l’ère du deep learning ?
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!