FR 3092546 A1 20200814 FR 1901448 A 20190213 Description Titre de l'invention : Identification de zones roulables avec prise en compte de l'incertitude par une méthode d'apprentissage profond Domaine technique [0001] La présente invention concerne le domaine des véhicules autonomes, et en particulier le domaine des véhicules autonomes terrestres, ainsi que les procédés de contrôle de tels véhicules. Technique antérieure [0002] La conception et le développement de véhicules de plus en plus autonomes et connectés posent de nombreux défis. En effet, afin qu'un véhicule puisse naviguer sans pilote, il faut qu'il soit capable de percevoir son environnement, au moyen, par exemple de nombreux capteurs, puis d'analyser et interpréter les données reçues, afin de prendre des décisions sur la conduite du véhicule. [0003] Afin de pouvoir se déplacer sans risque pour des usagers et d'adapter conve- nablement sa conduite, le véhicule autonome doit en outre être capable de détecter et d'identifier tous les objets fixes ou mobiles de son environnement. [0004] Pour atteindre ces objectifs, des techniques d'intelligence artificielle sont ac- tuellement utilisées. En particulier, ce sont des techniques d'apprentissage automatique qui donnent les meilleurs résultats, notamment des méthodes basées sur l'apprentissage à partir de données à l'aide de réseaux de neurones profonds, et notamment des réseaux de neurones convolutionnels (en anglais « Convolutionnal Neural Network » (CNN)), particulièrement adaptés à la segmentation d'images ou de vidéos. [0005] Toutefois, l'utilisation de ces techniques d'intelligence artificielle n'est pas sans difficulté. En effet, entraîner un système d'intelligence artificielle à la conduite automobile est un processus particulièrement long et compliqué, qui nécessite notamment une base de données d'apprentissage importante, afin de prédire un fonctionnement sur les multiples scénarios auxquels peuvent être confrontés les véhicules. [0006] De nombreuses bases de données existent déjà, par exemple la base de données Ci- tyscapesTM (voir à ce titre le document M. Cordts, M. Omran, S. Ramos, T. Rehfeld, M. Enzweiler, R. Benenson, U. Franke, S. Roth, and B. Schiele, "The Cityscapes Dataset for Semantic Urban Scene Understanding," in Proc. of the IEEE Conférence on Computer Vision and Pattern Recognition (CVPR), 2016), qui dispose de plusieurs milliers d'images sur lesquelles sont identifiées différentes classes d'objets (routes, usagers, véhicules, bâtiments, ...). Cependant, la construction de telles bases de données annotées précisément nécessite une identification manuelle des objets par un opérateur humain et est par conséquent fastidieuse. 2 100071 La figure 1 représente un exemple d'image annotée par un opérateur humain, destinée à entrainer un réseau de neurones à la segmentation d'images en plusieurs classes d'objets. La figure 1 est une scène d'extérieur urbain, clans laquelle cinq catégories d'éléments ont été annotées. Dans cet exemple, la zone roulable al est une route goudronnée, définie sans incertitude. Les trottoirs a2, les êtres humains (piétons ou cyclistes) a3, les bâtiments a4, le fond et la végétation a5 ont été également segmentés. [0008] A partir de la base de données annotées, il est possible de construire un algorithme d'apprentissage profond (en anglais, « deep learning »), par exemple un réseau de neurones profonds, permettant d'identifier automatiquement les différentes classes d'objet, et notamment d'identifier une zone « roulable ». [0009] Toutefois, en dehors d'une zone urbaine, dans un contexte de chemins ou de pistes non goudronnées par exemple, un problème de définition de ce que l'on considère comme une zone roulable se pose, même pour un opérateur humain chargé d'annoter une image d'une hase dc données d'apprentissage. Ainsi, pour une image de chemin donnée, il n'est pas rare que différents annotateurs proposent une annotation différente de la présence du chemin. Ainsi, le contexte des scènes urbaines ou de routes goudronnées reste privilégié. [0010] De plus, pour un système de contrôle d'un véhicule autonome, il est souhaitable d'intégrer la connaissance de l'incertitude des informations, et notamment dc compléter l'information de détection d'un chemin dans l'environnement du véhicule par une estimation de probabilité, afin notamment de minimiser un risque, d'embourbement par exemple. [0011] Cependant, les algorithmes existants n'intègrent pas la connaissance de l'incertitude des informations, en particulier pour la détection de chemin, lors de circulation en dehors de routes, et ne tiennent en particulier pas compte du problème d'incertitude dans la définition de la présence ou non d'un chemin en un point donné d'une image. Ainsi l'apprentissage du modèle, par exemple du réseau de neurones convolutionnels (CNN) est sous optimal ainsi que son utilisation pratique pour le contrôle du véhicule. Exposé de l'invention [0012] Un but de l'invention est de remédier au moins en partie aux inconvénients précités et de proposer selon un premier aspect un procédé d'identification de zones roulables sur une image, permettant notamment de détecter de façon probabiliste des zones roulables sur des images de terrain. Selon un autre aspect est proposé un procédé de contrôle d'un véhicule terrestre, mettant en oeuvre un tel procédé d'identification de zones roulables, permettant de définir des lois de contrôle d'un véhicule, par exemple une trajectoire ou une vitesse, tenant compte de l'incertitude de zones roulables 3 identifiées. [0013] A cet effet, l'invention concerne, selon un premier aspect, un procédé d'identification de zones roulablcs dans au moins une image d'un terrain, caractérisé en ce qu'il comprend l'implémentation dcs étapes suivantes dans une unité de traitement : [0014] El : apprentissage supervisé d'au moins un réseau de neurones, à partir d'une hase de données d'apprentissage comprenant des images d'apprentissages de terrain ayant été annotées par au moins deux opérateurs en vue d'identifier des zones roulablcs, [0015] E2 : segmentation au moyen de l'au moins un réseau de neurones, d'une image d'entrée pour obtenir une carte probabiliste de présence d'au moins une zone roulablc dans ladite image d'entrée, ladite segmentation comprenant une estimation d'une probabilité de présence d'une zone roulable dans l'image d'entrée, de manière à obtenir une carte probabiliste (13) définie par une matrice dont chaque élément correspond à une probabilité de présence d'au moins une zone roulablc sur un pixel de l'image d'entrée. [0016] L'invention est avantageusement complétée par les caractéristiques suivantes, prises seules ou en une quelconque de leur combinaison techniquement possible : [0017] - le procédé comprend avant l'étape d'apprentissage, une étape de calcul d'au moins une vérité terrain définie par une carte probabiliste pour au moins une image associée de la hase de données d'apprentissage, à partir d'au moins deux annotations, la vérité terrain étant utilisée pour l'étape d'apprentissage. [0018] - la base de données d'apprentissage comprend un ensemble d'images, associé à un ensemble de vérités terrain associé, chaque vérité terrain étant une matrice dont chaque élément p correspond à un pixel de l'image associée, chaque élément p étant calculé de la manière suivante : [0019] [Math.1] p(pixel) vK annotation(pixel, i) =I Ii 100201 avec K le nombre d'opérateurs ayant annoté l'image, et annotation (pixel, i) = 1 si un opérateur i a considéré le pixel comme appartenant à une zone roulablc, 0 sinon. [0021] - l'étape d'apprentissage comprend les étapes : [0022] SI : apprentissage supervisé d'un premier réseau de neurones à partir de la hase de données d'apprentissage, de sorte que le premier réseau de neurones entraînés soit configur6 pour segmenter une image entre zone roulable et zone non roulable ; [0023] S2 : apprentissage supervisé d'un second réseau de neurones à partir de la hase de données d'apprentissage et de l'au moins une vérité terrain, de sorte que le second réseau de neurones entrainé soit configuré pour segmenter l'image selon une carte probabiliste de présence de zone roulable. [0024] - l'étape de segmentation de l'image d'entrée comprend les étapes de : [0025] S10 : calcul d'une segmentation de l'image d'entrée, par le premier réseau de neurones entrainé, [0026] S20 : calcul d'une carte prohahiliste de présence de zones roulahles de l'image d'entrée par le second réseau de neurones entrainé, à partir de l'image d'entrée et de la segmentation issue du premier réseau de neurones. [0027] L'invention concerne selon un deuxième aspect, un procédé de contrôle d'un véhicule terrestre, comprenant les étapes suivantes : [0028] Cl : acquisition d'images par un capteur situé sur le véhicule ; [0029] C2 : traitement des images acquises par une unité de traitement, par un procédé de d'identification selon le premier aspect de l'invention, afin d'obtenir au moins une carte prohahiliste de présence de zones roulahles ; [0030] C3 : calcul d'une consigne comprenant les sous-étapes de : [0031] - C31 : calcul d'une probabilité de présence de zone roulable par l'unité de traitement (4') à partir de la carte prohahiliste de présence de zones roulables ; [0032] - C32 : calcul d'une trajectoire et/ou d'une consigne en vitesse du véhicule par l'unité de traitement à partir de la probabilité de présence de zone roulable. [0033] - le capteur acquiert une vidéo, et dans lequel l'identification au cours de l'étape de traitement des images acquises est effectuée de manière séquentielle. [0034] - l'étape de calcul de la consigne dépend d'une valeur seuil prédéterminée, la valeur seuil étant un niveau de risque à prendre correspondant à une probabilité qu'un pixel d'une image acquise appartienne à une zone roulable. [0035] - la consigne en vitesse augmente lorsque la probabilité de présence de zone roulable augmente. [0036] - la consigne en trajectoire est calculée à partir de la carte probabiliste de zones roulables de sorte à maximiser la probabilité de présence de zone roulable. [0037] - la consigne en trajectoire est calculée à partir de la carte probabiliste de zones roulables de sorte à maximiser la probabilité de présence de zone roulable et à minimiser selon un niveau d'exigence k, prédéfini ou choisi dynamiquement, les zones au caractère roulable faiblement probables. [0038] - la consigne de trajectoire est calculée à partir de la carte de probabilité de présence de zones roulables finale issue de la fusion dite conservative de M cartes probabilistes successives, dont chaque élément [0039] [Math.2] 12 rinai [0040] est calculé de la manière suivante : [0041] [Math.3] = min ( pt(pixel),p pixel)... +109ixern 100421 [0043] - la consigne de trajectoire est calculée à partir de la carte de probabilité de présence de zones roulables finale issue de la fusion dite robuste de M cartes probabilistes successives, dont chaque élément [0044] [Math.4] P final 100451 est calculé de la manière suivante : 100461 IMath.5l p ornd(pixel) = mediane p i(pixel),p 1_1(pi.xel) p i_m_vi(pixel)) [0047] - la consigne de trajectoire est calculée à partir de la carte de probabilité de présence de zones roulables finale issue de la fusion dite agressive de M cartes probabilistes successives, dont chaque élément [0048] [Math.6] P final [0049] est calculé de la manière suivante : [0050] [Math.7] p+1..:nl (pixel) = max ( p r(pixe I), pr_1(pixel), 100511 - la consigne de trajectoire est calculée à partir de la carte de probabilité de présence de zones roulables finale issue de la fusion dite moyenne de M cartes probabilistes successives, dont chaque élément 100521 1Math.81 P final [0053] est calculé de la manière suivante : [0054] [Math.9] p (pixel) + _1(pixel) + +191-m + ix el) pn a (pixel) - [0055] [0056] - la consigne de trajectoire est calculée à partir de la carte de probabilité de présence de zones roulables finale issue de d'une fusion de M cartes probabilistes successives, et d'une détection d'obstacles réalisée par un capteur d'obstacle. Brève description des dessins [0057] D'autres caractéristiques, buts et avantages de l'invention ressortiront de la des- cription qui suit, qui est purement illustrative et non limitative, et qui doit être lue en regard des dessins annexés sur lesquels : [0058] [fig.1] La figure 1 représente un exemple de segmentation d'une image de zone urbaine, 6 telle qu'il en existe dans la hase de données CityscapesTM [0059] [fig.2] La figure 2 représente un exemple de segmentation d'une image prenant en compte une incertitude de la définition de la zone roulahle. [0060] [fig.3] La figure 3 représente un exemple d'architecture d'implémentation du procédé d'identification de zones roulables. [0061] [fig.4] La figure 4 représente schématiquement les étapes d'un procédé de d'identification de zones roulables sur au moins une image de terrain selon un premier aspect de l' invention. [0062] [fig.5] La figure 5 représente un premier exemple d'architecture globale d'un procédé de segmentation d'une image d'entrée selon le premier aspect de la présente invention. [0063] [fig.6] La figure 6 représente un deuxième exemple d'architecture globale d'un procédé de segmentation d'une image d'entrée selon le premier aspect de la présente invention. [0064] [fig.7] La figure 7 représente le deuxième exemple d'architecture globale d'un procédé de segmentation d'une vidéo d'entrée selon le premier aspect de la présente invention. [0065] [fig.8] La figure 8 représente schématiquement un véhicule terrestre permettant de mettre en oeuvre un procédé de contrôle selon un deuxième aspect de la présente invention. [0066] [fig.9] La figure 9 représente schématiquement les étapes d'un procédé de contrôle de véhicule terrestre selon le deuxième aspect de l'invention. [0067] [fig.10] La figure 10 représente schématiquement une première image issue d'un capteur d'un véhicule tel qu'illustré sur la figure 8, et une première carte de probabilité associée. [0068] [fig.11] La figure 11 représente schématiquement une deuxième image issue d'un capteur d'un véhicule tel qu'illustré sur la figure 8, et une deuxième carte de probabilité associée. [0069] [fig.12] La figure 12 représente schématiquement une troisième image issue d'un capteur d'un véhicule tel qu'illustré sur la figure 8, et une troisième carte de probabilité associée, utilisée pour émettre une consigne en trajectoire et en vitesse pour le 7 véhicule. Description des modes de réalisation [0070] Dans ce qui suit, deux principaux aspects vont être décrits : [0071] Un procédé (l'identification d'au moins une zone roulable par au moins un réseau de neurones, de préférence par deux réseaux de neurones, comprenant [0072] une première étape d'apprentissage de l'au moins un réseau de neurones, afin que ledit au moins un réseau de neurones entrainé puisse ensuite, [0073] lors d'une deuxième étape de segmentation, segmenter une image ou une vidéo pour obtenir une carte probabiliste permettant d'identifier des zones roulables en prenant en compte une incertitude associée ; [0074] Un procédé de contrôle d'un véhicule équipé de capteurs mettant en oeuvre le procédé de segmentation précédent afin d'établir une consigne permettant d'avoir une vitesse et/ou une trajectoire adaptée(s) à la qualité de la zone roulable. [0075] Procédé d'identification d'au moins une zone roulable (E) [0076] La figure 4 illustre schématiquement des étapes du procédé d'identification (E) dc zones roulables dans un exemple dc réalisation. [0077] Lc procédé d'identification E de zones roulables met en oeuvre un procédé de création de base d'apprentissage E0, un procédé d'apprentissage El, et un procédé dc segmentation E2 d'une image d'entrée, mis en oeuvre par au moins un réseau de neurones entrainé au cours du procédé d'apprentissage El. [0078] L'homme du métier comprendra qu'une fois que l'au moins un réseau dc neurones entrainé est obtenu au cours du procédé d'apprentissage El, le procédé d'identification E de zones roulables peut comprendre une répétition du procédé dc segmentation d'images E2 à de nombreuses reprises, sans nécessiter la répétition du procédé d'apprentissage El. [0079] Par segmentation d'une image d'entrée, on entendra une classification de chaque pixel dc l'image, c'est-à-dire la prédiction d'un label pour chaque pixel dc chaque label étant associé à un objet réel à identifier, par exemple une route ou plus généralement une zone roulable. Ainsi, l'image est segmentée en une pluralité d'ensembles de pixels comprenant le même label, chaque ensemble de pixels définissant un objet. Comme expliqué précédemment, l'image de la figure 1 est segmentée en cinq classes, la zone roulable al, les trottoirs a2, les usagers a3, les bâtiments a4, le fond et la végétation a5. [0080] Par la suite, on utilisera de manière équivalente les termes « piste », « chemin » ou « zone roulable », pour désigner une surface au sol sur laquelle un véhicule terrestre est capable de rouler. [0081] De manière générale, une image est une matrice de pixels de taille donnée, par 8 exemple 321 x 321 pixels. On parlera de manière générale d'image d'un terrain pour désigner une image d'une zone extérieure, ne comprenant pas nécessairement une zone roulable. On pourra désigner par «la segmentation » une image segmentée, ou une matrice dont les éléments sont des labels correspondant à un objet ou à une probabilité. Architecture [0082] La figure 3 illustre un exemple d'architecture dans laquelle les étapes des procédés ci-dessus peuvent être implémentées. [0083] Lc procédé d'apprentissage (El) peut être mis en oeuvre sur un premier serveur 1 et le procédé de segmentation (E2) peut être mis en oeuvre sur un deuxième serveur 2. Chaque serveur 1, 2 comprend avantageusement au moins une unité de traitement 3, 4, par exemple un processeur ayant de préférence une puissance de calcul élevé. [0084] Chaque serveur 1, 2 peut également comprendre une interface de communication 7, 8 permettant une communication entre eux. Unc telle communication peut par exemple être mise en oeuvre au moyen d'une liaison filaire ou sans fil par l'intermédiaire de tout type de réseau de communication par exemple le réseau Internet. S'agissant du premier serveur 1, il peut avoir accès par l'intermédiaire de l'interface de communication 7 à une base de données d'apprentissage distante (non représentée). [0085] De manière avantageuse également, chaque serveur 1, 2 peut comprendre une unité de stockage 5,6, par exemple un disque dur. Typiquement, le premier serveur d'apprentissage 1 peut stocker dans l'unité de stockage 5 une base de données d'apprentissage ou avoir accès à une hase de données d'apprentissage. [0086] L'homme du métier comprendra sans difficulté que d'autres architectures pour la mise en oeuvre des procédés d'apprentissage (El) et de segmentation (E2) sont possibles, les deux serveurs 1,2 pouvant notamment être fusionnés. Procédé de segmentation (étape E2) [0087] Selon un premier aspect, le procédé d'identification E de zone(s) roulable(s) comprend la mise en oeuvre d'un procédé de segmentation d'image ou de vidéo (E2). La segmentation d'image ou de vidéo est réalisée au moyen d'au moins un réseau de neurones préalablement entrainés, au cours d'un procédé d'apprentissage (El) qui sera détaillé par la suite. [0088] De manière générale, un réseau de neurones comprend une pluralité de neurones (de type perceptron ou de type convolutionnel) sur plusieurs couches connectées entre elles.. [0089] L'au moins un réseau de neurones peut être implémenté selon un grand nombre d'architectures différentes. De manière non limitative, il est possible d'utiliser un réseau selon l'une des architectures connues de l'homme du métier de typeConvNet comme par exemple : ResNet (réseau de neurones convolutionnels (CNN) permettant 9 d'optimiser l'apprentissage de réseaux très profonds (plus de 150 couches)), DenseNet (réseau comprenant plusieurs « block » dont les couches sont reliées par des connexions plus courtes, SegNet.(réseau de neurones entièrement convolutifs présentant une architecture encodeur-décodeur symétrique. L'encodeur est une succession de couches convolutivcs suivies par une normalisation par hatch et des fonctions de transfert non linéaires, et le décodeur est une symétrie de l'encodeur ( Vijay Badrinarayanan, Alex Kendall, and Roberto &poila. SegNet : A Deep Convolutional Encoder-Decoder Architecture for Image Segmentation. November 2015),. On pourra également s'inspirer d'une de ces architectures est l'adapter au contexte des véhicules autonomes. [0090] Par la suite, on se placera dans un premier temps dans le cas où la donnée d'entrée est une image, qu'on désignera généralement par « image d'entrée » ou « image de terrain d'entrée », avant de s'intéresser à la segmentation d'une vidéo ou d'une séquence d'images [0091] Dans un premier exemple de réalisation illustré sur la figure 5, le procédé de seg- mentation (E2) est réalisé au moyen d'un premier réseau de neurones profonds R1 et d'un second réseau de neurones profonds R2, et préalablement entrainés. [0092] Le premier réseau de neurones profonds R1 reçoit en entrée une image Il pour effectuer une première segmentation de la zone roulable (étape S10) afin d'obtenir une image 12 segmentée. L'image 11 est de préférence fournie au premier réseau de neurones profonds R1 par l'intennédiaire de l'interface de communication 8 connectée à une unité 10 distante du serveur 2 (par exemple un capteur) ou bien est stockée dans l'unité de stockage 6 du serveur 2. [0093] Typiquement, comme expliqué précédemment, il peut s'agir de classifier chaque pixel de l'image en prédisant pour chaque pixel de l'image Il un label, parmi un premier label con-espondant à la classe « zone roulable » et un deuxième label correspondant à la classe « zone non roulable ». Le premier réseau de neurones RI produit en sortie une image segmentée 12. [0094] Dans un exemple de réalisation, il peut s'agir d'une binarisation de l'image Il fournie en entrée, l'image segmentée 12 obtenue en sortie comprenant des pixels blancs et des pixels blancs uniquement, les pixels blancs correspondant par exemple à la zone roulable identifiée, comme illustré schématiquement sur la figure 5. [0095] Au moins l'image segmentée 12 en sortie du premier réseau de neurones R1 est donnée en entrée du second réseau de neurones R2. Dans l'exemple d'architecture illustré sur la figure 5 par exemple, le second réseau de neurones R2 prend en entrée l'image d'entrée II image segmentée 12 issue du premier réseau de neurones Rl. [0096] Le second réseau de neurones R2, est configuré, c'est-à-dire entrainé, pour fournir en sortie une estimation de la probabilité de la présence de zone roulable dans l'image d'entrée 11. L'estimation de la probabilité de la présence de zone roulable (étape 520) dans l'image d'entrée 11 peut ensuite être transmise à une unité 12, par l'intermédiaire de l'interface de communication 8 ou bien être stockée dans l'unité de stockage 6 du serveur 2. [0097] De manière générale, le second réseau de neurones R2 calcule l'estimation de la pro- babilité de la présence de zone roulable sous la forme d'une carte probabiliste 13 de présence d'au moins une zone roulable dans l'image d'entrée 11. La carte probabiliste 13 est une matrice de deux dimensions L x I, dont chaque élément ou valeur est compris entre 0 et 1 et correspond à une probabilité de présence d'au moins une zone roulable sur un pixel de l'image d'entrée 11. [0098] On parlera de manière indépendante de carte probabiliste ou de carte de probabilité pour définir l'estimation d'une probabilité de présence d'une zone roulable sur une image. [0099] Chaque valeur ou élément de la carte probabiliste 13 est destiné à exprimer la pro- babilité pour un pixel correspondant de l'image d'entrée 11 d'appartenir à une zone roulable. Par exemple, on associe à un pixel situé dans une zone identifiée comme non roulable le chiffre 0 (noir), et dans une zone identifiée comme roulable de façon certain le chiffre 1 (blanc). On associe aux pixels situés dans des zones présentant une incertitude des valeurs intermédiaires, typiquement 0,2 pour un pixel d'une zone probablement pas roulable, ou 0,8 un pixel d'une zone probablement roulable. [0100] Dans un exemple de réalisation, la sortie du second réseau de neurones R2 peut être une matrice de même dimension que l'image d'entrée Il, comprenant par exemple 321 x 321 valeurs. Une telle représentation des cartes probabilistes est également illustrée sur les figures10 à 12. [0101] Plus généralement, les dimensions de la matrice représentant la carte de probabilité 13 peuvent être inférieures à celles de l'image d'entrée Il, par exemple suite à une compression de l'image d'entrée II. Cela implique une perte d'informations mais permet d'améliorer la vitesse de calcul de la carte de probabilité 13. [0102] De manière alternative, les dimensions de la matrice représentant la carte de pro- babilité 13 peuvent être supérieures à celles de l'image d'entrée Il, par exemple en réalisant des interpolations entre les pixels de l'image d'entrée Il. [0103] Dans un deuxième exemple de réalisation illustré sur la figure 6, le procédé de seg- mentation (E2) peut être réalisé au moyen d'un unique réseau de neurones profonds R3. [0104] A partir de l'image Il donnée en entrée le réseau de neurones profonds R3 est configuré pour fournir en sortie une estimation de la probabilité de la présence de zone roulable dans l'image d'entrée Il. [0105] Selon ce deuxième exemple de réalisation, le réseau de neurones R3 ne comprend 11 pas d'étape de segmentation de l'image d'entrée 11 pour obtenir une image segmentée 12. Comme cela sera détaillé par la suite, le réseau de neurones R3 est configuré lors du procédé d'apprentissage (El) ) pour directement calculer l'estimation de la probabilité de la présence de zone roulable sous la forme d'une carte probabiliste 13. [0106] Le réseau de neurones R3 peut comprendre une ou plusieurs « skip connexion(s) (31, 32), c'est-à-dire que l'information de l'image d'entrée T1 peut être redonnée en entrée au niveau d'un ou plusieurs point(s) du réseau de neurones R3, comme cela est visible sur la figure 6. [0107] La carte probabiliste 13 calculée par le réseau de neurones R3 peut être une matrice semblable à celle obtenue en sortie du second réseau de neurones R2, et décrite précédemment. [0108] A partir des deux exemples de réalisations décrits précédemment, il est également possible de manière analogue de segmenter une vidéo. [0109] De manière générale, une vidéo est une séquence de [0110] [Math.10] T [0111] images, dépendant de la longueur de la vidéo, numérotées de 1 à [0112] [Math.11] T [0113] . En d'autres termes, une image quelconque d'une vidéo correspond à une image [0114] [Math.12] t [0115] , avec [0116] [Math.13] teif1;Tj] [0117] [0118] On considèrera par la suite que la donnée d'entrée est une vidéo d'entrée c'est-à-dire une séquence de [0119] [Math.14] 1 [0120] images [0121] Dans le premier exemple de réalisation, le procédé de segmentation E2 mis en oeuvre dans le procédé d'identification E de zones roulables est effectué par deux réseaux de neurones (RI, R2). [0122] Le premier réseau de neurones Ri peut être configuré pour segmenter chaque image de la vidéo d'entrée. Dans ce cas, la sortie du premier réseau de neurones R1 peut être la séquence d'images de la vidéo d'entrée segmentées, c'est-à-dire la vidéo d'entrée segmentée, par exemple par binarisation. 12 [0123] Dc même, le second réseau de neurones R2 peut être configuré pour calculer une carte de probabilité de présence pour chaque image segmentée obtenue en sortie du premier réseau de neurones Rl. [0124] Dc préférence, il est possible d'effectuer un séquençage de la vidéo d'entrée avant la segmentation par le premier réseau de neurones R1 et/ou avant le calcul de cartes probabilistes par le second réseau de neurones R2. [0125] Par exemple, le premier réseau de neurones RI peut être configuré pour ne calculer de segmentation d'une image qu'à une certaine fréquence, par exemple de ne calculer la segmentation que d'une image sur deux, ou d'une image sur trois de la vidéo d'entrée. [0126] Lors d'une segmentation séquentielle, le résultat en sortie du premier réseau de neurones R1 est un ensemble de matrices d'images segmentées dont le nombre est inférieur au nombre d'images de la vidéo d'entrée. [0127] De préférence, la vidéo est divisée en séquences de taille [0128] [Math .15] Seuill 102041 avec p(pixel) la probabilité pour qu'un pixel appartienne à un chemin, selon la carte de probabilité obtenue par le procédé de segmentation (l'image à l'étape C2. [0205] Cette grandeur P donne une probabilité moyenne d'un pixel de l'image de l'environnement d'appartenir à une zone roulable. [0206] On peut également définir P' une grandeur représentant la probabilité moyenne des pixels considérés comme appartenant à une zone roulable par rapport à la zone considérée comme roulable au seuil Scuill . L'unité de traitement 4' calcule la somme sur tous les pixels considérés comme appartenant à la zone roulable au premier seuil de risque Seuill de la probabilité des pixels, puis divise la somme obtenue par la taille N' correspondant à la taille du chemin au seuil Scuill, soit [0207] [Math.18] N = E . pJxelX Ip(pixel)>Souill;(pixel) [0208] avec [0209] [Math.19] X [0210] la fonction caractéristique de l'ensemble [0211] [Math.20] 'pixel / p(pix 1)> Seuilli [0212] [0213] On a donc : [0214] [Math.21] P's p(pixel) Pixel N' p(pixel)> Seuil! [0215] Cette grandeur donne un indicateur de la qualité du chemin - [0216] Si [0217] [Math.22] Pr - [0218] , alors la zone roulable est de bonne qualité : toute la zone identifiée comme roulable au seuil Seuil! est roulable de façon certaine. [0219] Si [0220] [Math.23] P Seuil] [0221] , alors la zone roulablc est de mauvaise qualité : toute la zone identifiée comme roulablc au seuil Scuill est estimée roulablc au seuil de risque Scuill uniquement. [0222] Par exemple, dans le cas où l'on choisit de prendre un risque élevé, le seuil de risque Scuill est faible, par exemple 0,1. [0223] Sur l'exemple illustré sur la figure 10, le réseau de neurones, par exemple le second réseau de neurones R2 entrainé ou le réseau de neurones R3, a segmenté l'image de 321 x 321 pixels en une zone inférieure roulable de manière certaine de probabilité 1, correspondant en réalité à une piste, et une zone non roulablc de manière certaine, correspondant en réalité à un fond montagneux. Dans cet exemple, la moitié inférieure de l'image d'entrée est considérée comme un chemin au seuil de risque Scuill, soit N'= 160 x 321 pixels. Comme l'ensemble de la zone considéré comme roulablc au seuil de risque Scuill l'est de façon certaine, on a P' = 1 et P = [0224] Sur l'exemple illustré sur la figure 11, le deuxième réseau de neurones R2 entrainé ou le réseau de neurones R3 entrainé a segmenté r imago de 321 x 321 pixels en une zone inférieure roulablc de manière non certaine, correspondant en réalité à une piste, et une zone non roulablc de manière certaine, correspondant en réalité à un fond de forêt. Parmi les pixels de la moitié inférieure de l'image, une zone centrale d'environ 160 x 160 pixels est roulablc de façon certaine (p=1), et les zones latérales de la moitié inférieure, représentant 160 x 161 pixels sont roulables de façon probable (p=0.5), et correspondent en réalité à une piste recouverte de feuilles. On obtient dans cet exemple P' = (160 x 160 x 1 + 160 x 161 x 0.5) / 160 x 321 = 0.75 et P = (160 x 160 x 1 + 160 x 161 x 0.5) / 321 x 321 = 0.375. [0225] Ainsi, plus P' et P sont grands plus la présence d'un chemin ou zone roulable sur l'image et donc dans l'environnement du véhicule V est certaine. [0226] On définit également une grandeur S représentant la taille de la plus grande composante connexe, c'est-à-dire la plus grande zone de la segmentation considérée comme roulable au seuil de risque Seuil'. Elle permet de vérifier si la segmentation du chemin est morcelée, et donc mesure la qualité de la zone roulable. [0227] [Math.24] S=max(suirjace en pixel decomposanle connexe ;pixel p(pixel)> [0228] S représente la surface de la plus grande composante connexe composée de pixels présentant une probabilité supérieure à Seuil1. [0229] Par exemple, la grandeur S sera maximale dans l'exemple illustré sur les figures 10 et 11 puisque la zone identifiée comme roulable au seuil de risque Seuil' est constituée d'un seul tenant. [0230] En revanche, une piste comprenant par exemple des nids de poules, des ornières ou des obstacles divers ne sera pas identifiée comme une zone roulable d'un seul tenant, et aura donc une valeur S plus faible. 23 [0231] Dans l'exemple illustré sur la figure 12, l'image de l'environnement acquise par le capteur 10' lors de l'étape Cl comprend des obstacles (flaques, piétons, véhicules), identifiés comme des zones non roulables de manière certaine ou probablement non roulables par le réseau de neurones lors de l'étape C2. Selon le seuil de risque choisi, la taille de la composante connexe maximale varie. [0232] Lors de la sous-étape d'analyse C31, l'unité de traitement 4' peut également calculer d'autres grandeurs intéressantes pour le contrôle du véhicule V. [0233] A partir des grandeurs calculées lors de la première sous-étape d'analyse C31 de la qualité du chemin de l'étape C3, l'unité de traitement 4' peut calculer, lors d'une deuxième sous-étape C32, une commande ou consigne en vitesse du véhicule terrestre V. [0234] De manière générale, il est connu de l'art antérieur des procédés de contrôle de véhicule (en anglais « path planning » par exemple : [0235] - Daniel Harahor and Alhan Grastien. An Optimal Any-Angle Pathfinding Algorithm. Proceedings of the Twenty-Third International Conference on Automated Planning and Schcduling. [0236] - Sinyukov, Dmitry A.; Padir, Taskin (May-Dune 2017). "CWave: High-Performance Single-Source Any-Angle Path Planning on a Grid". Proceedings of the 2017 IEEE International Conference on Rohotics and Automation (ICRA). 2017 IEEE International Conference on Rohotics and Automation (ICRA). Singapore: IEEE. pp. 6190-6197), permettant de piloter une trajectoire d'un véhicule, notamment en amont, à partir de données de navigation GPS (en anglais, « Global Positioning System ») du véhicule et de données concernant le réseau routier, puis à partir de la perception de l'environnement direct du véhicule par des capteurs, et de modèles prédictifs de comportement. [0237] Dans le cas où le véhicule V effectue une trajectoire « off-road », sur des pistes ou des zones non cartographiées notamment, un procédé de contrôle de véhicule tel que décrit par la suite est particulièrement adapté. [0238] De manière générale, la commande ou consigne en vitesse est définie comme une fonction des grandeurs calculées lors de la première sous-étape C31, et notamment de la probabilité de l'existence d'une zone roulable. De manière générale, on a : [0239] [Math.25] Vitesse = fie) [0240] avec [0241] [Math.26] [0242] comprenant au moins un paramètre calculé lors de la sous-étape C31, par exemple [0243] 24 [Math.27] e {P, Pr , S, (P, S), (P , S), (P, , Sil 102441 , et f une fonction continue. 102451 11 est particulièrement avantageux que la vitesse du véhicule V dépende de la pro- babilité de l'existence de zone roulable Pou P', puisque cette probabilité est un indicateur de la qualité de la zone roulable. 102461 Par exemple, le moyen de traitement 4' peut établir une consigne en vitesse selon la formule : 102471 IMath.281 Vitesse = Vox Wr- [0248] avec Vo la vitesse cible (lu véhicule. [0249] De préférence, la consigne en vitesse peut. tendre à ralentir le véhicule terrestre V si la qualité de la zone roulable n'est pas bonne. [0250] De préférence, la consigne en vitesse peut. augmenter lorsque la probabilité de présence de zone roulable P ou P' augmente. [0251] De nombreuses fonctions de commande de vitesse peuvent être définies, par exemple [0252] [Math.29] Vitesse = Vo P' [0253] [0254] On a alors [0255] [Math.30] Vitesse V0 [0256] lorsque le chemin identifié est une zone roulable de manière certaine. [0257] De manière générale, la commande de vitesse calculée à la sous-étape C32 peut dépendre de la carte de probabilité établie lors de l'étape C2 et du seuil de risque autorisé Seuill, qui peut être prédéfini par l'utilisateur. [0258] [Math.31] Vitesse = f(carte de probabilité, S'euill) [0259] A partir des grandeurs calculées lors de la sous-étape d'analyse de la qualité du chemin, le moyen de traitement 4' peut également, lors de la deuxième sous-étape C32, établir une commande de la trajectoire du véhicule terrestre. 102601 De préférence, les capteurs 10' peuvent comprendre un système de détection de distance de type ultrason, laser, LIDAR. Des données de distance permettent avantageusement de compléter les cartes de probabilités obtenues lors de l'étape C2, en fournissant une information sur la profondeur de la zone roulable identifiée au seuil de risque Seuil 1, et sur la distance à des obstacles. 102611 De préférence, les capteurs 10' peuvent comprendre un système de détection de position de type GPS. Des données de position permettent avantageusement de compléter les cartes de probabilités obtenues lors de l'étape C2. Par exemple, des données de position peuvent être utilisées lorsque le véhicule V circule sur des zones de routes bien définies. Des données de position peuvent aussi être utilisées pour calculer dynamiquement la vitesse du véhicule V, et notamment identifier des dérapages, afin d'ajuster la trajectoire du véhicule V. [0262] De préférence, la consigne en trajectoire est calculée à partir de la carte probabiliste de zones roulables obtenue lors de l'étape C2 de sorte à maximiser la probabilité de présence de zone roulablc. [0263] Par exemple, la consigne de la trajectoire peut être calculée de sorte à maximiser l'intégrale des probabilités des pixels empruntés par la trajectoire prévue pour le véhicule V. [0264] Par exemple, il est possible à partir des images issues des capteurs 10' de définir une trajectoire en trois dimensions (3D) par interpolation. On peut paramétrer par exemple une trajectoire par une fonction d'interpolation polynomiale de type spline représentant les trajectoires possibles paramétrécs par un ensemble de paramètres 01, par exemple [0265] [Math.32] el eIP,P S, (P 51), (P , S), (P, P ,S)1 [0266] [0267] On écrira de manière générale : [0268] [Math.33] Trajectoire = argmaxeif p(Spline(61)) 102691 avec Spline la projection des points de passage du véhicule V dans l'image. 102701 En particulier, on peut choisir de contraindre la trajectoire à ne pas passer par les zones où le chemin est le moins probable. La trajectoire peut être alors calculée: 102711 IMath.341 (p s)- k (1-p (s)) (1-p(s))ds Trajectoire -arginaxel ESPII" ()( ° I 1 [0272] Avec k un niveau d'exigence ou coefficient de pénalisation pouvant être un facteur prédéfini dans l'unité de traitement 4' ou déterminé dynamiquement par l'unité de traitement 4'. Le coefficient k permet de choisir un degré de pénalisation associé au passage dans une zone roulable de manière incertaine. [0273] On peut aussi choisir de contraindre la longueur du chemin emprunté par le véhicule V. La trajectoire peut être alors calculée : [0274] [Math.35] Trajectoire = argmaxe p (s )d s s ESpline(01) las s -ESplith?(61) 26 [0275] De manière plus générale, l'homme du métier comprendra qu'il est possible de définir, à partir des images segmentées et des cartes de probabilité différentes paramétrisations de la trajectoire, par exemple des portions de droites projetées dans l'image de l'environnement. [0276] Comme décrit ci-dessus, le calcul de la trajectoire peut se faire dans l'image puis projetée dans le référentiel de contrôle du véhicule V. Par exemple, cela peut être fait en appliquant à l'image des probabilités de chemin une homographie qui lie le plan de l'image issue du capteur 10', par exemple l'image caméra, à un plan de référence du véhicule V. On peut également projeter la carte de probabilité de présence de zone roulable dans le référentiel de contrôle et configurer l'unité de traitement 4' pour effectuer tous les calculs dans ce référentiel. [0277] Il est possible de fusionner ou consolider les informations disponibles, acquises par le capteur 10' ou calculées par l'unité de traitement 4', pour obtenir un meilleur contrôle du véhicule V. [0278] A un instant t, il est possible d'obtenir une connaissance du déplacement du véhicule V à partir d'au moins deux cartes de probabilités, par exemple entre une première carte de probabilité à l'instant t, et une deuxième carte de probabilité à l'instant t-1. De manière générale, on obtient la connaissance du déplacement du véhicule V à partir de M cartes probabilistes successives, c'est-à-dire de la première carte de probabilité à l'instant t, et des cartes de probabilités antérieures aux instants t-1, t-2... t-M+1. [0279] La connaissance du déplacement du véhicule V peut être calculée par l'unité de traitement 4', par exemple par une technique d'odométrie, par des données de navigation (GPS), ou par une centrale inertielle comprenant un système de mesure du mouvement et de cartographie de l'environnement (aussi appelée « inertie vision »). [0280] A partir de la connaissance de déplacement du véhicule V, il est possible d'effectuer une consolidation temporelle d'au moins deux cartes de probabilité : [0281] - comme expliqué ci-dessus, l'unité de traitement 4' peut projeter et recaler les au moins deux cartes de probabilité (t, t-1) dans le repère de contrôle du véhicule V ; [0282] - L'unité de traitement 4' calcule une carte de probabilité finale correspondant à la fusion des au moins deux cartes de probabilités des zones roulables, en appliquant une règle de consolidation parmi une des règles de consolidation suivantes : [0283] Consolidation par fusion conservatrice, dans laquelle chaque élément [0284] [Math.36] [0285] de la matrice finale est calculé selon : [0286] [Math.37] final\ I ipixefi = min ( pi _ (pixel), pt (pixel) ) I) 27 [0287] [0288] consolidation par fusion agressive, dans laquelle chaque élément [0289] [Math.38] P final [0290] de la matrice finale est calculé selon : [0291] IMath.391 pii 0l(pixel) max pr ( pixel ) ( pixel ) ) [0292] [0293] consolidation par fusion moyenne, dans laquelle chaque élément [0294] [Math.40] P final [0295] de la matrice finale est calculé selon : [0296] [Math.41] p, - I (pixel) + pt(pixel) p ( pixel ) - 2 pnal [0297] [0298] consolidation par fusion robuste, clans laquelle chaque élément [0299] IMath.421 P final [0300] de la matrice finale est calculé selon les éléments [0301] [Math.43] t-2, Pr-P Pr [0302] des cartes de probabilités aux instants t-2, t-1 et t respectivement, selon : [0303] [Math.44] p7inai(pixel) = mediane pl 2( pixel ) pr _ 1( pixel ) , pl (pixel) ) [0304] [0305] Les consolidations précédentes peuvent être généralisées dans le cas où M>2, en ap- pliquant des formules semblables aux M cartes de probabilité. Il est aussi possible d'utiliser d'autres règles de consolidation utilisant les données des éléments p des M cartes de probabilités antérieures. [0306] 11 est également possible d'effectuer une consolidation comprenant une détection d'obstacle externe, dans le cas où les capteurs 10' comprennent un capteur d'obstacle, par exemple un capteur de télédétection par laser (L1DAR, en anglais «light detection and ranging »), un capteur par radar ou un capteur par ultrasons. Dans un tel exemple de réalisation, il est possible de configurer l'unité de traitement 4' pour que chaque élément p soit mis à zéro de manière forcée dans le cas d'une détection d'obstacle. 28 Ainsi, la probabilité de présence de zone roulable est automatiquement nulle quand il y a présence d'un obstacle dans la zone. Dans cet exemple de réalisation, le niveau d'exigence ou coefficient de pénalisation k utilisé pour le calcul de trajectoire peut être prédéfini à une valeur élevée, typiquement supérieure à 100. [0307] Selon l'exemple de la figure 12, la trajectoire calculée à la sous-étape C32 est définie pour que le véhicule V reste sur les zones considérées comme roulable de manière certaine, en passant par les zones ayant la plus grande probabilité d'être néanmoins roulable. Un exemple de consigne est également schématisé, dans lequel la vitesse de consigne diminue lorsque le véhicule V atteint le point Pl, où il entre dans la zone dont la probabilité d'être roulahlc est plus faible, et la vitesse de consigne augmente lorsque le véhicule V atteint le point P2, où il entre dans une zone dont la probabilité d'être roulable est élevée. La zone entre P1 et P2 identifiée sur l'image de l'environnement du véhicule correspond ici à une portion de route boueuse par exemple. [0308] Dans un exemple de réalisation, la commande en vitesse et/ou en trajectoire calculée à la sous-étape C32 peuvent être transmises à un calculateur C du véhicule V. Le calculateur C peut être de préférence capable de modifier la vitesse du véhicule V de sorte à atteindre la commande en trajectoire, par un système de type « motion planncr » par exemple. [0309] De préférence, le calculateur C peut comprendre un contrôleur de type « feedback control », capable de modifier la commande en vitesse et/ou en trajectoire du véhicule V en fonction des données issues de capteurs présents sur l'actionneur A, par exemple en cas de dérapage du véhicule V. [0310] Les étapes Cl à C3 du procédé de contrôle du véhicule V pourront être réitérées de manière quasi continue, c'est-à-dire avec une fréquence élevée, afin de permettre un contrôle dynamique du véhicule V. [0311] Le lecteur aura compris que de nombreuses modifications peuvent être apportées sans sortir matériellement des nouveaux enseignements et des avantages décrits ici. Par conséquent, toutes les modifications de ce type sont destinées à être incorporées à l'intérieur de la portée du procédé de contrôle présenté. 29 [Revendication 1] [Revendication 2] [Revendication 3] [Revendication 4]