Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial Internet of Things >> Capteur

L'intelligence artificielle dans les voitures — Dans le cerveau

Les véhicules autonomes (VA), ou même les véhicules dotés de systèmes avancés d'assistance à la conduite (ADAS), s'appuient sur les données de nombreux capteurs - plusieurs caméras, lidar, radar et parfois même sonar. Traiter les flux de données provenant de cet ensemble de capteurs est une tâche énorme et en même temps critique. Toutes ces données doivent être transformées en informations en temps réel pour être utilisées pour conduire la voiture en toute sécurité au moins aussi bien que si un conducteur humain parfait était aux commandes. « Sur la route, les conducteurs humains doivent se méfier de leur environnement actuel, interagir avec les autres conducteurs et prendre des décisions. Comme les conducteurs humains, les VA doivent également percevoir, interagir et prendre des décisions. De plus, les VA doivent établir une bonne relation avec leurs passagers." 1

Ces fonctions s'appuient sur l'intelligence artificielle (IA) pour assimiler les données des différents capteurs et les combiner pour une image instantanée du véhicule et de son environnement dynamique - le processus appelé fusion de capteurs. De manière optimale pour une utilisation automobile, l'IA utilise des réseaux de neurones profonds (DNN). Modelés sur la façon dont les informations sont traitées par le cerveau humain, les DNN apprennent à traverser le monde réel de la conduite en apprenant de l'expérience, plutôt qu'en se faisant dire quoi faire par un programmeur. Le DNN fonctionne en acceptant plusieurs entrées, en leur attribuant des poids différents et en tirant des conclusions. Cela nécessite une plate-forme informatique extrêmement performante mais économe en énergie afin de faire tout cela en «temps réel». Cela peut être accéléré en utilisant un accélérateur de traitement.

Mettre l'IA en action

Pour savoir ce qui se passe dans une plate-forme hautement performante pour l'IA automobile, j'ai interrogé Gil Abraham de CEVA, Inc. sur leurs outils de mise en œuvre.

L'unité commerciale Vision et IA de CEVA repose sur ce qu'Abraham a appelé trois piliers :NeuPro-M, qui est le processeur d'IA ; SensPro, qui est un processeur de signal numérique (DSP) à concentrateur de capteurs hautes performances ; et le logiciel CDNN-Invite. CDNN-Invite permet à la fois aux fabricants d'entrer leurs propres accélérateurs DNN propriétaires pour travailler avec le processeur NeuPro-M AI de CEVA ainsi que le DSP SensPro et profiter d'un système unifié qui peut être géré de manière centralisée par le même kit de développement logiciel de mémoire et de flux ( SDK).

Le DSP SensPro peut effectuer un traitement du signal sur les entrées de nombreux capteurs différents, y compris plusieurs lidars, radars et caméras, et les convoluer - un processus appelé fusion de capteurs, qui rassemble les entrées de nombreux capteurs. Ceci est essentiel pour une utilisation automobile car chaque capteur a ses propres limites.

Par exemple :

Le SensPro DSP peut prendre des entrées de ces derniers, ainsi que des capteurs de temps de vol (ToF), des unités de mesure inertielle (IMU), traiter efficacement des algorithmes pour la localisation et la cartographie simultanées (SLAM) et les utiliser tous, peut créer une «conscience contextuelle» - une image complète de la situation de l'automobile et de son environnement. Vous pouvez également ajouter un jeu d'instructions dédié dans le matériel pour obtenir une accélération supplémentaire d'autres traitements spécifiques si nécessaire.

Intégration du système

NeuPro-M répond à de nombreux défis clés des fonctions de véhicules autonomes, notamment un fonctionnement évolutif à haute vitesse et à faible latence, une faible puissance de fonctionnement, une sécurité élevée et la capacité de répondre aux exigences fonctionnelles de la norme ISO 26262 pour les systèmes électriques/électroniques liés à la sécurité dans les véhicules routiers de série. Il est également évolutif, par exemple, il peut être utilisé pour des capteurs uniques, des groupes de capteurs dans une zone, ou il peut même être intégré dans le cadre de l'unité de commande du moteur (ECU) de l'automobile.

L'architecture d'une plate-forme d'IA automobile hautes performances

