Brevet FR3091946A1 — publié le 20200724

Description Titre de l'invention : Procédé de création de vues à partir d'une image capturée par une caméra grand angle Domaine technique [0001] L'invention concerne, de manière générale, les aides à la conduite pour un conducteur d'un véhicule automobile via l'acquisition et la restitution d'images de l'environnement extérieur du véhicule automobile prises par une caméra embarquée sur le véhicule automobile. [0002] Plus particulièrement, l'invention se rapporte à un procédé de création d'une vue à partir d'une scène capturée par une caméra grand angle embarquée sur le véhicule automobile. [0003] L'invention concerne également un dispositif de création d'une telle vue pour l'aide à la manoeuvre d'un véhicule automobile et un véhicule automobile équipée d'un tel dispositif. Technique antérieure [0004] Actuellement, certains véhicules automobiles sont équipés d'une ou plusieurs caméras telle qu'une caméra avant, c'est-à-dire située à l'avant du véhicule, et/ou une caméra de recul, c'est-à-dire située à l'arrière du véhicule. [0005] Ces caméras sont généralement connectées à un écran situé sur le tableau de bord du véhicule de manière à afficher, lorsque le conducteur conduit ou effectue une manoeuvre particulière comme celle de se garer, une image de l'environnement extérieur avant ou arrière du véhicule pour l'aider dans sa conduite ou sa manoeuvre. [0006] Le passage d'une caméra analogique à une caméra numérique offre la possibilité de fournir de nouvelles vues, du fait d'une résolution plus élevée, de l'image capturée. Trois types de vues sont actuellement proposées par les constructeurs automobiles : - la vue panoramique, offrant un large champ de vision ; - la vue rognée tournante, utile notamment lorsque le véhicule présente un angle de braquage non nul ; et - la vue de dessus du véhicule utile pour replacer le véhicule dans son environnement d'ensemble. [0007] Les caméras utilisées sont de type grand angle ou « fisheye » (oeil de poisson) et leur angle de vue horizontal est proche de 1800. Celles-ci présentent généralement une forte distorsion en bord de champ. Ainsi, sur les images natives des caméras, il est commun d'observer en périphérie une forte déformation de l'image. [0008] Pour remédier à cette déformation, les constructeurs ont développé différentes méthodes comme rogner les images sur les côtés, ou l'application de coefficient de 2 correction de la distorsion donné par les fabricants de caméra. [0009] Malheureusement, dans le cas où la caméra est inclinée par rapport à l'horizontale ou au plan d'appui du véhicule sur le sol, ces correctifs ne sont pas suffisants pour avoir une image de qualité et exploitable pour le confort et les besoins des dispositifs d'aide à la conduite proposés conducteur. [0010] Pour assurer une bonne visibilité à l'écran, les calculs permettant de générer les vues doivent être menés sur 30 images par seconde cc qui demande des calculateurs puissants et consomme également beaucoup de ressources énergétiques. [0011] Il existe donc un réel besoin d'un procédé de création des différentes vues ac- tuellement proposées qui soient simplifié, rapide et moins gourmand en ressources ainsi qu'un dispositif associé et qui permette éventuellement de corriger des aberrations optiques additionnelles générées par l'inclinaison de la caméra capturant les images de la scène aux abords du véhicule automobile. [0012] DESCRIPTION DE L'INVENTION [0013] Pour résoudre un ou plusieurs inconvénients cités précédemment, l'invention propose un procédé de création de vues à partir d'une image d'une scène capturée par un capteur d'une caméra grand angle embarquée sur un véhicule automobile, le capteur étant de résolution Resh pixels en horizontal et Resv pixels en vertical, Rosh et Resv étant des nombres entiers positifs, le procédé de création de vues comprenant : - une étape d'extraction des composantes rouge, verte et bleue de chaque pixel de l'image de la scène capturée et de coordonnées (i ; j), i étant un entier compris entre 1 et Resh et j étant un entier compris entre 1 et Resv ; - une étape de création de la vue à partir : a) des composantes rouge, verte et bleue de chaque pixel (i ; j) ; b) d'une première fonction de transfert codée sous forme d'une première matrice pré-calculée comprenant les informations relatives à la valeur de i en fonction de la position du pixel correspondant dans la vue créée et de coordonnées (x, ; y,), x, étant un entier compris entre 1 et Resh et y, étant un entier compris entre 1 et Resv ; c) d'une deuxième fonction de transfert codée sous forme d'une deuxième matrice précalculée comprenant les informations relatives à la valeur de j en fonction de la position du pixel correspondant dans la vue créée et de coordonnées (x, ; y,) ; et d) du type de vue souhaité parmi : une vue panoramique de la scène capturée, une vue zoomée tournante en fonction de l'angle du volant du véhicule automobile, une vue de dessus du véhicule automobile, chacune des vues pouvant comprendre ou non un gabarit d'aide à la conduite. [0014] Des caractéristiques ou des modes de réalisation particuliers, utilisables seuls ou en combinaison pour ce système de vision panoramique, sont : [0015] Les informations relatives aux valeurs i et j en fonction de la position du pixel cor- 3 respondant dans la vue créée et de coordonnées (x. ; y') sont respectivement codées sur un quart de la première et de la deuxième matrice précalculée, la création de la vue se faisant à l'aide des quarts des matrices précalculécs correspondantes puis grâce à une reconstruction du reste de l'image de la vue créée à l'aide d'une symétrie de position verticale et/ou d'une symétrie de position horizontale. [0016] La première fonction de transfert est codée comme suit : - pour i inférieur ou égal à 255, les composantes rouge ,verte et bleue du pixel correspondant au pixel (i ; j) dans la première matrice précalculée et de coordonnées (x. ; yv) seront respectivement égales à 0, 0 et i ; - pour i strictement supérieur 255 et inférieur ou égal à 2"255, les composantes rouge ,verte et bleue du pixel correspondant au pixel (i ; j) dans la vue créée et de coordonnées (x, ; y,) seront respectivement égales à 0, i-255 et 0 ; et - pour i strictement supérieur 2'255 et inférieur ou égal à 3"255, les composantes rouge ,verte et bleue du pixel correspondant au pixel (i ; j) dans la vue créée et de coordonnées (x, ; y,) seront respectivement égales à i-510, 0 et 0. [0017] Dans ce cas-là, lequel le décodage de la première fonction de transfert peut s'effectuer comme suit : - la première matrice précalculée est ouverte est lue colonne par colonne puis ligne par ligne ; - pour chaque pixel de coordonnées (x. ; y'), les composantes rouge, verte et bleue sont extraites et : si la composante bleu est inférieure ou égale à 255, la composante verte strictement inférieure à 1 et la composante rouge strictement inférieure à 1 alors i est égal à la composante bleue ; si la composante bleu est strictement inférieure à 1, la composante verte inférieure ou égale à 255 et la composante rouge strictement inférieure à 1 alors i est égal à la composante verte + 255 ; et la composante bleu est strictement inférieure à 1, la composante verte strictement inférieure à 1 et la composante rouge inférieure ou égale à 255 alors i est égal à la composante rouge + 255. [0018] La deuxième fonction de transfert est codée comme suit : - pour j inférieur ou égal à 255, les composantes rouge, verte et bleue du pixel cor- respondant au pixel (i ; j) dans la deuxième matrice précalculée et de coordonnées ; y') seront respectivement égales à j, 0 et 0 ; - pour j strictement supérieur 255 et inférieur ou égal à 2*255, les composantes rouge ,verte et bleue du pixel correspondant au pixel (i ; j) dans la vue créée et de coordonnées (x, ; y,) seront respectivement égales à 0, 0 et j-255 ; et - pour j strictement supérieur 2*255 et inférieur ou égal à 3*255, les composantes rouge ,verte et bleue du pixel correspondant au pixel (i ; j) dans la vue créée et de coordonnées (x, ; y,) seront respectivement égales à 0, j-510 et 0 ; [0019] Dans ce cas-là, le décodage de la deuxième fonction de transfert peut s'effectuer comme suit : - la deuxième matrice précalculée est ouverte est lue ligne par ligne puis colonne par colonne ; - pour chaque pixel de coordonnées (x' ; y'), les composantes rouge, verte et bleue sont extraites et : - si la composante rouge est inférieure ou égale à 255, la composante bleue strictement inférieure à 1 et la composante verte strictement inférieure à 1 alors j est égal à la composante rouge ; * si la composante rouge est strictement inférieure à 1, la composante bleue inférieure ou égale à 255 et la composante verte strictement inférieure à 1 alors j est égal à la composante bleue + 255 ; et * la composante rouge est strictement inférieure à 1, la composante bleue strictement inférieure à 1 et la composante verte inférieure ou égale à 255 alors i est égal à la composante verte + 255 . [0020] Ou encore, les aberrations optiques générées par la caméra grand champ sont préa- lablement corrigées, le procédé de création de vue comprenant, avant le codage de la première et de la deuxième fonction de transfert, le procédé de création comprend les étapes suivantes : - une étape de génération d'une première vue de synthèse correspondant à l'image de la scène capturée par la caméra grand angle et corrigée des aberrations optiques ; et - une étape de détermination des coordonnées du pixel corrigé de coordonnées (x', ; y',) correspondant au pixel (i ; j) dans la vue créée et corrigée des aberrations optiques de la caméra grand champ ; la première fonction de transfert étant codée de sorte à comprendre les informations relatives à la valeur de i en fonction de la position du pixel corrigé de coordonnées (x', ; y',) et la deuxième fonction de transfert étant codée de sorte à comprendre les informations relatives à la valeur de j en fonction de la position du pixel corrigé de coordonnées (x', ; y',). [0021] L'invention propose également un dispositif de création d'une vue pour l'aide à la manoeuvre d'un véhicule automobile, comprenant : - une caméra grand angle embarquée sur le véhicule automobile et adapter pour capturer une image d'une scène ; - un processeur adapté pour créer une vue à partir de l'image de la scène capturée selon un procédé de création de vues tel que décrit précédemment - un écran d'affichage adapté pour afficher la vue créée par le processeur. 100221 L'invention concerne aussi un véhicule automobile comprenant un dispositif de création d'une vue tel que décrit précédemment. Brève description des dessins [0023] L'invention sera mieux comprise à la lecture de la description qui suit, faite uniquement à titre d'exemple, et en référence aux figures en annexe dans lesquelles : [fie.la] représente un schéma optique d'une caméra classique telle qu'on peut la modéliser ; [fie.lbl représente un schéma optique d'une caméra classique telle qu'on peut la modéliser ; [fie.21 représente les plans unitaires d'un plan capteur utiles pour faciliter les calculs des traitements d'image appliqués à l'image capturée par le capteur ; [fig.3] représente le schéma de principe d'un mode de réalisation général d'un procédé de création de vues à partir d'une image d'une scène linit capturée par une caméra grand angle embarquée sur un véhicule automobile [fig.4] représente un premier exemple de matrice précalculée d'une première fonction de transfert et un exemple de codage utilisé pour coder celle-ci ; [fig.51 représente un second exemple de matrice précalculée d'une première fonction de transfert et un exemple de codage utilisé pour coder celle-ci ; [fig.6] représente un exemple de matrice précalculée d'une deuxième fonction de transfert et un exemple de codage utilisé pour coder celle-ci ; [fig.7[ représente le schéma de principe d'un mode de réalisation général d'une méthode de calcul d'une vue à partir d'une image d'une scène linit capturée par une caméra de recul grand angle embarquée sur un véhicule automobile [fig.8] représente une première étape de création d'une vue cylindrique de l'image de la scène capturée unit; [fig.9] représente une deuxième étape de création d'une vue cylindrique de -l'image de la scène capturée linit suivant la première étape de la Fig. 8; [fig.10[ représente une troisième de création d'une vue cylindrique de l'image de la scène capturée linit suivant la deuxième étape de la Fig. 9; [fig.11[ représente un exemple d'image de la scène capturée linit ; [fig.12] représente un exemple de vue cylindrique calculée à partir d'une image de la scène capturée finit ; [fig.13] représente l'image native corrigée de la distorsion « usine » ; [fig.14] représente le plan du capteur de la caméra de recul ; [fig.15] représente le tracé d'un faisceau lumineux traversant l'objectif de la caméra de recul lorsque celle-ci présente ou non de la distorsion ; [fig.16] représente une première étape d'une première amélioration de la création 6 d'une vue cylindrique de l'image de la scène capturée ; [fig.17] représente une seconde étape suivant l'étape de la Fig. 16 d'une première amélioration de la création d'une vue cylindrique de l'image de la scène capturée ; [fig.18] représente la vue cylindrique de l'image de la scène capturée améliorée après les étapes de la première amélioration ; [fig.19a] représente une image native capturée par une caméra embarquée sur un véhicule automobile ; [fig.19b] représente une vue cylindrique réalisée à partir de l'image native dc la Fig. 19a lorsque la caméra n'est pas inclinée par rapport au plan d'appui du véhicule automobile sur le sol ; [fig.20] représente un véhicule automobile équipée d'une caméra de recul inclinée d'un angle Angle Cam non nul par rapport au plan d'appui du véhicule automobile ; [fig.21] représente une première étape d'un ensemble d'étapes permettant la génération, selon un mode de réalisation particulier, d'une première vue de synthèse corrigée des aberrations optiques de distorsion d'une caméra grand champ embarquée sur un véhicule automobile et inclinée d'un angle Angle Cam non nul par rapport au plan d'appui du véhicule automobile [fig.22] représente une deuxième étape d'un ensemble d'étapes permettant la génération, selon un mode de réalisation particulier, d'une première vue de synthèse corrigée des aberrations optiques de distorsion d'une caméra grand champ embarquée sur un véhicule automobile et inclinée d'un angle Angle Cam non nul par rapport au plan d'appui du véhicule automobile [fig.23] représente une troisième étape d'un ensemble d'étapes permettant la génération, selon un mode de réalisation particulier, d'une première vue de synthèse corrigée des aberrations optiques de distorsion d'une caméra grand champ embarquée sur un véhicule automobile et inclinée d'un angle Angle Cam non nul par rapport au plan d'appui du véhicule automobile [fig.24] représente une quatrième étape d'un ensemble d'étapes permettant la génération, selon un mode de réalisation particulier, d'une première vue de synthèse corrigée des aben-ations optiques de distorsion d'une caméra grand champ embarquée sur un véhicule automobile et inclinée d'un angle Angle Cam non nul par rapport au plan d'appui du véhicule automobile [fig.25] représente une vue panoramique générée à partir de la première vue de synthèse corrigée de la figure 24; [fig.26] représente un exemple de gabarit à insérer sur une première vue de synthèse corrigée de la distorsion ; [fig.27] représente un exemple de vue tournante que laquelle a été superposé un exemple de gabarit d'aide à la conduite, la vue tournante ayant été créée à partir de 7 l'image native de la figure 11 ; [fig.28] représente les différentes étapes géométriques permettant la création d'une vue de dessus ; et [fig.29] représente un exemple de vue de dessus comprenant un gabarit d'aide à la conduite, la vue de dessus ayant été créée à partir de l'image native de la figure 11. [0024] DEFINTTION [0025] La Figure la représente le schéma optique d'une caméra 20 classique telle qu'on peut en trouver dans le commerce. Ce genre de caméra 20 comprend généralement un capteur 30 et un objectif 40 composé de plusieurs lentilles L. [0026] Pour simplifier les calculs et la représentation géométrique de la caméra 20, il est possible de remplacer l'ensemble des lentilles L comprises dans l'objectif par une seule lentille équivalente L', de focale f et de centre A comme illustré Figure lb, le capteur étant positionné dans le plan focal de cette lentille équivalente. [0027] L'axe optique 50, également appelé axe principal, de l'objectif 40 correspond à l'axe de symétrie de rotation des lentilles L composant l'objectif Dans le cas de la représentation géométrique simplifiée, cet axe optique 50 peut être redéfini comme étant l'axe passant par le centre de la lentille équivalente L' et le centre du capteur 30. [0028] Pour la suite de cette description, le modèle de représentation optique d'une caméra sera le modèle simplifié de la Figure lb. [0029] Pour faciliter les calculs des traitements d'image effectués à partir de l'image capturée par la caméra 20, on définit un premier plan unitaire PU1 et un second plan unitaire PU2. Comme illustré sur la Figure 2, ces plans sont formés par projection des pixels capteur par la homothétie de centre A, et distants de 1 mm par rapport au centre A. Le premier plan unitaire PU1 correspond au plan situé entre le capteur et le centre A de la lentille équivalente Lé, et le second plan unitaire PU2 correspond au plan situé entre le centre A et la scène capturée par la caméra 20. Les deux plans unitaires ont donc les mêmes dimensions : c' mm x cy mm et sont symétriques par rapport au centre A. Ainsi, dans le repère (X,,, ; Y) centré sur R,,, le centre image du premier plan unitaire PUI, un point image de coordonnées (x,,, ; y,11) correspondra au point image de coordonnées (x,'2= - x1,11 ; ype = - yI) dans le repère ()Cm:2; Ypul ) centré R12 sur le centre image du second plan unitaire PU2. [0030] DESCRIPTION DETAILLEE DE MODES DE REALISATION [0031] La Figure 3 représente le schéma de principe d'un mode de réalisation général d'un procédé de création de vues à partir d'une image d'une scène IliHt capturée par un capteur d'une caméra grand angle embarquée sur un véhicule automobile, le capteur étant de résolution Resh pixels en horizontal et Resv pixels en vertical, Resh et Resv étant des nombres entiers positifs. [0032] Le procédé de création de vues comprenant : 8 - une étape EXTR d'extraction des composantes rouge, verte et bleue de chaque pixel de l'image de la scène capturée et de coordonnées (i ; j), i étant un entier compris entre 1 et Rosh et j étant un entier compris entre 1 et Resv; et - une étape CREA de création de la vue V à partir : - des composantes rouge, verte et bleue de chaque pixel (i ; j) ; - d'une première fonction de transfert codée sous forme d'une première matrice pré-calculée comprenant les informations relatives à la valeur de i en fonction de la position du pixel correspondant dans la vue créée et de coordonnées (x, ; y'), x, étant un entier compris entre 1 et Rcsh et y, étant un entier compris entre 1 et Resv ; - d'une deuxième fonction de transfert codée sous forme d'une deuxième matrice pré-calculée comprenant les informations relatives à la valeur de j en fonction de la position du pixel correspondant dans la vue créée et de coordonnées (x, ; yv) ; et - du type de vue souhaité parmi : une vue panoramique 3/4'.''', de la scène capturée, une vue zoomée tournante Vm, en fonction de l'angle du volant du véhicule automobile, une vue de dessus Vbi,d,m'. du véhicule automobile, chacune des vues pouvant comprendre ou non un gabarit d'aide à la conduite. [0033] La répartition des pixels dans l'image native (ainsi que dans la vue créée) étant sy- métrique par rapport aux axes médians horizontal et vertical de l'image, il n'est pas nécessaire de réaliser les calculs sur l'ensemble de l'image mais de se limiter au traitement d'un quart de l'image. [0034] Ainsi, les informations relatives aux valeurs i et j en fonction de la position du pixel correspondant dans la vue créée et de coordonnées (x,; y.,) peuvent respectivement être codées sur un quart de la première et de la deuxième matrice précalculée, la création de la vue se faisant à l'aide des quarts des matrices précalculées correspondantes puis grâce à une reconstruction du reste de l'image de la vue créée à l'aide d'une symétrie de position verticale et/ou d'une symétrie de position horizontale. [0035] Une seule matrice précalculée par indice (une pour i et une pour j) peut donc contenir toutes les informations permettant de reconstruire l'ensemble des vues. Par exemple, le premier quart de la matrice peut contenir les informations relatives à la création de la vue panoramique, le deuxième quart les informations relatives à la création de la vue zoomée tournante, le troisième quart les informations relatives à la création de la vue du dessus et le quatrième quart les informations relatives au gabarit d'aide à la conduite qui pourra être inséré ou non dans les vues précédemment citées. [0036] Les Figures 4 et 5 représentent un exemple de matrice précalculée pour l'indice i et un exemple de codage utilisé. Dans la matrice de la Figure 4, le quart haut gauche permet de coder la vue panoramique, le quart haut droit permet de coder le gabarit d'aide à la conduite, le quart bas gauche permet de coder la vue zoomée tournante et le quart bas droit est utilisé pour construire la vue de dessus. 9 [0037] Dans l'exemple de la Figure 5, le codage pour créer l'image du quart gauche supérieur, et donc le codage de la première fonction de transfert associée, est réalisé comme suit : - pour i inférieur ou égal à 255, les composantes rouge ,verte et bleue (R, ; G, ; B,) du pixel correspondant au pixel (i ; j) dans la première matrice précalculée et de coordonnées (x, ; y,) seront respectivement égales à 0, Oct i ; - pour i strictement supérieur 255 et inférieur ou égal à 2"255, les composantes rouge ,verte et bleue (R, ; G, ; B,) du pixel correspondant au pixel ; j) dans la vue créée et de coordonnées (x, ; y,) seront respectivement égales à 0, i-255 et 0 ; et - pour i strictement supérieur 2'255 et inférieur ou égal à 3"255, les composantes rouge ,verte et bleue (R, ; G, ; B,) du pixel correspondant au pixel (i ; j) dans la vue créée et de coordonnées (x, ; y,) seront respectivement égales à i-510,0 et 0 [0038] Par exemple, pour i = 196 et j = 1, si les coordonnées du pixel correspondant dans la vue panoramique sont x, = 44 et y, = 2, 196