FR3013488A1 - Procede d'estimation de la vitesse de deplacement d'une camera - Google Patents

Procede d'estimation de la vitesse de deplacement d'une camera Download PDF

Info

Publication number
FR3013488A1
FR3013488A1 FR1361306A FR1361306A FR3013488A1 FR 3013488 A1 FR3013488 A1 FR 3013488A1 FR 1361306 A FR1361306 A FR 1361306A FR 1361306 A FR1361306 A FR 1361306A FR 3013488 A1 FR3013488 A1 FR 3013488A1
Authority
FR
France
Prior art keywords
point
camera
image
pixel
current image
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.)
Granted
Application number
FR1361306A
Other languages
English (en)
Other versions
FR3013488B1 (fr
Inventor
Andrew Comport
Maxime Meilland
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
PIXMAP S.A.S., FR
Original Assignee
NICE UNS, University of
Centre National de la Recherche Scientifique CNRS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NICE UNS, University of, Centre National de la Recherche Scientifique CNRS filed Critical NICE UNS, University of
Priority to FR1361306A priority Critical patent/FR3013488B1/fr
Priority to EP14800025.0A priority patent/EP3072109A1/fr
Priority to US15/037,625 priority patent/US20160292883A1/en
Priority to PCT/EP2014/074764 priority patent/WO2015071458A1/fr
Publication of FR3013488A1 publication Critical patent/FR3013488A1/fr
Application granted granted Critical
Publication of FR3013488B1 publication Critical patent/FR3013488B1/fr
Priority to US16/269,540 priority patent/US11082633B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • G06T7/248Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving reference images or patches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/90Arrangement of cameras or camera modules, e.g. multiple cameras in TV studios or sports stadiums
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30241Trajectory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Image Analysis (AREA)

Abstract

Ce procédé comporte l'estimation de la vitesse xvR de déplacement d'une caméra en recherchant la vitesse xvR qui minimise un écart directement entre : - une première valeur d'une grandeur physique au niveau d'un premier point (p*) d'une image de référence, et - une seconde valeur de la même grandeur physique au niveau d'un second point (pw2) d'une image courante, la première valeur de la grandeur physique au niveau du premier point (p*) de l'image de référence étant construite : - en sélectionnant des points voisins du premier point (p*) en fonction de la vitesse xvR et d'un temps te égal au temps d'exposition de la première caméra, puis - en moyennant les valeurs de la grandeur physique au niveau des points voisins sélectionnés et du premier point de manière à générer une nouvelle valeur de la grandeur physique au niveau du premier point.

Description

PROCEDE D'ESTIMATION DE LA VITESSE DE DEPLACEMENT D'UNE CAMERA [001] L'invention concerne un procédé et un système d'estimation de la vitesse de déplacement d'une caméra au moment où cette caméra capture une image courante d'une scène tridimensionnelle. L'invention concerne aussi un procédé de construction de la trajectoire d'une caméra et un procédé de traitement d'une image mettant en oeuvre le procédé d'estimation de la vitesse de déplacement. L'invention a également pour objet un support d'enregistrement d'informations pour la mise en oeuvre de ces procédés. [002] Il est bien connu que lorsqu'on déplace une caméra pendant qu'elle capture une image, cela déforme l'image capturée. Par exemple, un flou cinétique plus connu sous le terme anglais de « motion blur » apparaît. Ceci est dû au fait que pour mesurer l'intensité lumineuse d'un point d'une scène, chaque pixel doit rester exposé à la lumière émise par ce point pendant un temps d'exposition te. Si la caméra est déplacée pendant ce temps te, le pixel n'est pas exposé à la lumière d'un seul point, mais à celle émise par plusieurs points. Dès lors, l'intensité lumineuse mesurée par ce pixel est celle de plusieurs points lumineux, ce qui fait apparaître le flou cinétique. [003] De nos jours, il existe aussi de plus en plus de caméras à obturation progressive de pixels ou « rolling shutter camera» en anglais. Dans ces caméras, les lignes de pixels sont capturées les unes après les autres de sorte que, dans la même image, l'instant de capture d'une ligne de pixels est décalé temporellement d'une durée t,8, de l'instant de capture de la ligne de pixels suivante. Si la caméra se déplace pendant la durée tA, cela crée des distorsions de l'image capturée même si l'on considère que le temps te d'exposition est négligeable. [004] Pour corriger de telles déformations, il est nécessaire d'estimer correctement la vitesse de la caméra au moment où celle-ci capture l'image. [5] Pour cela, des procédés connus des inventeurs pour estimer la vitesse de déplacement d'une première caméra au moment où cette première caméra capture une image courante d'une scène tridimensionnelle ont été développés. Ces procédés connus sont des méthodes basées points d'intérêt ou « feature based method » en anglais. Dans ces méthodes basées points d'intérêt, il existe des étapes d'extraction dans chaque image de points particuliers appelés « points d'intérêt ». Ensuite, les points d'intérêt extraits de l'image de référence et de l'image courante doivent être appariés. Ces étapes d'extraction et d'appariement de points d'intérêt sont mal conditionnées, bruitées et non robustes. Elles sont donc complexes à mettre en oeuvre. [6] Ensuite, la vitesse de déplacement de la première caméra est estimée à partir de la vitesse de déplacement de ces points d'intérêts d'une image à l'autre. Toutefois, il est souhaitable de simplifier les procédés connus. [007] A cet effet, l'invention concerne un premier procédé d'estimation de la vitesse de déplacement d'une première caméra au moment où cette première caméra capture une image courante d'une scène tridimensionnelle, ce procédé comportant : a) l'enregistrement dans une mémoire électronique d'une image de référence 5 correspondant à une image de la même scène prise par une seconde caméra dans une pose différente, l'image de référence comportant des pixels organisés en rangées parallèles, la mémoire comportant pour chaque pixel de l'image de référence la mesure d'une grandeur physique mesurée par ce pixel, cette grandeur physique étant choisie dans le groupe composé de l'intensité d'un rayonnement émis 10 par le point photographié par ce pixel et d'une profondeur séparant ce pixel du point de la scène photographié par ce pixel, b) l'enregistrement dans la mémoire électronique de l'image courante, l'image courante comportant des pixels organisés en rangées parallèles, la mémoire contenant pour chaque pixel de l'image courante la mesure d'une grandeur physique 15 mesurée par ce pixel, cette grandeur physique étant la même que la grandeur physique mesurée par les pixels de l'image de référence, c) l'enregistrement dans la mémoire électronique pour chaque pixel de l'image de référence ou de l'image courante de la mesure d'une profondeur qui sépare ce pixel du point de la scène photographié par ce pixel, 20 d) l'estimation d'une pose xpR de la première caméra, e) l'estimation de la vitesse xvR de déplacement de la première caméra pendant la capture de l'image courante, dans lequel l'étape e) est réalisée en recherchant la vitesse xvR qui minimise, pour N points de l'image de référence, où N est un nombre entier supérieur à 10 % du 25 nombre de pixels de l'image de référence, un écart directement entre : - une première valeur de la grandeur physique au niveau d'un premier point de l'image de référence, cette première valeur étant construite à partir d'au moins une mesure de cette grandeur physique mémorisée dans cette image de référence, et - une seconde valeur de la même grandeur physique au niveau d'un second point de 30 l'image courante, cette seconde valeur étant construite à partir des mesures de cette grandeur physique mémorisées dans l'image courante et des coordonnées du second point, les coordonnées du second point étant obtenues à partir d'une projection du point de la scène photographié par le premier point sur le plan de l'image courante, cette projection étant fonction de la pose xpR estimée et des mesures des profondeurs 35 mémorisées dans l'image courante ou de référence, la première valeur de la grandeur physique au niveau du premier point de l'image de référence étant construite : - en sélectionnant des points voisins du premier point, chaque point voisin correspondant à la projection, sur le plan de l'image de référence, d'un troisième point dont les coordonnées sont obtenues en déplaçant le premier point d'une distance T2(- txvR), où t est une durée écoulée depuis le début d'un temps te d'exposition, cette durée étant inférieure ou égale au temps te d'exposition, et T2(...) est une fonction qui intègre la vitesse xvR pendant la durée t, chaque point voisin correspondant à une valeur respective de la durée t et le temps te étant égal au temps d'exposition de la première caméra, puis - en moyennant les valeurs de la grandeur physique au niveau des points voisins sélectionnés et du premier point de manière à générer une nouvelle valeur de la grandeur physique au niveau du premier point, cette nouvelle valeur constituant une estimation de celle qui serait mesurée si le temps d'exposition des pixels de la seconde caméra était égal à te et si la seconde caméra se déplaçait à la vitesse xvR pendant le temps d'exposition te, les valeurs de la grandeur physique au niveau des points voisins étant obtenues à partir des mesures mémorisées dans l'image de référence et des coordonnées des points voisins. [008] L'invention a également pour objet un second procédé d'estimation de la vitesse de déplacement d'une première caméra au moment où cette première caméra capture une image courante d'une scène tridimensionnelle, ce procédé comportant : a) l'enregistrement dans une mémoire électronique d'une image de référence correspondant à une image de la même scène prise par une seconde caméra dans une pose différente, l'image de référence comportant des pixels organisés en rangées parallèles, la mémoire comportant pour chaque pixel de l'image de référence la mesure d'une grandeur physique mesurée par ce pixel, cette grandeur physique étant choisie dans le groupe composé de l'intensité d'un rayonnement émis par le point photographié par ce pixel et une profondeur séparant ce pixel du point de la scène photographié par ce pixel, b) l'enregistrement dans la mémoire électronique de l'image courante, l'image courante comportant des pixels organisés en rangées parallèles, la mémoire contenant pour chaque pixel de l'image courante la mesure d'une grandeur physique mesurée par ce pixel, cette grandeur physique étant la même que la grandeur physique mesurée par les pixels de l'image de référence, c) l'enregistrement dans la mémoire électronique, pour chaque pixel de l'image de référence ou de l'image courante, de la mesure d'une profondeur qui sépare ce pixel 35 du point de la scène photographié par ce pixel, d) l'estimation d'une pose xpR de la première caméra, e) l'estimation de la vitesse xvR de déplacement de la première caméra pendant la capture de l'image courante, dans lequel l'étape e) est réalisée en recherchant la vitesse xvR qui minimise, pour N points de l'image courante, où N est un nombre entier supérieur à 10 % du nombre de pixels de l'image courante, un écart directement entre : - une première valeur de la grandeur physique au niveau d'un premier point de 5 l'image courante, cette première valeur étant construite à partir d'au moins une mesure de cette grandeur physique mémorisée dans cette image courante, et - une seconde valeur de la même grandeur physique au niveau d'un second point de l'image de référence, cette seconde valeur étant construite à partir des mesures de cette grandeur physique mémorisées dans l'image de référence et des coordonnées 10 du second point dans le plan de l'image de référence, les coordonnées du second point étant obtenues à partir d'une projection du point de la scène photographié par le premier point sur le plan de l'image de référence, cette projection étant fonction de la pose xpR estimée et des mesures des profondeurs mémorisées dans l'image courante ou de référence, 15 la seconde valeur de la grandeur physique au niveau du second point de l'image de référence étant construite : - en sélectionnant des points voisins du second point, chaque point voisin correspondant à la projection sur le plan de l'image de référence d'un troisième point dont les coordonnées sont obtenues en déplaçant le second point d'une distance T2(- 20 txvR), où t est une durée écoulée depuis le début d'un temps te d'exposition, cette durée étant inférieure ou égale au temps te d'exposition, et T2(...) est une fonction qui intègre la vitesse xvR pendant la durée t, chaque point voisin correspondant à une valeur respective de la durée t et le temps te étant égal au temps d'exposition de la première caméra, puis 25 - en moyennant les valeurs de la grandeur physique au niveau des points voisins sélectionnés et du second point de manière à générer une nouvelle valeur de la grandeur physique au niveau du second point, cette nouvelle valeur constituant une estimation de celle qui serait mesurée si le temps d'exposition des pixels de la seconde caméra était égal à te et si la seconde caméra se déplaçait à la vitesse xvR 30 pendant le temps d'exposition te, les valeurs de la grandeur physique au niveau des points voisins étant obtenues à partir des mesures mémorisées dans l'image de référence et des coordonnées des points voisins. [009] Les procédés ci-dessus ne mettent pas en oeuvre d'étape d'extraction de points d'intérêt dans les images, ni d'appariement de ces points d'intérêt entre images 35 successives. Pour cela, le procédé ci-dessus minimise directement un écart entre des grandeurs physiques mesurées dans l'image de référence et dans l'image courante pour un grand nombre de pixels de ces images. Ceci simplifie le procédé. [0010] De plus, étant donné que l'écart entre les grandeurs physiques est calculé pour un très grand nombre de points des images, c'est-à-dire pour un nombre supérieur à 10 % des pixels de l'image courante ou de référence, le nombre d'écarts à minimiser est beaucoup plus grand que le nombre d'inconnues à estimer. En particulier, le nombre d'écarts pris en compte pour estimer la vitesse est beaucoup plus grand que dans le cas des méthodes basés points d'intérêt. Ainsi, il existe une redondance plus importante des informations, ce qui rend le procédé ci-dessus plus robuste que les méthodes basées points d'intérêts. [0011] On notera aussi que dans le procédé ci-dessus, seule l'une des images doit 10 associer à chaque pixel une profondeur. Ainsi, la première ou la seconde caméra peut-être une simple caméra monoculaire incapable de mesurer la profondeur qui la sépare de la scène photographiée. [0012] Enfin, les procédés ci-dessus permettent d'estimer précisément la vitesse même en présence d'un floue cinétique dans l'image courante. Pour cela, dans les 15 procédés ci-dessus, un flou cinétique correspondant est ajouté sur les valeurs de la grandeur physique construites à partir des mesures mémorisées dans l'image courante ou de référence. Ainsi, les première et seconde valeurs de la grandeur physique sont toutes les deux affectées par le même floue cinétique ce qui améliore l'estimation de la vitesse. 20 [0013] Les modes de réalisation de ces procédés peuvent comporter une ou plusieurs des caractéristiques suivantes : - le procédé comprend : - la fourniture d'une image courante dans laquelle les rangées de pixels ont été capturées les unes après les autres de sorte qu'une durée t,8, non nulle s'écoule 25 entre les instants de capture de deux rangées successives de l'image courante, et - l'obtention des coordonnées du second point dans le plan de l'image courante : en déterminant les coordonnées d'un troisième point dans le plan de l'image 30 courante qui correspond à la projection sur ce plan du point de la scène photographié par le premier point, ces coordonnées étant déterminées à partir de la pose xpR estimée et des mesures des profondeurs mémorisées dans l'image courante ou de référence, puis en déplaçant le troisième point d'une distance égale et de sens opposé à la 35 distance parcourue par la première caméra entre un instant t1 auquel une première rangée de l'image courante est capturée et un instant t, auquel la rangée de pixels à laquelle appartient le troisième point a été capturée, cette distance étant fonction de la durée t,8, et de la vitesse xvR, et enfin en projetant le troisième point ainsi déplacé sur le plan de l'image courante 40 pour obtenir les coordonnées du second point ; - lors de l'étape e), les coordonnées du second point sont obtenues à l'aide de la relation suivante : - Pw2 = W2(1-2(-TXvR), Pwl où : - Pw2 et pwl sont, respectivement, les coordonnées des second et troisième points dans le plan de l'image courante, - est l'intervalle de temps qui s'est écoulé entre l'instant t1 et l'instant t' - T2(-TxvR) est une fonction qui retourne l'opposé de la distance parcourue par la première caméra entre les instants t1 et t, en intégrant la vitesse -xvR pendant l'intervalle de temps r, et - w2( ) est une projection centrale qui retourne les coordonnées, dans le plan de l'image courante, du troisième point après qu'il ait été déplacé de la distance T2(-TxvR), cette projection centrale étant fonction de paramètres intrinsèques de la première caméra dont notamment sa distance focale ; - le procédé comprend : - la fourniture d'une image courante dans laquelle les rangées de pixels ont été capturées les unes après les autres de sorte qu'une durée t,8, non nulle s'écoule entre les instants de capture de deux rangées successives de l'image courante, et - l'obtention des coordonnées du second point dans le plan de l'image de référence : en déterminant les coordonnées d'un troisième point dans le plan de l'image de référence qui correspond à la projection sur ce plan du point de la scène photographié par le premier point, ces coordonnées étant déterminées à partir de la pose xpR estimée et des mesures des profondeurs mémorisées dans l'image courante ou de référence, puis en déplaçant le troisième point d'une distance égale et de même sens à la distance parcourue par la première caméra entre un instant t1 auquel une première rangée de l'image courante est capturée et un instant t, auquel la rangée de pixels à laquelle appartient le premier point a été capturée, cette distance étant fonction de la durée tA et de la vitesse xvR, et enfin, en projetant le troisième point ainsi déplacé sur le plan de l'image de référence pour obtenir les coordonnées du second point ; - lors de l'étape e), les coordonnées du second point sont obtenues à l'aide de la relation suivante : pw5= w5(T2(TxvR), Pw4), où : - Pw5 et Pw4 sont les coordonnées, respectivement, des second et troisième points dans le plan de l'image de référence, - est l'intervalle de temps qui s'est écoulé entre l'instant t1 et l'instant t' - T2(TxvR) est une fonction qui retourne la distance parcourue par la première caméra entre les instants t1 et t, en intégrant la vitesse xvR, pendant l'intervalle de temps r, et - w5( ) est une projection centrale qui retourne les coordonnées, dans le plan de l'image de référence, du troisième point après qu'il ait été déplacé de la distance T2(TxvR), cette projection centrale étant fonction de paramètres intrinsèques de la seconde caméra dont notamment sa distance focale ; - la vitesse xvR est un vecteur à six coordonnées codant la vitesse de déplacement en translation et en rotation de la première caméra le long de trois axes orthogonaux entre eux de sorte que lors de l'étape e) la vitesse en translation et en rotation de la première caméra est estimée ; - lors de l'étape e), les coordonnées de la pose xpR sont considérées comme étant des inconnues à estimer de sorte que les étapes d) et e) sont alors simultanément réalisées en recherchant simultanément la pose xpR et la vitesse xvR qui minimisent l'écart entre les première et seconde valeurs de la grandeur physique ; - lors de la recherche simultanée de la pose xpR et de la vitesse xvR, les coordonnées de la pose xpR sont définies par la relation xpR=tpxvR + xpR_i, où xpR-1 est l'estimation de la pose de la première caméra à l'instant où cette première caméra a capturé l'image courante précédente, et tp est l'intervalle de temps qui sépare l'instant de capture de l'image courante de l'instant de capture de l'image courante précédente par la première caméra, de sorte que seules six coordonnées sont à estimer lors des étapes d) et e) pour obtenir simultanément des estimations de la vitesse xvR et de la pose xpR ; - l'image de référence est une image capturée par une seconde caméra immobile. 30 [0014] Ces modes de réalisation des procédés d'estimation de la vitesse présentent en outre les avantages suivants : - Déterminer les coordonnées de l'un des premier et second points en prenant en compte le déplacement de la première caméra pendant la durée tA permet d'améliorer l'estimation de la vitesse en présence d'une déformation de l'image courante causée 35 par l'obturation progressive des pixels. ; - Réaliser simultanément les étapes d) et e) permet d'estimer simultanément la pose et la vitesse de la première caméra et donc de reconstruire sa trajectoire dans la scène photographiée sans avoir recours à des capteurs supplémentaires comme un capteur inertiel; - Estimer la pose à partir de la vitesse xvR et du temps tp écoulé entre deux captures successives d'images courantes permet de limiter le nombre d'inconnues à estimer, ce qui simplifie et accélère l'estimation de cette vitesse xvR. - Prendre en tant qu'inconnues la vitesse de déplacement en translation et en rotation 5 permet d'estimer simultanément la vitesse en translation et en rotation de la première caméra. [0015] L'invention a également pour objet un procédé construction de la trajectoire d'une première caméra, ce procédé comportant : a) l'acquisition d'un modèle tridimensionnel de la scène, 10 b) l'enregistrement dans une mémoire électronique d'une succession d'images ordonnées temporellement capturées par la première caméra au cours de son déplacement dans la scène, chaque image comportant des pixels organisés en rangées parallèles, la mémoire contenant pour chaque pixel de l'image courante une mesure d'une grandeur physique choisie dans le groupe composé de l'intensité d'un 15 rayonnement émis par le point photographié par ce pixel et d'une profondeur séparant ce pixel du point de la scène photographié, c) pour chaque image courante : - la construction ou la sélection, à partir du modèle tridimensionnel de la scène, d'une image de référence comportant des pixels ayant photographié les mêmes points de la 20 scène que les pixels de l'image courante, - l'estimation d'une pose de la première caméra au moment où celle-ci capture cette image courante, - la construction de la trajectoire de la première caméra à partir des différentes poses estimées de la première caméra, 25 dans lequel l'estimation de la pose de la première caméra est réalisée à l'aide d'un des procédés ci-dessus. [0016] L'invention a également pour objet un procédé de traitement d'une image courante d'une scène tridimensionnelle, l'image courante comportant des pixels organisés en rangées parallèles, ce procédé comportant : 30 a) l'estimation de la vitesse xvR de déplacement d'une première caméra au moment où cette caméra a capturé l'image courante, b) la modification automatique de l'image courante pour corriger, en fonction de la vitesse xvR estimée, l'image courante de manière à limiter les déformations de l'image courante provoquée par le floue cinétique, 35 dans lequel l'étape d'estimation de la vitesse xvR est réalisée à l'aide d'un des procédés ci-dessus. [0017] L'invention à également pour objet un support d'enregistrement d'informations, comportant des instructions pour la mise en oeuvre d'un des procédés ci-dessus, lorsque ces instructions sont exécutées par un calculateur électronique. [0018] L'invention a également pour objet un premier système d'estimation de la vitesse de déplacement d'une première caméra au moment où cette première caméra capture une image courante d'une scène tridimensionnelle, ce système comportant : - une mémoire électronique contenant : - une image de référence correspondant à une image de la même scène prise par une seconde caméra dans une pose différente, l'image de référence comportant des pixels organisés en rangées parallèles, la mémoire comportant pour chaque pixel de l'image de référence la mesure d'une grandeur physique mesurée par ce pixel, cette grandeur physique étant choisie dans le groupe composé de l'intensité d'un rayonnement émis par le point photographié par ce pixel et d'une profondeur séparant ce pixel du point de la scène photographié par ce pixel, - l'image courante, l'image courante comportant des pixels organisés en rangées parallèles, la mémoire contenant pour chaque pixel de l'image courante la mesure d'une grandeur physique mesurée par ce pixel, cette grandeur physique étant la même que la grandeur physique mesurée par les pixels de l'image de référence, - pour chaque pixel de l'image de référence ou de l'image courante, la mesure d'une profondeur qui sépare ce pixel du point de la scène photographié par ce pixel, - une unité de traitement d'informations apte : - à estimater une pose xpR de la première caméra, - à estimater de la vitesse xvR de déplacement de la première caméra pendant la capture de l'image courante, dans lequel l'unité de traitement d'informations est apte à estimer la vitesse xvR en recherchant la vitesse xvR qui minimise, pour N points de l'image de référence, où N est un nombre entier supérieur à 10 % du nombre de pixels de l'image de référence, un écart directement entre : - une première valeur de la grandeur physique au niveau d'un premier point de 30 l'image de référence, cette première valeur étant construite à partir d'au moins une mesure de cette grandeur physique mémorisée dans cette image de référence, et - une seconde valeur de la même grandeur physique au niveau d'un second point de l'image courante, cette seconde valeur étant construite à partir des mesures de cette grandeur physique mémorisées dans l'image courante et des coordonnées du second 35 point, les coordonnées du second point étant obtenues à partir d'une projection du point de la scène photographié par le premier point sur le plan de l'image courante, cette projection étant fonction de la pose xpR estimée et des mesures des profondeurs mémorisées dans l'image courante ou de référence, la première valeur de la grandeur physique au niveau du premier point de l'image de référence étant construite : - en sélectionnant des points voisins du premier point, chaque point voisin correspondant à la projection, sur le plan de l'image de référence, d'un troisième point 5 dont les coordonnées sont obtenues en déplaçant le premier point d'une distance T2(- txvR), où t est une durée écoulée depuis le début d'un temps te d'exposition, cette durée étant inférieure au temps te d'exposition, et T2(...) est une fonction qui intègre la vitesse -xvR pendant la durée t, chaque point voisin correspondant à une valeur respective de la durée t et le temps te étant égal au temps d'exposition de la première 10 caméra, puis - en moyennant les valeurs de la grandeur physique au niveau des points voisins sélectionnés et du premier point de manière à générer une nouvelle valeur de la grandeur physique au niveau du premier point, cette nouvelle valeur constituant une estimation de celle qui serait mesurée si le temps d'exposition des pixels de la 15 seconde caméra était égal à te et si la seconde caméra se déplaçait à la vitesse xvR pendant le temps d'exposition te, les valeurs de la grandeur physique au niveau des points voisins étant obtenues à partir des mesures mémorisées dans l'image de référence et des coordonnées des points voisins. [0019] Enfin, l'invention a également pour objet un second système d'estimation de 20 la vitesse de déplacement d'une première caméra au moment où cette première caméra capture une image courante d'une scène tridimensionnelle, ce système comportant : - une mémoire électronique contenant : - une image de référence correspondant à une image de la même scène prise 25 par une seconde caméra dans une pose différente, l'image de référence comportant des pixels organisés en rangées parallèles, la mémoire comportant pour chaque pixel de l'image de référence la mesure d'une grandeur physique mesurée par ce pixel, cette grandeur physique étant choisie dans le groupe composé de l'intensité d'un rayonnement émis par le point photographié par ce 30 pixel et une profondeur séparant ce pixel du point de la scène photographié par ce pixel, - l'image courante, l'image courante comportant des pixels organisés en rangées parallèles, la mémoire contenant pour chaque pixel de l'image courante la mesure d'une grandeur physique mesurée par ce pixel, cette 35 grandeur physique étant la même que la grandeur physique mesurée par les pixels de l'image de référence, - pour chaque pixel de l'image de référence ou de l'image courante, la mesure d'une profondeur qui sépare ce pixel du point de la scène photographié par ce pixel, - une unité de traitement d'information apte : - à estimater de la pose xpR de la première caméra, - à estimater de la vitesse xvR de déplacement de la première caméra pendant la capture de l'image courante, dans lequel l'unité de traitement est apte à estimer la vitesse xvR en recherchant la vitesse xvR qui minimise, pour N points de l'image courante, où N est un nombre 10 entier supérieur à 10 °A du nombre de pixels de l'image courante, un écart directement entre : - une première valeur de la grandeur physique au niveau d'un premier point de l'image courante construite à partir d'au moins une mesure de cette grandeur physique mémorisée dans cette image courante, et 15 - une seconde valeur de la même grandeur physique au niveau d'un second point de l'image de référence, cette seconde valeur étant construite à partir des mesures de cette grandeur physique mémorisées dans l'image de référence et des coordonnées du second point, les coordonnées du second point étant obtenues à partir d'une projection du point de la scène photographié par le premier point sur le plan de 20 l'image de référence, cette projection étant fonction de la pose xpR estimée et des mesures des profondeurs mémorisées dans l'image courante ou de référence, la seconde valeur de la grandeur physique au niveau du second point de l'image de référence étant construite : - en sélectionnant des points voisins du second point, chaque point voisin 25 correspondant à la projection sur le plan de l'image de référence d'un troisième point dont les coordonnées sont obtenues en déplaçant le second point d'une distance T2(- txvR), où t est une durée écoulée depuis le début d'un temps te d'exposition, cette durée étant inférieure au temps te d'exposition, et T2(...) est une fonction qui intègre la vitesse xvR pendant la durée t, chaque point voisin correspondant à une valeur 30 respective de la durée t et le temps te étant égal au temps d'exposition de la première caméra, puis - en moyennant les valeurs de la grandeur physique au niveau des points voisins sélectionnés et du second point de manière à générer une nouvelle valeur de la grandeur physique au niveau du second point, cette nouvelle valeur constituant une 35 estimation de celle qui serait mesurée si le temps d'exposition des pixels de la seconde caméra était égal à te et si la seconde caméra se déplaçait à la vitesse xvR pendant le temps d'exposition te, les valeurs de la grandeur physique au niveau des points voisins étant obtenues à partir des mesures mémorisées dans l'image de référence et des coordonnées des points voisins. [0020] L'invention sera mieux comprise à la lecture de la description qui va suivre, donnée uniquement à titre d'exemple non limitatif et faite en se référant aux dessins 5 lesquels : - la figure 1 est une illustration schématique d'un système permettant d'estimer la vitesse de déplacement d'une caméra au moment où celle-ci capture une image ainsi que de traiter et de corriger les images ainsi capturées ; - les figures 2A et 2B sont des chronogrammes illustrant les instants d'acquisition de 10 différentes rangées de pixels, premièrement, dans le cas d'une caméra à obturation progressive de pixels et, secondement, dans le cas d'une caméra à obturation simultanée de tous ses pixels ; - la figure 3 est une illustration schématique d'une étape permettant de déterminer des points correspondants entre une image de référence et une image courante ; 15 - la figure 4 est un organigramme d'un procédé d'estimation de la vitesse d'une caméra ainsi que de traitement des images capturées par cette caméra ; - la figure 5 est une illustration d'un autre mode de réalisation d'une caméra susceptible d'être utilisée dans le système de la figure 1 ; - la figure 6 est un organigramme d'un procédé d'estimation de la vitesse de la 20 caméra de la figure 5; - la figure 7 est une illustration partielle d'un autre procédé d'estimation de la vitesse de la caméra du système de la figure 1 ; - la figure 8 est une illustration schématique d'une étape de détermination de points correspondants dans l'image courante et dans l'image de référence ; 25 - la figure 9 est un chronogramme illustrant l'évolution au cours du temps de l'erreur entre la vitesse estimée et la vitesse réelle dans quatre cas différents. [0021] Dans ces figures, les mêmes références sont utilisées pour désigner les mêmes éléments. [0022] Dans la suite de cette description, les caractéristiques et fonctions bien 30 connues de l'homme du métier ne sont pas décrites en détail. Pour une présentation de l'arrière plan technologique et des notations et concepts utilisés dans cette description, le lecteur peut se référer au livre Li suivant : Yi MA, S. SOATTO, J. KOSECKA, S. SHANKAR SASTRY, «An invitation to 3-D vision. From images to Geometric Models », Springer, 2004 35 [0023] La figure 1 représente un système 2 de traitement d'images pour estimer la pose xpR et la vitesse xvR d'une caméra au moment où celle-ci acquiert une image courante. Ce système est également apte à utiliser la pose xpR et la vitesse xvR estimée pour construire la trajectoire de la caméra et/ou traiter les images courantes afin de les corriger. [0024] Ce système 2 comporte une caméra 4 qui capture une suite ordonnée temporellement d'images d'une scène tridimensionnelle 6. La caméra 4 est mobile, c'est-à-dire qu'elle est déplaçable à l'intérieur de la scène 6 le long d'une trajectoire inconnue à l'avance. Par exemple, la caméra 4 est transportée et déplacée à la main par un utilisateur ou fixée sur un robot ou un véhicule télécommandé qui se déplace à l'intérieur de la scène 6. Ici, la caméra 4 est librement déplaçable dans la scène 6 de sorte que sa pose xpR, c'est-à-dire sa position et son orientation, est un vecteur à six inconnues. [0025] La scène 6 est un espace tridimensionnel. Il peut s'agir d'un espace situé à 10 l'intérieur d'un immeuble tel qu'un bureau, une cuisine ou des couloirs. Il peut également s'agir d'un espace extérieur tel qu'une route, une ville ou un terrain. [0026] La caméra 4 enregistre la suite ordonnée d'images capturées dans une mémoire électronique 10 d'une unité 12 de traitement d'images. Chaque image comporte des pixels organisés en rangées parallèles les unes aux autres. Ici, ces 15 pixels sont organisés en colonnes et en lignes. Chaque pixel correspond à un capteur élémentaire qui mesure une grandeur physique. Ici, la grandeur physique mesurée est choisie parmi l'intensité d'un rayonnement émis par un point de la scène 6 et la distance séparant ce pixel de ce point de la scène 6. Cette distance est appelée « profondeur ». Dans ce premier mode de réalisation, les pixels de la caméra 4 20 mesurent seulement l'intensité de la lumière émise par le point de la scène photographié. Ici, chaque pixel mesure en particulier la couleur du point de la scène photographié par ce pixel. Cette couleur est par exemple codée en utilisant le modèle RGB (Red-Green-Blue). [0027] Ici, la caméra 4 est une caméra à obturation progressive des pixels plus 25 connue sous le terme anglais de « rolling shutter camera ». Dans une telle caméra, les lignes de pixels sont capturées les unes après les autres contrairement à ce qui se passe pour une caméra à obturation simultanée des pixels. Les caméras à obturation simultanée de pixels sont connues sous le terme anglais de « global shutter camera ». 30 [0028] Les figures 2A et 2B illustrent plus précisément les caractéristiques de la caméra 4 comparées à celles d'une caméra à obturation simultanée des pixels. Dans les graphes des figures 2A et 2B, l'axe horizontal représente le temps tandis que l'axe vertical représente le numéro de la ligne de pixels. Dans ces graphes, chaque ligne de pixels, et donc chaque image, est capturée avec une périodicité tp. Le temps 35 nécessaire pour capturer les intensités lumineuses mesurées par chaque pixel d'une même ligne est représenté par un bloc hachuré 30. Chaque bloc 30 est précédé par un temps te d'exposition des pixels aux rayons lumineux à mesurer. Ce temps te est représenté par des rectangles 32. Chaque temps te d'exposition est lui-même précédé d'une durée de réinitialisation des pixels représentés par des blocs 34. [0029] Dans la figure 2A, les pixels sont capturés par la caméra 4, et dans la figure 2B, les pixels sont capturés par une caméra à obturation simultanée des pixels. Ainsi, dans la figure 2A, les blocs 30 sont décalés temporellement les uns par rapport aux autres puisque les différentes lignes d'une même image sont capturées les unes 5 après les autres et non pas simultanément comme dans le cas de la figure 2B. [0030] La durée t,8, qui s'écoule entre les instants de capture de deux lignes de pixels successives est non nulle dans le cas de la figure 2A. Ici, on suppose que la durée t,8, est la même quelle que soit la paire de lignes successives sélectionnées dans l'image capturée par la caméra 4. 10 [0031] De plus, par la suite, on suppose que la durée t,8, est constante dans le temps. Du fait de l'existence de cette durée tA, la capture d'une image complète par la caméra 4 ne peut être réalisée qu'en un temps tr égal à la somme des durées t,8, qui sépare les instants de capture des différentes lignes de l'image complète. [0032] Comme indiqué précédemment, il est bien connu que si la caméra 4 se 15 déplace entre les instants de capture d'une ligne et la suivante, cela introduit une déformation dans l'image capturée. Par la suite, cette déformation est appelée « déformation RS ». [0033] De plus, il est également bien connu que si la caméra 4 se déplace pendant le temps d'exposition te, cela engendre l'apparition d'un flou cinétique dans l'image.
20 Par la suite, cette déformation est appelée « déformation MB ». [0034] Dans la suite de cette description, on suppose que les images capturées par la caméra 4 sont simultanément affectées par ces deux types de déformation, c'est-à-dire les déformations RS et MB. Les procédés suivants tiennent donc compte simultanément de ces deux types de déformation. 25 [0035] Classiquement, chaque caméra est modélisée par un modèle permettant de déterminer, à partir des coordonnées d'un point de la scène, les coordonnées du point, dans le plan de l'image, ayant photographié ce point. Typiquement, le plan d'une image est le plan de l'espace situé entre un centre C de projection et la scène photographiée, sur lequel une projection centrale, de centre C, de la scène permet 30 d'obtenir une image identique à celle photographiée par la caméra. Par exemple, le modèle utilisé est le modèle sténopé ou « pin hole » en anglais. Plus d'informations sur ce modèle peuvent être trouvées dans les articles suivants : - FAUGERAS, 0. (1993). Three-dimensionnal computer vision : a geometric viewpoint. MIT Press Cambridge, MA. 23 35 - HARTLEY, R. I. & ZISSERMAN, A. (2004). Multiple View Geometry in Computer Vision. Cambridge University Press, 2nd edn. 23, 86 [0036] Dans ces modèles, la position de chaque pixel est repérée par les coordonnées d'un point p dans le plan de l'image. Par la suite, pour simplifier la description, on considère que ce point p se trouve à l'intersection d'un axe AO 40 passant par le point de la scène PS (figure 1) photographié par ce pixel et un centre C de projection. Le centre C de projection se trouve à l'intersection de tous les axes optiques de tous les pixels de l'image. La position du centre C par rapport au plan de l'image, dans un repère F tridimensionnel lié sans aucun degré de liberté à la caméra 4, est une caractéristique intrinsèque de la caméra 4. Cette position dépend par 5 exemple de la distance focale de la caméra. Typiquement, l'ensemble des paramètres intrinsèques de la caméra 4 qui permettent de trouver le point p correspondant à la projection du point PS sur le plan PL le long de l'axe OA, sont regroupés au sein d'une matrice connue sous le terme de matrice des paramètres intrinsèques de la caméra ou « intrinsic matrix » en anglais. Cette matrice est notée 10 K. Elle s'écrit typiquement sous la forme suivante : K= où : - f est la distance focale de la caméra exprimée en pixel, - s est le facteur de cisaillement, - r est le rapport de dimension d'un pixel, et 15 - le couple (uo, vo) correspond à la position du point principal en pixel, c'est-à- dire typiquement le centre de l'image. [0037] En général, pour une caméra de bonne qualité, le facteur de cisaillement est nul et le rapport des dimensions est proche de 1. Cette matrice K est notamment utilisée pour déterminer les coordonnées du point p correspondant à la projection du 20 point PS sur le plan PL de la caméra. Par exemple, la matrice K peut être obtenue lors d'une phase d'étalonnage. Une telle phase d'étalonnage est par exemple décrite dans les articles suivants : - TSAI, R.Y. (1992). Radiometry. chap. A versatile camera calibration technique for high-accuracy 3D machine vision metrology using off-the-shelf TV cameras and 25 lenses, 221-244. 23 - HEIKKILA, J. & SILVEN, 0. (1997). A four-step camera calibration procedure with implicit image correction. In IEEE International Conference on Computer Vision and Pattern Recognition, 1106-. 23, 24 - ZHANG, Z. (1999). Flexible camera calibration by viewing a plane from unknown 30 orientations. In International Conference on Computer Vision, 666-673. 23, 24. [0038] Il est également possible d'obtenir cette matrice K à partir d'une image d'un objet ou d'une mire d'étalonnage dont les dimensions sont connues telles qu'un échiquier ou des cercles. [0039] Pour un objectif à focal fixe, cette matrice est constante au cours du temps.
35 Pour faciliter la description qui suit, on supposera donc que cette matrice K est constante et connue. [0040] Dans cette description, on note également xpR la pose de la caméra 4, c'est-à-dire sa position et son orientation dans un repère R lié sans aucun degré de liberté à la scène 6. Ici, le repère R comporte deux axes horizontaux X et Y orthogonaux entre eux et un axe vertical Z. Ainsi, la pose xpR est un vecteur à six coordonnées 5 dont trois pour représenter sa position dans le repère R et trois autres coordonnées pour représenter l'inclinaison de la caméra 4 par rapport aux axes X, Y et Z. Par exemple, la position de la caméra 4 est repérée dans le repère R par les coordonnées de son centre de projection. De même, à titre d'illustration, l'axe utilisé pour repérer l'inclinaison de la caméra 4 par rapport aux axes dans le repère R est 10 l'axe optique de la caméra 4. [0041] Par la suite, on suppose que la caméra 4 est capable de se déplacer avec six degré de liberté, de sorte que les six coordonnées de la pose de la caméra 4 sont des inconnues qui doivent être estimées. [0042] On note également xvR la vitesse de la caméra 4, c'est-à-dire sa vitesse en 15 translation et en rotation exprimée dans le repère R. La vitesse xvR est un vecteur à six coordonnées, dont trois coordonnées correspondent à la vitesse de la caméra 4 en translation le long des axes X, Y et Z, et trois autres coordonnées correspondent aux vitesses angulaires de la caméra 4 autour de ses axes X, Y et Z. [0043] Pour chaque image capturée par la caméra 4 et pour chaque pixel de cette 20 image, les informations suivantes sont enregistrées dans la mémoire 10: - les coordonnées dans le plan de l'image d'un point p identifiant la position du pixel dans le plan PL de l'image, - une mesure de l'intensité lumineuse l(p) mesurée par ce pixel, [0044] Ici, la fonction I(...) est une fonction qui associe à chaque point du plan de 25 l'image PL l'intensité mesurée ou interpolée au niveau de ce point. [0045] L'unité de traitement 12 est une unité capable de traiter les images capturées par la caméra 4 pour estimer la pose xpR et la vitesse xvR de cette caméra à l'instant où elle capture une image. De plus, ici, l'unité 12 est également capable : - de construire la trajectoire de la caméra 4 dans le repère R à partir des poses 30 xpR successives estimées, et - de corriger les images capturées par la caméra 4 pour éliminer ou limiter les déformations RS ou MB. [0046] A cet effet, l'unité 12 comprend un calculateur électronique programmable 14 capable d'exécuter des instructions enregistrées dans la mémoire 12. La mémoire 12 35 comporte notamment les instructions nécessaires pour exécuter l'un quelconque des procédés des figures 4, 6 et 7. [0047] Le système 2 comprend également un dispositif 20 utilisé pour construire un modèle 16 tridimensionnel de la scène 6. Le modèle 16 permet de construire des images de référence augmentées. Ici, par « image augmentée », on désigne une 40 image comportant pour chaque pixel, en plus de l'intensité mesurée par ce pixel, une mesure de la profondeur qui sépare ce pixel du point de la scène qu'il photographie. La mesure de la profondeur permet d'obtenir les coordonnées du point de la scène photographiée par ce pixel. Ces coordonnées sont exprimées dans le repère tridimensionnel lié sans aucun degré de liberté à la caméra ayant pris cette image 5 augmentée. Ces coordonnées se présentent typiquement sous la forme d'un triplet (x, y, D(p)), où : - x et y sont les coordonnées du pixel dans le plan PL de l'image, et - D(p) est la profondeur mesurée qui sépare ce pixel du point de la scène PS qu'il a photographié. 10 [0048] La fonction D associe à chaque point p de l'image augmentée la profondeur D(p) mesurée ou interpolée. [0049] Ici, le dispositif 20 comporte une caméra 22 RGB-D et une unité 24 de traitement capable d'estimer la pose de la caméra 22 dans le repère R. La caméra 22 est une caméra qui mesure à la fois l'intensité lumineuse I*(p*) de chaque point de la 15 scène et la profondeur D*(p*) qui sépare ce pixel du point de la scène photographié. De préférence, la caméra 22 est une caméra à obturation simultanée des pixels. De telles caméras sont par exemple commercialisées par la société Microsoft® telle que la caméra Kinect @ ou par la société ASUS®. [0050] Par la suite, les coordonnées du point PS sont appelées vertex et notées 20 « v* » lorsqu'elles sont exprimées dans le repère F* lié sans aucun degré de liberté à la caméra 22 et « y » lorsqu'elles sont exprimées dans le repère F. De façon similaire, toutes les données relatives à la caméra 22 sont suivies du symbole « * » pour les différencier des mêmes données mais relatives à la caméra 4. [0051] L'unité 24 est, par exemple, équipée d'un calculateur électronique 25 programmable et d'une mémoire comportant les instructions nécessaires pour exécuter un procédé de localisation et de cartographie simultanée, plus connue sous l'acronyme de SLAM (Simultaneous Localization And Mapping). Pour plus de détails sur ces procédés de localisation et de cartographie simultanée, le lecteur peut se référer à l'introduction de l'article Al suivant : M. Meilland et A. I. Comport, « On 30 unifying key-frame and voxel-based dense visual SLAM at large scales » IEEE International Conference on Intelligence Robots and Systems, 2013, 3-8 novembre, Tokyo. [0052] Par exemple, l'unité 24 est embarquée dans la caméra 22. [0053] Le modèle 16 est construit par le dispositif 20 et enregistré dans la 35 mémoire 10. Dans ce mode de réalisation, le modèle 16 est une base de données dans laquelle les différentes images de référence I* sont enregistrées. De plus, dans cette base de données, la pose xpR* de la caméra 22 au moment où celle-ci a capturé l'image I* est associée à chacune de ces images I*. Un tel modèle tridimensionnel de la scène 6 est connu sous le terme de modèle basé images de référence ou « key- frame model » en anglais. Plus d'informations sur un tel modèle peuvent être trouvées dans l'article Al précédemment cité. [0054] Le fonctionnement du système 2 va maintenant être décrit en référence au procédé de la figure 4. [0055] Le procédé débute par une phase 50 d'apprentissage lors de laquelle le modèle 16 est construit puis enregistré dans la mémoire 10. Par exemple, pour cela, lors d'une étape 52, la caméra 22 est déplacée à l'intérieur de la scène 6 pour capturer de nombreuses images de référence 1* à partir de nombreuses poses différentes. Lors de cette étape, la caméra 22 est déplacée lentement pour que le flou cinétique dans les images de référence soit négligeable. De plus, un tel déplacement lent élimine également les déformations causées par l'obturation progressive des pixels. [0056] En parallèle, lors d'une étape 54, l'unité 24 estime les poses successives de la caméra 22 pour chaque image de référence 1* capturée. On remarquera que cette 15 étape 54 peut également être réalisée après l'étape 52, c'est-à-dire une fois que l'ensemble des images de références ont été capturées. [0057] Ensuite, lors d'une étape 56, le modèle 16 est construit puis enregistré dans la mémoire 10. Pour cela, plusieurs images de référence et la pose de la caméra 22 au moment où ces images de référence ont été capturées sont enregistrées dans une 20 base de données. [0058] Une fois la phase d'apprentissage terminée, on peut alors procéder à une phase 60 d'utilisation. [0059] Lors de cette phase 60, et plus précisément lors d'une étape 62, la caméra 4 est déplacée à l'intérieur de la scène 6 le long d'une trajectoire inconnue. En même 25 temps que la caméra 4 est déplacée, celle-ci capture une succession temporelle d'images à partir de différentes poses inconnues. Chaque image capturée est enregistrée dans la mémoire 10. Lors de l'étape 62, la caméra 4 est déplacée avec une vitesse élevée, c'est-à-dire suffisante pour que les déformations RS et MB soient perceptibles dans les images capturées. 30 [0060] En parallèle, lors d'une étape 64, l'unité 12 traite en temps réel chaque image acquise par la caméra 4 pour estimer la pose xpR et la vitesse xvR de la caméra 4 à l'instant où cette image a été capturée. [0061] Par temps réel, on désigne ici le fait que l'estimation de la pose xpR et de la vitesse xvR de la caméra 4 est réalisée dès qu'une image est capturée par la caméra 35 4 et se termine avant que l'image suivante soit capturée par cette même caméra 4. Par la suite, l'image capturée par la caméra 4 utilisée pour déterminer la pose de cette caméra au moment de la capture de cette image est appelée « image courante ». [0062] Pour chaque image courante acquise par la caméra 4, les opérations 40 suivantes sont réitérées. Lors d'une opération 66, l'unité 12 sélectionne ou construit une image de référence 1* qui a photographié un grand nombre de points de la scène 6 commun avec ceux qui ont été photographiés par l'image courante. Par exemple, pour cela, on réalise une estimation grossière de la pose xpR de la caméra 4, puis on sélectionne dans le modèle 16 l'image de référence dont la pose est la plus proche de cette estimation grossière de la pose xpR. Typiquement, l'estimation grossière est réalisée par interpolation à partir des dernières poses et vitesses estimées pour la caméra 4. Par exemple, dans un cas simplifié, l'estimation grossière de la pose xpR est prise égale à la dernière pose estimée pour la caméra 4. Une telle approximation est acceptable, car la fréquence de capture des images courantes est rapide, c'est-à-dire supérieure à 10 Hz ou 20 Hz. Par exemple, dans le cas décrit ici, la fréquence d'acquisition est supérieure ou égale à 30 Hz. [0063] Une fois l'image de référence sélectionnée, lors d'une opération 68, la pose xpR et la vitesse xvR sont estimées. Plus précisément, ici, on estime les variations xp et xv de, respectivement, la pose et la vitesse de la caméra 4 depuis les dernières pose et vitesse estimées, c'est-à-dire les variations de la pose et de la vitesse depuis la dernière image courante capturée. Ainsi, xpR = xpR_i + xp et xvR = xvR_i + xv, où xpR_i et xvR_i sont les pose et vitesse de la caméra 4 estimées pour la précédente image courante. [0064] Pour cela, pour chaque pixel de l'image de référence 1* qui correspond à un 20 pixel dans l'image 1, on recherche la pose xp et la vitesse xv qui minimise l'écart E1 entre les termes 1(x, p*) et l*b(x, p*), où x est un vecteur qui regroupe les inconnues à estimer. Dans ce mode de réalisation, le vecteur x regroupe les coordonnées de la pose xp et de la vitesse xv. La variable x comporte donc 12 coordonnées à estimer. [0065] Toutefois, dans ce premier mode de réalisation, pour limiter le nombre 25 d'inconnues à estimer et donc permettre un exécution plus rapide de l'estimation de la pose xp et de la vitesse xv, on suppose ici qu'entre les instants de capture de deux images courantes successives, la vitesse xvR est constante. Dans ces conditions, la pose xp est reliée à l'estimation de la vitesse xvR par la relation suivante : xvR=xp/tp, où tp est la périodicité d'acquisition des images courantes. Par conséquent, dans ce 30 premier mode de réalisation, seules six coordonnées sont à estimer, c'est-à-dire par exemple les six coordonnées de la vitesse xv. [0066] La minimisation de l'écart E1 est réalisée par itérations successives. Plus précisément, pour cela, les opérations suivantes sont réitérées : 1) Choisir une valeur pour la vitesse xv, 35 2) Calculer la valeur de l'écart E1 pour cette valeur. [0067] Les opérations 1) et 2) sont réitérées en boucle. Lors de l'opération 1) la valeur choisie est modifiée à chaque itération pour essayer de trouver à chaque fois une nouvelle valeur de la vitesse xv qui diminue encore plus l'écart E1 que les précédentes valeurs essayées. [0068] Typiquement, le nombre d'itérations est arrêté lorsqu'un critère d'arrêt est satisfait. Par exemple, les itérations sont arrêtées lorsqu'une valeur de la vitesse xv permet d'obtenir une valeur de l'écart E1 inférieur à un seuil S1 prédéterminé. Un autre critère d'arrêt possible consiste à systématiquement arrêter les itérations des opérations 1) et 2) lorsque le nombre d'itérations réalisées est supérieur à un seuil S2 prédéterminé. [0069] Lors de la première itération, une valeur initiale doit être affectée à la vitesse xv. Par exemple, cette valeur initiale est prise égale à zéro, c'est-à-dire que l'on prend comme première approximation que la vitesse xvR n'a pas variée depuis sa dernière 10 estimation. [0070] Après une itération des opérations 1) et 2), le choix automatique d'une nouvelle valeur de la vitesse xv susceptible de minimiser l'écart E1 est une opération bien connue de minimisation d'écart. Par exemple, des méthodes permettant de choisir cette nouvelle valeur de la vitesse xv sont décrites dans les références 15 bibliographiques suivantes : - MALIS, E. (2004). Improving vision-based control using efficient second-order minimization techniques. In IEEE International Conference on Robotics and Automation, 1843-1848. 15, 30 - BENHIMANE, S., & MALIS, E. (2004). Real-time image-based tracking of planes using 20 efficient second-order minimization. In IEEE International Conference on Intelligent Robots and Systems, 943-948. 30 [0071] D'autres méthodes encore plus robustes sont décrites dans les références bibliographiques suivantes : - NAGER, G. & BELHUMEUR, P. (1998). Efficient region tracking with parametric models 25 of geometry and illumination. IEEE Transactions on Pattern Analysis and Machine Intelligence, 20, 1025 -1039. 31, 100 - COMPORT, AI., MALIS, E. & RIVES, P. (2010). Real-time quadrifocal visual odometry. The International Journal of Robotics Research, 29, 245-266. 16, 19, 21, 31, 102 - ZHANG, Z. (1995). Parameter Estimation Techniques: A Tutorial with Application to 30 Conic Fitting. Tech. Rep. RR-2676, IN RIA. 31, 32 [0072] Par conséquent, le choix d'une nouvelle valeur pour la vitesse xv après chaque itération ne sera pas décrit ici plus en détail. Seule va être décrite maintenant la façon détailler de calculer les différents termes de l'écart E1 pour une valeur donnée de la vitesse xv. 35 [0073] Le terme I,,(x,p*) correspond à la valeur de l'intensité lumineuse du point p* dans l'image de référence construite à partir des intensités lumineuses mesurées dans l'image courante en tenant compte de la déformation RS. La construction de la valeur de ce terme à partir d'une valeur donnée de la vitesse xv est illustrée schématiquement sur la figure 3. Pour simplifier la figure 3, seul un carré de 3 par 3 40 pixels est représenté pour chaque image I et I*. [0074] 1,,(x,p*) correspond ici à la composition de fonctions suivantes : 1(w2(T2(-TxvR)),wi (Ti, v*)). [0075] Ces différentes fonctions vont maintenant être expliquées. Le vertex v* correspond aux coordonnées, exprimées dans le repère F*, du point PS photographié 5 par le pixel centré sur le point p* du plan de l'image PL*. [0076] Dans un premier temps, l'unité 12 recherche le point pwl (Figure 3) de l'image courante correspondant au point p* en faisant d'abord l'hypothèse que la durée t,8, est nulle. Les points pwl et p* correspondent s'ils photographie tous les deux le même point PS de la scène 6. Dans le cas où la durée t,8, est nulle, de nombreux algorithmes 10 connus permettent de trouver les coordonnées du point pwl dans l'image 1 correspondant au point p* dans l'image 1*. Par conséquent, ici, seules les informations générales sur une méthode possible pour faire cela sont données. [0077] Par exemple, l'unité 12 sélectionne dans l'image de référence les coordonnées v* du point PS associées au point p*. Ensuite, l'unité 12 réalise un 15 changement de repère pour obtenir les coordonnées y du même point PS exprimées dans le repère F de la caméra 4. Pour cela, une matrice de pose T1 est utilisée. Les matrices de pose sont bien connues. Le lecteur pourra consulter le chapitre 2 du livre L1 pour plus d'informations. [0078] Les matrices de pose se présentent sous la forme suivante lorsque les 20 coordonnées homogènes sont utilisées: où : - R est une matrice de rotation, et - t est un vecteur de translation. [0079] La matrice R et le vecteur t sont fonction de la pose xpR* et de la pose xpR 25 associées respectivement aux images 1* et I. La pose xpR* est connue à partir du modèle 16. La pose xpR est égale à xpR_i + xp. [0080] Une fois que les coordonnées y du point PS dans le repère F sont obtenues, celles-ci sont projetées par une fonction sur le plan PL de l'image I pour obtenir les coordonnées d'un point pwl. Le point pwl est le point qui correspond à l'intersection du 30 plan PL et de l'axe AO qui passe par le centre C et le point PS de la scène 6. [0081] La fonction wi(...) qui retourne les coordonnées du point pwl correspondant au point p* est connue sous le terme de fonction de « warping ». Il s'agit typiquement d'une projection centrale de centre C. Elle est paramétrée par la fonction T1. Ainsi, on a pwl= wi(Ti,p*) 35 [0082] A ce stade, on remarquera déjà que le point pwl ne tombe pas nécessairement au centre d'un pixel de l'image I. [0083] A cause de l'obturation progressive des pixels, la ligne de pixels à laquelle appartient le point pwl de l'image n'a pas été capturée au même instant que la première ligne de l'image, mais à un intervalle de temps T après que cette première ligne ait été capturée. Ici, la première ligne capturée de l'image I est la ligne en bas de l'image comme illustré sur la figure 2A. La pose xpR que l'on estime est la pose de la caméra 4 au moment où celle-ci capture la ligne du bas de l'image courante. [0084] L'intervalle T peut être calculé comme étant égal à (n+1)t, où n est le nombre de lignes de pixels qui séparent la ligne à laquelle appartient le point pwl et la première ligne capturée. Ici, le nombre n est déterminé à partir de l'ordonnée du point pwl. Plus précisément, on définit une fonction ei(...) qui retourne le nombre n+1 en fonction de l'ordonnée du point pwl dans le plan de l'image. Ainsi, l'intervalle T est donné par la relation suivante : T = tAel(pw1). [0085] De plus, comme la caméra 4 se déplace à la vitesse xvR pendant la capture de l'image, le pixel contenant le point pwl a photographié non pas le point PS de la scène 6, mais un autre point de la scène après que la caméra 4 ait été déplacée d'une distance TxvR. Pour trouver le point Pw2 qui a photographié le point PS, il faut donc déplacer le point pwl en sens inverse puis le projeter à nouveau sur le plan PL. [0086] Ceci est réalisé à l'aide de la composition suivante de fonctions : w2(T2(-TxvR), pw ) où : -T2(-TxvR) est une fonction qui retourne les coordonnées d'un point PT2(v(vR) de 20 l'espace tridimensionnel correspondant à la position du point pwl après que celui-ci ait été déplacé en sens inverse du déplacement de la caméra 4 pendant l'intervalle T, - \A/2(...) est une fonction de « warping » qui retourne les coordonnées du point pw2 correspondant à la projection du point PT2(v(vR) sur le plan PL. [0087] Le point Pw2 se trouve à l'intersection du plan de l'image courante et d'un axe 25 optique passant par le centre C et le point PT2(v(vR). [0088] On remarquera que le signe « - » dans l'expression « -TxvR» indique qu'il s'agit du déplacement en sens opposé du déplacement TxvR. La fonction T2 intègre la vitesse -xvR sur l'intervalle T pour obtenir un déplacement égal au déplacement de la caméra 4 pendant l'intervalle T mais de sens opposé. Ici, la vitesse xvR est considérée 30 comme constante pendant l'intervalle T. La distance parcourue par la caméra 4 pendant l'intervalle T à la vitesse xvR est calculée par intégration de cette vitesse sur l'intervalle de temps T. Par exemple, pour cela, la fonction T2(...) est la matrice exponentielle suivante : T2(-TxvR) = exp(-T[xvR].), où : - exp(...) est la fonction exponentielle, et : 35 - [xvR].est défini par la matrice suivante : [0089] Dans l'équation ci-dessus, le vecteur y correspond aux trois coordonnées de la vitesse en translation de la caméra 4 et le symbole [w]x est la matrice antisymétrique (« skew symmetric matrix » en anglais) de la vitesse angulaire de la caméra 4, c'est-à-dire la matrice suivante : -L7 y L.L.J'r où wx, wy et wz sont les vitesses angulaires de la caméra 4 autour, respectivement, les axes X, Y et Z du repère R. [0090] Le point Pw2, comme le point pwl, ne tombe pas nécessairement au centre d'un pixel. Il est donc ensuite nécessaire d'estimer l'intensité lumineuse au niveau du point Pw2 à partir des intensités lumineuses mémorisées pour les pixels voisins dans l'image courante. Ceci est le rôle de la fonction I(..) qui retourne l'intensité lumineuse au niveau du point p interpolé à partir des intensités lumineuses mémorisées pour les pixels voisins de ce point p. De nombreuses fonctions d'interpolation sont connues. Par exemple, la plus simple consiste à retourner l'intensité mémorisée pour le pixel à l'intérieur duquel se situe le point Pw2. [0091] Si on suppose que la lumière rayonnée par le point PS de la scène 6 ne varie pas au cours du temps et qu'elle est la même quelle que soit le point de vue, alors 15 l'intensité l(pw2) doit être la même que l'intensité 1*(p*) enregistrée dans l'image de référence 1* après prise en compte de la déformation RS. [0092] Toutefois, ici, on a supposé que le flou cinétique n'est pas négligeable dans l'image courante. Les intensités lumineuses mesurées par les pixels de l'image courante sont donc affectées par le flou cinétique alors que les intensités lumineuses 20 mémorisées pour les pixels de l'image de référence ne sont pas affectées par ce flou cinétique. L'intensité estimée l(pw2) est donc affectée par le flou cinétique car elle est construite à partir des intensités lumineuses des pixels de l'image courante dans lesquels la déformation MB n'a pas été corrigée. Par conséquent, si le temps d'exposition te n'est pas négligeable, l'intensité l(pw2) ne correspond donc pas 25 exactement à l'intensité 1*(p*) même si la déformation RS a été éliminée ou au moins diminuée. [0093] Dans ce mode de réalisation, c'est pour cela qu'on ne minimise pas directement l'écart entre les termes lw(x, p*) et 1*(p*) mais l'écart entre les termes lw(x, p*) et l*b(x, p*). 30 [0094] Le terme l*b(x, p*) est une valeur de l'intensité lumineuse qui serait mesurée au niveau du point p* si le temps d'exposition des pixels de la caméra 22 était égal à celui de la caméra 4, et si la caméra 22 se déplaçait à la vitesse xyR pendant la capture de l'image de référence I*. Autrement dit, l'image l*b correspond à l'image 1* après qu'un flou cinétique identique à celui qui affecte l'image courante I ait été ajouté sur l'image de référence. [0095] Pour simuler la déformation MB dans l'image de référence, le terme l*b(x, p*) est construit : - en sélectionnant des points voisins du point p* de l'image I* qui auraient photographié le même point de la scène 6 que celui photographié par le point p* si la caméra 22 se déplaçait à vitesse xvR pendant le temps d'exposition te, puis - en combinant les intensités des points voisins ainsi sélectionnés avec celle du point p* de manière à générer une nouvelle intensité au niveau du point p* avec un flou 10 cinétique. [0096] Ici, les coordonnées des points voisins sont obtenues à l'aide de la composition de fonctions w3(T1-1T2(-txvR)Ti, p*). La composition de fonctions T1-1T2(- txvR)Ti réalise les opérations suivantes : - la matrice de pose T1 transforme les coordonnées v* du point PS de la 15 scène 6 exprimées dans le repère F* en coordonnées y de ce même point exprimées dans le repère F, où v* sont les coordonnées du point PS photographié par le point ID*, - T2(-txvR) déplace le point PS, d'une distance fonction d'un durée t et de la vitesse xvR, pour obtenir les coordonnées d'un nouveau point pT2(-txvR) exprimées dans 20 le repère F, où t est une durée comprise entre zéro et le temps te d'exposition du pixel, et - la matrice de pose T1 transforme les coordonnées du point pT2(-txvR) exprimées dans le repère F en coordonnées exprimées dans le repère F*. [0097] On utilise ici le fait que déplacer la caméra d'une distance txvR par rapport à 25 une scène fixe est équivalent à déplacer la scène fixe de -txvR par rapport à une caméra fixe. [0098] Les fonctions T1 et T2 sont les mêmes que celles précédemment décrites. La fonction T11 estl'inverse de la matrice de pose T1. [0099] La fonction w3(...) est une fonction de « warping » qui projette un point de la 30 scène sur le plan PL* pour obtenir les coordonnées d'un point qui photographie ce point de la scène. Il s'agit typiquement d'une projection centrale de centre C*. Le point Pw3 est donc ici le point situé à l'intersection du plan PL* et de l'axe passant par le centre C* et le point p T2 (-txvR) [00100] On obtient les coordonnées d'un point voisin du point p* pour chaque valeur 35 de la durée t. En pratique, au moins cinq, dix ou vingt valeurs de la durée t régulièrement réparties dans l'intervalle [0 ; te] sont utilisées. [00101] L'intensité au niveau d'un point dans l'image de référence est obtenue à l'aide d'une fonction I*(pw3). La fonction I*(...) est la fonction qui retourne l'intensité au niveau du point Pw3 dans l'image de référence I*. Le point Pw3 ne se trouve pas 40 nécessairement au centre d'un pixel. Ainsi, comme la fonction I(...) décrite précédemment, la fonction I*(...) retourne une intensité au niveau du point Pw3 construite par interpolation à partir des intensités mémorisées pour les pixels voisins du point pw3. [00102] Ensuite, l'intensité l*b(p*) est prise égale à la moyenne des intensités I*(pw3) calculées pour les différents instants t. Par exemple, il s'agit ici de la moyenne 5 arithmétique en utilisant pour chaque terme le même coefficient de pondération. [00103] Après chaque itération qui minimise l'écart El, la matrice de pose T1 est mise à jour avec la nouvelle estimation de la pose xpR obtenue à partir de la nouvelle estimation de la pose xvR. [00104] A l'issue de plusieurs itérations de l'opération 68, la pose xpR et la vitesse xvR 10 peuvent être utilisées pour différents traitements supplémentaires. Typiquement, ces traitements supplémentaires sont réalisés en temps réel s'ils ne sont pas trop longs à exécuter. Sinon, ils sont exécutés hors ligne, c'est-à-dire après que l'ensemble des poses xpR et des vitesses xvR de la caméra 4 aient été calculées. Ici, à titre d'illustration, seule une étape 70 de construction de la trajectoire de la caméra 4 est 15 réalisée en temps réel. [00105] Lors de l'opération 70, après chaque nouvelle estimation de la pose xpR et de la vitesse xvR, l'unité 12 enregistre sous la forme d'une suite ordonnée temporellement la succession des poses xpR estimées. Cette suite ordonnée temporellement constitue alors la trajectoire construite pour la caméra 4. 20 [00106] A titre d'illustration, l'unité 12 effectue également différents traitements hors ligne. Par exemple, lors d'une étape 72, l'unité 12 traite l'image courante pour limiter la déformation RS en utilisant l'estimation de la vitesse xvR. Typiquement, pour cela, les pixels de l'image courante sont déplacés en fonction de la vitesse xvR et de la durée r. Par exemple, ce déplacement de chaque pixel est estimé par la fonction 25 w2(T2(-TxvR),p) pour chaque pixel p de l'image courante. De telles méthodes de traitements d'images sont connues et ne sont donc pas décrites ici plus en détail. Par exemple, de telles méthodes sont décrites dans l'article suivant : F. Baker, E. P. Bennett, S. B. Kang, et R. Szeliski, « Removing rolling shutter wobble », IEEE, Conference on Computer Vision and Pattern recognition, 2010. 30 [00107] En parallèle, lors d'une étape 74, l'unité 12 traite également l'image courante pour limiter les déformations causées par le flou cinétique. De telles méthodes de traitement d'images à partir de l'estimation de la vitesse xvR de la caméra au moment où celle-ci a capturé l'image sont connues. Par exemple, de telles méthodes sont décrites dans les articles suivants : 35 - N. Joshi, F. Kang, L. Zitnick, R. Szeliski, « Image deblurring with inertiel measurement sensors », ACM Siggraph, 2010, et - F. Navarro, F. J. Seràn et D. Gutierrez, « Motion blur rendering: state of the art », Computer Graphics Forum, 2011. [00108] La figure 5 représente un système identique à celui de la figure 1, sauf que la 40 caméra 4 est remplacée par une caméra 80. Pour simplifier la figure 5, seule la caméra 80 est représentée. Cette caméra 80 est une caméra identique à la caméra 22 ou tout simplement la même caméra que la caméra 22. Dans la caméra 80, l'acquisition de la profondeur se fait en obturant progressivement les pixels comme décrits en référence à la figure 2A. Les lignes de pixels capturent la profondeur les unes après les autres. La durée entre les instants de capture de la profondeur par deux lignes de pixels successives est notée tAd. La durée tAd peut être égal ou différent de la durée t8, pour la capture des intensités. [00109] Le temps d'exposition des pixels pour capturer la profondeur est notée ted. Le temps ted est égal ou différent de la durée te d'exposition. La caméra 80 acquiert pour chaque pixel les mêmes informations que la caméra 4 et, en plus, un vertex y codant, dans le repère F, lié sans aucun degré de liberté à la caméra 80, la profondeur du point de la scène photographié par ce pixel. [00110] Le fonctionnement du système de la figure 1 dans lequel la caméra 4 est remplacée par la caméra 80 va maintenant être expliqué en référence au procédé de la figure 6. Ce procédé est identique à celui de la figure 4 sauf que l'opération 68 est remplacée par une opération 84. Lors de l'opération 84, la pose xp et la vitesse xv sont estimées en minimisant en plus de l'écart E1 précédemment décrit, un écart E2 entre les termes suivants Dw(x,p*) et D*b(x,p*). Le terme Dw(x,p*) correspond à l'estimation de la profondeur mesurée au niveau du point p* de l'image de référence construite à partir des profondeurs mémorisées dans l'image courante et en tenant compte de la déformation RS. [00111] Ici, le terme Dw(x,p*) est la composition des fonctions suivantes : D(w2(T2(-TaxvR)),wi(Ti,e)) [00112] Il s'agit donc de la même composition de fonctions que précédemment 25 décrite pour l'intensité I(...) mais dans lequel la fonction I(...) est remplacée par la fonction D(...). La fonction D(...) retourne la valeur de la profondeur au niveau du point Pw2. Comme pour les intensités, la profondeur au niveau du point Pw2 est estimée par interpolation à partir des profondeurs mesurées par les pixels voisins du point Pw2 dans l'image courante. La durée Td est le temps calculé comme la durée T, mais en 30 remplaçant t8, par t.8,d. [00113] Le terme Dw(x,p*) est donc une approximation de la profondeur au niveau du point p* dans l'image de référence construite à partir des profondeurs mesurées par la caméra 80. [00114] Le terme D*b(x,p*) correspond à la profondeur qui serait mesurée au niveau 35 du point p* si la caméra 22 était déplacée à la vitesse xvR et si le temps d'exposition des pixels de la caméra 22 pour mesurer la profondeur était égal au temps d'exposition ted. Ici, le terme D*b(x,p*) est construit de façon similaire à ce qui a été décrit pour le terme l*b(x,p*). Ainsi, le terme D*b(x,p*) est construit : - en sélectionnant des points voisins du point p* de l'image I* qui auraient photographié le même point de la scène que celui photographié par le point p* si la caméra 22 se déplaçait à vitesse xvR pendant le temps d'exposition ted, puis - en combinant les profondeurs des points voisins ainsi sélectionnés avec celle du 5 point p* de manière à générer une nouvelle profondeur au niveau du point p* avec un flou cinétique. [00115] La sélection des points voisins est identique à celle précédemment décrite pour le terme l*b(x,p*) sauf que le temps te est remplacé par le temps ted. La profondeur mesurée par les points voisins est obtenue à l'aide d'une fonction D*(...).
10 La fonction D*(pw3) est la fonction qui retourne la profondeur au niveau du point Pw3 à partir des profondeurs mesurées pour les pixels voisins du point Pw3. [00116] De plus, dans ce cas particulier, on suppose que les temps tA, t8,d, te et ted sont des inconnues. Ainsi, la variable x comporte en plus des six coordonnées de la vitesse xv, quatre coordonnées destinées à coder les valeurs des temps tA, tAd, te et ted.
15 Ainsi, les étapes de minimisation simultanée des écarts E1 et E2, conduisent à estimer, en plus de la vitesse xv, également la valeur des temps tA, t8,d, te et ted. [00117] La figure 7 représente un autre procédé pour estimer la pose xpR et la vitesse xvR de la caméra 4 à l'aide du système 2. Ce procédé est identique à celui de la figure 4, sauf que l'opération 68 est remplacée par une opération 90. Pour simplifier la 20 figure 7, seule la partie du procédé comportant l'opération 90 a été représentée. Les autres parties du procédé sont identiques à celles précédemment décrites. [00118] L'opération 90 va maintenant être expliquée en référence à la figure 8. Dans la figure 8, les mêmes simplifications que celles réalisées dans la figure 3 ont été appliquées. 25 [00119] Lors de l'étape 90, la pose xp et la vitesse xv sont estimées en minimisant un écart E3 entre les termes suivants : l*w(x,p) et l(p). [00120] Le terme l(p) est l'intensité mesurée au niveau du point p par la caméra 4. [00121] Le terme l*w(x,p) correspond à l'estimation de l'intensité au niveau du point p de l'image courante construite à partir des intensités mémorisées dans l'image de 30 référence I* en tenant compte des déformations RS et MB de la caméra 4. Ici, le terme l*w(x,p) correspond à la composition suivante de fonctions : l*b(w5(T2(TxvR)),w4(T1-1, y)) [00122] Le vertex y contient les coordonnées dans le repère F du point PS photographié par le point p. Ce vertex y est estimé à partir des vertex v* de l'image de 35 référence. Par exemple, on cherche dans un premier temps les points pwl les plus proches du point p, puis le vertex y est estimé par interpolation à partir des coordonnées Tiv* des vertex associés à ses points pwl les plus proches. [00123] T1-1 est la matrice de pose inverse de la matrice T1. Elle transforme donc les coordonnées du vertex y, exprimées dans le repère F, en coordonnées v* exprimées 40 dans le repère F*. La fonction wa est une fonction de « warping » qui projette le vertex e sur le plan PL* de l'image de référence pour obtenir les coordonnées d'un point Pw4 (Figure 8). Par exemple, la fonction w4(...) est identique à la fonction w3. [00124] Dans ce mode de réalisation, on cherche à obtenir l'intensité qui aurait été mesurée au niveau du point Pw4 si la caméra 22 était une caméra à obturation 5 progressive des pixels identique sur ce point à la caméra 4. Pour cela, il faut déplacer le point Pw4 d'un déplacement fonction de et de la vitesse xvR. Ce déplacement est ici T2(TxvR) c'est-à-dire le même que pour le procédé de la figure 4, mais en sens inverse. Après avoir déplacé le point pw4 de T2(TxvR) on obtient un point PT2(t)(vR). Après projection dans le plan PL* du point PT2(t)(vR) par la fonction w5(...), on obtient les coordonnées du 10 point Pw5. [00125] La fonction l*b(...) est la même que celle précédemment définie, c'est-à-dire qu'elle permet d'estimer la valeur de l'intensité au niveau du point Pw5 qui serait mesurée par les pixels de la caméra 22 si son temps d'exposition était égal à te, et si la caméra 22 se déplaçait à la vitesse xvR. La fonction l*b(...) introduit donc le même 15 flou cinétique sur l'image de référence que celui observé sur l'image courante. [00126] L'estimation des valeurs de la pose xp et de la vitesse xv qui minimisent l'écart E3 est réalisée comme dans le cas décrit pour l'écart El. [00127] La figure 9 représente l'évolution au cours du temps de la différence entre la vitesse angulaire estimée à l'aide du procédé de la figure 4 et la vitesse angulaire 20 réelle de la caméra 4. Les courbes représentées ont été obtenues expérimentalement. Chaque courbe représentée a été obtenue en utilisant la même séquence d'images courantes et les mêmes images de référence. Dans la figure 9, l'axe des abscisses représente le nombre d'images courantes traitées, tandis que l'axe des ordonnées représente l'erreur entre la vitesse angulaire réelle et la vitesse 25 angulaire estimée. Cette erreur est exprimée ici sous la forme d'une erreur RMSE (Root Mean Square Error). [00128] La courbe 91 représente l'évolution de l'erreur sans corriger les déformations RS et MB. Dans ce cas, les estimations de la vitesse xv sont par exemple obtenues avec le procédé de la figure 4 mais en prenant le temps te et la durée tA égaux à zéro. 30 [00129] La courbe 92 correspond au cas où seule la déformation RS est corrigée. Cette courbe est obtenue en exécutant le procédé de la figure 4 en prenant une valeur de la durée tA non nulle et en fixant le temps te à zéro. [00130] La courbe 94 correspond au cas où seule la déformation MB est corrigée. Cette courbe est obtenue en exécutant le procédé de la figure 4 en prenant une 35 valeur pour le temps te non nulle et en fixant la durée t,8, à zéro. [00131] Enfin, la courge 96 correspond au cas où les déformations RS et MB sont simultanément corrigées. Cette courbe est obtenue en exécutant le procédé de la figure 4 en prenant des valeurs non nulles pour le temps te et la durée tA. [00132] Comme l'illustrent ces courbes, dans la situation testée expérimentalement, 40 les résultats obtenus sont meilleurs dès qu'au moins l'une des déformations RS et MB est prise en compte. Sans surprise, les meilleurs résultats sont obtenus lorsque les deux déformations RS et MB sont simultanément prises en compte. Dans la situation testée, la prise en compte de la seule déformation MB (courbe 94) donne de de meilleurs résultats que la seule prise en compte de la déformation RS (courbe 92). 5 [00133] De nombreux autres modes de réalisation sont possibles. Par exemple, l'unité 24 peut être embarquée à l'intérieur de la caméra 22. La caméra 22 peut également comporter des capteurs qui mesurent directement sa pose à l'intérieur de la scène 6 sans avoir pour cela à réaliser des traitements d'images. Par exemple, un tel capteur est un capteur inertiel qui mesure l'accélération de la caméra 22 le long de 10 trois axes orthogonaux. [00134] Les caméras 22 et 4 peuvent être identiques ou différentes. Les caméras 22 et 4 peuvent mesurer l'intensité du rayonnement émis par un point de la scène à des longueurs d'onde autre que celles visibles par un être humain. Par exemple, les caméras 22 et 4 peuvent travailler dans l'infrarouge. 15 [00135] L'unité 12 peut être embarquée dans la caméra 4 pour réaliser les traitements en temps réel. Toutefois, l'unité 12 peut aussi être mécaniquement distincte de la caméra 4. Dans ce dernier cas, les images capturées par la caméra 4 sont, dans un second temps, téléchargées dans la mémoire 10, puis traitées par l'unité 12 ultérieurement. 20 [00136] Le modèle 16 tridimensionnelle de la scène 6 peut être différent d'un modèle basé images de référence. Par exemple, le modèle 16 peut être remplacé par un modèle informatique volumétrique de la scène 6 en trois dimensions obtenu par exemple par conception assistée par ordinateur. Ensuite, chaque image de référence est construite à partir de ce modèle mathématique. Plus de détails sur ces autres 25 types de modèles tridimensionnels peuvent être trouvés dans l'article Al. [00137] L'image de référence peut être une image sélectionnée dans le modèle 16 ou alors une image construite à partir des images contenues dans le modèle 16. Par exemple, l'image de référence peut être obtenue en combinant plusieurs images contenues dans le modèle 16, comme décrit dans l'article Ai, de manière à obtenir 30 une image de référence dont la pose soit plus proche de la pose estimée de l'image courante. [00138] Dans une autre variante, le modèle 16 n'est pas nécessairement construit au préalable lors d'une phase d'apprentissage. Au contraire, il peut être construit au fur et à mesure que la caméra 80 est déplacée dans la scène 6. La construction 35 simultanée de la trajectoire de la caméra 80 et de la cartographie de la scène 6 est connue sous l'acronyme SLAM (Simultaneous Localization And Mapping). Dans ce cas, par exemple, les images de la caméra 80 sont ajoutées au modèle 16 au fur et à mesure qu'elles se déplacent dans la scène 6. De préférence, avant d'ajouter une image de référence au modèle 16, celle-ci est traitée pour limiter la déformation RS et/ou MB comme décrit dans les étapes 72 et 74. Dans cette variante la phase 50 et le dispositif 20 sont omis. [00139] De nombreux autres modes de réalisation du procédé sont également possibles. Par exemple, l'estimation xpR de la pose de la caméra 4 peut être obtenue d'une manière différente. Par exemple, la caméra 4 est équipée d'un capteur mesurant sa pose dans la scène, tel qu'un capteur inertiel et l'estimation de la pose xpR est obtenue à partir des mesures de ce capteur embarqué dans la caméra 4. [00140] Dans un autre mode de réalisation, les écarts E1 ou E3 sont calculés, non pas pour une seule image de référence, mais pour plusieurs images de référence. Ainsi, dans le procédé de la figure 4, l'écart E1 est alors remplacé par les écarts E11 ou E1.2 où l'écart E1.1 est calculé à partir d'une première image de référence, et l'écart E 1 2 est calculé à partir d'une seconde image de référence distincte de la première. [00141] Il est également possible d'utiliser d'autres modèles que le modèle sténopé pour modéliser une caméra, en particulier, de préférence, le modèle sténopé est complété par un modèle des distorsions radiales pour corriger les aberrations ou distorsions causées par les lentilles de la caméra. De tels modèles de distorsions peuvent être trouvés dans l'article suivant : SLAMA, C.C. (1980). Manuel of Photogrammetry. American Society of Photogrammetry, 4th edn. 24. [00142] En variante, les coordonnées de la pose xpR peuvent être considérées comme étant indépendantes de la vitesse xvR. Dans ce cas, le même procédé que précédemment décrit est mis en oeuvre, sauf que la variable x contiendra à la fois les six coordonnées de la pose xp et les six coordonnées de la vitesse xv. A l'inverse, il est possible que le nombre de degrés de liberté de la caméra 4 ou 80 soit inférieur à six. C'est par exemple le cas si la caméra ne peut se déplacer que dans un plan horizontal ou ne peut pas tourner sur elle-même. Cette limitation du nombre de degrés de liberté en déplacement est alors pris en compte en réduisant le nombre de coordonnées inconnues nécessaires pour déterminer la pose et la vitesse de la caméra. De même, dans une autre variante, s'il est nécessaire d'estimer l'accélération xa de la caméra 4 au moment où celle-ci capture l'image, six coordonnées supplémentaires peuvent être ajoutées à la variable x correspondant chacune à l'une des coordonnées de l'accélération xa. L'accélération xa correspond à l'accélération linéaire le long des axes X, Y et Z ainsi que l'accélération angulaire autour de ces mêmes axes. [00143] Les différents écarts E1, E2 et E3 décrit précédemment peuvent être utilisés en combinaison ou, au contraire, en alternance. Par exemple, la vitesse xv peut être déterminée en utilisant seulement l'écart E2 entre les profondeurs. Dans ce cas, il n'est pas nécessaire que les caméras 4 et 22 mesurent et enregistrent des intensités pour chaque pixel. De même, le procédé de la figure 7 peut être adapté au cas où la grandeur physique mesurée par la caméra 4 est la profondeur et non pas l'intensité lumineuse. Si la caméra 80 est utilisée, il n'est pas nécessaire que l'image de référence comporte une profondeur associée à chaque pixel. En effet, le vertex y est alors connu et, par exemple, le procédé de la figure 7 peut être mis en oeuvre sans avoir à utiliser les vertex v*. [00144] D'autres fonctions sont possibles pour estimer le déplacement inverse de la 5 caméra 4 ou 80 pendant qu'elle capture l'image courante. Par exemple, au lieu d'utiliser la transformation T2(-TxvR), on peut aussi utiliser la transformation T2-1(TxvR). [00145] Il n'est pas non plus nécessaire d'utiliser l'ensemble des pixels des images de référence et de l'image courante qui se correspondent. En variante, pour diminuer le nombre de calculs nécessaire pour estimer la vitesse xv, seuls 10 % ou 50 % ou 70 % 10 ou 90 % des pixels d'une des images ayant des pixels correspondants dans l'autre image sont pris en compte lors de la minimisation des écarts E1, E2 OU E3. [00146] Si le flou cinétique dans les images capturées par la caméra 4 est négligeable, alors la fonction l*b(...) peut être prise égale à la fonction I*(...). Cela revient donc à fixer le temps te à zéro dans les équations précédemment décrites. 15 [00147] A l'inverse, si la déformation RS est négligeable dans les images capturées par la caméra 4 ou tout simplement si cette caméra 4 est une caméra à obturation simultanée des pixels, la fonction I,,(p*) est prise égale à la fonction 1(wi(Ti,v*)). Cela revient donc simplement à prendre la valeur de la durée t,8, et/ou de la durée tAD égale à zéro dans les modes de réalisation précédents. 20 [00148] Les temps tA, tAD, te et teD peuvent être mesurés lors de la phase d'apprentissage ou estimés lors des premières itérations dans la phase 60 d'utilisation. [00149] L'estimation de la vitesse xvR peut être utilisée pour d'autres traitements de l'image que ceux précédemment décrits. 25 [00150] L'estimation de la vitesse xvR et de la pose xpR n'est pas nécessairement réalisée en temps réelle. Par exemple, elle peut être réalisée une fois que la capture des images par la caméra 4 ou 80 est terminée.

Claims (10)

  1. REVENDICATIONS1. Procédé d'estimation de la vitesse de déplacement d'une première caméra au moment où cette première caméra capture une image courante d'une scène 5 tridimensionnelle, ce procédé comportant : a) l'enregistrement (56) dans une mémoire électronique d'une image de référence correspondant à une image de la même scène prise par une seconde caméra dans une pose différente, l'image de référence comportant des pixels organisés en rangées parallèles, la mémoire comportant pour chaque pixel de l'image de 10 référence la mesure d'une grandeur physique mesurée par ce pixel, cette grandeur physique étant choisie dans le groupe composé de l'intensité d'un rayonnement émis par le point photographié par ce pixel et d'une profondeur séparant ce pixel du point de la scène photographié par ce pixel, b) l'enregistrement (62) dans la mémoire électronique de l'image courante, l'image 15 courante comportant des pixels organisés en rangées parallèles, la mémoire contenant pour chaque pixel de l'image courante la mesure d'une grandeur physique mesurée par ce pixel, cette grandeur physique étant la même que la grandeur physique mesurée par les pixels de l'image de référence, c) l'enregistrement (56) dans la mémoire électronique pour chaque pixel de l'image de 20 référence ou de l'image courante de la mesure d'une profondeur qui sépare ce pixel du point de la scène photographié par ce pixel, d) l'estimation (68; 84) d'une pose xpR de la première caméra, e) l'estimation (68; 84) de la vitesse xvR de déplacement de la première caméra pendant la capture de l'image courante, 25 caractérisé en ce que l'étape e) est réalisée en recherchant la vitesse xvR qui minimise, pour N points de l'image de référence, où N est un nombre entier supérieur à 10 % du nombre de pixels de l'image de référence, un écart directement entre : - une première valeur de la grandeur physique au niveau d'un premier point (p*) de l'image de référence, cette première valeur étant construite à partir d'au moins une 30 mesure de cette grandeur physique mémorisée dans cette image de référence, et - une seconde valeur de la même grandeur physique au niveau d'un second point (pw2) de l'image courante, cette seconde valeur étant construite à partir des mesures de cette grandeur physique mémorisées dans l'image courante et des coordonnées du second point, les coordonnées du second point étant obtenues à partir d'une 35 projection du point de la scène photographié par le premier point (p*) sur le plan de l'image courante, cette projection étant fonction de la pose xpR estimée et des mesures des profondeurs mémorisées dans l'image courante ou de référence,la première valeur de la grandeur physique au niveau du premier point (p*) de l'image de référence étant construite : - en sélectionnant des points voisins du premier point (p*), chaque point voisin correspondant à la projection, sur le plan de l'image de référence, d'un troisième point 5 dont les coordonnées sont obtenues en déplaçant le premier point d'une distance T2(- txvR), où t est une durée écoulée depuis le début d'un temps te d'exposition, cette durée étant inférieure ou égale au temps te d'exposition, et T2(...) est une fonction qui intègre la vitesse xvR pendant la durée t, chaque point voisin correspondant à une valeur respective de la durée t et le temps te étant égal au temps d'exposition de la 10 première caméra, puis - en moyennant les valeurs de la grandeur physique au niveau des points voisins sélectionnés et du premier point de manière à générer une nouvelle valeur de la grandeur physique au niveau du premier point, cette nouvelle valeur constituant une estimation de celle qui serait mesurée si le temps d'exposition des pixels de la 15 seconde caméra était égal à te et si la seconde caméra se déplaçait à la vitesse xvR pendant le temps d'exposition te, les valeurs de la grandeur physique au niveau des points voisins étant obtenues à partir des mesures mémorisées dans l'image de référence et des coordonnées des points voisins. 20
  2. 2. Procédé selon la revendication 1, dans lequel le procédé comprend : - la fourniture d'une image courante dans laquelle les rangées de pixels ont été capturées les unes après les autres de sorte qu'une durée t,8, non nulle s'écoule entre les instants de capture de deux rangées successives de l'image courante, et - l'obtention des coordonnées du second point (pw2) dans le plan de l'image courante : 25 - en déterminant les coordonnées d'un troisième point (pwl) dans le plan de l'image courante qui correspond à la projection sur ce plan du point de la scène photographié par le premier point (p*), ces coordonnées étant déterminées à partir de la pose xpR estimée et des mesures des profondeurs mémorisées dans l'image courante ou de référence, puis 30 - en déplaçant le troisième point (pwl) d'une distance égale et de sens opposé à la distance parcourue par la première caméra entre un instant t1 auquel une première rangée de l'image courante est capturée et un instant ti auquel la rangée de pixels à laquelle appartient le troisième point (pwl) a été capturée, cette distance étant fonction de la durée t,8, et de la vitesse xvR, et enfin 35 - en projetant le troisième point (pwl) ainsi déplacé sur le plan de l'image courante pour obtenir les coordonnées du second point (pw2).
  3. 3. Procédé selon la revendication 2, dans lequel, lors de l'étape e), les coordonnées du second point (pw2) sont obtenues à l'aide de la relation suivante : pw2 = w2(T2(-TxvR), pwl), où : - Pw2 et pwl sont, respectivement, les coordonnées des second et troisième points dans le plan de l'image courante, - est l'intervalle de temps qui s'est écoulé entre l'instant t1 et l'instant t' - T2(-TxvR) est une fonction qui retourne l'opposé de la distance parcourue par la première caméra entre les instants t1 et t, en intégrant la vitesse -xvR pendant 10 l'intervalle de temps r, et - w2(... ) est une projection centrale qui retourne les coordonnées, dans le plan de l'image courante, du troisième point (pwl) après qu'il ait été déplacé de la distance T2(- TxvR), cette projection centrale étant fonction de paramètres intrinsèques de la première caméra dont notamment sa distance focale. 15
  4. 4. Procédé d'estimation de la vitesse de déplacement d'une première caméra au moment où cette première caméra capture une image courante d'une scène tridimensionnelle, ce procédé comportant : a) l'enregistrement (56) dans une mémoire électronique d'une image de référence 20 correspondant à une image de la même scène prise par une seconde caméra dans une pose différente, l'image de référence comportant des pixels organisés en rangées parallèles, la mémoire comportant pour chaque pixel de l'image de référence la mesure d'une grandeur physique mesurée par ce pixel, cette grandeur physique étant choisie dans le groupe composé de l'intensité d'un rayonnement émis 25 par le point photographié par ce pixel et une profondeur séparant ce pixel du point de la scène photographié par ce pixel, b) l'enregistrement (62) dans la mémoire électronique de l'image courante, l'image courante comportant des pixels organisés en rangées parallèles, la mémoire contenant pour chaque pixel de l'image courante la mesure d'une grandeur physique 30 mesurée par ce pixel, cette grandeur physique étant la même que la grandeur physique mesurée par les pixels de l'image de référence, c) l'enregistrement dans la mémoire électronique, pour chaque pixel de l'image de référence ou de l'image courante, de la mesure d'une profondeur qui sépare ce pixel du point de la scène photographié par ce pixel, 35 d) l'estimation (90) d'une pose xpR de la première caméra, e) l'estimation (90) de la vitesse xvR de déplacement de la première caméra pendant la capture de l'image courante,caractérisé en ce que l'étape e) est réalisée en recherchant la vitesse xvR qui minimise, pour N points de l'image courante, où N est un nombre entier supérieur à 10 % du nombre de pixels de l'image courante, un écart directement entre : - une première valeur de la grandeur physique au niveau d'un premier point (p) de 5 l'image courante, cette première valeur étant construite à partir d'au moins une mesure de cette grandeur physique mémorisée dans cette image courante, et - une seconde valeur de la même grandeur physique au niveau d'un second point (pw5) de l'image de référence, cette seconde valeur étant construite à partir des mesures de cette grandeur physique mémorisées dans l'image de référence et des 10 coordonnées du second point dans le plan de l'image de référence, les coordonnées du second point étant obtenues à partir d'une projection du point de la scène photographié par le premier point (p*) sur le plan de l'image de référence, cette projection étant fonction de la pose xpR estimée et des mesures des profondeurs mémorisées dans l'image courante ou de référence, 15 la seconde valeur de la grandeur physique au niveau du second point (pw5) de l'image de référence étant construite : - en sélectionnant des points voisins du second point, chaque point voisin correspondant à la projection sur le plan de l'image de référence d'un troisième point dont les coordonnées sont obtenues en déplaçant le second point d'une distance T2(- 20 txvR), où t est une durée écoulée depuis le début d'un temps te d'exposition, cette durée étant inférieure ou égale au temps te d'exposition, et T2(...) est une fonction qui intègre la vitesse xvR pendant la durée t, chaque point voisin correspondant à une valeur respective de la durée t et le temps te étant égal au temps d'exposition de la première caméra, puis 25 - en moyennant les valeurs de la grandeur physique au niveau des points voisins sélectionnés et du second point de manière à générer une nouvelle valeur de la grandeur physique au niveau du second point, cette nouvelle valeur constituant une estimation de celle qui serait mesurée si le temps d'exposition des pixels de la seconde caméra était égal à te et si la seconde caméra se déplaçait à la vitesse xvR 30 pendant le temps d'exposition te, les valeurs de la grandeur physique au niveau des points voisins étant obtenues à partir des mesures mémorisées dans l'image de référence et des coordonnées des points voisins.
  5. 5. Procédé selon la revendication 4, dans lequel le procédé comprend : 35 - la fourniture d'une image courante dans laquelle les rangées de pixels ont été capturées les unes après les autres de sorte qu'une durée t,8, non nulle s'écoule entre les instants de capture de deux rangées successives de l'image courante, et- l'obtention des coordonnées du second point (pw5) dans le plan de l'image de référence : - en déterminant les coordonnées d'un troisième point (pw4) dans le plan de l'image de référence qui correspond à la projection sur ce plan du point de la scène photographié par le premier point (p), ces coordonnées étant déterminées à partir de la pose xpR estimée et des mesures des profondeurs mémorisées dans l'image courante ou de référence, puis - en déplaçant le troisième point (pw4) d'une distance égale et de même sens à la distance parcourue par la première caméra entre un instant t1 auquel une première rangée de l'image courante est capturée et un instant t, auquel la rangée de pixels à laquelle appartient le premier point (p) a été capturée, cette distance étant fonction de la durée t,8, et de la vitesse xvR, et enfin, - en projetant le troisième point (pw4) ainsi déplacé sur le plan de l'image de référence pour obtenir les coordonnées du second point (pw5).
  6. 6. Le procédé selon la revendication 5, dans lequel lors de l'étape e), les coordonnées du second point (pw5) sont obtenues à l'aide de la relation suivante : pw5= W5(T2(TXvR), Pw4), où : - Pw5 et Pw4 sont les coordonnées, respectivement, des second et troisième points dans le plan de l'image de référence, - est l'intervalle de temps qui s'est écoulé entre l'instant t1 et l'instant t' - T2(TxvR) est une fonction qui retourne la distance parcourue par la première caméra entre les instants t1 et t, en intégrant la vitesse xvR, pendant l'intervalle de temps r, et - w5( ) est une projection centrale qui retourne les coordonnées, dans le plan de l'image de référence, du troisième point (pw5) après qu'il ait été déplacé de la distance T2(TxvR), cette projection centrale étant fonction de paramètres intrinsèques de la seconde caméra dont notamment sa distance focale.
  7. 7. Procédé selon l'une quelconque des revendications précédentes, dans lequel la vitesse xvR est un vecteur à six coordonnées codant la vitesse de déplacement en translation et en rotation de la première caméra le long de trois axes orthogonaux entre eux de sorte que lors de l'étape e) la vitesse en translation et en rotation de la première caméra est estimée.
  8. 8. Procédé selon l'une quelconque des revendications précédentes, dans lequel lors de l'étape e), les coordonnées de la pose xpR sont considérées comme étant des inconnues à estimer de sorte que les étapes d) et e) sont alors simultanémentréalisées en recherchant simultanément la pose xpR et la vitesse xvR qui minimisent l'écart entre les première et seconde valeurs de la grandeur physique.
  9. 9. Procédé selon la revendication 8, dans lequel lors de la recherche simultanée de 5 la pose xpR et de la vitesse xvR, les coordonnées de la pose xpR sont définies par la relation xpR=tpxvR + xpR_i, où xpR-1 est l'estimation de la pose de la première caméra à l'instant où cette première caméra a capturé l'image courante précédente, et tp est l'intervalle de temps qui sépare l'instant de capture de l'image courante de l'instant de capture de l'image courante précédente par la première caméra, de sorte que seules 10 six coordonnées sont à estimer lors des étapes d) et e) pour obtenir simultanément des estimations de la vitesse xvR et de la pose xpR. io. Procédé selon l'une quelconque des revendications précédentes, dans lequel l'image de référence est une image capturée par une seconde caméra immobile. 15 il. Procédé de construction de la trajectoire d'une première caméra, ce procédé comportant a) l'acquisition d'un modèle tridimensionnel de la scène, b) l'enregistrement dans une mémoire électronique d'une succession d'images 20 ordonnées temporellement capturées par la première caméra au cours de son déplacement dans la scène, chaque image comportant des pixels organisés en rangées parallèles, la mémoire contenant pour chaque pixel de l'image courante une mesure d'une grandeur physique choisie dans le groupe composé de l'intensité d'un rayonnement émis par le point photographié par ce pixel et d'une profondeur 25 séparant ce pixel du point de la scène photographié, c) pour chaque image courante : - la construction ou la sélection, à partir du modèle tridimensionnel de la scène, d'une image de référence comportant des pixels ayant photographié les mêmes points de la scène que les pixels de l'image courante, 30 - l'estimation d'une pose de la première caméra au moment où celle-ci capture cette image courante, - la construction (70) de la trajectoire de la première caméra à partir des différentes poses estimées de la première caméra, caractérisé en ce que l'estimation de la pose de la première caméra est réalisée à 35 l'aide d'un procédé conforme à l'une quelconque des revendications précédentes.12. Procédé de traitement d'une image courante d'une scène tridimensionnelle, l'image courante comportant des pixels organisés en rangées parallèles, ce procédé comportant : a) l'estimation de la vitesse xvR de déplacement d'une première caméra au moment 5 où cette caméra a capturé l'image courante, b) la modification (74) automatique de l'image courante pour corriger, en fonction de la vitesse xvR estimée, l'image courante de manière à limiter les déformations de l'image courante provoquée par le floue cinétique, caractérisé en ce que l'étape d'estimation de la vitesse xvR est réalisée à l'aide d'un 10 procédé conforme à l'une quelconque des revendications 1 à
  10. 10. 13. Support (10) d'enregistrement d'informations, caractérisé en ce qu'il comporte des instructions pour la mise en oeuvre d'un procédé conforme à l'une quelconque des revendications précédentes, lorsque ces instructions sont exécutées par un 15 calculateur électronique. 14. Système d'estimation de la vitesse de déplacement d'une première caméra au moment où cette première caméra capture une image courante d'une scène tridimensionnelle, ce système comportant : 20 - une mémoire électronique (10) contenant : - une image de référence correspondant à une image de la même scène prise par une seconde caméra dans une pose différente, l'image de référence comportant des pixels organisés en rangées parallèles, la mémoire comportant pour chaque pixel de l'image de référence la mesure d'une grandeur physique 25 mesurée par ce pixel, cette grandeur physique étant choisie dans le groupe composé de l'intensité d'un rayonnement émis par le point photographié par ce pixel et d'une profondeur séparant ce pixel du point de la scène photographié par ce pixel, - l'image courante, l'image courante comportant des pixels organisés en 30 rangées parallèles, la mémoire contenant pour chaque pixel de l'image courante la mesure d'une grandeur physique mesurée par ce pixel, cette grandeur physique étant la même que la grandeur physique mesurée par les pixels de l'image de référence, - pour chaque pixel de l'image de référence ou de l'image courante, la mesure 35 d'une profondeur qui sépare ce pixel du point de la scène photographié par ce pixel, - une unité (12) de traitement d'informations apte : - à estimater une pose xpR de la première caméra,- à estimater de la vitesse xvR de déplacement de la première caméra pendant la capture de l'image courante, caractérisé en ce que l'unité (12) de traitement d'informations est apte à estimer la vitesse xvR en recherchant la vitesse xvR qui minimise, pour N points de l'image de 5 référence, où N est un nombre entier supérieur à 10 % du nombre de pixels de l'image de référence, un écart directement entre : - une première valeur de la grandeur physique au niveau d'un premier point (p*) de l'image de référence, cette première valeur étant construite à partir d'au moins une mesure de cette grandeur physique mémorisée dans cette image de référence, et 10 - une seconde valeur de la même grandeur physique au niveau d'un second point (pw2) de l'image courante, cette seconde valeur étant construite à partir des mesures de cette grandeur physique mémorisées dans l'image courante et des coordonnées du second point, les coordonnées du second point étant obtenues à partir d'une projection du point de la scène photographié par le premier point (p*) sur le plan de 15 l'image courante, cette projection étant fonction de la pose xpR estimée et des mesures des profondeurs mémorisées dans l'image courante ou de référence, la première valeur de la grandeur physique au niveau du premier point (p*) de l'image de référence étant construite : - en sélectionnant des points voisins du premier point (p*), chaque point voisin 20 correspondant à la projection, sur le plan de l'image de référence, d'un troisième point dont les coordonnées sont obtenues en déplaçant le premier point d'une distance T2(- txvR), où t est une durée écoulée depuis le début d'un temps te d'exposition, cette durée étant inférieure au temps te d'exposition, et T2(...) est une fonction qui intègre la vitesse -xvR pendant la durée t, chaque point voisin correspondant à une valeur 25 respective de la durée t et le temps te étant égal au temps d'exposition de la première caméra, puis - en moyennant les valeurs de la grandeur physique au niveau des points voisins sélectionnés et du premier point de manière à générer une nouvelle valeur de la grandeur physique au niveau du premier point, cette nouvelle valeur constituant une 30 estimation de celle qui serait mesurée si le temps d'exposition des pixels de la seconde caméra était égal à te et si la seconde caméra se déplaçait à la vitesse xvR pendant le temps d'exposition te, les valeurs de la grandeur physique au niveau des points voisins étant obtenues à partir des mesures mémorisées dans l'image de référence et des coordonnées des points voisins. 35 15. Système d'estimation de la vitesse de déplacement d'une première caméra au moment où cette première caméra capture une image courante d'une scène tridimensionnelle, ce système comportant :- une mémoire électronique (10) contenant : - une image de référence correspondant à une image de la même scène prise par une seconde caméra dans une pose différente, l'image de référence comportant des pixels organisés en rangées parallèles, la mémoire comportant pour chaque pixel de l'image de référence la mesure d'une grandeur physique mesurée par ce pixel, cette grandeur physique étant choisie dans le groupe composé de l'intensité d'un rayonnement émis par le point photographié par ce pixel et une profondeur séparant ce pixel du point de la scène photographié par ce pixel, - l'image courante, l'image courante comportant des pixels organisés en rangées parallèles, la mémoire contenant pour chaque pixel de l'image courante la mesure d'une grandeur physique mesurée par ce pixel, cette grandeur physique étant la même que la grandeur physique mesurée par les pixels de l'image de référence, - pour chaque pixel de l'image de référence ou de l'image courante, la mesure d'une profondeur qui sépare ce pixel du point de la scène photographié par ce pixel, - une unité (12) de traitement d'information apte : - à estimater de la pose xpR de la première caméra, - à estimater de la vitesse xvR de déplacement de la première caméra pendant la capture de l'image courante, caractérisé en ce que l'unité (12) de traitement est apte à estimer la vitesse xvR en recherchant la vitesse xvR qui minimise, pour N points de l'image courante, où N est un nombre entier supérieur à 10 % du nombre de pixels de l'image courante, un écart 25 directement entre : - une première valeur de la grandeur physique au niveau d'un premier point (p) de l'image courante construite à partir d'au moins une mesure de cette grandeur physique mémorisée dans cette image courante, et - une seconde valeur de la même grandeur physique au niveau d'un second point 30 (pw5) de l'image de référence, cette seconde valeur étant construite à partir des mesures de cette grandeur physique mémorisées dans l'image de référence et des coordonnées du second point, les coordonnées du second point étant obtenues à partir d'une projection du point de la scène photographié par le premier point (p*) sur le plan de l'image de référence, cette projection étant fonction de la pose xpR estimée 35 et des mesures des profondeurs mémorisées dans l'image courante ou de référence, la seconde valeur de la grandeur physique au niveau du second point (pw5) de l'image de référence étant construite :- en sélectionnant des points voisins du second point, chaque point voisin correspondant à la projection sur le plan de l'image de référence d'un troisième point dont les coordonnées sont obtenues en déplaçant le second point d'une distance T2(- txvR), où t est une durée écoulée depuis le début d'un temps te d'exposition, cette durée étant inférieure au temps te d'exposition, et T2(...) est une fonction qui intègre la vitesse xvR pendant la durée t, chaque point voisin correspondant à une valeur respective de la durée t et le temps te étant égal au temps d'exposition de la première caméra, puis - en moyennant les valeurs de la grandeur physique au niveau des points voisins sélectionnés et du second point de manière à générer une nouvelle valeur de la grandeur physique au niveau du second point, cette nouvelle valeur constituant une estimation de celle qui serait mesurée si le temps d'exposition des pixels de la seconde caméra était égal à te et si la seconde caméra se déplaçait à la vitesse xvR pendant le temps d'exposition te, les valeurs de la grandeur physique au niveau des points voisins étant obtenues à partir des mesures mémorisées dans l'image de référence et des coordonnées des points voisins.