La fonction du processeur CEVA NeuPro-M AI est de prendre des décisions de conduite de haut niveau. Ces décisions sont basées sur les entrées DNN qui fournissent des informations sur la situation, telles que :Y a-t-il des voitures venant en sens inverse ; l'automobile reste-t-elle dans la voie ; quelle est la position absolue (SLAM) ?

Le processeur NeuPro-M AI est le décideur quant aux actions à entreprendre, compte tenu des informations qu'il reçoit. L'IA nécessite un nombre considérable de calculs pour prendre des décisions, et ceux-ci doivent être effectués en temps quasi réel. Il faut donc un processeur puissant. Pour les applications automobiles, il est également nécessaire de minimiser la consommation d'énergie - à mesure que le nombre de calculs augmente et que le temps pour les effectuer diminue, la puissance consommée augmente. La mesure des performances du processeur peut être résumée en un seul chiffre :téra opérations par seconde par watt (TOPS/watt) — plus le nombre est élevé, meilleures sont les performances. L'efficacité énergétique du NeuPro-M est de 24 TOPS/watt, ce qui est nettement supérieur à la plupart des autres processeurs d'intelligence artificielle automobile.

La sécurité est de la plus haute importance - en fait, vous pouvez dire que la sécurité et la sûreté sont les exigences les plus importantes pour les applications automobiles. Le processeur d'IA dans un véhicule autonome est le conducteur responsable. Les réseaux de neurones qui effectuent le traitement de l'IA attribuent des poids à chacune de leurs entrées, et ces poids sont vulnérables aux altérations malveillantes. Les systèmes de sécurité font donc partie intégrante du processeur afin de se prémunir contre ces attaques.

Optimisation des performances

Pour optimiser les performances, il est important de réaliser que, quelle que soit la vitesse du processeur, le système peut rencontrer un goulot d'étranglement en raison des limitations de bande passante sur le mouvement des informations vers le processeur, principalement en raison des limitations d'interface système en termes de mémoire. Les unités de calcul fonctionnent beaucoup plus rapidement que le temps qu'il faut pour stocker et récupérer les énormes quantités de données pour informer la mémoire. Une façon de résoudre ce problème consiste à diriger un flux continu de données vers le processeur plutôt que d'attendre suffisamment d'informations pour effectuer un calcul particulier.

Une autre façon d'optimiser les performances est d'être adaptatif - d'utiliser une topologie adaptative modulaire. Les topologies de processeur peuvent être optimisées pour traiter différents types de capteurs et effectuer différents types d'opérations. Une fonction, par exemple, pourrait être d'optimiser l'efficacité du groupe motopropulseur, ce qui nécessite beaucoup de mathématiques, ou d'un autre côté, il pourrait ne traiter qu'un seul capteur.

Si vous avez besoin de calculer quelque chose de très précis, vous pouvez utiliser l'arithmétique à virgule flottante au lieu de la virgule fixe, à l'intérieur d'un processeur vectoriel. Une autre façon d'aborder la réduction de la bande passante consiste à compresser les données, de sorte que vous n'ayez pas à tout déplacer dans le système. Ce sont des correctifs logiciels, mais vous devez également chercher à optimiser les DSP et le processeur d'IA, en faisant une analyse approfondie pour résoudre tous les goulots d'étranglement dans chacun de ces domaines.

Traitement parallèle

Le processeur NeuPro-M (NPM) comporte trois parties (voir Figure 2) :Le contrôleur maître; le sous-système commun du NMP; et le moteur NPM. Le processeur peut comprendre de un à huit moteurs, qui peuvent être sélectionnés pour répondre aux besoins d'une application particulière. Le fonctionnement du processeur peut être mis à l'échelle en choisissant le nombre de moteurs. "C'est ainsi que vous obtenez de plus en plus de puissance", a déclaré Abraham.

Le sous-système commun NPM est en communication constante avec le moteur NPM. Ce canal est surveillé pour s'assurer qu'il ne devienne pas un goulot d'étranglement - pour s'assurer que les données continueront d'affluer dans le système. L'IA d'inférence fonctionne avec deux ensembles de données :les données elles-mêmes, peut-être une image ; et le poids, qui est appliqué aux données afin de faire l'inférence. Le sous-système commun maintient le canal ouvert en appliquant une compression à la fois aux données et aux poids.

Le traitement parallèle peut être mis en œuvre à la fois en utilisant plusieurs moteurs et en utilisant également les coprocesseurs au sein des moteurs, chacun contenant cinq coprocesseurs et une mémoire interne partagée.

