CA3131716C - Method for generating a stereoscopic viewpoint with a modifiable centre-to-centre distance value - Google Patents
Method for generating a stereoscopic viewpoint with a modifiable centre-to-centre distance value Download PDFInfo
- Publication number
- CA3131716C CA3131716C CA3131716A CA3131716A CA3131716C CA 3131716 C CA3131716 C CA 3131716C CA 3131716 A CA3131716 A CA 3131716A CA 3131716 A CA3131716 A CA 3131716A CA 3131716 C CA3131716 C CA 3131716C
- Authority
- CA
- Canada
- Prior art keywords
- image
- disparity
- date received
- initial
- pixel
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 30
- 238000001914 filtration Methods 0.000 claims description 26
- 239000011159 matrix material Substances 0.000 claims description 14
- 230000008569 process Effects 0.000 claims description 9
- 230000002776 aggregation Effects 0.000 claims description 7
- 238000004220 aggregation Methods 0.000 claims description 7
- 238000006073 displacement reaction Methods 0.000 claims description 5
- 230000002123 temporal effect Effects 0.000 claims description 5
- 238000009825 accumulation Methods 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims description 3
- 239000013598 vector Substances 0.000 description 14
- 230000006870 function Effects 0.000 description 12
- 230000003287 optical effect Effects 0.000 description 6
- 230000015572 biosynthetic process Effects 0.000 description 4
- 238000003786 synthesis reaction Methods 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 210000004556 brain Anatomy 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000001228 spectrum Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 210000001747 pupil Anatomy 0.000 description 2
- 241001024304 Mino Species 0.000 description 1
- 206010052143 Ocular discomfort Diseases 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 238000000280 densification Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000003706 image smoothing Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/0093—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00 with means for monitoring data relating to the user, e.g. head-tracking, eye-tracking
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/017—Head mounted
- G02B27/0172—Head mounted characterised by optical features
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B30/00—Optical systems or apparatus for producing three-dimensional [3D] effects, e.g. stereoscopic images
- G02B30/20—Optical systems or apparatus for producing three-dimensional [3D] effects, e.g. stereoscopic images by providing first and second parallax images to an observer's left and right eyes
- G02B30/34—Stereoscopes providing a stereoscopic pair of separated images corresponding to parallactically displaced views of the same object, e.g. 3D slide viewers
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/0101—Head-up displays characterised by optical features
- G02B2027/0129—Head-up displays characterised by optical features comprising devices for correcting parallax
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/0101—Head-up displays characterised by optical features
- G02B2027/0132—Head-up displays characterised by optical features comprising binocular systems
- G02B2027/0134—Head-up displays characterised by optical features comprising binocular systems of stereoscopic type
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/0179—Display position adjusting means not related to the information to be displayed
- G02B2027/0181—Adaptation to the pilot/driver
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Optics & Photonics (AREA)
- Image Processing (AREA)
Abstract
Description
DESCRIPTION
TITRE DE L'INVENTION : Procédé de génération d'un point de vue stéréoscopique à valeur d'entraxe modifiable L'invention concerne un procédé de génération d'un point de vue stéréoscopique à valeur d'entraxe modifiable.
ARRIERE PLAN DE L'INVENTION
Dans le domaine militaire, il est connu des systèmes d'aide au pilotage d'aéronef appelés FLIR (pour Forward Looking InfraRed). Ces systèmes comportent usuellement une caméra infrarouge en bande thermique lointaine (plus connue sous l'acronyme anglais LWIR) raccordée au casque du pilote de manière à ce qu'un flux vidéo, défini par une succession d'images qui sont toutes à l'infini, soit projeté à partir des données fournies par la caméra lui permettant ainsi de pouvoir se guider de nuit ou dans des conditions d'environnement difficiles.
On connait notamment des systèmes dans lesquels la caméra est orientable en site et en gisement, l'orientation de la caméra étant asservie sur l'orientation du casque du pilote afin que le flux vidéo soit lié à l'orientation du casque.
Toutefois avec un tel système une seule image à la fois est fournie par le flux vidéo ce qui procure au pilote une vision plate .
Pour mieux aider le pilote il serait plus utile de lui fournir une vue stéréoscopique, par exemple en fournissant via le flux vidéo deux images en simultanée, afin de créer un effet de profondeur et ainsi lui offrir une vision en relief.
Depuis une dizaine d'années, un autre type d'architecture dit à architecture répartie ou bien encore à
architecture à pupilles distribuées (plus connue sous son terme anglais Distributed Aperture System) a ainsi vu le jour : le système d'aide au pilotage comporte Date reçue / Date received 2021-12-11 DESCRIPTION
TITLE OF THE INVENTION: Method for generating a point stereoscopic view with modifiable center distance value The invention relates to a method for generating a point stereoscopic view with modifiable center distance value.
BACKGROUND OF THE INVENTION
In the military field, systems are known aircraft piloting aids called FLIR (for Forward Looking InfraRed). These systems include usually a thermal band infrared camera distant (better known by the English acronym LWIR) connected to the pilot's helmet so that a flow video, defined by a succession of images which are all to infinity, or projected from the data provided by the camera thus allowing him to be able to guide himself at night or in environmental conditions difficult.
In particular, we know of systems in which the camera is orientable in site and bearing, the orientation of the camera being slaved to the orientation of the helmet of the driver so that the video stream is linked to the orientation of the helmet.
However with such a system one image at a time is provided by the video stream which gives the driver a flat vision.
To better help the pilot it would be more useful for him provide a stereoscopic view, for example by providing two images simultaneously via the video stream, in order to create an effect of depth and thus offer it a vision in relief.
For ten years, another type of architecture called distributed architecture or even distributed pupil architecture (better known as its English term Distributed Aperture System) thus saw during the day: the piloting assistance system includes Date received / Date received 2021-12-11
2 plusieurs caméras infrarouge réparties sur l'avant de l'aéronef dont les différents champs de visée s'interfèrent de manière qu'un bandeau panoramique puisse être généré à partir des données fournies par les différentes caméras. On extrait ensuite de ce bandeau une vue correspondante à l'orientation du casque du pilote pour fournir au pilote la vue correspondante, recréant ainsi artificiellement une caméra orientable et asservie sur l'orientation du casque.
Ces systèmes sont malheureusement généralement complexes de structure, de masses importantes et coûteux.
Ainsi la présente demanderesse a proposé dans sa demande WO 2020/053227 un équipement optronique d'aide au pilotage d'un aéronef à architecture à pupilles distribuées d'une structure simplifiée.
Avec un tel équipement il est en outre possible de fournir au pilote des images permettant au pilote de voir de manière stéréoscopique.
Une telle vision peut toutefois s'avérer inconfortable dans le temps si l'entraxe utilisé pour la génération des images n'est pas adapté à la vision de celui-ci.
On rappelle que pour créer une vue stéréoscopique au moins deux images d'une même zone doivent être projetées et visualisées par le pilote (directement ou indirectement par exemple par réflexion sur une visière de son casque), lesdites images étant décalées légèrement l'une par rapport à l'autre. Le décalage entre ces images (directement lié à l'entraxe de la paire de caméras permettant de générer un point de vue stéréoscopique) doit correspondre sensiblement à celui du pilote (directement lié à l'entraxe des yeux du pilote) pour être relativement confortable pour le pilote.
On peut ainsi définir l'entraxe comme étant la distance séparant les axes optiques d'un système binoculaire optique qu'il soit naturel (par exemple pour les yeux du Date reçue / Date received 2021-12-11 2 several infrared cameras distributed across the front of the aircraft whose different fields of sight interfere in such a way that a panoramic strip can be generated from data provided by the different cameras. We then extract from this strip a view corresponding to the orientation of the pilot's helmet to provide the pilot with the corresponding view, recreating thus artificially an adjustable and controlled camera on the orientation of the helmet.
These systems are unfortunately generally complex structure, large masses and expensive.
Thus the present applicant proposed in her request WO 2020/053227 optronic equipment for assisting piloting an aircraft with pupil architecture distributed with a simplified structure.
With such equipment it is also possible to provide the pilot with images allowing the pilot to see stereoscopically.
However, such a vision can be uncomfortable.
over time if the center distance used for the generation of images is not adapted to the vision of it.
We recall that to create a stereoscopic view at at least two images of the same area must be projected and visualized by the pilot (directly or indirectly for example by reflection on a visor of his helmet), said images being shifted slightly one in relation to the other. The gap between these images (directly linked to the center distance of the pair of cameras allowing to generate a stereoscopic point of view) must correspond substantially to that of the driver (directly linked to the distance between the pilot's eyes) for be relatively comfortable for the pilot.
We can thus define the center distance as being the distance separating the optical axes of a binocular system optical that it is natural (for example for the eyes of the Date received / Date received 2021-12-11
3 pilote, l'entraxe définit la distance séparant les axes optiques des yeux droit et gauche) ou artificiel (par exemple pour une paire de caméras permettant de générer un point de vue stéréoscopique, l'entraxe définit la distance séparant les axes optiques de la première caméra et de la deuxième caméra).
Afin d'améliorer ce problème de confort de vision, on a envisagé d'avoir recours à un appareil à entraxe modifiable.
Une première solution envisagée consistait à positionner sur l'aéronef plusieurs ensembles de deux caméras : en fonction de l'entraxe souhaité, on sélectionnait l'une des paires de caméras pour générer un point de vue stéréoscopique avec un entraxe le plus approchant possible de l'entraxe visé.
Toutefois une telle solution nécessitait l'emploi de nombreuses caméras ce qui la rendait très coûteuse.
Une deuxième solution envisagée consistait à utiliser un capteur additionnel aux caméras, comme par exemple un capteur LIDAR, qui permettait de fournir au moins une information géométrique sur une scène visualisée par les caméras : le point du vue stéréoscopique serait ainsi généré à partir de vues classiques des caméras et de ladite information géométrique.
Bien qu'offrant plus de possibilités de modification d'entraxe que la première solution, cette deuxième solution avait le désavantage de devoir nécessiter le recours à un capteur actif supplémentaire.
OBJET DE L'INVENTION
Un but de l'invention est de proposer un procédé de génération d'un point de vue stéréoscopique à valeur d'entraxe modifiable qui puisse être mis en uvre plus simplement.
RESUME DE L'INVENTION
Date reçue / Date received 2021-12-11 3 pilot, the center distance defines the distance separating the axes optics of the right and left eyes) or artificial (by example for a pair of cameras to generate from a stereoscopic point of view, the center distance defines the distance separating the optical axes of the first camera and the second camera).
In order to improve this problem of visual comfort, we have considered using a device with center distance editable.
A first solution considered consisted of positioning on the aircraft several sets of two cameras: in depending on the desired center distance, we selected one pairs of cameras to generate a point of view stereoscopic with the closest center distance possible of the target distance.
However, such a solution required the use of many cameras which made it very expensive.
A second solution considered was to use a additional sensor to the cameras, such as for example a LIDAR sensor, which made it possible to provide at least one geometric information on a scene visualized by the cameras: the stereoscopic point of view would be like this generated from classic camera views and said geometric information.
Although offering more modification possibilities center distance than the first solution, this second solution had the disadvantage of having to require the use of an additional active sensor.
OBJECT OF THE INVENTION
An aim of the invention is to propose a method of generation of a stereoscopic point of view with value of modifiable center distance which can be implemented more simply.
SUMMARY OF THE INVENTION
Date received / Date received 2021-12-11
4 En vue de la réalisation de ce but, l'invention propose un procédé de génération d'un point de vue stéréoscopique à valeur d'entraxe modifiable comprenant au moins les étapes de :
- Première étape : A partir d'une image initiale droite et d'une image initiale gauche, calculer une première carte de disparité éparse gauche et une première carte de disparité éparse droite, - Deuxième étape : Filtrer au moins une fois la première carte de disparité éparse gauche et la première carte de disparité éparse droite pour au moins les densifier afin d'obtenir une deuxième carte de disparité
dense gauche et une deuxième carte de disparité dense droite, - Troisième étape : Générer par interpolation une image droite et une image gauche d'un point de vue stéréoscopique, la génération desdites images se faisant à partir des images initiales droite et gauche, de la deuxième carte de disparité dense gauche, de la deuxième carte de disparité dense droite et d'une valeur d'entraxe souhaitée.
Ainsi l'invention permet d'adapter un point de vue stéréoscopique à une valeur d'entraxe souhaitée par simple traitement des images initialement acquises par un dispositif de génération de vues stéréoscopiques.
L'invention permet ainsi de modifier artificiellement l'entraxe dudit dispositif sans avoir besoin d'intégrer d'élément supplémentaire audit dispositif (capteur, caméra et sans même avoir besoin de toucher aux positions relatives des éléments dudit dispositif.
L'invention peut être mise en uvre au moins partiellement par tout type de dispositif de génération de vues stéréoscopiques soit un dispositif (au moins) binoculaire de captation d'images dont les (au moins) deux capteurs optiques sont disposés et calibrés de sorte Date reçue / Date received 2021-12-11 4 With a view to achieving this goal, the invention proposes a generation method from a stereoscopic point of view with modifiable center distance value including at least the steps of:
- First step: From an initial image right and an initial left image, calculate a first left sparse disparity map and a first right sparse disparity map, - Second step: Filter at least once the first left sparse disparity map and the first right sparse disparity map for at least the densify in order to obtain a second disparity map left dense and a second dense disparity map RIGHT, - Third step: Generate by interpolation a right image and left image from one point of view stereoscopic, the generation of said images being done from the initial right and left images, from the second left dense disparity map, from the second straight dense disparity map and a center distance value desired.
Thus the invention makes it possible to adapt a point of view stereoscopic at a distance value desired by simple processing of images initially acquired by a device for generating stereoscopic views.
The invention thus makes it possible to artificially modify the center distance of said device without needing to integrate additional element to said device (sensor, camera and without even needing to touch the relative positions of the elements of said device.
The invention can be implemented at least partially by any type of generation device of stereoscopic views is a device (at least) binocular for capturing images including (at least) two optical sensors are arranged and calibrated so Date received / Date received 2021-12-11
5 à créer un effet stéréoscopique (i.e. avec une perception de relief et/ou de distance) pour un cerveau humain.
Avec l'invention on modifie ainsi le point de vue stéréoscopique en déplaçant virtuellement l'un des (au moins) deux capteurs optiques. Le point de vue stéréoscopique correspond donc au point de vue dudit dispositif (sa position, son orientation et son entraxe) et comprend les (au moins) deux points de vue des capteurs optiques dudit dispositif.
Optionnellement on calcule au moins l'une des cartes de disparité éparse par estimation du déplacement horizontal relatif de chaque pixel entre les deux images initiales.
Optionnellement on commence par estimer un coût d'association de chaque pixel de l'une des deux images initiales à l'un des pixels de l'autre des deux images initiales.
Optionnellement pour estimer le coût d'association de l'un des pixels, on calcule la différence entre ledit pixel et le pixel associé en s'appuyant sur les pixels des voisinages horizontaux respectifs desdits deux pixels.
Optionnellement à partir du coût d'association de tous les pixels, on détermine une agrégation spatiale des coûts.
Optionnellement on associe à chaque pixel de l'une des deux images initiales un pixel de l'autre des deux images initiales par minimisation d'un coût d'appariement déterminé à partir de l'agrégation spatiale des coûts.
Optionnellement lequel la première étape comporte elle-même au moins une phase de filtrage.
Optionnellement la phase de filtrage consiste en un filtrage par consistance stéréoscopique.
Date reçue / Date received 2021-12-11 5 to create a stereoscopic effect (ie with a perception relief and/or distance) for a human brain.
With the invention we thus modify the point of view stereoscopic by virtually moving one of (at minus) two optical sensors. The point of view stereoscopic therefore corresponds to the point of view of said device (its position, orientation and center distance) and understands (at least) both points of view optical sensors of said device.
Optionally we calculate at least one of the maps of sparse disparity by estimation of horizontal displacement relative of each pixel between the two initial images.
Optionally we start by estimating a cost association of each pixel of one of the two images initials to one of the pixels of the other of the two images initials.
Optionally to estimate the association cost of one of the pixels, we calculate the difference between said pixel and the associated pixel based on the pixels respective horizontal neighborhoods of said two pixels.
Optionally from the cost of association of all the pixels, we determine a spatial aggregation of the costs.
Optionally we associate with each pixel of one of the two initial images one pixel from the other of the two images initials by minimization of a matching cost determined from the spatial aggregation of costs.
Optionally which the first step includes-even at least one filtering phase.
Optionally the filtering phase consists of a filtering by stereoscopic consistency.
Date received / Date received 2021-12-11
6 Optionnellement la phase de filtrage consiste en un filtrage par accumulation temporelle.
Optionnellement au cours de la deuxième étape on densifie au moins l'une des cartes de disparité éparse en se =
servant d'une image guide de sorte que la deuxième étape consiste en un filtrage guidé des cartes de disparités éparses gauche et droite.
Optionnellement au cours de la deuxième étape on résout le problème suivant (I + XA(g))u = f avec u désignant le résultat du filtrage, f une image d'entrée, g une image guide, I une matrice identité de taille identique à celle de l'image guide, A une matrice de taille identique à
celle de l'image guide obtenue à partir de g et X un paramètre donné.
Optionnellement on sépare le problème en une succession de problèmes unidimensionnels et on procède ensuite à la résolution de chaque problème par itération sur chaque colonne et chaque ligne de u.
Optionnellement le problème est résolu au moins deux fois pour obtenir deux résultats qui sont alors divisés pour obtenir l'une des cartes de disparité dense.
Optionnellement le problème précité est résolu une première fois en prenant :
- Comme image guide g l'une des images initiales droite et gauche - Comme image d'entrée f la carte de disparité éparse correspondante ;
Et est résolu une deuxième fois en prenant :
- Comme image guide g la même image initiale droite ou gauche que pour la première résolution - Comme image d'entrée h un masque de validité de la même carte de disparité éparse que pour la première résolution.
Date reçue / Date received 2021-12-11 6 Optionally the filtering phase consists of a filtering by temporal accumulation.
Optionally during the second stage we densify at least one of the sparse disparity maps in se =
serving as a guide image so that the second step consists of guided filtering of disparity maps scattered left and right.
Optionally during the second step we solve the following problem (I + XA(g))u = f with u denoting the filtering result, f an input image, g an image guide, I an identity matrix of identical size to that of the guide image, Has a matrix of identical size to that of the guide image obtained from g and given parameter.
Optionally we separate the problem into a succession of one-dimensional problems and we then proceed to the solving each problem by iteration on each column and each row of u.
Optionally the problem is solved at least twice to obtain two results which are then divided for get one of the dense disparity maps.
Optionally the aforementioned problem is solved once first time taking:
- As a guide image g one of the initial images right and left - As input image f the sparse disparity map corresponding;
And is solved a second time by taking:
- As guide image g the same initial image right or left only for the first resolution - As input image h a mask of validity of the same sparse disparity map as for the first resolution.
Date received / Date received 2021-12-11
7 L'invention concerne également un dispositif de génération de vues stéréoscopiques permettant la mise en uvre du procédé tel que précité.
Optionnellement le dispositif est un dispositif d'aide au pilotage d'un aéronef.
L'invention concerne également un programme d'ordinateur comprenant des instructions qui conduisent un dispositif de génération de vues stéréoscopiques tel que précité à
exécuter le procédé tel que précité.
Optionnellement l'invention concerne également un support d'enregistrement lisible par ordinateur, sur lequel est enregistré le programme d'ordinateur tel que précité.
D'autres caractéristiques et avantages de l'invention ressortiront à la lecture de la description qui suit d'une mise en uvre particulière non limitative de l'invention.
BREVE DESCRIPTION DES DESSINS
L'invention sera mieux comprise à la lumière de la description qui suit en référence aux figures annexées parmi lesquelles :
[Fig. 1] la figure 1 illustre schématiquement les différentes étapes d'une mise en uvre particulière de l'invention ;
[Fig. 2] la figure 2 illustre plus en détails les étapes de la figure 1 ;
[Fig. 3] la figure 3 décompose différentes phases de la première étape de la figure 1 ;
[Fig. 4] la figure 4 décompose différentes phases de la deuxième étape de la figure 1 ;
[Fig. 5] la figure 5 détaille un bloc d'une des phases représentées à la figure 4.
DESCRIPTION DETAILLEE DE L'INVENTION
Date reçue / Date received 2021-12-11 7 The invention also relates to a device for generation of stereoscopic views allowing the implementation work of the process as mentioned above.
Optionally the device is a device to assist with piloting an aircraft.
The invention also relates to a computer program including instructions that drive a device for generating stereoscopic views as mentioned above in carry out the process as mentioned above.
Optionally the invention also relates to a support computer-readable recording, on which is recorded the computer program as mentioned above.
Other characteristics and advantages of the invention will emerge on reading the following description of a particular non-limiting implementation of the invention.
BRIEF DESCRIPTION OF THE DRAWINGS
The invention will be better understood in the light of the description which follows with reference to the appended figures among :
[Fig. 1] Figure 1 schematically illustrates the different stages of a particular implementation of the invention;
[Fig. 2] Figure 2 illustrates the steps in more detail of Figure 1;
[Fig. 3] Figure 3 breaks down different phases of the first step of Figure 1;
[Fig. 4] Figure 4 breaks down different phases of the second step of Figure 1;
[Fig. 5] Figure 5 details a block of one of the phases shown in Figure 4.
DETAILED DESCRIPTION OF THE INVENTION
Date received / Date received 2021-12-11
8 Selon une mise en uvre particulière de l'invention, le procédé est mis en uvre par un équipement optronique d'aide au pilotage d'un aéronef permettant de fournir une vision stéréoscopique à un pilote.
Un tel équipement comporte au moins un ensemble de deux caméras qui sont par exemple montées à l'avant de l'aéronef de part et d'autre de son nez de sorte que l'on puisse ainsi définir une caméra gauche et une caméra droite. Les caméras sont par ailleurs agencées dans un plan horizontal (lorsque l'aéronef est au sol, le plan horizontal étant ainsi parallèle avec le plan roulis-tangage de l'aéronef). Dans le cas présent, les caméras sont calibrées de sorte à ne pas pouvoir être déplacées l'une par rapport à l'autre au moins selon une direction normale au plan les contenant (soit une direction verticale lorsque l'aéronef est au sol). Dans le cas présent, les deux caméras sont fixes l'une par rapport à
l'autre.
L'équipement optronique comporte par ailleurs une unité
de traitement, de type calculateur ou processeur, agencée à l'intérieur de l'aéronef. Ladite unité est reliée d'une part aux deux caméras et d'autre part à un dispositif de projection d'image équipant un casque du pilote.
En service l'unité de traitement récupère des caméras des images initiales droite et gauche, les traite et affiche l'image traitée droite sur le côté droit de la visière du pilote et l'image traitée gauche sur le côté gauche de la visière du pilote, images légèrement décalées d'une même zone, le cerveau du pilote faisant naturellement la synthèse des deux images pour obtenir une vue en relief.
La vue restituée au pilote n'est ainsi pas plate mais stéréoscopique, se rapprochant au maximum d'une vue naturelle.
On va à présent s'attacher à décrire le traitement d'une image initiale gauche, transmise par la caméra gauche, et Date reçue / Date received 2021-12-11 8 According to a particular implementation of the invention, the process is implemented by optronic equipment aid to the piloting of an aircraft making it possible to provide stereoscopic vision to a pilot.
Such equipment comprises at least a set of two cameras which are for example mounted on the front of the aircraft on either side of its nose so that we can thus define a left camera and a camera RIGHT. The cameras are also arranged in a horizontal plane (when the aircraft is on the ground, the plane horizontal thus being parallel with the rolling plane-pitch of the aircraft). In this case, the cameras are calibrated so that they cannot be moved relative to each other at least in one direction normal to the plane containing them (i.e. a direction vertical when the aircraft is on the ground). In the case now, the two cameras are fixed relative to each other the other.
The optronic equipment also includes a unit processing, of calculator or processor type, arranged inside the aircraft. Said unit is connected to a on the one hand to the two cameras and on the other hand to a device of image projection fitted to a pilot's helmet.
In service the processing unit recovers cameras from initial images right and left, processes them and displays the right processed image on the right side of the visor of the driver and the left processed image on the left side of the pilot's visor, images slightly shifted from the same zone, the pilot's brain naturally doing the synthesis of the two images to obtain a relief view.
The view returned to the pilot is thus not flat but stereoscopic, getting as close as possible to a view natural.
We will now focus on describing the treatment of a left initial image, transmitted by the left camera, and Date received / Date received 2021-12-11
9 d'une image initiale droite, transmise par la caméra droite, par l'unité de traitement.
Comme visible à la figure 1, le traitement comprend trois étapes principales successives mises en uvre dans trois modules indépendants entre eux.
L'enchainement entre les modules et leurs effets sont représentés à la figure 2 pour laquelle :
- Les blocs en forme de losange correspondent aux entrées et sorties d'un algorithme général implémenté
dans chaque module ;
- Les blocs en forme d'octogone correspondent aux paramètres de l'algorithme associé ;
- Les blocs en forme de rectangle symbolisent le module correspondant.
Au cours de la première étape 1, on détermine une carte de disparité éparse droite et une carte de disparité
éparse gauche. A cet effet, on estime ici le déplacement horizontal relatif de chaque pixel entre l'image initiale droite et l'image initiale gauche (déplacement horizontal également appelé disparité du pixel) avant de réaliser la carte de disparité gauche associée à l'image gauche et la carte de disparité droite associée à l'image droite.
La première étape 1 est implémentée dans un premier module de l'unité de traitement. Un tel module est par exemple un module SGBM (pour Semi Global Block Matching ) tel qu'un module SGBM décrit dans l'article Accurate and efficient stereo processing by semi-global matching and mutual information de Hirschmuller, H.1 ;
article publié en 2005 dans le IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR'05) (Vol. 2, pp. 807-814).
Par la suite, on note x et y, respectivement l'abscisse (sur l'axe horizontal des images) et l'ordonnée (sur l'axe vertical des images) d'un pixel d'une image donnée, et on utilise les notations suivantes:
Date reçue / Date received 2021-12-11 9 of an initial straight image, transmitted by the camera right, by the processing unit.
As visible in Figure 1, the treatment includes three successive main steps implemented in three modules independent of each other.
The sequence between the modules and their effects are represented in Figure 2 for which:
- The diamond-shaped blocks correspond to the inputs and outputs of a general algorithm implemented in each module;
- The octagon-shaped blocks correspond to the parameters of the associated algorithm;
- The rectangle-shaped blocks symbolize the corresponding module.
During the first step 1, we determine a map straight sparse disparity and a disparity map scattered left. For this purpose, we estimate here the displacement relative horizontal of each pixel between the initial image right and the initial left image (horizontal movement also called pixel disparity) before performing the left disparity map associated with the left image and the right disparity map associated with the right image.
The first step 1 is implemented in a first processing unit module. Such a module is by example an SGBM module (for Semi Global Block Matching) such as an SGBM module described in the article Accurate and efficient stereo processing by semi-global matching and mutual information by Hirschmuller, H.1;
article published in 2005 in the IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR'05) (Vol. 2, pp. 807-814).
Subsequently, we note x and y, respectively the abscissa (on the horizontal axis of the images) and the ordinate (on the vertical axis of the images) of a pixel of a given image, and we use the following notations:
Date received / Date received 2021-12-11
10 = Ii représente l'image initiale gauche et Il(x,y)= le niveau d'intensité du pixel de coordonnées (x, y) dans l'image Ii;
= Ir représente l'image initiale droite et Ir(x,y) le niveau d'intensité du pixel de cordonnées (x, y) dans l'image Ir;
= D1 représente l'image de disparité gauche et Di(x,y) la valeur de disparité gauche pour le pixel de coordonnées (x, y) dans l'image Ii; = Dr représente l'image de disparité droite et Dr(x,y) la valeur de disparité droite pour le pixel de cordonnées (x, y) dans l'image Ir.
On a les deux relations suivantes :
Il (x, y) = Ir (x - Di(x, Y), y) (1) I, (x, y) - Il (x + Dr(X, Y), y) (2) Par contrainte géométrique les valeurs de disparités Di(x,y) et Dr(X,y) sont nécessairement positives.
Optionnellement les données discrètes des quatre images, Ir, D1 et Dr, sont des données codées sur 12 bits à
valeurs positives.
En référence à la figure 3, la première étape 1 est de préférence décomposée en plusieurs phases.
Lors d'une première phase 101, pour chaque pixel de l'image gauche, on estime le coût d'association dudit pixel à un pixel de l'image droite (et inversement).
A cet effet on s'appuie sur une fonction de coût.
Par exemple la fonction de coût utilisée calcule la différence entre deux pixels donnés situés sur une même ligne de l'image considérée (ligne horizontale), en s'appuyant sur les pixels des voisinages horizontaux [-1/2, 1/2] respectifs desdits deux pixels.
Optionnellement on s'appuie sur la fonction de coût définie dans l'article A pixel Dissimilarity Measure That is Insensitive fo Image Sampling de Birchfield, S.
et Tomasi, C. publié en 1998 dans IEEE Transactions on Date reçue / Date received 2021-12-11 10 = Ii represents the initial left image and Il(x,y)= the intensity level of pixel with coordinates (x, y) in image II;
= Ir represents the initial right image and Ir(x,y) the pixel intensity level of coordinates (x, y) in the Ir image;
= D1 represents the left disparity image and Di(x,y) the left disparity value for coordinate pixel (x, y) in image Ii; = Dr represents the image of right disparity and Dr(x,y) the right disparity value for the pixel with coordinates (x, y) in the image Ir.
We have the following two relationships:
Il (x, y) = Ir (x - Di(x, Y), y) (1) I, (x, y) - He (x + Dr(X, Y), y) (2) By geometric constraint the disparity values Di(x,y) and Dr(X,y) are necessarily positive.
Optionally the discrete data of the four images, Ir, D1 and Dr, are data coded on 12 bits positive values.
With reference to Figure 3, the first step 1 is to preference broken down into several phases.
During a first phase 101, for each pixel of the left image, we estimate the association cost of said pixel to a pixel of the right image (and vice versa).
For this purpose we rely on a cost function.
For example the cost function used calculates the difference between two given pixels located on the same line of the image considered (horizontal line), in relying on the pixels of the horizontal neighborhoods [-1/2, 1/2] respective of said two pixels.
Optionally we rely on the cost function defined in the article A pixel Dissimilarity Measure That is Insensitive fo Image Sampling of Birchfield, S.
and Tomasi, C. published in 1998 in IEEE Transactions on Date received / Date received 2021-12-11
11 Pattern Analysis and Machine Intelligence, 20(4), 401-406. Par la suite on calcule la quantité suivante :
CLeft(xl, xr, = max {0, II' (xi)- 'maxi - I1' (xi)) (3) Où
Xi est la position (abscisse) d'un pixel sur une ligne, notée de l'image initiale gauche Ii;
Xr est la position (abscisse) d'un pixel sur une ligne, notée Ir' de l'image initiale droite Ir CLeii représente le coût d'association du pixel de position xi dans la ligne d'image gauche dans le voisinage [xr - 1/2, xi + 1/2] sur la ligne d'image droite ;
Imin et Ima. représentent respectivement, les niveaux d'intensité minimum et maximum sur la ligne d'image droite dans le voisinage [xr - 1/2, xr + 1/21 qui sont calculés de la manière suivante :
Ij = min {Ir', Ir'+, 'max = max Ir", Ir' (xr) Avec :
1m = + (xr - 1)) Im = + + 1)) De la même manière on peut calculer la quantité Cright représentant le coût d'association du pixel ayant la position xr, dans la ligne d'image droite Ir', dans le voisinage [xi - 1/2, xi+ 1/2] sur la ligne d'image gauche Une fois les deux quantités CRight et CLeft calculées, le coût d'association est ainsi défini par :
Cosi (Xi, Xr, 1m') = min { CLeft CRight} ( 4) A partir de là on calcule pour chaque pixel de l'image initiale gauche le coût d'appariement avec le pixel de l'image initiale droite qui lui est associé par l'image de disparité gauche Di, coût d'appariement correspondant à la fonction de coût précitée, MatchingCost :
Date reçue / Date received 2021-12-11 11 Pattern Analysis and Machine Intelligence, 20(4), 401-406. Subsequently, we calculate the following quantity:
CLeft(xl, xr, = max {0, II' (xi)- 'maxi - I1' (xi)) (3) Or Xi is the position (abscissa) of a pixel on a line, noted from the left initial image Ii;
Xr is the position (abscissa) of a pixel on a line, denoted Ir' of the initial right image Ir CLeii represents the association cost of the pixel of position xi in the left image line in the neighborhood [xr - 1/2, xi + 1/2] on the right image line ;
Imin and Ima. represent respectively, the levels minimum and maximum intensity on the image line right in the neighborhood [xr - 1/2, xr + 1/21 which are calculated as follows:
Ij = min {Ir', Ir'+, 'max = max Ir", Ir' (xr) With :
1m = + (xr - 1)) Im = + + 1)) In the same way we can calculate the quantity Cright representing the association cost of the pixel having the position xr, in the right image line Ir', in the neighborhood [xi - 1/2, xi+ 1/2] on the left image line Once the two quantities CRight and CLeft have been calculated, the association cost is thus defined by:
Cosi (Xi, Xr, 1m') = min { CLeft CRight} (4) From there we calculate for each pixel of the image initial left the cost of matching with the pixel of the right initial image associated with it by the image left disparity Di, corresponding matching cost to the aforementioned cost function, MatchingCost:
Date received / Date received 2021-12-11
12 MatchingCost (Ii, Ir, Di) (x, y) ¨ Cost(x, x - D1(x, y), Ii(:, y), Ir(:, y)) (5) Ceci permet de déterminer la qualité de reconstruction d'un pixel pour une disparité donnée.
On pourrait en variante ou en complément s'appuyer sur une fonction de coût équivalente MatchingCost' qui calculerait pour chaque pixel de l'image initiale droite le coût d'appariement avec le pixel de l'image initiale gauche qui lui est associé par l'image de disparité
droite Dr. Par la suite on conservera la fonction de coût MatchingCost mais les phases qui suivront sont bien entendu transposables à MatchingCost'.
Théoriquement on pourrait utiliser ladite fonction de coût MatchingCost pour déterminer l'image de disparité
optimale Dopt en minimisant la fonction MatchingCost sur l'ensemble des disparités possibles D (les disparités D
étant l'ensemble des valeurs Di(x,y) possibles de l'image initiale gauche) :
Dopt =min d e D {MatchingCost (Ii, Ir, d)} (6) Mais optimiser la fonction MatchingCost serait relativement complexe étant donné la taille de l'ensemble D.
On propose à la place de réaliser une agrégation spatiale des coûts à partir de la fonction MatchingCost, lors d'une deuxième phase 102.
A cet effet, on calcule pour chaque pixel de l'image initiale gauche un coût d'appariement pour un ensemble de valeurs de disparités allant de 0 à une -valeur notée Disp Max , qui est un paramètre donné de disparité
maximale.
Cela permet d'obtenir, pour chaque pixel de l'image initiale gauche, Disp Max + 1 coûts d'appariement calculés selon la formule suivante :
Cost(x, y, disp_table) = MatchingCost (Ii, Ir, disp_table)(x, y) (7) Date reçue / Date received 2021-12-11 12 MatchingCost (Ii, Ir, Di) (x, y) ¨ Cost(x, x - D1(x, y), Ii(:, y), Ir(:, y)) (5) This makes it possible to determine the quality of reconstruction of one pixel for a given disparity.
Alternatively or in addition, we could rely on an equivalent cost function MatchingCost' which would calculate for each pixel of the initial right image the cost of matching with the pixel of the initial image left which is associated with it by the image of disparity right Dr. Subsequently we will keep the cost function MatchingCost but the phases which will follow are good understood transposable to MatchingCost'.
Theoretically we could use said function of MatchingCost cost to determine image disparity optimal Dopt by minimizing the MatchingCost function on the set of possible disparities D (the disparities D
being the set of possible values Di(x,y) of the image left initial):
Dopt =min of D {MatchingCost (Ii, Ir, d)} (6) But optimizing the MatchingCost function would be relatively complex given the size of the whole D.
We propose instead to carry out a spatial aggregation costs from the MatchingCost function, when of a second phase 102.
For this purpose, we calculate for each pixel of the image left initial a matching cost for a set of disparity values ranging from 0 to a noted value Disp Max, which is a given disparity parameter maximum.
This makes it possible to obtain, for each pixel of the image left initial, Max Availability + 1 matching costs calculated according to the following formula:
Cost(x, y, disp_table) = MatchingCost(Ii, Ir, disp_table)(x, y) (7) Date received / Date received 2021-12-11
13 Avec disp table un tableau constant à valeurs entières de disparités comprises entre 0 et Disp Max.
On construit ainsi par cette formule (7) Cost(x, y, disp) qui est un tableau à trois dimensions dont la hauteur et la largueur sont ceux des images Ii Ir, et dont la troisième dimension est de taille Disp Max + 1.
On prend ici Disp Max égal à 64. Cette valeur n'est qu'un exemple possible. On retient toutefois que la valeur du paramètre de disparité maximale retenue impacte le temps de calcul et joue sur l'intensité du point de vue stéréoscopique (plus ou moins fort).
L'agrégation spatiale des coûts s'effectue en venant cumuler le long de chemins les coûts d'appariement obtenus pour chaque pixel de l'image initiale gauche selon la formule (7).
La gestion initiale des chemins est réalisée au cours d'une phase intermédiaire 102'.
Lors de cette phase intermédiaire 102', le nombre de chemins, appelé Num Directions , est fixé à une valeur particulière entière, par exemple 2", n entier non nul. La valeur Num Directions peut ainsi par exemple être choisie égale à 2, 4, 8, ou 16.
Chaque chemin est représenté par un vecteur de chemin à
deux dimensions de sorte que :
= si Num Directions - 2, les deux chemins correspondent à
un déplacement horizontal, décroissant et croissant, respectivement représentés par les vecteurs de chemin (1, 0) et (-1, 0) ;
= si Num Directions = 4, s'y ajoutent deux chemins correspondant à un déplacement vertical décroissant et croissant, et les quatre vecteurs de chemin correspondants sont (1, 0), (-1, 0), (0, - 1) et (0,1) ;
= si Num Directions - 8, on rajoute les chemins diagonaux ;
= etc_ Date reçue / Date received 2021-12-11 13 With disp table a constant integer-valued array of disparities between 0 and Disp Max.
We thus construct by this formula (7) Cost(x, y, disp) which is a three-dimensional array whose height and the width are those of the images Ii Ir, and whose third dimension is of size Disp Max + 1.
Here we take Disp Max equal to 64. This value is only a possible example. However, we note that the value of maximum disparity parameter retained impacts the time of calculation and plays on the intensity of the point of view stereoscopic (more or less strong).
The spatial aggregation of costs is carried out by coming accumulate matching costs along paths obtained for each pixel of the initial left image according to formula (7).
The initial management of the paths is carried out during of an intermediate phase 102'.
During this intermediate phase 102', the number of paths, called Num Directions, is set to a value particular integer, for example 2", n non-zero integer. The value Num Directions can for example be chosen equal to 2, 4, 8, or 16.
Each path is represented by a path vector at two dimensions so that:
= if Num Directions - 2, the two paths correspond to a horizontal movement, decreasing and increasing, respectively represented by the vectors of path (1, 0) and (-1, 0);
= if Num Directions = 4, two paths are added corresponding to a decreasing vertical displacement and ascending, and the four path vectors corresponding are (1, 0), (-1, 0), (0, - 1) and (0,1);
= if Num Directions - 8, we add the paths diagonals;
=etc_ Date received / Date received 2021-12-11
14 Dans le cas présent, on prend Num Directions égal à 8.
Cette valeur n'est qu'un exemple possible. Augmenter le nombre de chemins permet d'avoir une prédiction de disparité plus précise mais augmente proportionnellement le temps de calcul.
Deux paramètres supplémentaires entrent par la suite en jeu :
- le paramètre Pl qui représente la pénalité que deux pixels voisins aient une disparité différente de 1 ;
- le paramètre P2 qui représente la pénalité que deux pixels voisins aient une disparité différente d'au moins deux pixels.
On retient que plus les deux paramètres P1 et P2 sont élevés, plus les cartes de disparités éparses qui en résulteront seront lisses. On retient aussi qu'il convient de trouver un compromis entre des cartes de disparités éparses trop bruitées et des cartes de disparités éparses trop lisses qui perdraient des détails comme des textures, des objets fins et/ou des contours.
Dans le cas présent, P1 est fixé à 8 et P2 à 32 mais d'autres valeurs sont bien entendu envisageables.
Pour chaque vecteur de chemin r = (rx, ry) on peut ainsi calculer l'agrégation de coût Lr(x, y, disp) pour chaque pixel de l'image initiale gauche par :
Lr(x, y, disp) =
Cost(x, y, disp) min{ Lr(x - rx, y - ry, disp), Lr(x - rx, y - ry, disp - 1) + Pl, Lr(x - rx, y - ry, disp + 1) + Pl, miniL,(x - rx, y - ry, i) + P21 - minkL,(x - rx, y - ry, k) (8)avec i et k des valeurs variant de 0 à Disp Max pour déterminer le minimum de la fonction Lr(X, y, disp).
Ce calcul étant récursif, il est nécessaire d'initialiser pour chaque chemin, Lr(x, y, disp) pour un ensemble de Date reçue / Date received 2021-12-11 14 In this case, we take Num Directions equal to 8.
This value is just one possible example. Increase number of paths allows you to have a prediction of more precise disparity but increases proportionally the calculation time.
Two additional parameters subsequently enter into game :
- the parameter Pl which represents the penalty that two neighboring pixels have a disparity other than 1;
- the parameter P2 which represents the penalty that two neighboring pixels have a disparity different from at least minus two pixels.
We retain that the more the two parameters P1 and P2 are higher, the more the sparse disparity maps which will result will be smooth. We also note that it It is appropriate to find a compromise between cards of scattered disparities that are too noisy and maps of sparse disparities too smooth that would lose detail such as textures, fine objects and/or outlines.
In the present case, P1 is set to 8 and P2 to 32 but other values are of course possible.
For each path vector r = (rx, ry) we can thus calculate the cost aggregation Lr(x, y, disp) for each pixel of the left initial image by:
Lr(x, y, available) =
Cost(x, y, availability) min{ Lr(x - rx, y - ry, disp), Lr(x - rx, y - ry, disp - 1) + Pl, Lr(x - rx, y - ry, disp + 1) + Pl, miniL,(x - rx, y - ry, i) + P21 - minkL,(x - rx, y - ry, k) (8) with i and k values varying from 0 to Disp Max for determine the minimum of the function Lr(X, y, disp).
This calculation being recursive, it is necessary to initialize for each path, Lr(x, y, disp) for a set of Date received / Date received 2021-12-11
15 pixels. Pour ce faire on choisit pour chaque chemin la bordure de l'image opposée au vecteur de chemin considéré, et on initialise la valeur Lr(x, y, disp) à
Cost(x, y, disp). Par exemple pour le vecteur de chemin (-1, 0), correspondant à un déplacement croissant horizontal, on choisit le côté gauche de l'image.
En sommant sur chaque chemin, on obtient un nouveau coût d'appariement S pour chaque pixel et chaque disparité :
S(r, y, disp) = sum(I ,(r, disp )) (9).
Lors d'une troisième phase 103, on associe à chaque pixel de l'image initiale gauche un pixel de l'image initiale droite par minimisation du coût d'appariement S dudit pixel. Cela revient à déterminer la disparité Di(x,Y) dudit pixel en cherchant le minimum de la fonction S(x, y, disp) en faisant varier la valeur disp de 0 à Disp Max, soit donc à résoudre l'équation suivante :
Di(u) =mino<i<Dispmax S(xj) (10) Par ailleurs, on associe à chaque pixel de l'image initiale droite un pixel de l'image initiale gauche par minimisation du coût d'appariement S dudit pixel.
La disparité droite est donc ici déterminée à partir du même coût d'appariement S mais avec une formule plus complexe, puisque ladite formule doit incorporer la contrainte épi-polaire:
Dr(x, y) - min wiS Disp Max S (x + i, y, i) (11) On obtient ainsi des cartes de disparité intermédiaire gauche et droite.
Au cours de la ou des phases suivantes au moins un filtre est appliqué sur les cartes de disparité intermédiaire gauche et droite, et de préférence au moins deux filtres, afin d'en améliorer la précision.
Date reçue / Date received 2021-12-11 15 pixels. To do this we choose for each path the image border opposite path vector considered, and we initialize the value Lr(x, y, disp) to Cost(x, y, avail). For example for the path vector (-1, 0), corresponding to an increasing displacement horizontal, we choose the left side of the image.
By summing over each path, we obtain a new cost matching S for each pixel and each disparity:
S(r, y, disp) = sum(I,(r, disp)) (9).
During a third phase 103, we associate with each pixel of the initial image left one pixel of the initial image right by minimization of the matching cost S of said pixel. This amounts to determining the disparity Di(x,Y) of said pixel by seeking the minimum of the function S(x, y, disp) by varying the disp value from 0 to Disp Max, therefore, solve the following equation:
Di(u) =mino<i<Dispmax S(xj) (10) Furthermore, we associate with each pixel of the image right initial one pixel of the left initial image by minimization of the matching cost S of said pixel.
The right disparity is therefore determined here from the same matching cost S but with a more formula complex, since said formula must incorporate the epi-polar constraint:
Dr(x, y) - min wiS Disp Max S (x + i, y, i) (11) We thus obtain intermediate disparity maps left and right.
During the following phase(s), at least one filter is applied to intermediate disparity maps left and right, and preferably at least two filters, in order to improve its precision.
Date received / Date received 2021-12-11
16 Ainsi, au cours d'une quatrième phase 104, on applique un premier filtre pour éliminer les valeurs les plus incohérentes pour chacune des cartes de disparité
intermédiaire gauche et droite.
Par exemple, le filtre est un filtre médian tel qu'un filtre de taille 3 x 3.
Ledit filtre est appliqué sur les disparités précédentes DI et Dr pour obtenir respectivement des nouvelles cartes de disparité intermédiaire gauche et droite.
Puis au cours d'une cinquième phase 105, on applique un deuxième filtre sur les nouvelles cartes de disparité
intermédiaire gauche et droite afin de s'assurer de la consistance stéréoscopique, c'est-à-dire de la cohérence entre les disparités gauche et droite obtenues.
En effet D1 associe pour chacun des pixels de l'image initiale gauche, un pixel de l'image initiale droite, il est donc possible de vérifier que la valeur de disparité
Dr du pixel de l'image initiale droite coïncide.
Si ce n'est pas le cas, on rend invalide les valeurs correspondantes de Di et de Dr.
Les disparités filtrées Dfl et Dfr sont ainsi obtenues avec les équations suivantes :
Dfi(x, y)= Di(x, y) si IID1(x, y)- Dr(x - Di(x, y), y)II 1 = valeur invalide sinon (12) Dfr(x, y)=Dr(x, y) si IIDr(x, y)- Di(x + Dr(x, Y), 17)11 1 = valeur invalide sinon (13) On obtient ainsi les cartes de disparités éparses gauche et droite composées des disparités filtrées, respectivement Dfl et Dfr, pour chaque pixel de respectivement l'image initiale gauche et de l'image initiale droite.
Date reçue / Date received 2021-12-11 16 Thus, during a fourth phase 104, we apply a first filter to eliminate the highest values inconsistent for each of the disparity maps intermediate left and right.
For example, the filter is a median filter such as a filter size 3 x 3.
Said filter is applied to the previous disparities DI and Dr to obtain new cards respectively left and right intermediate disparity.
Then during a fifth phase 105, we apply a second filter on new disparity maps left and right intermediate in order to ensure the stereoscopic consistency, that is to say consistency between the left and right disparities obtained.
Indeed D1 associates for each of the pixels of the image left initial, one pixel of the right initial image, it is therefore possible to verify that the disparity value Dr of the pixel of the right initial image coincides.
If this is not the case, we make the values invalid.
correspondents of Di and Dr.
The filtered disparities Dfl and Dfr are thus obtained with the following equations:
Dfi(x, y)= Di(x, y) if IID1(x, y)- Dr(x - Di(x, y), y)II 1 = invalid value otherwise (12) Dfr(x, y)=Dr(x, y) if IIDr(x, y)- Di(x + Dr(x, Y), 17)11 1 = invalid value otherwise (13) We thus obtain the left sparse disparity maps and line composed of the filtered disparities, respectively Dfl and Dfr, for each pixel of respectively the left initial image and the image right initial.
Date received / Date received 2021-12-11
17 On parle de cartes éparses du fait que certaines valeurs de disparités ont été invalidées au cours de la dernière phase 105 de sorte que chaque pixel d'une image donnée n'est pas toujours associé à une valeur de disparité telle que précédemment calculée. Pour ces pixels, on considère par exemple qu'ils sont associés à
une valeur de disparité arbitraire. Cette valeur est ici prise égale à -1 ou bien à 0 mais peut bien entendu être différente.
La première étape 1 ainsi décrite permet de fournir des cartes de disparités éparses gauche et droite avec uniquement les pixels dont on a une bonne confiance quant à la qualité de leur association, le reste desdites cartes est fixé à la valeur arbitraire.
Or si les images initiales gauche et droite comportent des représentations d'objets, du fait des mouvements desdits objets ou de l'aéronef, les frontières desdits objets peuvent être erronées dans les cartes de disparités éparses gauche et droite. Ceci peut conduire à
terme à une mauvaise interprétation de profondeur de la part du pilote.
En référence aux figures 4 et 5, la deuxième étape 2 va donc consister à améliorer les cartes de disparités éparses gauche et droite en densifiant lesdites cartes (i.e. modifier les valeurs arbitraires) afin d'obtenir une carte de disparité dense gauche et une carte de disparité dense droite. Optionnellement, la deuxième étape 2 est ici mise en uvre en s'appuyant sur les frontières des objets afin de les conserver voir de les améliorer sur les cartes de disparité dense droite et gauche.
Ainsi, dans le cas présent, la deuxième étape 2 est mise en uvre par densification de chaque carte de disparité
éparse en se servant d'une image guide. L'image guide est ici l'image initiale droite pour la carte de disparité
Date reçue / Date received 2021-12-11 17 We speak of sparse maps because some disparity values were invalidated during the last phase 105 so that each pixel of an image data is not always associated with a value of disparity as previously calculated. For these pixels, we consider for example that they are associated with an arbitrary disparity value. This value is here taken equal to -1 or 0 but can of course be different.
The first step 1 thus described makes it possible to provide left and right sparse disparity maps with only pixels for which we have good confidence as to to the quality of their association, the rest of the said cards is set to arbitrary value.
But if the initial left and right images include representations of objects, due to movements of said objects or of the aircraft, the boundaries of said objects may be incorrect in the maps scattered left and right disparities. This can lead to end to a misinterpretation of depth of the from the pilot.
With reference to Figures 4 and 5, the second step 2 will therefore consist of improving the disparity maps scattered left and right by densifying said cards (ie modify arbitrary values) in order to obtain a left dense disparity map and a left dense disparity map right dense disparity. Optionally, the second step 2 is implemented here based on the boundaries of objects in order to preserve them or even improve on right dense disparity maps and LEFT.
Thus, in the present case, the second step 2 is implemented implemented by densification of each disparity map scattered using a guide image. The guide image is here the right initial image for the disparity map Date received / Date received 2021-12-11
18 éparse droite et l'image initiale gauche pour la carte de disparité éparse gauche. La deuxième étape consiste donc ici en un filtrage guidé des cartes de disparités éparses gauche et droite.
Par exemple, chaque carte de disparité éparse est complétée en essayant de faire correspondre les gradients de la carte de disparité dense sur ceux de l'image guide.
Dans le cas présent, on cherche à compléter les cartes de disparités éparses tout en minimisant le coût d'une telle opération.
La deuxième étape 2 est implémentée dans un deuxième module de l'unité de traitement indépendant du premier module. Un tel deuxième module est par exemple un module tel que décrit dans l'article Fast global image smoothing based on weighted least squares de Min, D., Choi, S., Lu, J., Ham, B., Sohn, K. et Do, M. N. en 2014 dans le IEEE Transactions on Image Processing, 23(12), 5638-5653.
Par la suite :
- u désigne le résultat du filtrage guidé, - f l'image d'entrée, - g l'image guide, - H et L sont la hauteur et la largeur de l'image guide (dans le cas présent l'image initiale droite ou gauche), - Stotai est un vecteur du nombre de pixels total de l'image guide par ligne et du nombre de pixels total de l'image guide par colonne.
Mathématiquement, le filtrage guidé revient alors à
résoudre le problème 201 suivant avec I la matrice identité de taille Stot ; A une matrice de taille Stot obtenue à partir de g ; et X un paramètre défini ci-après:
(I + XA(g))u = f (14) Date reçue / Date received 2021-12-11 18 sparse right and the initial left image for the map left sparse disparity. The second step therefore consists of here in a guided filtering of disparity maps scattered left and right.
For example, each sparse disparity map is completed by trying to match the gradients of the dense disparity map on those of the guide image.
In this case, we seek to complete the maps of scattered disparities while minimizing the cost of such operation.
The second step 2 is implemented in a second module of the processing unit independent of the first module. Such a second module is for example a module as described in the article Fast global image smoothing based on weighted least squares of Min, D., Choi, S., Lu, J., Ham, B., Sohn, K. and Do, MN in 2014 in IEEE Transactions on Image Processing, 23(12), 5638-5653.
Afterwards :
- u designates the result of guided filtering, - f the input image, - g the guide image, - H and L are the height and width of the image guide (in this case the initial right image or left), - Stotai is a vector of the total number of pixels of guide image per line and total number of pixels of the guide image per column.
Mathematically, guided filtering then amounts to solve the following problem 201 with I the matrix Stot size identity; Has a matrix of size Stot obtained from g; and X a parameter defined below After:
(I + XA(g))u = f (14) Date received / Date received 2021-12-11
19 De préférence, on sépare ce problème 201 originalement en deux dimensions (hauteur et largeur de la carte) en une succession de problèmes unidimensionnels (soit hauteur soit largeur). On procède ensuite à la résolution de chaque problème par itération sur chaque colonne et chaque ligne. Il est ainsi plus facile d'obtenir une solution générale qui demeure en outre similaire à celle à laquelle on serait parvenu si l'on avait cherché à
résoudre directement le problème 201 initial bidimensionnel.
Le filtrage guidé unidimensionnel revient donc à estimer plusieurs fois un problème plus simple, où l'on considère uniquement une ligne ou colonne de chaque image.
Cela réduit la taille des vecteurs de Stot à soit H soit L
c'est-à-dire (In + ?Ji (gh))Uh = fh (15a) ou bien (IL + ?Ji (gL) )uL = fL (15b).
Afin de calculer la matrice A, il est nécessaire d'estimer une matrice intermédiaire W à partir du vecteur g défini par :
W(m, n) = exp(-11gm - grill/a) (16) Cette matrice est caractéristique des variations du vecteur g avec m un nombre entier variant entre 0 et H, n un nombre entier variant entre 0 et L et a étant un paramètre défini ci-après.
Une fois cette matrice intermédiaire W estimée, il est possible de résoudre le problème unidimensionnel évoqué
précédemment (soit le problème 15a soit le problème 15b) en utilisant la technique de résolution linéaire qui va suivre.
Date reçue / Date received 2021-12-11 19 Preferably, we separate this problem 201 originally into two dimensions (height and width of the card) in one succession of one-dimensional problems (i.e. height or width). We then proceed to solve each problem per iteration on each column and each line. It is thus easier to obtain a general solution which also remains similar to that which we would have achieved if we had sought to directly solve the original 201 problem two-dimensional.
One-dimensional guided filtering therefore amounts to estimating several times a simpler problem, where we consider only one row or column of each image.
This reduces the size of the Stot vectors to either H or L
that's to say (In + ?Ji (gh))Uh = fh (15a) or (IL + ?Ji (gL) )uL = fL (15b).
In order to calculate the matrix A, it is necessary to estimate an intermediate matrix W from the vector g defined by:
W(m, n) = exp(-11gm - grill/a) (16) This matrix is characteristic of variations in vector g with m an integer varying between 0 and H, n a number integer varying between 0 and L and a being a parameter defined below.
Once this intermediate matrix W has been estimated, it is possible to solve the one-dimensional problem mentioned previously (either problem 15a or problem 15b) using the linear resolution technique which will follow.
Date received / Date received 2021-12-11
20 On se place par la suite dans le cas d'une ligne (gL, FL) mais le raisonnement suivant est bien entendu similaire dans le cas d'une colonne.
On calcule tout d'abord la matrice WL à partir du vecteur g_fL1 grâce à la formule (16). La matrice WL aura ainsi des dimensions (L, L).
On définit ensuite les variables suivantes, avec les conditions ao - 0 et cw- 1 - 0 ; et x 0, L - 1:
ax (x, x - 1) bx = 1 + MW(x, x - 1) + W(x, x+ 1)) cx = - AW (x, x+ 1), Cela nous permet de définir récursivement les variables suivantes avec les conditions initiales = coi& etre = ebo = c/ (b Cx- lax) = ,c h 1c- h .e7 114 ax x ix f x-rixfit et x = 0, L - 1.
Une fois cette résolution terminée, il est possible d'obtenir le vecteur solution uh avec le système récursif suivant, avec ',1,7 w-= ¨
...xt01+1 et x = 0, L - 1.
Pour approcher la solution du problème général 201 à deux dimensions, on va donc résoudre le problème unidimensionnel précédent sur chacune des colonnes et chacune des lignes.
Optionnellement on emploie l'enchaînement suivant :
= Initialisation d'une image filtrée par l'image d'entrée f = Boucle sur le nombre d'itérations N Iter (autre paramètre défini ci-après) Date reçue / Date received 2021-12-11 20 We then place ourselves in the case of a line (gL, FL) but the following reasoning is of course similar in the case of a column.
We first calculate the WL matrix from the vector g_fL1 thanks to formula (16). The WL matrix will thus have dimensions (L, L).
We then define the following variables, with the conditions ao - 0 and cw- 1 - 0; and x 0, L - 1:
ax (x, x - 1) bx = 1 + MW(x, x - 1) + W(x, x+ 1)) cx = - AW (x, x+ 1), This allows us to recursively set the variables following with initial conditions = coi& be = ebo = c/ (b Cx-lax) = ,ch 1c- h .e7 114 ax x ix f x-rixfit and x = 0, L - 1.
Once this resolution is completed, it is possible to obtain the solution vector uh with the recursive system next, with ',1,7 w-= ¨
...xt01+1 and x = 0, L - 1.
To approach the solution of general problem 201 in two dimensions, we will therefore solve the problem previous one-dimensional on each of the columns and each of the lines.
Optionally we use the following sequence:
= Initialization of an image filtered by the image input f = Loop on the number of iterations N Iter (other parameter defined below) Date received / Date received 2021-12-11
21 - Mise à jour du paramètre A
- Boucle sur l'ensemble des lignes n * Détermination de la matrice W à partir de la n-ième ligne de l'image guide g ;
* Résolution du problème unidimensionnel avec fL,la n-ième ligne de l'image d'entrée, et giõ la n-ième ligne de l'image guide ;
* Remplacement de la n-ième ligne de l'image d'entrée par le vecteur solution UL
- Boucle sur l'ensemble des colonnes m * Détermination de la matrice W à partir de la m-ième colonne de l'image guide g ;
* Résolution du problème unidimensionnel avec fh, la j-ième colonne de l'image d'entrée et gh, la j-ième colonne de l'image guide g ;
* Remplacement de la j-ième colonne de l'image d'entrée par le vecteur solution uh On a ainsi vu que l'on employait dans le deuxième module trois paramètres :
= G qui correspond au voisinage de l'estimation des variations de l'image guide g ;
= A qui correspond au paramètre de régularisation ;
= N Iter qui correspond au nombre de passes sur chaque ligne et chaque colonne.
Les paramètres ont par défaut les valeurs suivantes :
= A = 80000 = o - 1.2 = N Iter = 2 Bien entendu ces valeurs ne sont pas limitatives et l'on pourra choisir d'autres valeurs. Par exemple, le nombre d'itérations peut être augmenté pour améliorer la qualité
du filtrage mais en contrepartie cela entraîne un plus grand temps d'exécution.
Date reçue / Date received 2021-12-11 21 - Updated parameter A
- Loop over all lines n * Determination of the matrix W from the nth line of the guide image g;
* Solving the one-dimensional problem with fL, the n-th line of the input image, and giõ the n-th line of the guide image;
* Replacing the nth line of the image input by the UL solution vector - Loop over all columns m * Determination of the matrix W from the m-th column of the guide image g;
* Solving the one-dimensional problem with fh, the jth column of the input image and gh, the j-th column of the guide image g;
* Replacing the jth column of the image input by the solution vector uh We thus saw that we used in the second module three parameters:
= G which corresponds to the neighborhood of the estimate of variations of the guide image g;
= A which corresponds to the regularization parameter;
= N Iter which corresponds to the number of passes on each row and each column.
The parameters have the following values by default:
= A = 80000 = o - 1.2 = N Iter = 2 Of course these values are not limiting and we can choose other values. For example, the number of iterations can be increased to improve quality filtering but in return this entails a plus great execution time.
Date received / Date received 2021-12-11
22 Par ailleurs, si A est initialement pris à 80000, à
chaque itération, comme indiqué ci-dessus, ce paramètre X
est mis à jour par l'équation suivante :
3 41--t 4¨ ___________________________ (17) Avec T égal à N_Iter et t égal à l'itération en cours.
De préférence, on préfère résoudre par itération le problème général 201 deux fois.
Le problème général 201 est ainsi résolu itérativement selon le problème précité une première fois en prenant :
- Comme image guide g l'image initiale gauche (respectivement l'image initiale droite) - Comme image d'entrée f la carte de disparité éparse gauche (respectivement la carte de disparité éparse droite).
Par ailleurs, le problème général (14) est résolu itérativement selon le problème précité une deuxième fois en prenant :
- Comme image guide g l'image initiale gauche (respectivement l'image initiale droite) - Comme image d'entrée h un masque de validité de la carte de disparité éparse gauche (respectivement de la carte de disparité éparse droite).
Le masque de validité h est défini par l'ensemble des pixels dont les valeurs de disparités ont été invalidées au cours de la dernière phase 105 et auxquels une valeur arbitraire de disparité a été associée (par exemple 0 ou -1).
On divise ensuite les deux résultats obtenus pour obtenir le résultat final du filtrage guidé u c'est-à-dire la carte de disparité dense gauche (respectivement la carte de disparité dense droite) :
(/ + )-40 ( ) Date reçue / Date received 2021-12-11 22 Furthermore, if A is initially taken at 80000, at each iteration, as shown above, this parameter is updated by the following equation:
3 41--t 4¨ ___________________________ (17) With T equal to N_Iter and t equal to the current iteration.
Preferably, we prefer to solve by iteration the general problem 201 twice.
The general problem 201 is thus solved iteratively according to the aforementioned problem a first time by taking:
- As guide image g the left initial image (respectively the initial right image) - As input image f the sparse disparity map left (respectively the sparse disparity map RIGHT).
Furthermore, the general problem (14) is solved iteratively according to the aforementioned problem a second time taking :
- As guide image g the left initial image (respectively the initial right image) - As input image h a mask of validity of the left sparse disparity map (respectively of the right sparse disparity map).
The validity mask h is defined by all of the pixels whose disparity values have been invalidated during the last phase 105 and to which a value arbitrary disparity has been associated (for example 0 or -1).
We then divide the two results obtained to obtain the final result of the guided filtering u i.e. the left dense disparity map (respectively the map right dense disparity):
(/ + )-40 ( ) Date received / Date received 2021-12-11
23 La deuxième étape 2 ainsi décrite modifie les informations obtenues à la suite de la première étape 1 pour améliorer le confort visuel du pilote en permettant d'obtenir des cartes de disparités plus lisses tout en respectant les contours des objets de la scène visualisée par les caméras.
Au cours de la troisième étape 3, on va reconstituer un point de vue stéréoscopique à partir des cartes de disparités denses gauche et droite en sortie du deuxième module mais également à partir des images initiales gauche et droite et d'une valeur d'entraxe particulière visée. Optionnellement, la valeur d'entraxe particulière est une valeur proche ou identique à celle de l'entraxe relative aux yeux du pilote afin de lui rendre la visualisation des images la plus confortable possible.
La troisième étape 3 de simulation du nouveau point de vue stéréoscopique est implémentée dans un troisième module de l'unité de traitement indépendant du premier module et du deuxième module.
Par exemple la troisième étape 3 consiste en une interpolation horizontale des images initiales gauche et droite en fonction des cartes de disparités denses et de 1a valeur d'entraxe particulière visée. On a ici recours à une interpolation horizontale par une distance.
Plus précisément on décale ici horizontalement chaque pixel de l'image initiale gauche (respectivement de l'image initiale droite) par un coefficient proportionnel à la disparité calculée au cours des étapes précédentes de ce pixel.
Ce coefficient est caractéristique du rapport entre la valeur d'entraxe visée et la valeur d'entraxe réelle du dispositif de génération de vues stéréoscopiques (qui est Date reçue / Date received 2021-12-11 23 The second step 2 thus described modifies the information obtained following the first step 1 to improve the visual comfort of the pilot by allowing to obtain smoother disparity maps while respecting the contours of the objects in the viewed scene by the cameras.
During the third step 3, we will reconstruct a stereoscopic point of view from maps of dense left and right disparities at the exit of the second module but also from the initial images left and right and a particular center distance value aimed. Optionally, the particular center distance value is a value close to or identical to that of the center distance relative to the eyes of the pilot in order to give him the viewing images as comfortably as possible.
The third step 3 of simulating the new point of stereoscopic view is implemented in a third module of the processing unit independent of the first module and the second module.
For example, the third step 3 consists of a horizontal interpolation of the initial images left and right according to the dense disparity maps and 1a particular center distance value targeted. Here we have recourse to a horizontal interpolation by a distance.
More precisely, we shift here horizontally each pixel of the left initial image (respectively the initial right image) by a proportional coefficient to the disparity calculated during the previous steps of this pixel.
This coefficient is characteristic of the relationship between the target center distance value and the actual center distance value of the device for generating stereoscopic views (which is Date received / Date received 2021-12-11
24 donc fixe et connue, la position relative des caméras entre elles étant également fixe et connue) :
Ab - valeur d'entraxe visée / valeur d'entraxe réelle (19) En notant 11)1 et Ibr les nouvelles images traitées gauche et droite, on a recours ici aux deux formules 20 et 21 suivantes :
MX )4 = //(X + 1 ¨23' )4, ))' (20) 1 ¨Ab Mx. = Mx. Dr(x, y), J)' (21) r - 2 De préférence, afin de gérer au mieux les zones d'occlusion oculaires, le remplissage des pixels des deux images traitées gauche et droite se fait dans le sens suivant :
= Initialisation de l'image traitée gauche (ou de l'image traitée droite) à 0 = Boucle sur chaque ligne :
- Boucle sur chaque colonne - Application de la formule 20 (ou de la formule 21) en interpolant linéairement les indices non entiers.
Une fois les images traitées droite et gauche générées, l'unité de traitement affiche l'image traitée droite sur le côté droit de la visière du pilote et l'image traitée gauche sur le côté gauche de la visière du pilote, le cerveau du pilote faisant naturellement la synthèse des deux images pour obtenir une vue en relief.
Le procédé ainsi décrit permet en outre de fournir un point de vue stéréoscopique dont la valeur d'entraxe est modifiable en temps réel. En particulier le procédé ainsi décrit permet de réduire ou d'augmenter artificiellement la distance séparant les deux caméras.
Date reçue / Date received 2021-12-11 24 therefore fixed and known, the relative position of the cameras between them being equally fixed and known):
Ab - target center distance value / actual center distance value (19) Noting 11)1 and Ibr the new left processed images and right, we use here the two formulas 20 and 21 following:
MX )4 = //(X + 1 ¨23' )4, ))' (20) 1 ¨Ab Mx. = Mx. Dr(x, y), J)' (21) r - 2 Preferably, in order to best manage the areas eye occlusion, filling the pixels of both left and right processed images are done in the direction following :
= Initialization of the left processed image (or the image processed right) to 0 = Loop on each line:
- Loop on each column - Application of formula 20 (or formula 21) by linearly interpolating the indices not whole.
Once the right and left processed images are generated, the processing unit displays the processed image right on the right side of the pilot's visor and the processed image left on the left side of the pilot's visor, the pilot's brain naturally synthesizing the two images to obtain a relief view.
The method thus described also makes it possible to provide a stereoscopic point of view whose center distance value is editable in real time. In particular the process thus described allows you to artificially reduce or increase the distance separating the two cameras.
Date received / Date received 2021-12-11
25 Le pilote peut ainsi voler avec un bon confort visuel.
Bien entendu, l'invention n'est pas limitée à la mise en uvre décrite ci-dessus et on pourra y apporter des variantes de réalisation sans sortir du cadre de l'invention.
En particulier, bien qu'ici l'invention soit mise en uvre par un équipement optronique d'aide au pilotage d'un aéronef, l'invention pourra être mise en uvre par tout autre dispositif de génération de vues stéréoscopiques.
L'invention est ainsi également applicable à tout type de véhicule aérien, terrestre (voiture, char ou nautique.
De la même manière, l'invention est utilisable avec tout dispositif d'affichage relié à l'unité de traitement. Par exemple au lieu d'un dispositif de projection permettant au pilote de visualiser les images par réflexion sur la visière de son casque, le casque du pilote pourra comprendre deux afficheurs placés chacun devant un des yeux du pilote.
Bien qu'ici l'on ne modifie qu'une seule fois le point de vue stéréoscopique à une valeur d'entraxe donnée, on pourra en variante modifier ledit point de vue une ou plusieurs fois ou de manière continue et ce en temps réel. Ainsi, il est possible d'adapter en temps réel et de manière continue ledit point de vue stéréoscopique afin de garantir la meilleure appréciation visuelle possible selon les scènes observées et ainsi diminuer au maximum les risques de malaises visuels comme par exemple lors de la visualisation de scènes proches.
Bien qu'ici l'équipement optronique ne comporte que deux caméras, l'équipement optronique pourra comprendre davantage de caméras. L'équipement optronique pourra par exemple être l'équipement décrit dans la demande WO
2020/053227 ou tout autre dispositif de génération de vues stéréoscopiques. Si le dispositif de génération de Date reçue / Date received 2021-12-11 25 The pilot can thus fly with good visual comfort.
Of course, the invention is not limited to the implementation work described above and we can bring to it alternative embodiments without departing from the framework of the invention.
In particular, although here the invention is implemented Worked by optronic piloting assistance equipment of an aircraft, the invention can be implemented by any other view generation device stereoscopic.
The invention is thus also applicable to any type of aerial, land vehicle (car, tank or nautical.
In the same way, the invention can be used with any display device connected to the processing unit. By example instead of a projection device allowing allows the pilot to view the images by reflection on the visor of his helmet, the pilot's helmet can include two displays each placed in front of one of the eyes of the pilot.
Although here we only modify the point of stereoscopic view at a given center distance value, we may alternatively modify said point of view one or several times or continuously over time real. Thus, it is possible to adapt in real time and continuously said stereoscopic point of view in order to guarantee the best visual appreciation possible depending on the scenes observed and thus reduce maximum the risk of visual discomfort such as when viewing nearby scenes.
Although here the optronic equipment only has two cameras, the optronic equipment may include more cameras. The optronic equipment may example being the equipment described in the WO application 2020/053227 or any other device for generating stereoscopic views. If the device generating Date received / Date received 2021-12-11
26 vues stéréoscopiques comporte une caméra, celle-ci pourra être une caméra infrarouge en bande thermique lointaine (plus connue sous l'acronyme anglais LWIR), et par exemple une caméra dont le spectre lumineux se situe dans la gamme de longueur d'onde 8 à 12 micromètres, ou bien médium (plus connue sous l'acronyme anglais MWIR), et par exemple une caméra dont le spectre lumineux se situe dans la gamme de longueur d'onde 3 à 5 micromètres, ou bien courte (plus connue sous l'acronyme anglais SWIR), et par exemple une caméra dont le spectre lumineux se situe dans la gamme de longueur d'onde 1.3 à 3 micromètres. La caméra pourra bien entendu travailler dans une autre gamme de longueur d'onde que ce qui vient d'être décrit.
Par exemple la caméra pourra travailler dans le domaine du visible.
A la place de projeter directement l'image traitée par l'unité de traitement (image visualisée par le pilote par réflexion sur la visière du casque), l'unité de traitement et/ou le dispositif d'affichage pourra extraire de chaque image traitée droite et gauche une portion d'image traitée droite et gauche, ladite portion étant celle visualisée par le pilote par réflexion sur la visière du casque.
L'unité de traitement et/ou le dispositif d'affichage pourra également réaliser une synthèse des deux images traitées droite et gauche (ou d'une ou deux portions d'images) et projeter directement cette synthèse au lieu que ce soit l'utilisateur lui-même qui effectue cette synthèse.
Le procédé décrit pourra comporter un nombre différent de phases et/ou d'étapes que ce qui a été indiqué. Par ailleurs lesdites étapes et/ou lesdites phases pourront être différentes de ce qui a été décrit.
Ainsi alors que la cinquième phase de la première étape consiste ici en un filtrage par consistance Date reçue / Date received 2021-12-11 26 stereoscopic views includes a camera, this can be a far thermal band infrared camera (better known by the English acronym LWIR), and by example a camera whose light spectrum is located in the wavelength range 8 to 12 micrometers, or medium (better known by the English acronym MWIR), and by example a camera whose light spectrum is located in the wavelength range 3 to 5 micrometers, or short (better known by the English acronym SWIR), and by example a camera whose light spectrum is located in wavelength range 1.3 to 3 micrometers. There camera will of course be able to work in another wavelength range than what has just been described.
For example the camera will be able to work in the domain of the visible.
Instead of directly projecting the image processed by the processing unit (image displayed by the driver by reflection on the helmet visor), the unit of processing and/or the display device may extract from each right and left processed image a right and left processed image portion, said portion being that visualized by the pilot by reflection on the helmet visor.
The processing unit and/or display device can also produce a synthesis of the two images treated right and left (or one or two portions of images) and directly project this synthesis instead whether it is the user himself who carries out this synthesis.
The process described may include a different number of phases and/or steps than what has been indicated. By elsewhere said steps and/or said phases may be different from what has been described.
So while the fifth phase of the first stage consists here of filtering by consistency Date received / Date received 2021-12-11
27 stéréoscopique, on pourra employer (en complément ou en -remplacement) un autre type de filtrage tet qu'un filtrage par accumulation temporelle. On 'pourra ainsi appliquer les formules suivantes : en notant Dft(x,y) la disparité filtrée à l'instant t, Dft-1(x,y) la disparité
filtrée à l'instant t-1, et Dt(x,y) la disparité obtenue à
l'issue de la quatrième phase à l'instant t, on a les équations suivantes à appliquer, avec a un paramètre de filtrage temporel compris entre 0 et 1 :
Dyx, = Dr(x,y) si Dt (x,y) = -let DI-1(x, > -1 Di(x,y) = Dt (x, y) si Dr(x,y) = -let Dt (x, y) > -1 Dtf = a *IDt (x, + (1- a)* Dr(x,y) si Dr(x,y) > -let DI (x, y)> -1 On obtient ainsi à l'issue de cette cinquième phase les cartes de disparités éparses gauche et droite qui sont utilisées en entrée du deuxième module. Ces cartes sont avantageusement plus denses que ce qui a été décrit en relation avec un filtrage de consistance stéréoscopique (dans ce dernier cas le filtrage était uniquement spatial et non temporel et spatial).
Date reçue / Date received 2021-12-11 27 stereoscopic, we can use (in addition or in -replacement) another type of filtering such as a filtering by temporal accumulation. We can thus apply the following formulas: noting Dft(x,y) the disparity filtered at time t, Dft-1(x,y) the disparity filtered at time t-1, and Dt(x,y) the disparity obtained at At the end of the fourth phase at time t, we have the following equations to apply, with a parameter of temporal filtering between 0 and 1:
Dyx, = Dr(x,y) if Dt (x,y) = -let DI-1(x, > -1 Di(x,y) = Dt (x, y) if Dr(x,y) = -let Dt (x, y) > -1 Dtf = a *IDt (x, + (1- a)* Dr(x,y) if Dr(x,y) > -let DI (x, y)> -1 We thus obtain at the end of this fifth phase the left and right sparse disparity maps which are used as input to the second module. These cards are advantageously denser than what was described in relationship with stereoscopic consistency filtering (in the latter case the filtering was only spatial and not temporal and spatial).
Date received / Date received 2021-12-11
Claims (17)
valeur d'entraxe modifiable comprenant au moins les étapes de :
- première étape (1): à partir d'une image initiale droite et d'une image initiale gauche, calculer une première carte de disparité éparse gauche et une première carte de disparité éparse droite, - deuxième étape (2): filtrer au moins une fois la première carte de disparité éparse gauche et la première carte de disparité éparse droite pour au moins les densifier afin d'obtenir une deuxième carte de disparité dense gauche et une deuxième carte de disparité dense droite, et - troisième étape (3): générer par interpolation une image droite et une image gauche d'un point de vue stéréoscopique, la génération desdites images se faisant à partir des images initiales droite et gauche, de la deuxième carte de disparité
dense gauche, de la deuxième carte de disparité dense droite et d'une valeur d'entraxe souhaitée. 1. Method for generating a stereoscopic point of view modifiable center distance value including at least the steps of :
- first step (1): from a straight initial image and an initial left image, calculate a first map of left sparse disparity and a first map of right sparse disparity, - second step (2): filter the first at least once left sparse disparity map and the first map of right sparse disparity to at least densify them in order to to obtain a second left dense disparity map and a second right dense disparity map, and - third step (3): generate an image by interpolation right and left image from a stereoscopic point of view, the generation of said images being done from the images right and left initials, of the second disparity map left dense, from the second right dense disparity map and a desired center distance value.
Date Reçue/Date Received 2023-06-20 4. The method according to claim 3, in which for estimate the association cost of one of the pixels, we calculate the difference between said pixel and the associated pixel in relying on the pixels of the horizontal neighborhoods respective of said two pixels.
Date Received/Date Received 2023-06-20
chaque pixel de l'une des deux images initiales un pixel de l'autre des deux images initiales par minimisation d'un coût d'appariement déterminé à partir de l'agrégation spatiale des coûts. 6. The method according to claim 5, in which we associate with each pixel of one of the two initial images a pixel of the other of the two initial images by minimization of a cost matching determined from the spatial aggregation of costs.
des cartes de disparités éparses gauche et droite. 10. The method according to any one of claims 1 to 9, in which during the second step (2) we densify at least one of the sparse disparity maps using an image guide so that the second step consists of guided filtering left and right sparse disparity maps.
Date Reçue/Date Received 2023-06-20 11. The method according to claim 10, in which during of the second step (2) we solve the following problem (I + AA(g))u = f with u designating the filtering result, f a input image, g a guide image, I an identity matrix of same size as the guide image, Has a matrix of same size as the guide image obtained from g and Has a given parameter.
Date Received/Date Received 2023-06-20
- comme image guide g l'une des images initiales droite et gauche, - comme image d' entrée f la carte de disparité éparse correspondante;
et est résolu une deuxièrne fois en prenant :
- comme image guide g la même image initiale droite ou gauche que pour la première résolution, - comme image d'entrée h un masque de validité carte de disparité éparse que pour la première résolution. 14. The method according to claim 13, in which the aforementioned problem is solved for the first time by taking:
- as guide image g one of the initial images right and LEFT, - as input image f the sparse disparity map corresponding;
and is solved a second time by taking:
- as guide image g the same initial image right or left that for the first resolution, - as input image h a card validity mask sparse disparity than for the first resolution.
exécuter le procédé selon l'une quelconque des revendications 1 à 14.
Date Reçue/Date Received 2023-06-20 17. Computer-readable recording medium, on which is recorded a computer program in the form a code executable by the computer comprising instructions which drive the device for generating stereoscopic views according to claim 15 or 16 to carrying out the method according to any one of the claims 1 to 14.
Date Received/Date Received 2023-06-20
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR2009789 | 2020-09-25 | ||
FR2009789 | 2020-09-25 |
Publications (2)
Publication Number | Publication Date |
---|---|
CA3131716A1 CA3131716A1 (en) | 2023-06-11 |
CA3131716C true CA3131716C (en) | 2024-06-04 |
Family
ID=91335233
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA3131716A Active CA3131716C (en) | 2020-09-25 | 2021-09-23 | Method for generating a stereoscopic viewpoint with a modifiable centre-to-centre distance value |
Country Status (1)
Country | Link |
---|---|
CA (1) | CA3131716C (en) |
-
2021
- 2021-09-23 CA CA3131716A patent/CA3131716C/en active Active
Also Published As
Publication number | Publication date |
---|---|
CA3131716A1 (en) | 2023-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210344891A1 (en) | System and method for generating combined embedded multi-view interactive digital media representations | |
Wu et al. | Light field image processing: An overview | |
CA2592293C (en) | Method for processing images using automatic georeferencing of images derived from a pair of images captured in the same focal plane | |
Wang et al. | Light field video capture using a learning-based hybrid imaging system | |
US11694387B2 (en) | Systems and methods for end to end scene reconstruction from multiview images | |
EP3144881B1 (en) | Method creating a 3-d panoramic mosaic of a scene | |
US20140176540A1 (en) | Occlusion-Aware Reconstruction of Three-Dimensional Scenes from Light Field Images | |
FR2917845A1 (en) | METHOD OF VISUALIZING A SEQUENCE OF IMAGES PRODUCING A RELIEF SENSATION | |
Zhao et al. | Cross-scale reference-based light field super-resolution | |
Dutta | Depth-aware blending of smoothed images for bokeh effect generation | |
US20230345101A1 (en) | Heterogeneous Micro-optics Imaging Module and Method and Apparatus for Image Reconstruction Thereof | |
WO2005010820A2 (en) | Automated method and device for perception associated with determination and characterisation of borders and boundaries of an object of a space, contouring and applications | |
Wu et al. | Geometry based three-dimensional image processing method for electronic cluster eye | |
Hog et al. | An image rendering pipeline for focused plenoptic cameras | |
Kwon et al. | Advanced three-dimensional visualization system for an integral imaging microscope using a fully convolutional depth estimation network | |
EP2469868B1 (en) | Method for correcting hyperstereoscopy and related helmet display system | |
JP2024504012A (en) | Reverse pass-through glasses for augmented reality and virtual reality devices | |
EP0961227B1 (en) | Method of detecting the relative depth between two objects in a scene from a pair of images taken at different views | |
CA3131716C (en) | Method for generating a stereoscopic viewpoint with a modifiable centre-to-centre distance value | |
CN115497061A (en) | Method and device for identifying road travelable area based on binocular vision | |
Latorre-Carmona et al. | Three-dimensional imaging with multiple degrees of freedom using data fusion | |
CN116917791A (en) | Reverse perspective glasses for augmented reality devices and virtual reality devices | |
EP2678823B1 (en) | Device and method for managing the position of the focal plane in a stereoscopic scene | |
Yan et al. | Generating stereoscopic images with convergence control ability from a light field image pair | |
EP3918576A1 (en) | Dynamic three-dimensional imaging method |