FR1361306A 2013-11-18 2013-11-18 Procede d'estimation de la vitesse de deplacement d'une camera Active FR3013488B1 (fr)

Priority Applications (5)

Application Number Priority Date Filing Date Title
FR1361306A FR3013488B1 (fr) 2013-11-18 2013-11-18 Procede d'estimation de la vitesse de deplacement d'une camera
EP14800025.0A EP3072109A1 (fr) 2013-11-18 2014-11-17 Procede d'estimation de la vitesse de deplacement d'une camera
US15/037,625 US20160292883A1 (en) 2013-11-18 2014-11-17 Method of estimating the speed of displacement of a camera
PCT/EP2014/074764 WO2015071458A1 (fr) 2013-11-18 2014-11-17 Procede d'estimation de la vitesse de deplacement d'une camera
US16/269,540 US11082633B2 (en) 2013-11-18 2019-02-06 Method of estimating the speed of displacement of a camera

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1361306A FR3013488B1 (fr) 2013-11-18 2013-11-18 Procede d'estimation de la vitesse de deplacement d'une camera

Publications (2)

Publication Number Publication Date
FR3013488A1 true FR3013488A1 (fr) 2015-05-22
FR3013488B1 FR3013488B1 (fr) 2017-04-21

Family

ID=50424399

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1361306A Active FR3013488B1 (fr) 2013-11-18 2013-11-18 Procede d'estimation de la vitesse de deplacement d'une camera

