FR3121110A1 - Method and system for controlling a plurality of driver assistance systems on board a vehicle - Google Patents

Method and system for controlling a plurality of driver assistance systems on board a vehicle Download PDF

Info

Publication number
FR3121110A1
FR3121110A1 FR2102930A FR2102930A FR3121110A1 FR 3121110 A1 FR3121110 A1 FR 3121110A1 FR 2102930 A FR2102930 A FR 2102930A FR 2102930 A FR2102930 A FR 2102930A FR 3121110 A1 FR3121110 A1 FR 3121110A1
Authority
FR
France
Prior art keywords
head
vehicle
data
neural network
convolutional
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
FR2102930A
Other languages
French (fr)
Inventor
Thibault Fouqueray
Thomas Hannagan
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
PSA Automobiles SA
Original Assignee
PSA Automobiles SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by PSA Automobiles SA filed Critical PSA Automobiles SA
Priority to FR2102930A priority Critical patent/FR3121110A1/en
Publication of FR3121110A1 publication Critical patent/FR3121110A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Traffic Control Systems (AREA)

Abstract

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 1The invention relates to a method and a device for controlling several driver assistance systems, called ADAS systems, of a vehicle (10). To this end, a set of data representative of the environment of the vehicle (10) are acquired via a sensor (101) on board the vehicle (10). A set of features representative of the data set are determined via one or more convolution layers of a convolutional part (1021) of a multi-headed neural network (102). The feature set describing the data set is transmitted to each head (1022, 1023, 1024) of the multi-head neural network (102), with each head being associated with a particular ADAS system. The result of the processing of the characteristics by a particular head of the multi-head neural network allows the ADAS system associated with this head to ensure the associated driving assistance function(s). Figure for abstract: Figure 1

Description

Procédé et système de contrôle d’une pluralité de systèmes d’aide à la conduite embarqués dans un véhiculeMethod and system for controlling a plurality of driver assistance systems on board a vehicle

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.The invention relates to a method and a system for controlling a plurality of driver assistance systems on board a vehicle. The invention also relates to a method and a system for controlling a vehicle, in particular an autonomous vehicle. The invention also relates to the vehicle on board the system for controlling the plurality of driving assistance systems.

Arrière-plan technologiqueTechnology background

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.The systems embedded in certain contemporary vehicles offer driving assistance functions which assist the driver of a vehicle in driving this vehicle, for example to detect a risk and prevent it by reacting automatically. These driving assistance systems are known as ADAS systems (from the English "Advanced Driver-Assistance System" or in French "Advanced Driving Assistance System"). The most advanced driving assistance systems provide control of the vehicle, which becomes a so-called autonomous vehicle, i.e. a vehicle capable of driving in the road environment without driver intervention.

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.To prevent risks and effectively assist the driver, these systems need to know the environment in which the vehicle is moving through measured or determined parameters.

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.Each of these systems is based on a set of data on the environment of the vehicle, acquired by one or more on-board sensors. With the evolution of technology, the processing of acquired data is based on so-called machine learning methods implemented by neural networks. Thus, in certain vehicles, several neural networks are implemented simultaneously, for example one neural network for each ADAS system using such a method.

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.For the implementation of a neural network, it is necessary to store in memory the learned parameters of the neural network allowing the processing of data. Moreover, the implementation of such a neural network requires quite significant computational resources. When several neural networks are implemented in a vehicle, the memory footprint for storing the parameters and the resources, particularly in terms of calculations, to be dedicated to their implementation are significant, at the risk of slowing down or preventing other functions provided by the computers in charge of these ADAS systems.

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.An object of the present invention is to reduce the resources necessary for the implementation of functions carried out by neural networks in a vehicle, for example an 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 :According to a first aspect, the invention relates to a method for controlling a plurality of driver assistance systems on board a vehicle, the method comprising the following steps:

- 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 ;- acquisition of a set of data representative of at least part of an environment of the vehicle by at least one sensor on board the vehicle;

- 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 ;- determination of a set of characteristics representative of the data set by a so-called convolutional part of a multi-head neural network, the convolutional part implementing at least one convolution layer;

- 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 ;- transmission of the set of characteristics at the input of each head of the multi-head neural network, each head being complementary to the convolutional part and associated with a particular driving assistance system of the plurality of driving assistance systems the driving ;

- traitement de l’ensemble de caractéristiques par chaque tête du réseau de neurones multi-têtes ; et- processing of the feature set by each head of the multi-head neural network; and

