


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.
01 Perception Occupancy Network
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.
02 Planification Planification interactive
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
03 Carte vectorielle Lanes Network
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
04 Autolabeling
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
05 Simulation
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.
06 Infrastructure Infrastructure
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Hier, lors de l'entretien, on m'a demandé si j'avais posé des questions à longue traîne, j'ai donc pensé faire un bref résumé. Le problème à longue traîne de la conduite autonome fait référence aux cas extrêmes dans les véhicules autonomes, c'est-à-dire à des scénarios possibles avec une faible probabilité d'occurrence. Le problème perçu de la longue traîne est l’une des principales raisons limitant actuellement le domaine de conception opérationnelle des véhicules autonomes intelligents à véhicule unique. L'architecture sous-jacente et la plupart des problèmes techniques de la conduite autonome ont été résolus, et les 5 % restants des problèmes à longue traîne sont progressivement devenus la clé pour restreindre le développement de la conduite autonome. Ces problèmes incluent une variété de scénarios fragmentés, de situations extrêmes et de comportements humains imprévisibles. La « longue traîne » des scénarios limites dans la conduite autonome fait référence aux cas limites dans les véhicules autonomes (VA). Les cas limites sont des scénarios possibles avec une faible probabilité d'occurrence. ces événements rares

Écrit ci-dessus et compréhension personnelle de l'auteur : À l'heure actuelle, dans l'ensemble du système de conduite autonome, le module de perception joue un rôle essentiel. Le véhicule autonome roulant sur la route ne peut obtenir des résultats de perception précis que via le module de perception en aval. dans le système de conduite autonome, prend des jugements et des décisions comportementales opportuns et corrects. Actuellement, les voitures dotées de fonctions de conduite autonome sont généralement équipées d'une variété de capteurs d'informations de données, notamment des capteurs de caméra à vision panoramique, des capteurs lidar et des capteurs radar à ondes millimétriques pour collecter des informations selon différentes modalités afin d'accomplir des tâches de perception précises. L'algorithme de perception BEV basé sur la vision pure est privilégié par l'industrie en raison de son faible coût matériel et de sa facilité de déploiement, et ses résultats peuvent être facilement appliqués à diverses tâches en aval.

La prédiction de trajectoire joue un rôle important dans la conduite autonome. La prédiction de trajectoire de conduite autonome fait référence à la prédiction de la trajectoire de conduite future du véhicule en analysant diverses données pendant le processus de conduite du véhicule. En tant que module central de la conduite autonome, la qualité de la prédiction de trajectoire est cruciale pour le contrôle de la planification en aval. La tâche de prédiction de trajectoire dispose d'une riche pile technologique et nécessite une connaissance de la perception dynamique/statique de la conduite autonome, des cartes de haute précision, des lignes de voie, des compétences en architecture de réseau neuronal (CNN&GNN&Transformer), etc. Il est très difficile de démarrer ! De nombreux fans espèrent se lancer dans la prédiction de trajectoire le plus tôt possible et éviter les pièges. Aujourd'hui, je vais faire le point sur quelques problèmes courants et des méthodes d'apprentissage introductives pour la prédiction de trajectoire ! Connaissances introductives 1. Existe-t-il un ordre d'entrée pour les épreuves de prévisualisation ? R : Regardez d’abord l’enquête, p

Les défis courants rencontrés par les algorithmes d'apprentissage automatique en C++ incluent la gestion de la mémoire, le multithread, l'optimisation des performances et la maintenabilité. Les solutions incluent l'utilisation de pointeurs intelligents, de bibliothèques de threads modernes, d'instructions SIMD et de bibliothèques tierces, ainsi que le respect des directives de style de codage et l'utilisation d'outils d'automatisation. Des cas pratiques montrent comment utiliser la bibliothèque Eigen pour implémenter des algorithmes de régression linéaire, gérer efficacement la mémoire et utiliser des opérations matricielles hautes performances.

Écrit à l'avant et point de départ Le paradigme de bout en bout utilise un cadre unifié pour réaliser plusieurs tâches dans les systèmes de conduite autonome. Malgré la simplicité et la clarté de ce paradigme, les performances des méthodes de conduite autonome de bout en bout sur les sous-tâches sont encore loin derrière les méthodes à tâche unique. Dans le même temps, les fonctionnalités de vue à vol d'oiseau (BEV) denses, largement utilisées dans les méthodes de bout en bout précédentes, rendent difficile l'adaptation à davantage de modalités ou de tâches. Un paradigme de conduite autonome de bout en bout (SparseAD) centré sur la recherche clairsemée est proposé ici, dans lequel la recherche clairsemée représente entièrement l'ensemble du scénario de conduite, y compris l'espace, le temps et les tâches, sans aucune représentation BEV dense. Plus précisément, une architecture clairsemée unifiée est conçue pour la connaissance des tâches, notamment la détection, le suivi et la cartographie en ligne. De plus, lourd

Au cours du mois dernier, pour des raisons bien connues, j'ai eu des échanges très intensifs avec divers professeurs et camarades de classe du secteur. Un sujet inévitable dans l'échange est naturellement le populaire Tesla FSDV12 de bout en bout. Je voudrais profiter de cette occasion pour trier certaines de mes pensées et opinions en ce moment pour votre référence et votre discussion. Comment définir un système de conduite autonome de bout en bout et quels problèmes devraient être résolus de bout en bout ? Selon la définition la plus traditionnelle, un système de bout en bout fait référence à un système qui saisit les informations brutes des capteurs et génère directement les variables pertinentes pour la tâche. Par exemple, en reconnaissance d'images, CNN peut être appelé de bout en bout par rapport à la méthode traditionnelle d'extraction de caractéristiques + classificateur. Dans les tâches de conduite autonome, saisir les données de divers capteurs (caméra/LiDAR

La détection de cibles est un problème relativement mature dans les systèmes de conduite autonome, parmi lesquels la détection des piétons est l'un des premiers algorithmes à être déployés. Des recherches très complètes ont été menées dans la plupart des articles. Cependant, la perception de la distance à l’aide de caméras fisheye pour une vue panoramique est relativement moins étudiée. En raison de la distorsion radiale importante, la représentation standard du cadre de délimitation est difficile à mettre en œuvre dans les caméras fisheye. Pour alléger la description ci-dessus, nous explorons les conceptions étendues de boîtes englobantes, d'ellipses et de polygones généraux dans des représentations polaires/angulaires et définissons une métrique de segmentation d'instance mIOU pour analyser ces représentations. Le modèle fisheyeDetNet proposé avec une forme polygonale surpasse les autres modèles et atteint simultanément 49,5 % de mAP sur l'ensemble de données de la caméra fisheye Valeo pour la conduite autonome.

La couche inférieure de la fonction de tri C++ utilise le tri par fusion, sa complexité est O(nlogn) et propose différents choix d'algorithmes de tri, notamment le tri rapide, le tri par tas et le tri stable.