Country Status (4)

Country Link
US (2) US20160292883A1 (fr)
EP (1) EP3072109A1 (fr)
FR (1) FR3013488B1 (fr)
WO (1) WO2015071458A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220277462A1 (en) * 2021-02-26 2022-09-01 Ml Technology Ltd. Correcting device and correcting method of real-time image

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9741143B2 (en) * 2013-05-29 2017-08-22 Nec Corporation Multocular imaging system, synthesis process method of acquired images, and program
US9969337B2 (en) * 2014-09-03 2018-05-15 Sharp Laboratories Of America, Inc. Methods and systems for mobile-agent navigation
US10171745B2 (en) * 2014-12-31 2019-01-01 Dell Products, Lp Exposure computation via depth-based computational photography
FR3058549B1 (fr) 2016-11-04 2019-01-25 Stereolabs Procede d'affichage d'une image de realite mixte
EP3349086A1 (fr) * 2017-01-17 2018-07-18 Thomson Licensing Procédé et dispositif de détermination d'une trajectoire dans une scène 3d pour une caméra
JP7152137B2 (ja) * 2017-08-28 2022-10-12 株式会社トプコン 写真測量システム及び写真測量方法
US10970425B2 (en) * 2017-12-26 2021-04-06 Seiko Epson Corporation Object detection and tracking

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USRE38420E1 (en) * 1992-08-12 2004-02-10 British Broadcasting Corporation Derivation of studio camera position and motion from the camera image
US20060215935A1 (en) 2004-04-02 2006-09-28 The Boeing Company System and architecture for automatic image registration
WO2007030026A1 (fr) 2005-09-09 2007-03-15 Industrial Research Limited Dispositif de balayage de scene 3d et systeme de position et d'orientation
JP4844305B2 (ja) 2005-09-12 2011-12-28 日本ビクター株式会社 撮像装置
JP4961800B2 (ja) 2006-03-31 2012-06-27 ソニー株式会社 画像処理装置、および画像処理方法、並びにコンピュータ・プログラム
US8068140B2 (en) 2006-08-07 2011-11-29 Avago Technologies General Ip (Singapore) Pte. Ltd. Still image stabilization suitable for compact camera environments
CN101512601B (zh) 2006-09-04 2013-07-31 皇家飞利浦电子股份有限公司 从图像中确定深度图的方法以及确定深度图的设备
EP2153641B2 (fr) 2007-04-13 2021-10-27 Ari M. Presler Système de caméra cinématographique numérique pour enregistrer, éditer et visualiser des images
WO2009023044A2 (fr) 2007-04-24 2009-02-19 21 Ct, Inc. Procédé et système pour une télémétrie stéréoscopique dense rapide
US8698908B2 (en) 2008-02-11 2014-04-15 Nvidia Corporation Efficient method for reducing noise and blur in a composite still image from a rolling shutter camera
JP4666012B2 (ja) 2008-06-20 2011-04-06 ソニー株式会社 画像処理装置、画像処理方法、プログラム
US20100045701A1 (en) 2008-08-22 2010-02-25 Cybernet Systems Corporation Automatic mapping of augmented reality fiducials
WO2011053678A1 (fr) 2009-10-28 2011-05-05 The Trustees Of Columbia University In The City Of New York Procédés et systèmes pour obturateur roulant codé
JP2011103631A (ja) 2009-11-12 2011-05-26 Nikon Corp デジタルカメラ
US8401242B2 (en) 2011-01-31 2013-03-19 Microsoft Corporation Real-time camera tracking using depth maps
JP5734082B2 (ja) 2011-05-11 2015-06-10 キヤノン株式会社 撮像装置及びその制御方法、並びにプログラム
US8970709B2 (en) 2013-03-13 2015-03-03 Electronic Scripting Products, Inc. Reduced homography for recovery of pose parameters of an optical apparatus producing image data with structural uncertainty
FR3013487B1 (fr) * 2013-11-18 2017-04-21 Univ De Nice (Uns) Procede d'estimation de la vitesse de deplacement d'une camera

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MAXIME MEILLAND ET AL: "A Unified Rolling Shutter and Motion Blur Model for 3D Visual Registration, OpenAccess version", 2013 IEEE INTERNATIONAL CONFERENCE ON COMPUTER VISION, 9 November 2013 (2013-11-09), pages 2016 - 2023, XP055129443, Retrieved from the Internet <URL:http://www.cv-foundation.org/openaccess/content_iccv_2013/papers/Meilland_A_Unified_Rolling_2013_ICCV_paper.pdf> [retrieved on 20140716] *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220277462A1 (en) * 2021-02-26 2022-09-01 Ml Technology Ltd. Correcting device and correcting method of real-time image
US11803975B2 (en) * 2021-02-26 2023-10-31 Ml Technology Ltd. Correcting device and correcting method of real-time image