- 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.- control of each driver assistance system based on a result obtained from the processing of the set of characteristics by the head associated with each driver assistance system.

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.According to a variant, the set of data corresponds to a set of image data acquired by a camera on board the vehicle.

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.According to another variant, the set of characteristics is obtained in the form of a three-dimensional matrix, a first dimension of the matrix corresponding to a width, a second dimension of the matrix corresponding to a height and a third dimension of the matrix corresponding to a number of channels of a latent space.

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.According to a further variant, each head comprises at least one layer of densely connected neurons and implements a classification of the characteristics of the characteristic set to obtain the result.

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.According to yet another variant, the convolutional part further comprises a correction layer interposed between respectively a first convolution layer and a second convolution layer of the convolutional part, the correction layer implementing an activation function applied to the data in output of the first convolution layer, the second convolution layer being fed with the output data to which said activation function has been applied.

Selon une autre variante, la pluralité de systèmes d’aide à la conduite comprend au moins deux des systèmes suivants :According to another variant, the plurality of driving assistance systems comprises at least two of the following systems:

- un système de détection de marquage au sol ;- a ground marking detection system;

- un système d’aide au stationnement automatique ;- an automatic parking assistance system;

- un système de détection des voies de circulation ;- a traffic lane detection system;

- système de détection d’objet ou d’obstacle sur la voie ;- object or obstacle detection system on the track;

- un système de détection et de reconnaissance de panneaux de signalisation ; et/ou- a traffic sign detection and recognition system; and or

- un système de détection et de reconnaissance de feux de circulation.- a traffic light detection and recognition system.

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.According to an additional variant, a set of first parameters of the convolutional part and a set of second parameters of each head of the multi-head neural network are learned during a learning phase common to the convolutional part and to the heads of the neural network multi-head.

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.According to a second aspect, the invention relates to a system for controlling a plurality of driving assistance systems on board a vehicle, the system comprising at least one computer comprising a memory associated with a processor configured for the implementation steps of the method according to the first aspect of the 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.According to a third aspect, the invention relates to a vehicle, for example of the automotive type, comprising a system as described above according to the second aspect of the 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.According to a fourth aspect, the invention relates to a computer program which comprises instructions adapted for the execution of the steps of the method according to the first aspect of the invention, this in particular when the computer program is executed by at least one processor.

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.Such a computer program can use any programming language, and be in the form of source code, object code, or intermediate code between source code and object code, such as in a partially compiled form, or in any other desirable form.

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.According to a fifth aspect, the invention relates to a computer-readable recording medium on which is recorded a computer program comprising instructions for the execution of the steps of the method according to the first aspect of the 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.On the one hand, the recording medium can be any entity or device capable of storing the program. For example, the medium may comprise a storage means, such as a ROM memory, a CD-ROM or a ROM memory of the microelectronic circuit type, or even a magnetic recording means or a hard disk.

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.On the other hand, this recording medium can also be a transmissible medium such as an electrical or optical signal, such a signal being able to be conveyed via an electrical or optical cable, by conventional or hertzian radio or by self-directed laser beam or by other ways. The computer program according to the invention can in particular be downloaded from an Internet-type network.

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.Alternatively, the recording medium may be an integrated circuit in which the computer program is incorporated, the integrated circuit being adapted to execute or to be used in the execution of the method in question.