Exemple – Contrôle d'un véhicule avec un NPM à quatre moteurs

La figure 3 illustre une application automobile simple du traitement parallèle. Le côté gauche de la figure montre une image de la route, qui est capturée par une caméra frontale. Un processeur à l'intérieur du véhicule bloque la voie opposée pour simplifier les calculs nécessaires pour maintenir le véhicule centré sur son côté de la route et stocke l'image en mémoire. L'image stockée est entrée depuis la mémoire du véhicule vers le sous-système commun NPM, qui dans cet exemple dessert quatre moteurs. Le logiciel décide ensuite quel est le cas d'utilisation - ce qui est nécessaire - et comment diviser l'image afin d'atteindre des performances maximales avec une puissance minimale (utilisation élevée) pour la fonction souhaitée. Dans ce cas, le NPM divise l'image en quatre parties, avec un certain chevauchement, et chaque partie est envoyée à un moteur différent. L'inférence de l'IA est ensuite exécutée sur chacun des quatre segments de la route. Les quatre segments sont ensuite assemblés dans la mémoire du sous-système, à partir de laquelle ils sont transmis à la couche de perception ailleurs dans le SoC, pour effectuer les tâches souhaitées.

Cet exemple illustre les deux niveaux de traitement parallèle, l'un utilisant les quatre moteurs pour travailler sur différents segments de l'image et, au sein de chaque moteur, le traitement parallèle en partageant les calculs entre les cinq coprocesseurs internes.

Optimisation par logiciel

L'IA fonctionne principalement par convolution, qui est une opération mathématique sur deux fonctions qui produit une troisième fonction exprimant comment la forme de l'une est modifiée par l'autre. Le mathématicien Shmuel Winograd a innové une nouvelle méthode de convolution en la moitié du nombre habituel d'étapes. CEVA a mis en œuvre cette idée théorique dans ses processeurs pour obtenir la même précision que celle qui aurait été obtenue avec une convolution normale, mais avec une accélération de près de 2 fois - un gain de performances avec une réduction de puissance. Cela peut être fait dans chacun des cinq coprocesseurs du moteur.

Une autre astuce consiste à opérer différemment sur différents types de données, selon ce qui serait optimal pour une application particulière. Par exemple, la localisation et la cartographie simultanées (SLAM) nécessitent une très grande précision, vous devez donc utiliser l'arithmétique à virgule flottante. Pour d'autres applications, un nombre fixe de bits serait parfait. De cette façon, le constructeur automobile peut choisir la méthode de calcul qui fonctionne le mieux pour chaque fonction au sein du véhicule.

En utilisant à la fois la manipulation logicielle et l'optimisation matérielle, vous pouvez obtenir une accélération significative - jusqu'à 16x avec NeuPro-M selon Abraham.

Résumer

Il s'agit d'un aperçu du fonctionnement interne d'un processeur d'IA particulier lorsqu'il traite les données de divers capteurs - radar, lidar, sonar, caméras - et prend des décisions. Le NPM est un processeur hétérogène :il peut fonctionner sur différents types de données et optimiser son fonctionnement tel que mesuré par TOPS/watt en utilisant deux niveaux de traitement parallèle ainsi qu'une conception ciblée du logiciel.

  1. Fang Chen, PhD, Rapport de recherche SAE Edge — Problèmes non résolus dans l'autonomie des véhicules, l'intelligence artificielle et l'interaction homme-machine.

Cet article a été rédigé par Ed Brown, rédacteur en chef de Sensor Technology. Pour plus d'informations, contactez Ed à Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer Javascript pour le voir. ou visitez ici .


Capteur

  1. L'intelligence artificielle est-elle une fiction ou une mode ?
  2. Pourquoi l'Internet des objets a besoin d'intelligence artificielle
  3. L'intelligence artificielle joue un rôle majeur dans l'IoT
  4. Intelligence artificielle vs apprentissage automatique vs apprentissage en profondeur | La différence
  5. IA :trouver le bon usage de l'intelligence artificielle
  6. Vidéo :L'impact de l'intelligence artificielle (IA) sur la fabrication et l'usinage
  7. Robots d'intelligence artificielle
  8. Assistant IA :l'avenir de l'industrie du voyage avec l'augmentation de l'intelligence artificielle
  9. L'impact des capteurs dans la fabrication