Brevet FR3121110A1 — publié le 20220930

L’invention concerne un procédé et un dispositif de contrôle de plusieurs systèmes d’aide à la conduite, dits systèmes ADAS, d’un véhicule (10). A cet effet, un ensemble de données représentatives de l’environnement du véhicule (10) sont acquises via un capteur (101) embarqué dans le véhicule (10). Un ensemble de caractéristiques représentatives de l’ensemble de données sont déterminées via une ou plusieurs couches de convolution d’une partie convolutive (1021) d’un réseau de neurones multi-têtes (102). L’ensemble de caractéristiques décrivant l’ensemble de données est transmis à chaque tête (1022, 1023, 1024) du réseau de neurones multi-têtes (102), à chaque tête étant associé un système ADAS particulier. Le résultat du traitement des caractéristiques par une tête particulière du réseau de neurones multi-têtes permet au système ADAS associé à cette tête afin d’assurer la ou les fonctions d’aide à la conduite associées. Figure pour l’abrégé : Figure 1 Procédé et système de contrôle d’une pluralité de systèmes d’aide à la conduite embarqués dans un véhicule L’invention concerne un procédé et un système de contrôle d’une pluralité de systèmes d’aide à la conduite embarqués dans un véhicule. L’invention concerne également un procédé et un système de contrôle d’un véhicule, notamment un véhicule autonome. L’invention concerne également le véhicule embarquant le système de contrôle de la pluralité de systèmes d’aide à la conduite. Arrière-plan technologique Les systèmes embarqués dans certains véhicules contemporains offrent des fonctions d’aide à la conduite qui assistent le conducteur d’un véhicule dans la conduite de ce véhicule, par exemple pour détecter un risque et le prévenir en réagissant automatiquement. Ces systèmes d’aide à la conduite sont connus sous le nom de systèmes dits ADAS (de l’anglais « Advanced Driver-Assistance System » ou en français « Système d’aide à la conduite avancé »). Les systèmes d’aide à la conduite les plus aboutis assurent le contrôle du véhicule qui devient un véhicule dit autonome, c’est-à-dire un véhicule apte à rouler dans l’environnement routier sans intervention du conducteur. Pour prévenir les risques et assister efficacement le conducteur, ces systèmes ont besoin de connaitre l’environnement dans lequel évolue le véhicule par le biais de paramètres mesurés ou déterminés. Chacun de ces systèmes s’appuient sur un ensemble de données sur l’environnement du véhicules, acquises par un ou plusieurs capteurs embarqués. Avec l’évolution de la technologie, le traitement des données acquises s’appuie sur des méthodes dites d’apprentissage machine (de l’anglais « machine learning ») mises en œuvre par des réseaux de neurones. Ainsi, dans certains véhicules, plusieurs réseaux de neurones sont mis en œuvre simultanément, par exemple un réseau de neurone pour chaque système ADAS utilisant une telle méthode. Pour la mise en œuvre d’un réseau de neurones, il est nécessaire de stocker en mémoire les paramètres appris du réseau de neurones permettant le traitement des données. Par ailleurs, la mise en œuvre d’un tel réseau de neurones demande des ressources en termes de calcul assez importantes. Lorsque plusieurs réseaux de neurones sont mis en œuvre dans un véhicule, l’empreinte mémoire pour stocker les paramètres et les ressources, notamment en termes de calculs, à dédier à leur mise en œuvre sont importantes, au risque de ralentir ou d’empêcher d’autres fonctions assurées par les calculateurs en charge de ces systèmes ADAS. Un objet de la présente invention est de réduire les ressources nécessaires à la mise en œuvre de fonctions réalisées par des réseaux de neurones dans un véhicule, par exemple automobile. Selon un premier aspect, l’invention concerne un procédé de contrôle d’une pluralité de systèmes d’aide à la conduite embarqués dans un véhicule, le procédé comprenant les étapes suivantes : - acquisition d’un ensemble de données représentatives d’au moins une partie d’un environnement du véhicule par au moins un capteur embarqué dans le véhicule ; - détermination d’un ensemble de caractéristiques représentatives de l’ensemble de données par une partie dite convolutive d’un réseau de neurones multi-têtes, la partie convolutive mettant en œuvre au moins une couche de convolution ; - transmission de l’ensemble de caractéristiques en entrée de chaque tête du réseau de neurones multi-têtes, chaque tête étant complémentaire de la partie convolutive et associée à un système d’aide à la conduite particulier de la pluralité de systèmes d’aide à la conduite ; - traitement de l’ensemble de caractéristiques par chaque tête du réseau de neurones multi-têtes ; et - contrôle de chaque système d’aide à la conduite à partir d’un résultat obtenu du traitement de l’ensemble de caractéristiques par la tête associée à chaque système d’aide à la conduite. Selon une variante, l’ensemble de données correspond à un ensemble de données d’image acquises par une caméra embarquée dans le véhicule. Selon une autre variante, l’ensemble de caractéristiques est obtenu sous une forme d’une matrice tridimensionnelle, une première dimension de la matrice correspondant à une largeur, une deuxième dimension de la matrice correspondant à une hauteur et une troisième dimension de la matrice correspondant à un nombre de canaux d’un espace latent. Selon une variante supplémentaire, chaque tête comprend au moins une couche de neurones densément connectés et met en œuvre une classification des caractéristiques de l’ensemble de caractéristiques pour obtenir le résultat. Selon encore une variante, la partie convolutive comprend en outre une couche de correction intercalée entre respectivement une première couche de convolution et une deuxième couche de convolution de la partie convolutive, la couche de correction mettant en œuvre une fonction d’activation appliquée aux données en sortie de la première couche de convolution, la deuxième couche de convolution étant alimentée avec les données de sortie auxquelles a été appliquée ladite fonction d’activation. Selon une autre variante, la pluralité de systèmes d’aide à la conduite comprend au moins deux des systèmes suivants : - un système de détection de marquage au sol ; - un système d’aide au stationnement automatique ; - un système de détection des voies de circulation ; - système de détection d’objet ou d’obstacle sur la voie ; - un système de détection et de reconnaissance de panneaux de signalisation ; et/ou - un système de détection et de reconnaissance de feux de circulation. Selon une variante additionnelle, un ensemble de premiers paramètres de la partie convolutive et un ensemble de deuxièmes paramètres de chaque tête du réseau de neurones multi-têtes sont appris pendant une phase d’apprentissage commune à la partie convolutive et aux têtes du réseau de neurones multi-têtes. Selon un deuxième aspect, l’invention concerne un système de contrôle d’une pluralité de systèmes d’aide à la conduite embarqués dans un véhicule, le système comprenant au moins un calculateur comprenant une mémoire associée à un processeur configuré pour la mise en œuvre des étapes du procédé selon le premier aspect de l’invention. Selon un troisième aspect, l’invention concerne un véhicule, par exemple de type automobile, comprenant un système tel que décrit ci-dessus selon le deuxième aspect de l’invention. Selon un quatrième aspect, l’invention concerne un programme d’ordinateur qui comporte des instructions adaptées pour l’exécution des étapes du procédé selon le premier aspect de l’invention, ceci notamment lorsque le programme d’ordinateur est exécuté par au moins un processeur. Un tel programme d’ordinateur peut utiliser n’importe quel langage de programmation, et être sous la forme d’un code source, d’un code objet, ou d’un code intermédiaire entre un code source et un code objet, tel que dans une forme partiellement compilée, ou dans n’importe quelle autre forme souhaitable. Selon un cinquième aspect, l’invention concerne un support d’enregistrement lisible par un ordinateur sur lequel est enregistré un programme d’ordinateur comprenant des instructions pour l’exécution des étapes du procédé selon le premier aspect de l’invention. D’une part, le support d’enregistrement peut être n'importe quel entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu'une mémoire ROM, un CD-ROM ou une mémoire ROM de type circuit microélectronique, ou encore un moyen d'enregistrement magnétique ou un disque dur. D'autre part, ce support d’enregistrement peut également être un support transmissible tel qu'un signal électrique ou optique, un tel signal pouvant être acheminé via un câble électrique ou optique, par radio classique ou hertzienne ou par faisceau laser autodirigé ou par d'autres moyens. Le programme d’ordinateur selon l'invention peut être en particulier téléchargé sur un réseau de type Internet. Alternativement, le support d'enregistrement peut être un circuit intégré dans lequel le programme d’ordinateur est incorporé, le circuit intégré étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé en question. Brève description des figures D’autres caractéristiques et avantages de l’invention ressortiront de la description des modes de réalisation non limitatifs de l’invention ci-après, en référence aux figures 1 à 4 annexées, sur lesquelles : illustre schématiquement un véhicule embarquant un système configuré pour contrôler une pluralité de systèmes d’aide à la conduite d’un véhicule, selon un exemple de réalisation particulier de la présente invention ; illustre schématiquement un procédé d’apprentissage du système de la , selon un exemple de réalisation particulier de la présente invention ; illustre schématiquement un système configuré pour contrôler une pluralité de systèmes d’aide à la conduite embarqués dans le véhicule de la , selon un exemple de réalisation particulier de la présente invention ; illustre un organigramme des différentes étapes d’un procédé de contrôle d’une pluralité de systèmes d’aide à la conduite embarqués dans le véhicule de la , selon un exemple de réalisation particulier de la présente invention. Un procédé et un système de contrôle d’une pluralité de systèmes d’aide à la conduite embarqués dans un véhicule vont maintenant être décrits dans ce qui va suivre en référence conjointement aux figures 1 à 4. Des mêmes éléments sont identifiés avec des mêmes signes de référence tout au long de la description qui va suivre. Selon un exemple particulier et non limitatif de réalisation de l’invention, plusieurs systèmes d’aide à la conduite, dits systèmes ADAS, d’un véhicule sont mise en œuvre par traitement d’un même ensemble de données acquises par un capteur embarqué dans le véhicule. A cet effet, un ensemble de données représentatives d’au moins une partie de l’environnement du véhicule sont acquises via un capteur embarqué dans le véhicule. Ces données correspondent par exemple à des données d’images (par exemple des données RGB (de l’anglais « Red, Green, Blue » ou en français « Rouge, vert, bleu ») associées à chaque pixel d’une image) acquises par une caméra embarquée. Un ensemble de caractéristiques (ou de descripteurs) représentatives de l’ensemble de données sont déterminées en appliquant à cet ensemble de données une ou plusieurs couches de convolution d’une partie convolutive d’un réseau de neurones multi-têtes. L’ensemble de caractéristiques décrivant l’ensemble de données est transmis à chaque tête du réseau de neurones multi-têtes comprenant plusieurs têtes, à chaque tête étant associé un système ADAS particulier. Chaque tête correspond par exemple à une partie densément connectée du réseau de neurones multi-têtes et comprend au moins une couche de neurones densément connectés pour la mise en œuvre d’une ou plusieurs opérations de classification. Le résultat du traitement des caractéristiques par une tête particulière du réseau de neurones multi-têtes permet au système ADAS associé à cette tête afin d’assurer la ou les fonctions d’aide à la conduite qui lui sont imparties. Un réseau de neurones multi-têtes est par exemple décrit dans l’article intitulé « CNN-MHSA: A Convolutional Neural Network and multi-head self-attention combined approach for detecting phishing websites », publié en mai 2020 dans le volume 125, pages 303-312 de « Neural Networks » par Xi Xiao, Dianyan Zhang, Guangwu Hu, Yong Jiang et Shutao Xia. Un réseau de neurones convolutifs, également appelé réseau neuronal convolutif ou réseau de neurones à convolution et noté CNN ou ConvNet (de l’anglais « Convolutional Neural Networks ») correspond à un réseau de neurones artificiels acycliques (de l’anglais « feed-forward »). Un tel réseau neuronal convolutif comprend une partie convolutive mettant en œuvre une ou plusieurs couches de convolution et une partie densément connectée mettant en œuvre une ou plusieurs couches de neurones densément connectées (ou entièrement connectés) assurant la classification des informations selon un modèle de type MLP (de l’anglais « Multi Layers Perceptron » ou en français « Perceptrons multicouches ») par exemple. Un tel procédé permet de mutualiser les ressources nécessaires pour déterminer les caractéristiques d’un ensemble de données d’entrée, ces caractéristiques étant ensuite utilisées par plusieurs têtes d’un réseau de neurones multi-têtes pour réaliser les fonctions dédiées aux système ADAS associés à chacune de ces têtes. La détermination des caractéristiques est réalisée une seule fois par la partie convolutive du réseau de neurones multi-têtes, le résultat de cette partie convolutive étant utilisé par toutes les têtes pour la mise en œuvre des fonctions des systèmes ADAS du véhicule. illustre schématiquement un véhicule 10 circulant sur une route 100, selon un exemple de réalisation particulier et non limitatif de la présente invention. Selon l’exemple de la , le véhicule 10 correspond à un véhicule automobile. Cependant, l’objet de l’invention ne se limite pas aux véhicules automobiles, mais s’étend à tout type de véhicule terrestre, par exemple un camion, un bus, une motocyclette. Le véhicule 10 correspond à un véhicule circulant sous la supervision totale d’un conducteur ou circulant dans un mode autonome ou semi-autonome. Le véhicule circule selon un niveau d’autonomie égale à 0 ou selon un niveau d’autonomie allant de 1 à 5 par exemple, selon l’échelle définie par l’agence fédérale américaine qui a établi 5 niveaux d’autonomie allant de 1 à 5, le niveau 0 correspondant à un véhicule n’ayant aucune autonomie, dont la conduite est sous la supervision totale du conducteur, et le niveau 5 correspondant à un véhicule complètement autonome. Le véhicule 10 correspond par exemple à un véhicule équipé d’un ou plusieurs systèmes d’aide à la conduite, dit ADAS (de l’anglais « Advanced Driver-Assistance System » ou en français « Système d’aide à la conduite avancé »), un tel système étant configuré pour assister le conducteur du véhicule 10. Le véhicule 10 embarque avantageusement un capteur 101 embarqué dans le véhicule 10 pour acquérir des données représentatives de l’environnement dans lequel le véhicule 10 circule. Le capteur 101 correspond par exemple à une caméra, un radar à ondes millimétriques ou un LIDAR (de l’anglais « Light Detection And Ranging », ou « Détection et estimation de la distance par la lumière » en français). Le capteur 101 est avantageusement configuré pour acquérir un ensemble de données utiles pour une pluralité de systèmes ADAS du véhicule 10, ce même ensemble de données étant utilisés en entrée de chaque système ADAS pour un traitement particulier afin d’obtenir des données exploitables après traitement pour chaque système ADAS. Dans ce qui va suivre, le capteur 101 pris pour exemple correspondra à une caméra. L’ensemble de données acquis par la caméra correspond à un ensemble de données d’image(s), par exemple des données RGB. L’invention ne se limite cependant pas à cet exemple et concerne le traitement de tout type de données, par exemple des données obtenues d’un ou plusieurs radars et/ou d’un ou plusieurs LIDARs. Selon l’exemple particulier de la , la caméra 101 est positionnée de manière à acquérir une ou plusieurs images de la route 100 pendant que le véhicule 10 circule sur cette route, c’est-à-dire que le champ de vision de la caméra 101 comprend une portion de la route 100 située devant le véhicule 10. Une telle caméra 101 comprend avantageusement un système optique associé à une grille de capteurs photosensibles (formant par exemple un capteur photosensible de type CCD (de l’anglais « Charge-Coupled Device » ou en français « Dispositif à transfert de charges » ou CMOS (de l’anglais « Complementary Metal-Oxide-Semiconductor » ou en français « semiconducteur d’oxyde de métal complémentaire »)) permettant l’acquisition d’image(s) de l’environnement situé devant le véhicule 10. Une image acquise par la caméra 101 correspond à une grille de pixels, à chaque pixel étant associée un niveau de gris (par exemple un niveau de gris dont la valeur est comprise entre 0 et 255 si les premières données de l’image sont codées sur 8 bits), ou un niveau de gris par canal de couleur, par exemple un niveau de gris par canal RGB (de l’anglais « Red, Green, Blue » ou en français « Rouge, vert, bleu »). Les données associées à chaque pixel d’une image forment un ensemble de données appelées premières données représentatives de l’image considérée. La résolution de la caméra 101 est par exemple égale à 1920 x 1080 pixels (résolution dite Full HD (ou « pleine haute définition » en français) ou supérieure, par exemple égale à 2304 x 1296 pixels ou encore 2560 x 1440 pixels. Selon un autre exemple, la résolution est inférieure à 1920 x 1080 pixels, par exemple égale à 640 x 480 pixels. Les images acquises par la caméra 100 sont acquises à une fréquence déterminée, par exemple à une fréquence de 1, 10, 24, 30, 50, 60, 100 ou plus images par seconde. Selon une variante, l’acquisition d’une ou plusieurs images de la route 100 par la caméra 101 est faite à la réception d’une requête par la caméra 101, par exemple à la réception d’une requête émise par un calculateur du système embarqué, par exemple le calculateur en charge de la détermination de l’adhérence entre le véhicule 10 et le revêtement de la route 100. Les données d’image acquises par la caméra 101 sont par exemple destinées à un ensemble de système ADAS, par exemple au moins deux des systèmes suivants : - un système de détection de marquage au sol ; et/ou - un système d’aide au stationnement (de l’anglais « Park assist ») automatique ; et/ou - un système de détection des voies de circulation ; et/ou - un système de détection d’objet ou d’obstacle sur la voie ; et/ou - un système de détection et de reconnaissance de panneaux de signalisation ; et/ou - un système de détection et de reconnaissance de feux de circulation. Le véhicule 10 embarque avantageusement un système comprenant un ou plusieurs calculateurs et mettant en œuvre un réseau de neurones multi-têtes 102 comprenant une partie convolutive 1021 et une pluralité de têtes 1021, 1022, 1023 formée chacune d’une partie densément connectée du réseau de neurones multi-têtes 102. Chaque tête est avantageusement configurée pour mettre en œuvre les fonctions assurées par un système ADAS particulier, le réseau de neurones multi-têtes 102 réalisant les fonctions assurées par plusieurs systèmes ADAS. Un exemple d’un calculateur du système embarqué du véhicule 10 est illustré en regard de la . Ces calculateurs communiquent avantageusement entre eux par l’intermédiaire d’un bus de communication, par exemple un bus de données multiplexées, par exemple un réseau filaire de type CAN (de l’anglais « Controller Area Network » ou en français « Réseau de contrôleurs »), CAN FD (de l’anglais « Controller Area Network Flexible Data-Rate » ou en français « Réseau de contrôleurs à débit de données flexible »), FlexRay (standardisé par la norme ISO 17458) ou Ethernet (standardisé par la norme ISO/IEC 802-3), pour la mise en œuvre d’un processus de contrôle de plusieurs systèmes ADAS embarqués dans le véhicule 10, nécessitant chacun un même ensemble de données sur l’environnement du véhicule 10 pour assurer leur(s) fonction(s) d’aide à la conduite du véhicule 10, un tel processus étant décrit ci-dessous. Dans une première opération, un ensemble de données d’images sont acquises par la caméra 101, cet ensemble de données étant représentatif d’une partie de l’environnement extérieur du véhicule 10, par exemple la portion d’environnement située devant le véhicule 10. Cet ensemble de données est avantageusement transmis à un premier calculateur mettant en œuvre la partie convolutive 1021 via un bus de communication reliant la caméra 101 au premier calculateur. Dans une deuxième opération, une ou plusieurs couches de convolution de la partie convolutive 1021 du réseau de neurones multi-têtes 102 sont par exemple mises en œuvre par le premier calculateur recevant en entrée l’ensemble de données reçues de la caméra 101. Cet ensemble de données est ainsi fourni en entrée de la partie convolutive 1021 du réseau neuronal (convolutif) multi-têtes 102 pour déterminer des informations représentatives des caractéristiques de cet ensemble de données, c’est-à-dire d’une image selon l’exemple particulier de la . La partie convolutive 1021 met avantageusement en œuvre une ou plusieurs couches de convolution pour traiter l’ensemble de données d’image(s) et en extraire un ensemble de caractéristiques (par exemple des motifs dans le cas d’une image). Un ensemble de filtres de convolution sont appliquées à l’ensemble de données d’image, cet ensemble de données d’image étant par exemple fournies sous la forme d’une matrice à deux dimensions (correspondant à la grille de pixels d’une image par exemple). Par exemple, 50, 100, 200 ou plus de filtres de convolution sont appliqués, chaque filtre ayant une taille et un pas (de l’anglais « stride ») déterminés. Par exemple, chaque filtre a une taille égale à 1x7 et un pas de 1. Autrement dit, la matrice d’entrée contenant l’ensemble de données d’image passe dans une première couche de convolution et des opérations de convolutions sont appliquées à cette matrice d’entrée sur la base des filtres de taille et pas déterminés. Le pas (ou « stride » en anglais) correspond au nombre de pixels par lesquels la fenêtre correspondant au filtre se déplace dans le tenseur d’entrée (matrice d’entrée par exemple). Selon une variante, une ou plusieurs opérations de convolution successives sont appliquées à l’ensemble de données d’image, avec pour chaque opération de convolution l’application d’un ensemble de filtres de convolutions aux données obtenues en sortie de l’opération de convolution précédente. Selon encore une variante, une ou plusieurs opérations dites de « mise en commun » (par exemple une ou plusieurs opérations de « mise en commun par maximum » (de l’anglais « max pooling ») et/ou une ou plusieurs opérations de « mise en commun par moyenne » (de l’anglais « average pooling »)) sont mises en œuvre et appliquées aux données obtenues de la ou les opérations de convolution. Selon cette variante, la ou les opérations de « mise en commun » sont par exemple, et optionnellement, assorties ou associées à une opération de désactivation aléatoire d’une partie des neurones du réseau, avec une probabilité déterminée, par exemple une probabilité de 0.2 (20 %), 0.3 (30 %) ou 0.4 (40 %), cette technique étant connue sous le nom de « dropout ». Selon une autre variante, une ou plusieurs opérations ou fonctions d’activation sont mises en œuvre par la partie convolutive 1021 du réseau de neurones 102. Une fonction d’activation est mise en œuvre par une couche de correction (aussi appelée correction ReLU (de l’anglais « Rectified Linear Unit » ou en français « Unité linéaire rectifiée »)) intercalée entre deux couches de convolution successives, c’est-à-dire qu’une couche de correction est intercalée entre une première couche de convolution et une deuxième couche de convolution. Les données en sorties de la première couche de convolution alimentent la couche de correction et subissent la fonction d’activation. Les données traitées par la couche de correction alimentent alors la deuxième couche de convolution. La partie convolutive 1021 est commune à l’ensemble des têtes 1022, 1023, 1024, les traitements appliqués à l’ensemble de données reçues de la caméra étant réalisés une seule fois pour l’ensemble des têtes 1022, 1023, 1024, permettant ainsi une mutualisation des traitements et permettant d’éviter que cet ensemble de données subissent plusieurs fois les mêmes traitements tels que cela est le cas lorsque plusieurs réseaux de neurones sont mis en œuvre indépendamment les uns des autres pour réaliser les fonctions des différents systèmes ADAS du véhicule 10. Les caractéristiques sont par exemple obtenues par la ou les opérations de filtrage par convolution. L’objectif de la ou les couches de convolution mises en œuvre dans la partie convolutive 1021 du réseau de neurones 102 est de détecter la présence de caractéristique(s) (de l’anglais « feature ») (ou de motifs présents dans l’image et associés aux caractéristiques recherchées) dans l’image introduite en entrée (via les premières données) de la partie convolutive. Chaque filtre de convolution représente par exemple une caractéristique déterminée recherchée dans l’image en faisant glisser la fenêtre correspondant au filtre sur l’image, et en calculant le produit de convolution entre cette caractéristique déterminée et chaque portion de l’image balayée par le filtre associé à cette caractéristique déterminée. Le résultat du produit de convolution permet de déterminer la présence ou l’absence de la caractéristique déterminée dans l’image d’entrée. L’ensemble de caractéristiques obtenues de la partie convolutive 1021 prend par exemple la forme d’une matrice tridimensionnelle, une première dimension de la matrice correspondant à une largeur, une deuxième dimension de la matrice correspondant à une hauteur et une troisième dimension de la matrice correspondant à un nombre de canaux d’un espace latent. Dans une deuxième opération, l’ensemble de caractéristiques déterminées par la partie convolutive 1021 du réseau de neurones 102 sont transmises à chaque tête 1022, 1023, 1024 formant chacune une partie dite densément connectée du réseau de neurones 102. Cette transmission correspond à une duplication de l’ensemble de caractéristiques pour fourniture de cet ensemble de caractéristiques à chaque tête 1022, 1023, 1024. Chaque tête 1022, 1023, 1024 du réseau de neurones multi-têtes 102 comprend par exemple une ou plusieurs couches de neurones densément connectés et forme une partie densément connectée du réseau de neurones multi-têtes 102. Le nombre de têtes du réseau de neurones multi-têtes n’est pas limité à 3 mais s’étend à tout nombre supérieur ou égal à 2. Dans une troisième opération, l’ensemble de caractéristiques de la ou les images acquises par la caméra 101 est traité par chaque tête 1022, 1023, 1024 du réseau de neurones multi-têtes 102. Chaque tête 1022, 1023, 1024 met en œuvre une ou plusieurs couches de neurones densément connectés ou totalement connectés (de l’anglais « fully-connected »). Une couche de neurones densément connectés reçoit par exemple en entrée un vecteur ou une matrice d’entrée et produit un vecteur ou une matrice de sortie. Pour cela, la couche applique une combinaison linéaire puis optionnellement une fonction d’activation aux valeurs reçues en entrée et contenues dans le vecteur ou la matrice d’entrée. La couche densément connectée correspondant à une tête met en œuvre une opération de classification des données contenues dans la matrice d’entrée, c’est-à-dire des données représentatives des caractéristiques détectées dans l’image correspondant à l’ensemble de données reçues de la caméra 101. La couche densément connectée renvoie en sortie un vecteur de taille N, où N correspond au nombre de classes de la classification. Chaque élément du vecteur de sortie fournit la probabilité pour chaque caractéristique de l’ensemble de caractéristiques d’appartenir à une classe. Le vecteur ou la matrice d’entrée passe par exemple par une couche de neurones densément connectés, avec par exemple 128, 256 ou plus de neurones chacun connecté à chacun des neurones d’une couche comprenant autant de neurones qu’il y a de classes. Dans une quatrième opération, chaque système ADAS associé à chaque tête 1022, 1023, 1024 est contrôlé à partir du résultat obtenu du traitement de l’ensemble de caractéristiques obtenu à la troisième opération. Le résultat obtenu à la troisième opération permet ainsi à chaque système ADAS de mettre en œuvre la ou les fonctions qui lui sont imparties (par exemple reconnaissance de marquage au sol, d’un panneau de signalisation, d’un obstacle, etc.) illustre schématiquement un processus d’apprentissage du réseau de neurones multi-têtes de la , selon un exemple de réalisation particulier et non limitatif de la présente invention. Un ensemble de premiers paramètres de la partie convolutive 1021 et un ensemble de deuxièmes paramètres de chaque tête 1022, 1023, 1024 du réseau de neurones multi-têtes 102 sont avantageusement appris pendant une phase d’apprentissage commune à la partie convolutive 1021 et aux têtes 1022, 1023, 1024 du réseau de neurones multi-têtes 102. L’ensemble de premiers paramètres correspond par exemple aux valeurs des filtres de convolution mis en œuvre dans la ou les couches de convolution de la partie convolutive 1021. L’ensemble de deuxièmes paramètres correspond par exemple aux paramètres faisant l’association entre les caractéristiques et les classes de la ou les étapes de classification mises en œuvre par la ou les couches de neurones densément connectés. L’apprentissage est avantageusement obtenu à partir d’un nombre important d’ensemble de données de même nature que l’ensemble de données fourni en entrée de la partie convolutive 1021 dans la phase d’inférence décrite en regard de la . Lorsque l’ensemble de données correspond à une image, l’apprentissage est obtenu à partir d’une base de données 20 comprenant un nombre important d’images (par exemple des centaines, des milliers, des dizaines de millier ou plus), à chaque image de cette base de données étant associé le résultat attendu en sortie du traitement réalisé par chaque tête 1022, 1023, 1024. Cette association entre une image et les résultats attendus pour chaque tête (c’est-à-dire l’étiquette associée à l’image pour une tête particulière) est par exemple obtenue selon une méthode d’apprentissage dite supervisée. Cette base de données 20 permet à la fois la partie convolutive 1021 et chacune des têtes 1022, 1023, 1024 en imposant l’architecture particulière du réseau de neurones 102 au moment de l’apprentissage. La partie convolutive est optimisée par un module d’optimisation 21 pour toutes les tâches ou étiquettes associées aux têtes 1022, 1023, 1024 alors que les têtes 1022, 1023, 1024 ne sont optimisées que sur leur propre tâche (et donc sur leur propre étiquette associée). L’apprentissage est par exemple mis en œuvre en utilisant une méthode connue sous le nom de rétropropagation du gradient de l’erreur, par exemple en utilisant l’algorithme Adam Optimizer. illustre schématiquement un dispositif 3 d’un système configuré pour contrôler une pluralité de système ADAS d’un véhicule par la mise en œuvre d’un réseau multi-têtes, selon un exemple de réalisation particulier et non limitatif de la présente invention. Le dispositif 3 correspond par exemple à un dispositif embarqué dans le véhicule 10, par exemple un calculateur. Le dispositif 3 est par exemple configuré pour la mise en œuvre des opérations décrites en regard de la ou 2 et/ou des étapes du procédé décrit en regard de la . Des exemples d’un tel dispositif 3 comprennent, sans y être limités, un équipement électronique embarqué tel qu’un ordinateur de bord d’un véhicule, un calculateur électronique tel qu’une UCE (« Unité de Commande Electronique »), un téléphone intelligent, une tablette, un ordinateur portable. Les éléments du dispositif 3, individuellement ou en combinaison, peuvent être intégrés dans un unique circuit intégré, dans plusieurs circuits intégrés, et/ou dans des composants discrets. Le dispositif 3 peut être réalisé sous la forme de circuits électroniques ou de modules logiciels (ou informatiques) ou encore d’une combinaison de circuits électroniques et de modules logiciels. Selon différents modes de réalisation particuliers, le dispositif 3 est couplé en communication avec d’autres dispositifs ou systèmes similaires et/ou avec des dispositifs de communication, par exemple une TCU (de l’anglais « Telematic Control Unit » ou en français « Unité de Contrôle Télématique »), par exemple par l’intermédiaire d’un bus de communication ou au travers de ports d’entrée / sortie dédiés. Le dispositif 3 comprend un (ou plusieurs) processeur(s) 30 configurés pour exécuter des instructions pour la réalisation des étapes du procédé et/ou pour l’exécution des instructions du ou des logiciels embarqués dans le dispositif 3. Le processeur 30 peut inclure de la mémoire intégrée, une interface d’entrée/sortie, et différents circuits connus de l’homme du métier. Le dispositif 3 comprend en outre au moins une mémoire 31 correspondant par exemple une mémoire volatile et/ou non volatile et/ou comprend un dispositif de stockage mémoire qui peut comprendre de la mémoire volatile et/ou non volatile, telle que EEPROM, ROM, PROM, RAM, DRAM, SRAM, flash, disque magnétique ou optique. Le code informatique du ou des logiciels embarqués comprenant les instructions à charger et exécuter par le processeur est par exemple stocké sur la mémoire 31. Selon un mode de réalisation particulier et non limitatif, le dispositif 3 comprend un bloc 32 d’éléments d’interface pour communiquer avec des dispositifs externes, par exemple un ordinateur distant, un dispositif de diagnostic. Les éléments d’interface du bloc 32 comprennent une ou plusieurs des interfaces suivantes : - interface radiofréquence RF, par exemple de type Bluetooth® ou Wi-Fi®, LTE (de l’anglais « Long-Term Evolution » ou en français « Evolution à long terme »), LTE-Advanced (ou en français LTE-avancé) ; - interface USB (de l’anglais « Universal Serial Bus » ou « Bus Universel en Série » en français) ; - interface HDMI (de l’anglais « High Definition Multimedia Interface », ou « Interface Multimedia Haute Definition » en français) ; - interface LIN (de l’anglais « Local Interconnect Network », ou en français « Réseau interconnecté local »). Selon un autre mode de réalisation particulier, le dispositif 3 comprend une interface de communication 33 qui permet d’établir une communication avec d’autres dispositifs (tels que d’autres calculateurs du système embarqué) via un canal de communication 330. L’interface de communication 33 correspond par exemple à un transmetteur configuré pour transmettre et recevoir des informations et/ou des données via le canal de communication 330. L’interface de communication 33 correspond par exemple à un réseau filaire de type CAN (de l’anglais « Controller Area Network » ou en français « Réseau de contrôleurs »), CAN FD (de l’anglais « Controller Area Network Flexible Data-Rate » ou en français « Réseau de contrôleurs à débit de données flexible »), FlexRay (standardisé par la norme ISO 17458) ou Ethernet (standardisé par la norme ISO/IEC 802-3). Selon un mode de réalisation particulier supplémentaire, le dispositif 3 peut fournir des signaux de sortie à un ou plusieurs dispositifs externes, tels qu’un écran d’affichage, un ou des haut-parleurs et/ou d’autres périphériques via respectivement des interfaces de sortie non représentées. illustre un organigramme des différentes étapes d’un procédé de contrôle d’une pluralité de systèmes d’aide à la conduite embarqués dans le véhicule 10, selon un exemple de réalisation particulier et non limitatif de la présente invention. Le procédé est par exemple mis en œuvre par un système embarqué dans le véhicule 10, par exemple un système comprenant un ou plusieurs calculateurs tels que le dispositif 3 décrit en regarde de la , un tel système mettant en œuvre un réseau de neurones (convolutif) multi-têtes 102. Dans une première étape 41, un ensemble de données représentatives d’au moins une partie d’un environnement du véhicule est acquis par au moins un capteur embarqué dans le véhicule. Dans une deuxième étape 42, un ensemble de caractéristiques représentatives de l’ensemble de données est déterminé par une partie dite convolutive d’un réseau de neurones multi-têtes, la partie convolutive mettant en œuvre au moins une couche de convolution. Dans une troisième étape 43, l’ensemble de caractéristiques est transmis en entrée de chaque tête du réseau de neurones multi-têtes, chaque tête étant complémentaire de la partie convolutive et associée à un système d’aide à la conduite particulier de la pluralité de systèmes d’aide à la conduite. Dans une quatrième étape 44, l’ensemble de caractéristiques reçu par chaque tête du réseau de neurones multi-têtes est traité par chaque tête. Le traitement correspond par exemple à une ou plusieurs phases de classification mises en œuvre par une ou plusieurs couches de neurones densément connectés. Dans une cinquième étape 45, chaque système d’aide à la conduite est contrôlé à partir d’un résultat obtenu du traitement 44 de l’ensemble de caractéristiques par la tête associée à chaque système d’aide à la conduite. Selon une variante de réalisation, les variantes et exemples des opérations décrites en relation avec les figures 1 et 2 s’appliquent aux étapes du procédé de la . Bien entendu, l’invention ne se limite pas aux modes de réalisation décrits ci-avant mais s’étend à un procédé de contrôle d’un véhicule, par exemple autonome, par la mise en œuvre des systèmes ADAS embarqués dans ce véhicule, ainsi qu’au dispositif ou système configuré pour la mise en œuvre d’un tel procédé. L’invention concerne également un véhicule, par exemple automobile ou plus généralement un véhicule à moteur terrestre, comprenant un ou plusieurs dispositif 3 de la . Procédé de contrôle d’une pluralité de systèmes d’aide à la conduite embarqués dans un véhicule (10), ledit procédé comprenant les étapes suivantes : - acquisition (41) d’un ensemble de données représentatives d’au moins une partie d’un environnement (100) dudit véhicule (10) par au moins un capteur (101) embarqué dans ledit véhicule (101) ; - détermination (42) d’un ensemble de caractéristiques représentatives dudit ensemble de données par une partie dite convolutive (1021) d’un réseau de neurones multi-têtes (102), ladite partie convolutive (1021) mettant en œuvre au moins une couche de convolution ; - transmission (43) dudit ensemble de caractéristiques en entrée de chaque tête (1022, 1023, 1024) dudit réseau de neurones multi-têtes (102), chaque tête (1022, 1023, 1024) étant complémentaire de ladite partie convolutive (1021) et associée à un système d’aide à la conduite particulier de ladite pluralité de systèmes d’aide à la conduite ; - traitement (44) dudit ensemble de caractéristiques par chaque tête (1022, 1023, 1024) dudit réseau de neurones multi-têtes (102) ; - contrôle (45) de chaque système d’aide à la conduite à partir d’un résultat obtenu du traitement dudit ensemble de caractéristiques par la tête associée audit chaque système d’aide à la conduite. Procédé selon la revendication 1, pour lequel ledit ensemble de données correspond à un ensemble de données d’image acquises par une caméra (101) embarquée dans ledit véhicule (10). Procédé selon l’une des revendications 1 à 2, pour lequel ledit ensemble de caractéristiques est obtenu sous une forme d’une matrice tridimensionnelle, une première dimension de la matrice correspondant à une largeur, une deuxième dimension de la matrice correspondant à une hauteur et une troisième dimension de la matrice correspondant à un nombre de canaux d’un espace latent. Procédé selon l’une des revendications 1 à 3, pour lequel chaque tête (1022, 1023, 1024) comprend au moins une couche de neurones densément connectés et met en œuvre une classification des caractéristiques dudit ensemble de caractéristiques pour obtenir ledit résultat. Procédé selon l’une des revendications 1 à 4, pour lequel ladite partie convolutive (1021) comprend en outre une couche de correction intercalée entre respectivement une première couche de convolution et une deuxième couche de convolution de ladite partie convolutive, ladite couche de correction mettant en œuvre une fonction d’activation appliquée aux données en sortie de la première couche de convolution, la deuxième couche de convolution étant alimentée avec les données de sortie auxquelles a été appliquée ladite fonction d’activation. Procédé selon l’une des revendications 1 à 5, pour lequel ladite pluralité de systèmes d’aide à la conduite comprend au moins deux des systèmes suivants : - un système de détection de marquage au sol ; - un système d’aide au stationnement automatique ; - un système de détection des voies de circulation ; - système de détection d’objet ou d’obstacle sur la voie ; - un système de détection et de reconnaissance de panneaux de signalisation ; et/ou - un système de détection et de reconnaissance de feux de circulation. Procédé selon l’une des revendications 1 à 6, pour lequel un ensemble de premiers paramètres de ladite partie convolutive (1021) et un ensemble de deuxièmes paramètres de chaque tête (1022, 1023, 1024) dudit réseau de neurones multi-têtes (102) sont appris pendant une phase d’apprentissage commune à ladite partie convolutive (1021) et auxdites têtes (1022, 1023, 1024) dudit réseau de neurones multi-têtes (102). Système comprenant au moins un calculateur (3), ledit au moins un calculateur (3) comprenant une mémoire (31) associée à au moins un processeur (30) configuré pour la mise en œuvre des étapes du procédé selon l’une quelconque des revendications 1 à 6. Véhicule (10) comprenant le système selon la revendication 8. Programme d’ordinateur comportant des instructions pour la mise en œuvre du procédé selon l’une quelconque des revendications 1 à 7, lorsque ces instructions sont exécutées par au moins un processeur