Brève description des figuresBrief description of 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 :Other characteristics and advantages of the invention will emerge from the description of the non-limiting embodiments of the invention below, with reference to the appended figures 1 to 4, in which:

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 ; schematically illustrates a vehicle onboard a system configured to control a plurality of vehicle driving assistance systems, according to a particular embodiment of the present 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 ; schematically illustrates a method of learning the system of the , according to a particular embodiment of the present 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 ; schematically illustrates a system configured to control a plurality of in-vehicle driver assistance systems of the , according to a particular embodiment of the present 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. illustrates a flowchart of the different steps of a method for controlling a plurality of driver assistance systems on board the vehicle of the , according to a particular embodiment of the present 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.A method and a system for controlling a plurality of driver assistance systems on board a vehicle will now be described in the following with reference in conjunction with FIGS. 1 to 4. The same elements are identified with the same signs reference throughout the following description.

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.According to a particular and non-limiting example of embodiment of the invention, several driving assistance systems, called ADAS systems, of a vehicle are implemented by processing the same set of data acquired by an on-board sensor in the vehicle. To this end, a set of data representative of at least part of the environment of the vehicle are acquired via a sensor on board the vehicle. These data correspond for example to image data (for example RGB data (from the English “Red, Green, Blue” or in French “Rouge, vert, bleu”) associated with each pixel of an image) acquired by an on-board camera. A set of features (or descriptors) representative of the data set are determined by applying to this data set one or more convolution layers of a convolutional part of a multi-headed neural network. The set of features describing the data set is transmitted to each head of the multi-head neural network comprising several heads, with each head being associated with a particular ADAS system. Each head corresponds for example to a densely connected part of the multi-head neural network and comprises at least one layer of densely connected neurons for the implementation of one or more classification operations. The result of the processing of the characteristics by a particular head of the multi-head neural network allows the ADAS system associated with this head to ensure the driving assistance function(s) assigned to it.

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.A multi-head neural network is for example described in the article entitled "CNN-MHSA: A Convolutional Neural Network and multi-head self-attention combined approach for detecting phishing websites", published in May 2020 in volume 125, pages 303-312 of “Neural Networks” by Xi Xiao, Dianyan Zhang, Guangwu Hu, Yong Jiang and 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.A convolutional neural network, also called convolutional neural network or convolutional neural network and denoted CNN or ConvNet (from the English “Convolutional Neural Networks”) corresponds to a network of artificial acyclic neurons (from the English “feed-forward "). Such a convolutional neural network comprises a convolutional part implementing one or more convolution layers and a densely connected part implementing one or more layers of densely connected (or fully connected) neurons ensuring the classification of information according to an MLP type model (from English “Multi Layers Perceptron” or in French “Perceptrons multicouches”) for example.

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.Such a process makes it possible to pool the resources necessary to determine the characteristics of a set of input data, these characteristics then being used by several heads of a multi-head neural network to perform the functions dedicated to the ADAS systems associated with each of these heads. The determination of the characteristics is carried out only once by the convolutional part of the multi-head neural network, the result of this convolutional part being used by all the heads for the implementation of the functions of the ADAS systems of the vehicle.

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. schematically illustrates a vehicle 10 traveling on a road 100, according to a particular and non-limiting embodiment of the present 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.According to the example of , the vehicle 10 corresponds to a motor vehicle. However, the object of the invention is not limited to motor vehicles, but extends to any type of land vehicle, for example a truck, a bus, a motorcycle.

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.The vehicle 10 corresponds to a vehicle circulating under the total supervision of a driver or circulating in an autonomous or semi-autonomous mode. The vehicle circulates according to a level of autonomy equal to 0 or according to a level of autonomy going from 1 to 5 for example, according to the scale defined by the American federal agency which established 5 levels of autonomy going from 1 to 5, level 0 corresponding to a vehicle having no autonomy, the driving of which is under the total supervision of the driver, and level 5 corresponding to a completely autonomous vehicle.

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.The vehicle 10 corresponds for example to a vehicle equipped with one or more driving assistance systems, called ADAS (from the English “Advanced Driver-Assistance System” or in French “Advanced Driving Assistance System” ), such a system being configured to assist the driver of the vehicle 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.The vehicle 10 advantageously embeds a sensor 101 embedded in the vehicle 10 to acquire data representative of the environment in which the vehicle 10 is traveling.

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).The sensor 101 corresponds for example to a camera, a millimeter wave radar or a LIDAR (from the English “Light Detection And Ranging”, or “Detection and estimation of the distance by light” in French).

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.The sensor 101 is advantageously configured to acquire a set of useful data for a plurality of ADAS systems of the vehicle 10, this same set of data being used as input to each ADAS system for a particular processing in order to obtain usable data after processing for each ADAS system.

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.In what follows, the sensor 101 taken as an example will correspond to a camera. The set of data acquired by the camera corresponds to a set of image(s) data, for example RGB data. The invention is however not limited to this example and relates to the processing of any type of data, for example data obtained from one or more radars and/or from one or more 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.According to the particular example of , the camera 101 is positioned so as to acquire one or more images of the road 100 while the vehicle 10 is traveling on this road, that is to say that the field of view of the camera 101 comprises a portion of the road 100 located in front of the vehicle 10. Such a camera 101 advantageously comprises an optical system associated with a grid of photosensitive sensors (forming for example a photosensitive sensor of the CCD type (from the English “Charge-Coupled Device” or in French “Dispositif à charge transfer" or CMOS (from the English "Complementary Metal-Oxide-Semiconductor" or in French "semiconductor of complementary metal oxide")) allowing the acquisition of image(s) of the environment located in front of the vehicle 10. An image acquired by the camera 101 corresponds to a grid of pixels, with each pixel being associated with a level of gray (for example a level of gray whose value is between 0 and 255 if the first data of the image are coded on 8 bits) , or a level of gray per color channel, for example a level of gray per RGB channel (from the English “Red, Green, Blue” or in French “Rouge, vert, bleu”). The data associated with each pixel of an image form a set of data called first data representative of the image considered.

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.The resolution of the camera 101 is for example equal to 1920 x 1080 pixels (so-called Full HD resolution (or "full high definition" in French) or higher, for example equal to 2304 x 1296 pixels or even 2560 x 1440 pixels. another example, the resolution is less than 1920×1080 pixels, for example equal to 640×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.The images acquired by the camera 100 are acquired at a determined frequency, for example at a frequency of 1, 10, 24, 30, 50, 60, 100 or more images per second. According to a variant, the acquisition of one or more images of the road 100 by the camera 101 is made upon receipt of a request by the camera 101, for example upon receipt of a request transmitted by a computer of the system embedded, for example the computer in charge of determining the grip between the vehicle 10 and the road surface 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 :The image data acquired by the camera 101 are for example intended for a set of ADAS systems, for example at least two of the following systems:

- un système de détection de marquage au sol ; et/ou- a ground marking detection system; and or

- un système d’aide au stationnement (de l’anglais « Park assist ») automatique ; et/ou- an automatic parking assistance system; and or

- un système de détection des voies de circulation ; et/ou- a traffic lane detection system; and or

- un système de détection d’objet ou d’obstacle sur la voie ; et/ou- an object or obstacle detection system on the track; and or

- un système de détection et de reconnaissance de panneaux de signalisation ; et/ou- a traffic sign detection and recognition system; and or

- un système de détection et de reconnaissance de feux de circulation.- a traffic light detection and recognition system.

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.The vehicle 10 advantageously embeds a system comprising one or more computers and implementing a multi-head neural network 102 comprising a convolutional part 1021 and a plurality of heads 1021, 1022, 1023 each formed of a densely connected part of the multi-head neurons 102. Each head is advantageously configured to implement the functions provided by a particular ADAS system, the multi-head neural network 102 performing the functions provided by several ADAS systems. An example of a computer of the vehicle's on-board system 10 is illustrated next to the . These computers advantageously communicate with each other via a communication bus, for example a multiplexed data bus, for example a wired network of the CAN type (from the English “Controller Area Network” or in French “Réseau de Contrôleur "), CAN FD (from the English "Controller Area Network Flexible Data-Rate" or in French "Réseau de Contrôleurs à Flow de Data Flexible"), FlexRay (standardized by the ISO 17458 standard) or Ethernet (standardized by the ISO/IEC 802-3), for the implementation of a process for controlling several ADAS systems on board the vehicle 10, each requiring the same set of data on the environment of the vehicle 10 to ensure their function(s) (s) driving assistance for the vehicle 10, such a process being described below.

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.In a first operation, a set of image data is acquired by the camera 101, this set of data being representative of a part of the environment outside the vehicle 10, for example the portion of environment situated in front of the vehicle 10 This set of data is advantageously transmitted to a first computer implementing the convolutional part 1021 via a communication bus connecting the camera 101 to the first computer.

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.In a second operation, one or more convolution layers of the convolutional part 1021 of the multi-head neural network 102 are for example implemented by the first computer receiving as input the set of data received from the camera 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.This set of data is thus supplied as input to the convolutional part 1021 of the multi-head (convolutional) neural network 102 to determine information representative of the characteristics of this set of data, that is to say of an image according to the particular example of the . The convolutional part 1021 advantageously implements one or more convolution layers to process the set of image data(s) and extract therefrom a set of characteristics (for example patterns in the case of an image). A set of convolution filters are applied to the set of image data, this set of image data being for example provided in the form of a two-dimensional matrix (corresponding to the grid of pixels of an image for example). For example, 50, 100, 200 or more convolution filters are applied, each filter having a determined size and stride. For example, each filter has a size equal to 1x7 and a step size of 1. That is, the input matrix containing the image data set passes into a first convolution layer and convolutions operations are applied to this input matrix based on size and step filters determined.

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).The step (or “stride” in English) corresponds to the number of pixels by which the window corresponding to the filter moves in the input tensor (input matrix for example).

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.According to a variant, one or more successive convolution operations are applied to the set of image data, with for each convolution operation the application of a set of convolution filters to the data obtained at the output of the operation of previous convolution.

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 ».According to yet another variant, one or more so-called “pooling” operations (for example one or more “max pooling” operations and/or one or more “max pooling” operations average pooling) are implemented and applied to the data obtained from the convolution operation(s). According to this variant, the “pooling” operation(s) are for example, and optionally, matched or associated with an operation of random deactivation of part of the neurons of the network, with a determined probability, for example a probability of 0.2 (20%), 0.3 (30%) or 0.4 (40%), this technique being known as “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.According to another variant, one or more activation operations or functions are implemented by the convolutional part 1021 of the neural network 102. An activation function is implemented by a correction layer (also called ReLU correction (from English "Rectified Linear Unit" or in French "Unit linear rectified")) inserted between two successive convolution layers, that is to say that a correction layer is inserted between a first convolution layer and a second convolution layer. The output data of the first convolution layer feeds the correction layer and undergoes the activation function. The data processed by the correction layer then feeds the second convolution layer.

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.The convolutional part 1021 is common to all the heads 1022, 1023, 1024, the processing applied to the set of data received from the camera being carried out only once for all the heads 1022, 1023, 1024, thus allowing pooling of processing and making it possible to avoid this set of data undergoing the same processing several times, such as is the case when several neural networks are implemented independently of each other to perform the functions of the various ADAS systems of the vehicle 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.The characteristics are for example obtained by the operation or operations of filtering by convolution. The objective of the convolution layer(s) implemented in the convolutional part 1021 of the neural network 102 is to detect the presence of feature(s) (or patterns present in the image and associated with the characteristics sought) in the image introduced as input (via the first data) of the convolutional part. Each convolution filter represents, for example, a determined characteristic sought in the image by dragging the window corresponding to the filter over the image, and by calculating the convolution product between this determined characteristic and each portion of the image scanned by the filter associated with this specific characteristic. The result of the convolution product is used to determine the presence or absence of the determined feature in the input image.

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.The set of characteristics obtained from the convolutional part 1021 takes for example the form of a three-dimensional matrix, a first dimension of the matrix corresponding to a width, a second dimension of the matrix corresponding to a height and a third dimension of the matrix corresponding to a number of channels of a latent space.

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.In a second operation, the set of characteristics determined by the convolutional part 1021 of the neural network 102 are transmitted to each head 1022, 1023, 1024 each forming a so-called densely connected part of the neural network 102. This transmission corresponds to a duplication of the set of characteristics for supplying this set of characteristics to each head 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.Each head 1022, 1023, 1024 of the multi-head neural network 102 comprises for example one or more layers of densely connected neurons and forms a densely connected part of the multi-head neural network 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.The number of heads of the multi-head neural network is not limited to 3 but extends to any number greater than or equal to 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.In a third operation, the set of characteristics of the image or images acquired by the camera 101 is processed by each head 1022, 1023, 1024 of the multi-head neural network 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.Each head 1022, 1023, 1024 implements one or more layers of densely connected or fully connected neurons. A layer of densely connected neurons receives, for example, an input vector or an input matrix and produces an output vector or matrix. For this, the layer applies a linear combination and then optionally an activation function to the values received as input and contained in the input vector or matrix.

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.The densely connected layer corresponding to a head implements an operation of classification of the data contained in the input matrix, that is to say data representative of the characteristics detected in the image corresponding to the set of data received of the camera 101. The densely connected layer outputs a vector of size N, where N corresponds to the number of classes of the classification. Each element of the output vector provides the probability for each feature in the feature set to belong to a class.

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.The input vector or matrix passes for example through a layer of densely connected neurons, with for example 128, 256 or more neurons each connected to each of the neurons of a layer comprising as many neurons as there are 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.)In a fourth operation, each ADAS system associated with each head 1022, 1023, 1024 is controlled from the result obtained from the processing of the set of characteristics obtained in the third operation. The result obtained in the third operation thus enables each ADAS system to implement the function or functions assigned to it (for example recognition of markings on the ground, of a road sign, of an 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. schematically illustrates a learning process of the multi-headed neural network of the , according to a particular and non-limiting embodiment of the present 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.A set of first parameters of the convolutional part 1021 and a set of second parameters of each head 1022, 1023, 1024 of the multi-head neural network 102 are advantageously learned during a learning phase common to the convolutional part 1021 and to the heads 1022, 1023, 1024 of the multi-head neural network 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.The set of first parameters corresponds for example to the values of the convolution filters implemented in the convolution layer(s) of the convolutional part 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.The set of second parameters corresponds for example to the parameters making the association between the characteristics and the classes of the classification step(s) implemented by the layer(s) of densely connected neurons.

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 .The learning is advantageously obtained from a large number of data sets of the same nature as the data set supplied as input to the convolutional part 1021 in the inference phase described with regard to the .

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.When the set of data corresponds to an image, the training is obtained from a database 20 comprising a large number of images (for example hundreds, thousands, tens of thousands or more), each image of this database being associated with the expected result at the output of the processing carried out by each head 1022, 1023, 1024. This association between an image and the expected results for each head (that is to say the associated label to the image for a particular head) is for example obtained according to a so-called supervised learning method.

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).This database 20 allows both the convolutional part 1021 and each of the heads 1022, 1023, 1024 by imposing the particular architecture of the neural network 102 at the time of learning. The convolutional part is optimized by an optimization module 21 for all the tasks or labels associated with the heads 1022, 1023, 1024 whereas the heads 1022, 1023, 1024 are only optimized on their own task (and therefore on their own label associated).

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.Learning is for example implemented using a method known as error gradient backpropagation, for example using the Adam Optimizer algorithm.

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. schematically illustrates a device 3 of a system configured to control a plurality of ADAS systems of a vehicle by the implementation of a multi-head network, according to a particular and non-limiting exemplary embodiment of the present invention. The device 3 corresponds for example to a device on board the vehicle 10, for example a computer.

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.The device 3 is for example configured for the implementation of the operations described with regard to the or 2 and/or steps of the process described with regard to . Examples of such a device 3 include, but are not limited to, on-board electronic equipment such as a vehicle's on-board computer, an electronic computer such as an ECU ("Electronic Control Unit"), a telephone smart phone, tablet, laptop. The elements of device 3, individually or in combination, can be integrated in a single integrated circuit, in several integrated circuits, and/or in discrete components. The device 3 can be made in the form of electronic circuits or software (or computer) modules or else a combination of electronic circuits and software modules. According to different particular embodiments, the device 3 is coupled in communication with other similar devices or systems and/or with communication devices, for example a TCU (from the English “Telematic Control Unit” or in French “Unité Telematics Control"), for example via a communication bus or through dedicated input/output ports.

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.The device 3 comprises one (or more) processor(s) 30 configured to execute instructions for carrying out the steps of the method and/or for executing the instructions of the software or software embedded in the device 3. The processor 30 can include integrated memory, an input/output interface, and various circuits known to those skilled in the art. The device 3 further comprises at least one memory 31 corresponding for example to a volatile and/or non-volatile memory and/or comprises a memory storage device which can comprise volatile and/or non-volatile memory, such as EEPROM, ROM, PROM, RAM, DRAM, SRAM, flash, magnetic or optical disk.

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.The computer code of the onboard software or software comprising the instructions to be loaded and executed by the processor is for example stored on the memory 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 :According to a particular and non-limiting embodiment, the device 3 comprises a block 32 of interface elements for communicating with external devices, for example a remote computer, a diagnostic device. Block 32 interface elements include one or more of the following interfaces:

- 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é) ;- RF radio frequency interface, for example of the Bluetooth® or Wi-Fi® type, LTE (from English "Long-Term Evolution" or in French "Evolution à long terme"), LTE-Advanced (or in French LTE-advanced );

