CA3233479A1 - Procede de detection d'obstacles - Google Patents
Procede de detection d'obstacles Download PDFInfo
- Publication number
- CA3233479A1 CA3233479A1 CA3233479A CA3233479A CA3233479A1 CA 3233479 A1 CA3233479 A1 CA 3233479A1 CA 3233479 A CA3233479 A CA 3233479A CA 3233479 A CA3233479 A CA 3233479A CA 3233479 A1 CA3233479 A1 CA 3233479A1
- Authority
- CA
- Canada
- Prior art keywords
- image
- rectified
- images
- detection method
- obstacle detection
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/10—Terrestrial scenes
- G06V20/17—Terrestrial scenes taken from planes or by drones
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
- G06V20/58—Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/80—Geometric correction
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
- G06T7/593—Depth or shape recovery from multiple images from stereo images
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/70—Labelling scene content, e.g. deriving syntactic or semantic representations
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
- G06T2207/10021—Stereoscopic video; Stereoscopic image sequence
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10032—Satellite or aerial image; Remote sensing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10048—Infrared image
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Remote Sensing (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
Description
L'invention concerne le domaine de la détection d'obstacles pour fournir une assistance au pilotage d'un véhicule nu d'un rohot.
ARRIERE PLAN DE L'INVENTION
Il existe aujourd'hui un grand nombre de systèmes de détection d'obstacles, qui sont destinés à fournir une assistance au pilotage de différents types de véhicules :
véhicules volants, terrestres, avec ou sans pilote à bord, véhicules autonomes, robots, etc.
Un tel système de détection d'obstacles a notamment pour objectif de réduire autant que possible les accidents de collision en fournissant au pilote ou au système de navigation du véhicule un certain nombre d'informations relatives aux obstacles présents dans l'environnement du véhicule : position des obstacles, distance entre chaque obstacle et le véhicule, taille et type des obstacles, etc.
Les obstacles sont par exemple des câbles électriques, des pylônes, des arbres, etc.
On connaît ainsi des systèmes de détection d'obstacles qui utilisent la technologie RADAR (pour RAdio Detection And Ranging) ou la technologie LIDAR (pour Light Detection And Ranging).
Ces systèmes présentent l'inconvénient d'émettre des ondes électromagnétiques ou des ondes lumineuses qui rendent le véhicule facilement détectable. Or, dans certaines applications, notamment militaires, il est préférable que le véhicule équipé du système de détection d'obstacles soit difficile à détecter (véhicule furtif).
On connaît par exemple un système passif de détection d'obstacles appelé POIDS, pour Passive 05stac7e Detection System, qui est développé par Boeing. Ce système est capable de traiter un flux d'images important et fonctionne avec des images capturées dans les bandes visibles, les bandes MWIR
(pour Mid-Wave InfraRed) ou les bandes LWIR (pour Long-Wave InfraRed), ou bien avec des images produites par des capteurs PMMW (pour Passive 11111114eter Wave).
Cependant, ce système est capable de détecter uniquement des obstacles de type câble, et ne semble fonctionner qu'avec des capteurs petit champ.
On connaît aussi des systèmes qui détectent des obstacles grâce à la stéréovision. Certains systèmes utilisent ainsi la cartographie UV mais sont peu précis et sont incapables de faire la différence entre les différents types d'obstacles.
D'autres systèmes encore utilisent des images satellitaires, mais n'ont pas pour vocation à être embarqués dans des véhicules tels qu'un hélicoptère ou un drone.
OBJET DE L'INVENTION
L'invention a pour objet de détecter et d'identifier de manière précise et fiable différents types d'obstacles, sans émettre d'ondes électromagnétiques ou lumineuses, pour fournir une aide au pilotage de tout type de véhicule.
RESUME DE L'INVENTION
En vue de la réalisation de ce but, on propose un procédé de détection d'obstacles, mis en ouvre dans au moins une unité de traitement et comprenant les étapes de :
- acquérir des images stéréos brutes, représentatives d'un
- mettre en uvre un algorithme de segmentation sémantique pour produire une première image segmentée à partir d'une première image brute, la première images brute étant l'image brute de gauche ou l'image brute de droite ;
- rectifier les images stéréos brutes pour obtenir des images stéréos rectifiées, et la première image segmentée pour obtenir une première image segmentée rectifiée ;
- mettre en uvre un algorithme de calcul de disparité entre les images stéréos rectifiées, pour produire une carte de disparité ;
- mettre en uvre une transformation spatiale de la première image segmentée rectifiée, en utilisant la carte de disparité, pour produire une deuxième image segmentée rectifiée, correspondant au côté opposé à celui de la première image brute, et produire ainsi des images stéréos segmentées rectifiées ;
- produire une liste d'instances d'obstacles prédéfinis présentes dans l'environnement du véhicule à partir des images stéréos segmentées rectifiées ;
- mettre en uvre un algorithme de reconstruction en trois dimensions, utilisant la carte de disparité, pour produire des coordonnées en trois dimensions pour chaque pixel des images stéréos brutes ;
- intégrer, en utilisant les coordonnées en trois dimensions, les instances d'obstacles prédéfinis dans des images intermédiaires obtenues à partir des images stéréos rectifiées, pour produire des images augmentées destinées à
fournir une assistance au pilotage du véhicule.
Le procédé de détection d'obstacles selon l'invention
On propose de plus un procédé de détection d'obstacles tel que précédemment décrit, dans lequel l'étape de rectification comprend une correction de distorsion et utilise des premiers paramètres comprenant des paramètres extrinsèques et intrinsèques des caméras stéréos.
On propose de plus un procédé de détection d'obstacles tel que précédemment décrit, dans lequel des lignes épipolaires des images stéréos rectifiées et des images stéréos segmentées rectifiées sont horizontales.
On propose de plus un procédé de détection d'obstacles tel que précédemment décrit, comprenant en outre l'étape, précédant la mise en oeuvre de l'algorithme de calcul de disparité, de projeter les images stéréos rectifiées dans un repère associé à un casque d'un pilote du véhicule.
On propose de plus un procédé de détection d'obstacles tel que précédemment décrit, dans lequel l'algorithme de reconstruction en trois dimensions utilise des deuxièmes paramètres comprenant des paramètres extrinsèques et intrinsèques des caméras stéréos ainsi que des données de navigation produites par des capteurs de navigation d'une unité de mesure inertielle du véhicule.
On propose de plus un procédé de détection d'obstacles tel que précédemment décrit, dans lequel les coordonnées en trois dimensions des pixels reconstruits sont définies dans un repère géographique local associé au véhicule et corrigé
en lacet.
On propose de plus un procédé de détection d'obstacles tel que précédemment décrit, comprenant en outre l'étape, précédant la mise en uvre de l'algorithme de reconstruction,
On propose de plus un procédé de détection d'obstacles tel que précédemment décrit, dans lequel la vérification de la validité de la disparité du couple de pixels homologues comprend l'étape de vérifier que :
disp,(xõ y) = dispd(x, - disp,(x, , y), y) et dispd(xd Y) = disPg(xd + dispd(xd Y), Y) disp, étant une disparité estimée en prenant l'image de gauche comme référence, dispd étant une disparité estimée en prenant l'image de droite comme référence, xq étant une coordonnée du pixel de gauche et xd étant une coordonnée du pixel de droite.
On propose de plus un procédé de détection d'obstacles tel que précédemment décrit, dans lequel la vérification de la validité de la disparité du couple de pixels homologues comprend l'étape de mettre en uvre un mécanisme de post-accumulation en projetant des images de disparité passées sur une image de disparité actuelle.
On propose de plus un procédé de détection d'obstacles tel que précédemment décrit, comprenant l'étape de déterminer qu'un groupe de pixels d'une image stéréo segmentée rectifiée forme une instance d'obstacle prédéfini lorsque lesdits pixels sont connectés entre eux.
On propose de plus un procédé de détection d'obstacles tel que précédemment décrit, dans lequel deux pixels sont
une même classe.
On propose de plus un procédé de détection d'obstacles tel que précédemment décrit, dans lequel l'étape d'intégration comprend les étapes, pour chaque instance d'obstacle prédéfini, de déterminer, en utilisant des coordonnées de l'instance d'obstacle prédéfini et les coordonnées en trois dimensions des pixels reconstruits, une distance entre ladite instance d'obstacle prédéfini et le véhicule ainsi que des dimensions de ladite instance d'obstacle prédéfini.
On propose de plus un procédé de détection d'obstacles tel que précédemment décrit, dans lequel les images intermédiaires sont les images stéréos rectifiées.
On propose de plus un procédé de détection d'obstacles tel que précédemment décrit, dans lequel l'étape d'intégration comprend, pour chaque instance d'obstacle prédéfini, l'étape d'incruster une croix sur un barycentre de ladite instance d'obstacle prédéfini.
On propose de plus un procédé de détection d'obstacles tel que précédemment décrit, dans lequel l'algorithme de segmentation sémantique utilise un réseau de neurones U-Net, HRNet, ou HRNet + OCR.
On propose de plus un procédé de détection d'obstacles tel que précédemment décrit, dans lequel les caméras stéréos sont des caméras infrarouges.
On propose de plus un système comprenant des caméras stéréos et une unité de traitement dans laquelle est mis en uvre le procédé de détection d'obstacles tel que précédemment décrit.
On propose de plus un véhicule comprenant un système
On propose de plus un programme d'ordinateur comprenant des instructions qui conduisent l'unité de traitement du système tel que précédemment décrit à exécuter les étapes du procede de detection d'obstacles tel que precedemment décrit.
On propose de plus un support d'enregistrement lisible par ordinateur, sur lequel est enregistré le programme d'ordinateur tel que précédemment décrit.
L'invention sera mieux comprise à la lumière de la description qui suit d'un mode de mise en uvre particulier non limitatif de l'invention.
BREVE DESCRIPTION DES DESSINS
Il sera fait référence aux dessins annexés parmi lesquels :
La figure 1 représente schématiquement différents modules d'un hélicoptère dans lequel est mise en uvre l'invention ;
La figure 2 représente des étapes du procédé de détection d'obstacles selon l'invention ;
La figure 3 représente la mise en uvre de l'algorithme de segmentation sémantique ;
La figure 4 représente un réseau de neurones U-Net ;
La figure 5 représente un réseau de neurones HRNet ;
La figure 6 représente des images stéréos et permet d'illustrer la vérification de la disparité ;
La figure 7 représente un objet et les centres optiques de deux caméras ;
La figure 8 illustre la manière dont sont reconstruites les coordonnées 3D d'un pixel ;
La figure 9 représente une image correspondant à un résultat réel de la mise en uvre du procédé de détection d'obstacles selon l'invention.
On décrit ici un mode de réalisation non limitatif de l'invention, dans lequel le procédé de détection d'obstacles selon l'invention est utilisé pour fournir une assistance au pilote d'un hélicoptère.
En référence à la figure 1, l'hélicoptère 1 comporte tout d'abord un dispositif de capture 2 destiné à capturer des images de l'environnement de l'hélicoptère 1.
Le dispositif de capture 2 comprend ici une pluralité
de caméras stéréos infrarouges 3, en l'occurrence deux caméras frontales stéréos et deux caméras latérales stéréos.
Les caméras 3 comprennent des caméras de gauche 3a, situées à gauche - bâbord - de l'hélicoptère 1 et des caméras de droite 3b, situées à droite - tribord - de l'hélicoptère 1.
Les capteurs optiques des caméras 3 sont des capteurs grand champ (par exemple de classe 180 , avec 80 de champ de vue par caméra individuelle). Les capteurs optiques sont par exemple du type thermo-détecteur utilisant la technologie micro-bolomètre, ou du type photodétecteur utilisant une technologie à base de silicium.
Les caméras 3 fonctionnent ici dans le domaine de l'infrarouge lointain (LWIR : Long Wave InfraRed). Le procédé de détection d'obstacles selon l'invention est donc utilisable et efficace de jour comme de nuit.
L'hélicoptère 1 comprend aussi une centrale inertielle 4 intégrant une unité de mesure inertielle 5 (UMI) et permettant d'estimer l'orientation, la position et la vitesse de l'hélicoptère 1. L'UMI 5 intègre des capteurs de navigation comprenant à minima trois accéléromètres et trois gyromètres ou gyroscopes.
L'hélicoptère 1 comprend de plus une unité de traitement 6 comprenant au moins un composant de traitement 7 qui est
En référence à la figure 2, le procédé de détection d'obstacles fonctionne de la manière suivante.
L'unité de traitement 6 acquiert en temps réel des images stéréos brutes Isb. Les images stéréos brutes Isb sont représentatives de l'environnement de l'hélicoptère 1 et sont produites par les caméras 3 du dispositif de capture 2. Les images stéréos brutes Isb comprenant une image brute de gauche et une image brute de droite.
L'unité de traitement 6 met alors en uvre un algorithme de segmentation sémantique de type apprentissage profond (deep learning), qui utilise un réseau de neurones adapté à
la segmentation d'images.
En référence à la figure 3, la mise en oeuvre de l'algorithme de segmentation sémantique permet de produire une première image segmentée lei à partir d'une première image brute Ibl, la première images brute Ibl étant l'image brute de gauche ou l'image brute de droite. Ici, par exemple, la première image brute Ibl est l'image brute de gauche.
Le réseau de neurones est par exemple un réseau U-Net, un réseau HRNet (pour High-Resolution Network), ou un réseau HRNet + OCR (OCR pour Object-Contextual Representation).
Le réseau U-Net 10, dont un exemple est visible sur la figure 4, est un réseau de neurones convolutif, qui comporte une partie encodeur 11 et une partie décodeur 12. Le réseau
10 Le réseau HRNet 14, dont un exemple est visible sur la figure 5, est caractérisé par le fait de traiter l'image à
différentes échelles en même temps.
Le réseau HRNet + OCR est la somme de deux réseaux. Le réseau OCR est caractérisé par l'utilisation d'un mécanisme d'attention qui consiste à mesurer des corrélations entre les canaux et les pixels constituant les derniers blocs du réseau.
L'algorithme de segmentation sémantique a été
préalablement entraîné en utilisant une base de données préalablement établie. Les poids associés aux neurones sont calculés à partir de la base de données lors d'un processus d'entraînement.
La base de données est une base de données annotée ; on parle aussi pour un tel apprentissage d'apprentissage supervisé sur des données étiquetées. Les obstacles ont été
annotés à la main.
Cette base de données comprend à la fois des images issues de vols réels (vols d'acquisition) et des masques.
Les images sont issues de séquences réalisées sur plusieurs centaines d'heures de vol.
Les images sont des images infrarouges.
pour désigner une classe particulière parmi une pluralité de classes.
Les classes annotées ont été sélectionnées pour représenter deux types d'objet : des objets formant des obstacles et des objets constituant l'environnement. Les objets constituant l'environnement ont pour but d'être identifiés afin de faciliter la discrimination des obstacles dans différents environnements. La discrimination de l'environnement permet aussi d'identifier dans l'image de potentielles zones d'atterrissage et la ligne d'horizon.
La pluralité de classes comprend ici sept classes, qui désignent respectivement le ciel, l'eau, le sol, la végétation, les câbles, les pylônes, et les autres types d'obstacles de sursol humain (autres que les câbles et les pylônes). D'autres classes peuvent être définies, par exemple une classe désignant les humains et une autre classe désignant des véhicules.
La définition des classes est adaptée à l'application dans laquelle est mise en uvre l'invention. Les classes choisies ici permettent de différencier des types d'obstacles qui sont spécifiquement dangereux pour un hélicoptère, comme les câbles, et permettent aussi la détection d'obstacles qui peuvent constituer des points de passage, comme les pylônes. Un pylône est un indicateur de l'altitude de vol à conserver pour éviter toute collision avec des câbles.
La base de données a été créée de manière à éviter la redondance d'informations visuelles dans les différentes classes. On apparente donc certains objets à d'autres objets de type différent mais ayant une apparence visuelle proche.
De plus, on a fixé des limites sur la taille des objets, de sorte que des objets comprenant un faible nombre de pixels ne sont pas annotés. Par exemple, une maison ayant une taille de quatre pixels n'est pas annotée.
Avantageusement, seule une partie de la base est utilisée pour l'apprentissage, alors qu'une autre partie est utilisée pour vérifier les résultats obtenus et éviter ainsi un sur-apprentissage (Overfitting) du réseau.
Plus précisément, la base comporte trois parties : une partie entraînement qui est directement utilisée dans la rétropropagation des gradients pour élaborer itérativement les poids des neurones, une partie validation qui sert à monitorer les performances du réseau de neurones sur des données non vues à l'entraînement, et permet d'ajuster l'hyper-paramètre d'entraînement, et enfin une partie test , qui n'est connue que de l'entité / organisation cliente. La partie test peut être utilisée par l'entité
cliente pour mesurer les performances avec ses propres données.
Une fois que le réseau a été entraîné, on applique une image d'entrée en entrée du réseau, et on obtient typiquement en sortie de réseau un bloc d'inférence. Ce bloc d'inférence est une matrice de dimension CxHxW, où C est le nombre de classes, H est la hauteur de l'image en entrée et W est la largeur de l'image en entrée.
Ce bloc d'inférence est la réponse de l'image d'entrée au réseau de neurone.
On normalise ensuite chaque pixel en utilisant une fonction de type Softmax. Cela traduit la réponse de l'image
Pour obtenir la classe d'un pixel, on extrait la coordonnée de l'élément dont la réponse au système est la plus élevée de la ligne correspondant aux classes et associée audit pixel.
On associe ainsi une classe à chaque pixel de la première image brute. On peut aussi associer ensuite une couleur à chaque classe.
On note que l'utilisation d'une base de données comprenant des images produites dans le domaine de l'infrarouge, pour entraîner l'algorithme de segmentation sémantique, permet d'améliorer très significativement l'efficacité dudit algorithme en opération pour réaliser la détection et la reconnaissance d'obstacles sur des images infrarouges. En effet, l'entraînement d'un tel algorithme avec une base de données constituée d'images en visible ou d'images synthétiques ne garantit pas son fonctionnement dans un autre domaine. Le changement de domaine du visible en infrarouge est en effet une opération compliquée et mal maîtrisée aujourd'hui.
L'unité de traitement 6 rectifie alors les images stéréos brutes Isb pour obtenir des images stéréos rectifiés Isr (paire d'images rectifiées), et la première image segmentée lei pour obtenir une première image segmentée rectifiée Ierl.
Les paramètres extrinsèques et intrinsèques ont été
produits au cours d'opérations de calihration réalisées en usine.
Les paramètres extrinsèques comprennent des niveaux de roulis, tangage et lacet des caméras 3 par rapport au repère système (repère associé à l'hélicoptère 1).
Les paramètres intrinsèques comprennent la distance focale de chaque caméra 3, la distance entre les caméras 3, des paramètres de distorsion, la taille de chaque pixel, l'entraxe binoculaire.
La rectification permet d'obtenir les images stéréos rectifiées Isr et la première image segmentée rectifiée Ierl, dont les lignes épipolaires sont horizontales.
L'unité de traitement 6 met alors en uvre un algorithme de calcul de disparité entre les images stéréos rectifiées Isr, pour obtenir une carte de disparité Cd.
La disparité est une mesure utilisée pour estimer la profondeur et donc pour reconstruire une vue de l'environnement de l'hélicoptère 1 en trois dimensions.
La carte de disparité Cd est une image numérique (image de disparité) qui contient l'information sur les correspondances des points d'une même scène prise avec deux angles de vue différents, en l'occurrence avec les caméras de gauche 3a et avec les caméras de droite 3h du dispositif de capture 2. Les images de disparités évoluent en temps réel.
L'unité de traitement 6 vérifie alors la valeur de disparité de chaque couple de pixels homologues comprenant un pixel de gauche d'une image de gauche (produite par les caméras de gauche 3a du dispositif de capture 2) et un pixel de droite d'une image de droite (produite par les caméras de droite 3b du dispositif de capture 2).
La vérification de la disparité permet notamment 5 d'éliminer les faux appariements causés par les occultations.
En référence à la figure 6, la vérification de la validité de la disparité d'un couple de pixels homologues est ici mise en uvre de la manière suivante.
10 Le couple de pixels homologues comprend un pixel de gauche 15a et un pixel de droite 15b, qui appartiennent respectivement à une image de gauche 16a et à une image de droite 16b (et qui ont une même coordonnée y en vertical).
Avec l'image de gauche 16a comme référence, la
Xd ¨ Xg dispg(xg , y), dispg étant la disparité estimée en prenant l'image de gauche 16a comme référence.
Avec l'image de droite 16b comme référence, la coordonnée du pixel de gauche 15a vaut :
xg = dispd(xd Y), dispd étant la disparité estimée en prenant l'image de droite 16b comme référence.
Les disparités estimées doivent vérifier :
dispg(xg , y) = dispd(xg - dispg(xg , Y), Y).
dispd(xd Y) = dispg(xd + dispd(xd . Y) D'autres mécanismes pourraient être utilisés pour vérifier la disparité et, notamment, un mécanisme de post-accumulation des images de disparité. Ce mécanisme consiste à projeter les images de disparité passées sur l'image de disparité actuelle, afin de filtrer temporellement la valeur de disparité de chaque pixel. Pour ce faire, on utilise les
Le procédé de détection met alors en uvre une transformation spatiale de la première image segmentée rectifiée Ierl, en utilisant la carte de disparité, pour produire une deuxième image segmentée rectifiée Ier2. La deuxième image segmentée rectifiée Ier2 correspond au côté
opposé à celui de la première image brute (c'est-à-dire ici au côté droit). On produit ainsi des images stéréos segmentées rectifiées Iser. La transformation spatiale est ici une interpolation spatiale.
La carte de disparité Cd est donc utilisée pour transposer la première image segmentée rectifiée Ierl (ici image du côté gauche) sur l'oeil de l'autre côté (ici oeil droit), par interpolation spatiale de Ierl avec le champ de mouvement induit par la disparité, pour produire une deuxième image segmentée rectifiéeIer2 (ici, image du côté droit) et constituer ainsi une paire stéréo segmentée Iser à partir d'une seule inférence de segmentation sur l'oeil gauche (gain de calcul).
Les images stéréos rectifiées Isr et les images stéréos segmentées rectifiées Iser sont ensuite projetées dans un repère associé au casque du pilote de l'hélicoptère 1.
L'unité de traitement 6 met alors en uvre un algorithme de reconstruction en trois dimensions, utilisant la carte de disparité Cd, pour produire des coordonnées en trois dimensions pour chaque pixel des images stéréos brutes Isb (images d'origine)
Les données de navigation comprennent des niveaux de roulis, de tangage et de lacet de l'hélicoptère 1 dans un repère géographique local, ainsi que des niveaux de roulis, de tangage et de lacet des caméras 3 par rapport à
l'hélicoptère 1, ainsi qu'une latitude et une longitude de l'hélicoptère 1.
La reconstruction en trois dimensions utilise les principes qui suivent.
Sur la figure 7, on voit que, pour un point objet P
dans un repère cartésien, on peut trouver un point image de coordonnées (u, v) dans un repère associé à une caméra de gauche et un point image de coordonnées (u', v) dans un repère associé à une caméra de droite (pour des caméras rectifiées et un objet visible le champ de vision des deux caméras). Chaque pixel dans la caméra de centre optique C a des coordonnées (u, v) et dans la caméra de centre C' des coordonnées (u', v').
On nomme disparité d la distance (u-u').
Z est la distance du point objet aux centres optiques des deux caméras (Z = Pz).
C-C' est la baseline B (ligne de base) et correspond à
la distance entre les centres optiques des caméras C et C'.
f (distance focale) est la distance des centres optiques aux matrices de pixels.
Pour trouver le lien entre disparité et profondeur, on applique le théorème de Thalès.
On obtient alors :
Cette équation donne :
(C¨CI)f Z = __________________ (2) En remplaçant C-C' et u-u' par respectivement B et d, on obtient :
Z = ¨Bdf (3) Ici, f et d sont exprimées en mètres, mais ces grandeurs sont converties en pixels dans la réalité, ce qui ne change pas l'équation (3). Pour exprimer la disparité d en pixels, il suffit de substituer d par d * pitch dans l'équation ci-dessus, pitch étant la taille en mètres du pixel.
On peut généraliser le raisonnement et, à partir de l'équation (3), on retrouve les coordonnées Px et Py du point objet P. Les centres des repères pixels des caméras ont pour coordonnées (u0, v0) et (u'O, vr0).
On a :
v¨v0 f , õ
¨ = ¨ ) et Py Pz (uo+ufo) r(5) Px Pz En injectant le résultat de l'équation (3) dans les équations (4) et (5) à la place de Pz, on obtient :
B(v¨v0) Py = ______________ d (6) B(u (uo+u,o) Px = 2 (7).
d Pour une carte de disparité donnée, on calcule donc les coordonnées [Px, Py, Pz] de chaque pixel ayant une disparité
valide en utilisant les équations (3), (6) et (7).
Pour chaque pixel (u, v), on crée un vecteur [u, v, d, 1].
1 0 0 ¨Cx 0 1 0 ¨Cy Q =0 0 0 0 0 ¨1/Tx (cx ¨ Cx)/Tx I
Tx étant la baseline, f étant la focale, et (Cx, Cy), (Cx', Cy') étant les coordonnées des centres optiques des caméras en pixels.
L'unité de traitement 6 produit ainsi des coordonnées en trois dimensions de pixels d'une image reconstruite en trois dimensions représentative de l'environnement de l'hélicoptère 1. Les coordonnées en trois dimensions des pixels sont définies dans un repère géographique local associé à l'hélicoptère 1 et corrigé en lacet (grâce aux données de navigation).
Les coordonnées en trois dimensions des pixels sont alors projetées de manière à produire des images en deux dimensions I2D des coordonnées en trois dimensions de chaque pixel reconstruit.
En parallèle, l'unité de traitement 6 analyse les images stéréos segmentées rectifiées Iser et sélectionne la classe de chaque pixel en fonction de sa réponse à l'algorithme de segmentation sémantique.
L'unité de traitement 6 réalise alors une instanciation de chaque obstacle et produit une liste d'instances d'obstacles prédéfinis Obst présentes dans l'environnement de l'hélicoptère 1 à partir des images stéréos segmentées rectifiées Iser.
L'unité de traitement 6 détermine qu'un groupe de pixels d'une image stéréo segmentée rectifiée Iser forme une instance d'obstacle prédéfini Obst lorsque lesdits pixels sont connectés entre eux. On considère ici que deux pixels sont connectés entre eux si l'un des deux pixels appartient au voisinage de l'autre et si les deux pixels appartiennent à une même classe.
5 -Le voisinage d'un pixel particulier est défini ici comme comprenant huit pixels voisins primaires autour dudit pixel particulier.
L'unité de traitement 6 alloue un identifiant spécifique pour chaque groupe de pixels qui sont voisins 10 entre eux afin de pouvoir classifier chaque obstacle.
L'unité de traitement 6 produit alors un flux comprenant les images labellisées Ilab ainsi que les coordonnées de toutes les instances d'obstacles prédéfinis Obst.
L'unité de traitement 6 intègre alors, en utilisant les 15 coordonnées en trois dimensions, les instances d'obstacles prédéfinis Obst dans des images intermédiaires obtenues à
partir des images stéréos rectifiées Isr, pour produire des images augmentées la destinées à fournir une assistance au pilotage de l'hélicoptère 1.
Pour cela, l'unité de traitement 6 met tout d'abord en uvre un algorithme de calcul pour extraire des caractéristiques globales sur la taille de chaque instance d'obstacle prédéfini en hauteur et largeur en mesurant l'écart-type des positions 3D des pixels composant ladite instance d'obstacle prédéfini.
L'algorithme de calcul acquiert ainsi les coordonnées de chaque instance d'obstacle prédéfini Obst et utilise les
L'unité de traitement 6 connaît en effet les pixels appartenant à un même obstacle grâce à la segmentation, la reconstruction 3D de chaque pixel ayant une disparité valide, et peut donc en déduire les caractéristiques dans le repère géographique local centré sur l'hélicoptère 1 et corrigé en lacet.
La mesure des caractéristiques physiques des obstacles permet d'ajuster la trajectoire de vol en fonction des données.
L'unité de traitement 6 met en uvre un algorithme de fusion pour fusionner les instances d'obstacles prédéfinis Obst dans les images stéréos rectifiées Isr.
Pour chaque instance d'obstacle prédéfini Obst, la fusion est réalisée par l'incrustation d'une croix sur un barycentre de ladite instance d'obstacle prédéfini, avec en plus les informations sur ses caractéristiques géométriques.
Les pixels appartenant à une instance d'obstacle prédéfini sont mis en surbrillance en augmentant localement l'intensité de chaque pixel de l'instance, ou bien en insérant une fausse couleur. Cette fausse couleur peut d'ailleurs correspondre à un type d'obstacle.
L'unité de traitement 6 produit ainsi les images augmentées la (en l'occurrence des images stéréos).
Les images augmentées la sont alors projetées sur la visière du casque de pilotage du pilote. Le casque est un casque stéréoscopique. Les images augmentées sont projetées
L'unité de traitement 6 réalise une extraction de la projection sténopé (repère où il n'y a pas de déformation du monde 3D), correspondant au champ de vision du pilote et à
l'orientation de son casque.
Bien entendu, l'invention n'est pas limitée au mode de réalisation décrit mais englobe toute variante entrant dans le champ de l'invention telle que définie par les revendications.
Dans le procédé de détection décrit ici, l'algorithme de segmentation est mis en uvre sur une seule image brute (gauche ou droite), appelée première image brute , correspondant à un seul il. La carte de disparité est ensuite utilisée pour projeter, via une transformation spatiale, la segmentation dans l'oeil non segmentée.
Il serait cependant possible de segmenter les deux images brutes, gauche et droite. Dans ce cas, sur la figure 2, l'étape de transformation spatiale n'est pas réalisée et les images stéréos segmentées rectifiées Iser sont obtenues directement en sortie de l'étape de rectification.
La segmentation sur une seule image permet un gain de temps de calcul.
L'invention n'est pas nécessairement mise en uvre pour fournir une aide au pilotage d'un hélicoptère, mais peut être utilisée dans tout type de véhicule, avec ou sans pilote : aéronef, véhicule terrestre, drone, tout type de robot (se déplaçant au sol, dans les airs), etc. Les images augmentées peuvent être utilisées pour réaliser une navigation autonome.
Les images intermédiaires, dans lesquelles sont intégrées les instances d'obstacles prédéfinis, ne sont pas
Le procédé de détection d'obstacles selon l'invention n'est pas nécessairement mis en uvre dans une seule unité
de traitement intégrée dans un véhicule, mais peut être mis en uvre dans une ou plusieurs unités de traitement, parmi lesquelles l'une au moins peut se trouver à distance du véhicule (et par exemple dans une base de laquelle est parti le véhicule, dans un autre véhicule, dans un serveur du Cloud, etc.).
Claims (20)
- acquérir des images stéréos brutes (Tsh), représentatives d'un environnement d'un véhicule (1) et produites par des caméras stéréos (3), les images stéréos brutes comprenant une image brute de gauche et une image brute de droite ;
- mettre en uvre un algorithme de segmentation sémantique pour produire une première image segmentée (Ie1) à partir d'une première image brute, la première image brute étant l'image brute de gauche ou l'image brute de droite ;
- rectifier les images stéréos brutes pour obtenir des images stéréos rectifiées (Isr), et la première image segmentée pour obtenir une première image segmentée rectifiée (Ierl) ;
- mettre en uvre un algorithme de calcul de disparité entre les images stéréos rectifiées, pour produire une carte de disparité (Cd) ;
- mettre en ,xuvre une transformation spatiale de la première image segmentée rectifiée, en utilisant la carte de disparité, pour produire une deuxième image segmentée rectifiée, correspondant au côté opposé à celui de la première image brute, et produire ainsi des images stéréos segmentées rectifiées (Iser) ;
- produire une liste d'instances d'obstacles prédéfinis (Obst) présentes dans l'environnement du véhicule à partir des images stéréos segmentées rectifiées ;
- mettre en uvre un algorithme de reconstruction en trois dimensions, utilisant la carte de disparité, pour produire des coordonnées en trois dimensions pour chaque pixel des images stéréos brutes (Isb) ;
- intégrer, en utilisant les coordonnées en trois dimensions, les instances d'obstacles prédéfinis dans des images intermédiaires obtenues à partir des images stéréos rectifiées (Isr), pour produire des images augmentées (Ia) destinées à fournir une assistance au pilotage du véhicule.
du couple de pixels homologues comprend l'étape de vérifier que :
dispg(xg , y) = dispd(xg - dispg(xg , y), y) et dispd(xd , Y) = dispg(xd + dispd(xd , y), y) disp, étant une disparité estimée en prenant l'image de gauche (16a) comme référence, dispd étant une disparité
estimée en prenant l'image de droite (16b) comme référence, xõ étant une coordonnée du pixel de gauche (15a) et xd étant une coordonnée du pixel de droite (15b).
de traitement (6) dans laquelle est mis en uvre le procédé
de détection d'obstacles selon l'une des revendications précédentes.
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FRFR2110221 | 2021-09-28 | ||
| FR2110221A FR3127611B1 (fr) | 2021-09-28 | 2021-09-28 | Procédé de détection d’obstacles |
| PCT/EP2022/077017 WO2023052448A1 (fr) | 2021-09-28 | 2022-09-28 | Procédé de détection d'obstacles |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CA3233479A1 true CA3233479A1 (fr) | 2023-04-06 |
Family
ID=80449018
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CA3233479A Pending CA3233479A1 (fr) | 2021-09-28 | 2022-09-28 | Procede de detection d'obstacles |
Country Status (7)
| Country | Link |
|---|---|
| US (1) | US20250046096A1 (fr) |
| EP (1) | EP4409543A1 (fr) |
| CA (1) | CA3233479A1 (fr) |
| FR (1) | FR3127611B1 (fr) |
| IL (1) | IL311708A (fr) |
| WO (1) | WO2023052448A1 (fr) |
| ZA (1) | ZA202402829B (fr) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN121239828A (zh) * | 2024-06-27 | 2025-12-30 | 安霸国际有限合伙企业 | 针对单目adas相机场景重建中的地面实况数据收集的双目立体视觉 |
| CN118823591B (zh) * | 2024-09-19 | 2025-01-03 | 中国科学技术大学 | 双光谱图像融合的火灾探测模型的训练方法 |
Family Cites Families (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| FR2962838B1 (fr) * | 2010-07-16 | 2012-07-13 | Eurocopter France | Procede d'aide au pilotage ameliore pour aeronef |
| US10878590B2 (en) * | 2018-05-25 | 2020-12-29 | Microsoft Technology Licensing, Llc | Fusing disparity proposals in stereo matching |
| US10861172B2 (en) * | 2018-11-28 | 2020-12-08 | Battelle Memorial Institute | Sensors and methods for monitoring flying objects |
| CN114667437B (zh) * | 2019-08-31 | 2025-12-19 | 辉达公司 | 用于自主驾驶应用的地图创建和定位 |
| KR102785227B1 (ko) * | 2020-01-22 | 2025-03-25 | 노다르 인크. | 비-강성 스테레오 비전 카메라 시스템 |
| CA3181222A1 (fr) * | 2020-06-03 | 2021-12-09 | Niksa PRALJAK | Classification de cellules sanguines |
| US11767035B2 (en) * | 2020-09-04 | 2023-09-26 | Mitsubishi Electric Research Laboratories, Inc. | Autonomous parking with hybrid exploration of parking space |
| DE112021006649T5 (de) * | 2021-03-03 | 2023-12-14 | Robert Bosch Gmbh | Verfahren und vorrichtung zur grenzverfeinerung bei der instanzsegmentierung |
| US12099327B2 (en) * | 2021-06-28 | 2024-09-24 | Meta Platforms Technologies, Llc | Holographic calling for artificial reality |
| DE112021007362T5 (de) * | 2021-07-30 | 2024-02-15 | Robert Bosch Gesellschaft mit beschränkter Haftung | Verfahren und Einrichtung zur automatischen optischen Prüfung |
-
2021
- 2021-09-28 FR FR2110221A patent/FR3127611B1/fr active Active
-
2022
- 2022-09-28 EP EP22797069.6A patent/EP4409543A1/fr active Pending
- 2022-09-28 WO PCT/EP2022/077017 patent/WO2023052448A1/fr not_active Ceased
- 2022-09-28 US US18/696,223 patent/US20250046096A1/en active Pending
- 2022-09-28 CA CA3233479A patent/CA3233479A1/fr active Pending
- 2022-09-28 IL IL311708A patent/IL311708A/en unknown
-
2024
- 2024-04-11 ZA ZA2024/02829A patent/ZA202402829B/en unknown
Also Published As
| Publication number | Publication date |
|---|---|
| IL311708A (en) | 2024-05-01 |
| EP4409543A1 (fr) | 2024-08-07 |
| US20250046096A1 (en) | 2025-02-06 |
| FR3127611B1 (fr) | 2023-11-10 |
| WO2023052448A1 (fr) | 2023-04-06 |
| ZA202402829B (en) | 2025-07-30 |
| FR3127611A1 (fr) | 2023-03-31 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN110926474B (zh) | 卫星/视觉/激光组合的城市峡谷环境uav定位导航方法 | |
| JP7536006B2 (ja) | 知覚を改善するための多重チャネル多重偏光イメージング | |
| An et al. | A comprehensive survey on image dehazing for different atmospheric scattering models | |
| CN113706599B (zh) | 一种基于伪标签融合的双目深度估计方法 | |
| CA3233479A1 (fr) | Procede de detection d'obstacles | |
| EP4128055A1 (fr) | Dispositif et procédé d'aide à la décision d'un système cognitif artificiel | |
| US20240420356A1 (en) | Method and system for depth estimation using gated stereo imaging | |
| FR3093573A1 (fr) | Procédé et système de mise à jour automatique d’au moins une base de données aéroportuaires | |
| CN117576199A (zh) | 一种驾驶场景视觉重建方法、装置、设备及介质 | |
| Zhao et al. | Environmental perception and sensor data fusion for unmanned ground vehicle | |
| EP1570433B1 (fr) | Dispositif de traitement d'images a reconnaissance et selection de sources de lumiere | |
| GB2582419A (en) | Improvements in and relating to range-finding | |
| FR2987151A1 (fr) | Systeme d'aide au sauvetage par helicoptere | |
| US20260024222A1 (en) | Method and system for depth estimation using cross-spectral gated-rgb stereo | |
| CN120333445B (zh) | 一种基于单目深度估计网络的无人机着陆引导方法 | |
| US20240319375A1 (en) | Precision prediction of time-of-flight sensor measurements | |
| Natraj | Vision based state estimation for unmanned aerial vehicles-assist in vertical take off and landing & low altitude manoeuvre | |
| EP4169005A1 (fr) | Procede et systeme de caracterisation geometrique de feux | |
| Scaramuzza et al. | Application challenges from a Bird’s eye view | |
| WO2023111189A1 (fr) | Procédé de détection d'un objet dans l'environnement d'un aéronef, système et programme d'ordinateur associés | |
| CN119156811A (zh) | 光学计量:照相机光学系统中耀斑和重影伪影的可重复定性分析 | |
| FR3163760A1 (fr) | Procédé et dispositif de génération d’images d’apprentissage d’un modèle de prédiction de profondeur pour un système de vision avec caméras hétérogènes. | |
| FR3121250A1 (fr) | Procédé d’apprentissage d’une intelligence artificielle supervisée destinée à identifier un objet prédéterminé dans l’environnement d’un aéronef | |
| WO2023161568A1 (fr) | Procédé de calcul de surfaces tridimensionnelles pour véhicule équipé d'un système d'aide à la conduite | |
| FR3146517A1 (fr) | Procédé de reconstruction en trois dimensions d'un élément mobile |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| EEER | Examination request |
Effective date: 20240328 |
|
| MFA | Maintenance fee for application paid |
Free format text: FEE DESCRIPTION TEXT: MF (APPLICATION, 2ND ANNIV.) - STANDARD Year of fee payment: 2 |
|
| U00 | Fee paid |
Free format text: ST27 STATUS EVENT CODE: A-2-2-U10-U00-U101 (AS PROVIDED BY THE NATIONAL OFFICE); EVENT TEXT: MAINTENANCE REQUEST RECEIVED Effective date: 20240826 |
|
| U11 | Full renewal or maintenance fee paid |
Free format text: ST27 STATUS EVENT CODE: A-2-2-U10-U11-U102 (AS PROVIDED BY THE NATIONAL OFFICE); EVENT TEXT: MAINTENANCE FEE PAYMENT DETERMINED COMPLIANT Effective date: 20240826 Free format text: ST27 STATUS EVENT CODE: A-2-2-U10-U11-U102 (AS PROVIDED BY THE NATIONAL OFFICE); EVENT TEXT: MAINTENANCE FEE PAYMENT PAID IN FULL Effective date: 20240826 |
|
| D15 | Examination report completed |
Free format text: ST27 STATUS EVENT CODE: A-2-2-D10-D15-D126 (AS PROVIDED BY THE NATIONAL OFFICE); EVENT TEXT: EXAMINER'S REPORT Effective date: 20250327 |
|
| P11 | Amendment of application requested |
Free format text: ST27 STATUS EVENT CODE: A-2-2-P10-P11-P100 (AS PROVIDED BY THE NATIONAL OFFICE); EVENT TEXT: AMENDMENT RECEIVED - RESPONSE TO EXAMINER'S REQUISITION Effective date: 20250716 |
|
| W00 | Other event occurred |
Free format text: ST27 STATUS EVENT CODE: A-2-2-W10-W00-W111 (AS PROVIDED BY THE NATIONAL OFFICE); EVENT TEXT: CORRESPONDENT DETERMINED COMPLIANT Effective date: 20250717 |
|
| P11 | Amendment of application requested |
Free format text: ST27 STATUS EVENT CODE: A-2-2-P10-P11-P102 (AS PROVIDED BY THE NATIONAL OFFICE); EVENT TEXT: AMENDMENT DETERMINED COMPLIANT Effective date: 20250721 |
|
| P13 | Application amended |
Free format text: ST27 STATUS EVENT CODE: A-2-2-P10-P13-X000 (AS PROVIDED BY THE NATIONAL OFFICE); EVENT TEXT: APPLICATION AMENDED Effective date: 20250721 |
|
| MFA | Maintenance fee for application paid |
Free format text: FEE DESCRIPTION TEXT: MF (APPLICATION, 3RD ANNIV.) - STANDARD Year of fee payment: 3 |
|
| U00 | Fee paid |
Free format text: ST27 STATUS EVENT CODE: A-2-2-U10-U00-U101 (AS PROVIDED BY THE NATIONAL OFFICE); EVENT TEXT: MAINTENANCE REQUEST RECEIVED Effective date: 20250925 |
|
| U11 | Full renewal or maintenance fee paid |
Free format text: ST27 STATUS EVENT CODE: A-2-2-U10-U11-U102 (AS PROVIDED BY THE NATIONAL OFFICE); EVENT TEXT: MAINTENANCE FEE PAYMENT PAID IN FULL Effective date: 20250925 |