Also Published As

Publication number Publication date
WO2015071458A1 (fr) 2015-05-21
FR3013488B1 (fr) 2017-04-21
US20190182433A1 (en) 2019-06-13
US20160292883A1 (en) 2016-10-06
US11082633B2 (en) 2021-08-03
EP3072109A1 (fr) 2016-09-28

Similar Documents

Publication Publication Date Title
FR3013487A1 (fr) Procede d&#39;estimation de la vitesse de deplacement d&#39;une camera
FR3013488A1 (fr) Procede d&#39;estimation de la vitesse de deplacement d&#39;une camera
US9420276B2 (en) Calibration of light-field camera geometry via robust fitting
EP0863413B1 (fr) Procédé et dispositif de localisation d&#39;un objet dans l&#39;espace
US10225473B2 (en) Threshold determination in a RANSAC algorithm
EP2715662B1 (fr) Procede de localisation d&#39;une camera et de reconstruction 3d dans un environnement partiellement connu
US8605992B2 (en) Image completion using scene geometry
US20150146032A1 (en) Light field processing method
CN109829875A (zh) 用于估计视差的方法和装置
FR2770317A1 (fr) Procede d&#39;etalonnage de la position et de l&#39;orientation d&#39;origine d&#39;une ou plusieurs cameras mobiles et son application a la mesure de position tridimentionnelle d&#39;objets fixes
FR2960082A1 (fr) Procede et systeme pour fusionner des donnees issues de capteurs d&#39;images et de capteurs de mouvement ou de position
CN113689578B (zh) 一种人体数据集生成方法及装置
EP3200153B1 (fr) Procédé de détection de cibles au sol et en mouvement dans un flux vidéo acquis par une caméra aéroportée
EP3435332A1 (fr) Dispositif électronique et procédé de génération, à partir d&#39;au moins une paire d&#39;images successives d&#39;une scène, d&#39;une carte de profondeur de la scène, drone et programme d&#39;ordinateur associés
CN112766135A (zh) 目标检测方法、装置、电子设备和存储介质
Ke et al. Deep multi-view depth estimation with predicted uncertainty
EP2994813B1 (fr) Procede de commande d&#39;une interface graphique pour afficher des images d&#39;un objet tridimensionnel
Sen et al. SceneCalib: Automatic targetless calibration of cameras and LiDARs in autonomous driving
Harisankar et al. Unsupervised depth estimation from monocular images for autonomous vehicles
Digumarti et al. Unsupervised learning of depth estimation and visual odometry for sparse light field cameras
WO2021009431A1 (fr) Procede de determination de parametres d&#39;etalonnage extrinseques d&#39;un systeme de mesure
WO2018229358A1 (fr) Procédé et dispositif de construction d&#39;une image tridimensionnelle
FR3052287B1 (fr) Construction d&#39;une image tridimensionnelle
Morelli et al. Orientation of Images with Low Contrast Textures and Transparent Objects
FR3067841A1 (fr) Systeme et procede de localisation par traitement d&#39;images

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 4

TP Transmission of property

Owner name: PIXMAP S.A.S., FR

Effective date: 20170731

PLFP Fee payment

Year of fee payment: 5

PLFP Fee payment

Year of fee payment: 6

PLFP Fee payment

Year of fee payment: 7

PLFP Fee payment

Year of fee payment: 8

PLFP Fee payment

Year of fee payment: 9

PLFP Fee payment

Year of fee payment: 10

PLFP Fee payment

Year of fee payment: 11