- interface USB (de l’anglais « Universal Serial Bus » ou « Bus Universel en Série » en français) ;- USB interface (from the English "Universal Serial Bus" or "Universal Serial Bus" in French);

- interface HDMI (de l’anglais « High Definition Multimedia Interface », ou « Interface Multimedia Haute Definition » en français) ;- HDMI interface (from the English “High Definition Multimedia Interface”, or “Interface Multimedia Haute Definition” in French);

- interface LIN (de l’anglais « Local Interconnect Network », ou en français « Réseau interconnecté local »).- LIN interface (from English “Local Interconnect Network”, or in French “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).According to another particular embodiment, the device 3 comprises a communication interface 33 which makes it possible to establish communication with other devices (such as other computers of the on-board system) via a communication channel 330. The interface communication interface 33 corresponds for example to a transmitter configured to transmit and receive information and/or data via the communication channel 330. The communication interface 33 corresponds for example to a wired network of the CAN type (from the English “ Controller Area Network" or in French "Network of controllers"), CAN FD (from English "Controller Area Network Flexible Data-Rate" or in French "Network of controllers with flexible data rate"), FlexRay (standardized by the ISO 17458 standard) or Ethernet (standardized by ISO/IEC 802-3 standard).

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.According to an additional particular embodiment, the device 3 can supply output signals to one or more external devices, such as a display screen, one or more loudspeakers and/or other peripherals respectively via interfaces output not shown.

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. illustrates a flowchart of the different steps of a method for controlling a plurality of on-board driver assistance systems in the vehicle 10, according to a particular and non-limiting example embodiment of the present invention. The method is for example implemented by a system on board the vehicle 10, for example a system comprising one or more computers such as the device 3 described with regard to the , such a system implementing a multi-head (convolutional) neural network 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.In a first step 41, a set of data representative of at least part of an environment of the vehicle is acquired by at least one sensor on board the vehicle.

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.In a second step 42, a set of characteristics representative of the data set is determined by a so-called convolutional part of a multi-head neural network, the convolutional part implementing at least one convolution layer.

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.In a third step 43, the set of characteristics is transmitted as input to each head of the multi-head neural network, each head being complementary to the convolutional part and associated with a particular driver assistance system of the plurality of driver assistance systems.

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.In a fourth step 44, the set of characteristics received by each head of the multi-head neural network is processed by each head. The processing corresponds for example to one or more classification phases implemented by one or more layers of densely connected neurons.

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.In a fifth step 45, each driving assistance system is controlled from a result obtained from the processing 44 of the set of characteristics by the head associated with each driving assistance system.

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 .According to a variant embodiment, the variants and examples of the operations described in relation to FIGS. 1 and 2 apply to the steps of the method of .

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é.Of course, the invention is not limited to the embodiments described above but extends to a method for controlling a vehicle, for example autonomous, by implementing ADAS systems on board this vehicle, as well as only to the device or system configured for the implementation of such a method.

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 .The invention also relates to a vehicle, for example an automobile or more generally a land motor vehicle, comprising one or more devices 3 of the .

Claims (10)

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.
A method of controlling a plurality of driver assistance systems on board a vehicle (10), said method comprising the following steps:
- acquisition (41) of a set of data representative of at least part of an environment (100) of said vehicle (10) by at least one sensor (101) on board said vehicle (101);
- determination (42) of a set of characteristics representative of said set of data by a so-called convolutional part (1021) of a multi-head neural network (102), said convolutional part (1021) implementing at least one layer of convolution;
- transmission (43) of said set of input characteristics of each head (1022, 1023, 1024) of said multi-head neural network (102), each head (1022, 1023, 1024) being complementary to said convolutional part (1021) and associated with a particular driving assistance system of said plurality of driving assistance systems;
- processing (44) of said set of characteristics by each head (1022, 1023, 1024) of said multi-head neural network (102);
- control (45) of each driver assistance system from a result obtained from the processing of said set of characteristics by the head associated with said each driver assistance system.
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).Method according to claim 1, wherein said set of data corresponds to a set of image data acquired by a camera (101) on board said vehicle (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.Method according to one of Claims 1 to 2, for which the said set of characteristics is obtained in the form of a three-dimensional matrix, a first dimension of the matrix corresponding to a width, a second dimension of the matrix corresponding to a height and a third dimension of the matrix corresponding to a number of channels of a latent space. 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.Method according to one of Claims 1 to 3, for which each head (1022, 1023, 1024) comprises at least one layer of densely connected neurons and implements a classification of the characteristics of said set of characteristics to obtain said result. 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.Method according to one of Claims 1 to 4, for which the said convolutional part (1021) further comprises a correction layer interposed between respectively a first convolution layer and a second convolution layer of the said convolutional part, the said correction layer putting implements an activation function applied to the data at the output of the first convolution layer, the second convolution layer being supplied with the output data to which said activation function has been applied. 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.
Method according to one of Claims 1 to 5, for which the said plurality of driving assistance systems comprises at least two of the following systems:
- a ground marking detection system;
- an automatic parking assistance system;
- a traffic lane detection system;
- object or obstacle detection system on the track;
- a traffic sign detection and recognition system; and or
- a traffic light detection and recognition system.
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).Method according to one of Claims 1 to 6, for which a set of first parameters of said convolutional part (1021) and a set of second parameters of each head (1022, 1023, 1024) of said multi-head neural network (102 ) are learned during a learning phase common to said convolutional part (1021) and to said heads (1022, 1023, 1024) of said multi-head neural network (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.System comprising at least one computer (3), said at least one computer (3) comprising a memory (31) associated with at least one processor (30) configured for the implementation of the steps of the method according to any one of the claims 1 to 6. Véhicule (10) comprenant le système selon la revendication 8.A vehicle (10) comprising the system of claim 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
Computer program comprising instructions for implementing the method according to any one of Claims 1 to 7, when these instructions are executed by at least one processor
FR2102930A 2021-03-24 2021-03-24 Method and system for controlling a plurality of driver assistance systems on board a vehicle Withdrawn FR3121110A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR2102930A FR3121110A1 (en) 2021-03-24 2021-03-24 Method and system for controlling a plurality of driver assistance systems on board a vehicle

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2102930 2021-03-24
FR2102930A FR3121110A1 (en) 2021-03-24 2021-03-24 Method and system for controlling a plurality of driver assistance systems on board a vehicle

Publications (1)

Publication Number Publication Date
FR3121110A1 true FR3121110A1 (en) 2022-09-30

Family

ID=75690569

Family Applications (1)

Application Number Title Priority Date Filing Date
FR2102930A Withdrawn FR3121110A1 (en) 2021-03-24 2021-03-24 Method and system for controlling a plurality of driver assistance systems on board a vehicle

Country Status (1)

Country Link
FR (1) FR3121110A1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020244653A1 (en) * 2019-06-06 2020-12-10 华为技术有限公司 Object identification method and device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020244653A1 (en) * 2019-06-06 2020-12-10 华为技术有限公司 Object identification method and device

Similar Documents

Publication Publication Date Title
EP3707676A1 (en) Method for estimating the installation of a camera in the reference frame of a three-dimensional scene, device, augmented reality system and associated computer program
FR3121110A1 (en) Method and system for controlling a plurality of driver assistance systems on board a vehicle
EP3635615B1 (en) Method for determining the type of road on which a vehicle is travelling
CN116453086A (en) Method and device for identifying traffic sign and electronic equipment
FR3106108A1 (en) Method and device for determining the trajectory of a road
FR3076378A1 (en) METHOD OF FORMING NEURON NETWORK FOR RECOGNITION OF CHARACTER SEQUENCE AND ASSOCIATED RECOGNITION METHOD
FR3118747A1 (en) Method and device for determining information representative of grip between a vehicle and a road surface
FR3104291A1 (en) Method and system for configuring an imaging device of a motor vehicle comprising N sensors and N dedicated encoder neural networks
FR3119817A1 (en) Method and device for determining a trajectory for an autonomous vehicle
FR3089662A1 (en) Method for recognizing objects such as traffic signs by means of an on-board camera in a motor vehicle
FR3119480A1 (en) Method and device for controlling a vehicle based on a prediction of the intention of a pedestrian to cross a road on which said vehicle is traveling.
FR3106111A1 (en) Method and device for controlling a vehicle
EP4332914A1 (en) Method and device for detecting material objects in a space surrounding an autonomous robot
FR3134779A1 (en) Method and device for controlling a vehicle driving assistance system according to a type of road marking line determined from camera data and dynamic vehicle data
WO2022152983A1 (en) Method and device for controlling the acceleration of a vehicle
FR3122756A1 (en) Method and device for detecting the behavior of a user of a vehicle.
FR3129910A1 (en) Method and device for controlling an adaptive cruise control system of a vehicle
FR3098176A1 (en) Vehicle image processing method and system
FR3127187A1 (en) Method and device for controlling an intelligent speed adaptation system
FR3129909A1 (en) Method and device for controlling an adaptive cruise control system of a vehicle
FR3133359A1 (en) Method and device for controlling an adaptive speed regulation system of a vehicle as a function of the acquisition range of an on-board camera
FR3105961A1 (en) Method and device for determining a lane change indicator for a vehicle
EP4322061A1 (en) Electronic device and method for processing data comprising at least one self-adaptive artificial intelligence model with local learning, associated electronic system and computer program
FR3133097A1 (en) Improved image analysis method, depending on the time available, in a motor vehicle, associated device and vehicle
FR3118745A1 (en) Method and device for determining an acceleration of a moving object in an environment of a vehicle

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20220930

ST Notification of lapse

Effective date: 20231105