FR2946444A1 - Procede et dispositif de calibration d'un capteur d'images utilisant un systeme temps reel de suivi d'objets dans une sequence d'images - Google Patents

Procede et dispositif de calibration d'un capteur d'images utilisant un systeme temps reel de suivi d'objets dans une sequence d'images Download PDF

Info

Publication number
FR2946444A1
FR2946444A1 FR0902763A FR0902763A FR2946444A1 FR 2946444 A1 FR2946444 A1 FR 2946444A1 FR 0902763 A FR0902763 A FR 0902763A FR 0902763 A FR0902763 A FR 0902763A FR 2946444 A1 FR2946444 A1 FR 2946444A1
Authority
FR
France
Prior art keywords
image
camera
parameters
representation
pose
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
FR0902763A
Other languages
English (en)
Other versions
FR2946444B1 (fr
Inventor
Nicolas Livet
Jeremy Chamoux
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.)
Qualcomm Inc
Original Assignee
Total Immersion
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 Total Immersion filed Critical Total Immersion
Priority to FR0902763A priority Critical patent/FR2946444B1/fr
Priority to EP10734234A priority patent/EP2441046A2/fr
Priority to PCT/FR2010/051107 priority patent/WO2010142897A2/fr
Publication of FR2946444A1 publication Critical patent/FR2946444A1/fr
Application granted granted Critical
Publication of FR2946444B1 publication Critical patent/FR2946444B1/fr
Expired - Fee Related 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/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Studio Devices (AREA)
  • Image Analysis (AREA)

Abstract

L'invention a notamment pour objet un procédé pour ordinateur et un dispositif d'estimation d'au moins un paramètre intrinsèque d'une caméra à partir d'une séquence d'images. Après avoir identifié au moins une représentation d'un objet dans une image de la séquence, la pose de l'objet dans l'image est estimée (200). La représentation de l'objet est alors comparée (220) avec une représentation d'un modèle de cet objet, la représentation du modèle étant déterminée selon la pose estimée. En réponse à cette comparaison, ledit au moins un paramètre intrinsèque de ladite caméra est estimé (235).

Description

La présente invention concerne la calibration d'un capteur d'images et plus particulièrement un procédé et un dispositif d'estimation d'au moins un paramètre intrinsèque d'un capteur d'images, utilisant un système temps réel de suivi d'objets dans une séquence d'images. La réalité augmentée a pour objet d'insérer un ou plusieurs objets virtuels dans les images d'un flux vidéo. Selon le type d'application, la position et l'orientation de ces objets virtuels peuvent être déterminées par des données externes de la scène représentée par les images, par exemple des coordonnées issues directement d'un scénario de jeu, ou par des données liées à certains éléments de cette scène, par exemple des coordonnées d'un point particulier de la scène tel que la main d'un joueur ou un élément du décor. Lorsque la position et l'orientation sont déterminées par des données liées à certains éléments de cette scène, il peut être nécessaire de suivre ces éléments en fonction des mouvements de la caméra ou des mouvements de ces éléments eux-mêmes dans la scène. Les opérations de suivi d'éléments et d'incrustation d'objets virtuels dans les images réelles peuvent être exécutées par des calculateurs distincts ou par un même calculateur. L'objectif de ces algorithmes de suivi visuel, ou de suivi par capteur, est de retrouver de façon très précise, dans une scène réelle, la pose, c'est-à-dire la position et l'orientation, d'un objet dont l'information de géométrie est disponible ou, de manière équivalente, de retrouver les paramètres extrinsèques de position et d'orientation d'une caméra filmant cet objet, grâce à l'analyse d'image. Il existe plusieurs méthodes pour suivre un ou plusieurs objets dans une séquence d'images telle qu'un flux vidéo. Généralement, les algorithmes de suivi d'objets, aussi appelés algorithmes de poursuite de cibles, utilisent un marqueur qui peut être visuel ou utiliser d'autres moyens tel que des capteurs, de préférence sans fil de type radio fréquences ou infrarouge. Il existe également des algorithmes de suivi basés sur l'analyse d'images permettant de suivre des objets sans utiliser de marqueur particulier. La robustesse et la précision de tels algorithmes de suivi basés sur l'analyse d'images dépendent fortement de la qualité des équipements des utilisateurs et de l'estimation des paramètres de ces équipements. Cependant, il n'est en général pas possible de connaître de façon précise ces paramètres pour, par exemple, un modèle de caméra donné. Ainsi, pour améliorer la qualité d'applications de suivi d'objets et de réalité augmentée, afin d'intégrer de façon précise des objets de synthèse dans une image en fonction de la position et de l'orientation des objets réels dans cette image, il est important de déterminer les paramètres internes, ou intrinsèques, de la caméra utilisée ou, de façon équivalente, de connaître les propriétés du modèle projectif utilisé pour décrire cette caméra. Les paramètres intrinsèques de la caméra peuvent être représentés par une matrice PI. En l'absence de changement d'échelle optique, ils sont fixes. Ils sont généralement évalués durant une étape d'initialisation, c'est-à-dire une phase hors ligne réalisée avant la phase d'exécution de l'application de suivi. Comme indiqué précédemment, une mauvaise estimation de ces paramètres entraîne une estimation imprécise de la pose d'un objet dans une séquence d'images qui conduit généralement à des décrochages lors de la phase de régime permanent ainsi que des inversions liées à la perspective. Il peut également s'avérer avantageux d'utiliser le modèle de distorsion liée à l'optique associée au capteur pour corriger directement les images traitées par l'algorithme de suivi et, ainsi, simplifier les calculs du modèle projectif représenté par la matrice PI . La qualité des caméras de type professionnel est plus homogène que les caméras de type grand public. Les paramètres intrinsèques sont également plus faciles à évaluer. Il est néanmoins nécessaire d'obtenir une estimation précise de ces paramètres. II peut aussi être nécessaire de prévoir un mécanisme de mise à jour de ceux-ci pour tenir compte, par exemple, d'un changement de zoom. II est observé ici que les caméras de type professionnel utilisent souvent des encodeurs qui détectent de façon mécanique ou électronique les changements de zoom effectués par un opérateur. Le modèle projectif de la caméra utilisée permet de faire correspondre des coordonnées d'éléments faisant partie du décor réel avec les coordonnées des points correspondants dans l'image. Un modèle projectif simplifié consiste à considérer que la distorsion liée à l'optique est nulle. La formule suivante peut être utilisée pour projeter un point [x y z]T dans l'espace, exprimé dans le repère de la caméra, dans le plan de l'image, x où [u v]T représente les coordonnées du point projeté dans le plan de l'image, au,a,, représente les valeurs de focales exprimées en pixels en fonction de la taille du capteur (également exprimée en pixel), et uo,vo représente la position du centre optique, exprimée en pixels. Ces valeurs de focales peuvent être converties selon des valeurs adaptées au monde des fabricants, par exemple en utilisant des valeurs dites d'ouverture de champs vertical et horizontal, appelée Field of View en terminologie anglo-saxonne. Une telle modélisation n'est cependant adaptée qu'à une caméra parfaite, appelée pin-hole camera en terminologie anglo-saxonne. Pour exprimer de manière plus fine le modèle de la caméra, il est préférable de modéliser la distorsion résultante de l'optique liée au capteur. La distorsion engendrée par une lentille peut être décomposée en deux composantes, la distorsion radiale et la distorsion tangentielle. La distorsion radiale s'exerce radialement autour du centre optique dans l'image et peut être modélisée de façon polynomiale, avec des monômes de degrés pairs. La figure 1 illustre ce type de distorsion. La figure la représente une distorsion radiale négative, de type pincushion, tandis que la figure lb représente une distorsion radiale positive, de type barre!. La distorsion tangentielle peut provenir d'un décentrage des lentilles ou des imperfections de celles-ci. ru\ /au 0 uo 0\ v a 0 av vo 0 0 0 1 Les paramètres de distorsion font partie des paramètres intrinsèques d'une caméra. Ils peuvent s'exprimer sous la forme non linéaire suivante, u'=(uùuo)/au v'= (vùvo)/a,, d2 =ui2+v'2 tu = 2plu'v'+p2(d2 +2u'2) tä = 2 p2u'v'+p1(d 2 +2v'2) 8 = d2(ai +a2d2) U=u+(u-ua)8+auto V = v+(vùvo)8+a,,ty où [u v]T sont les coordonnées d'un point, en pixels, issues de la projection perspective parfaite, au,av sont, en pixels, les focales horizontale et verticale, respectivement, (uo,vo) sont les coordonnées, en pixels, du centre optique projeté dans l'image, (U,V) sont les coordonnées du point, en pixels, après distorsion. La distorsion est ici composée de la distorsion radiale (modélisée à l'ordre 4 par les deux paramètres al, a2) et de la distorsion tangentielle (modélisée à l'ordre 4 par les deux paramètres pi, p2). (u',v') représente la position normalisée d'un point (u,v) par rapport au centre de distorsion (position du centre optique dans l'image). d représente la distance d'un point (u,v) par rapport au centre de distorsion. (tu,ty) représente le déplacement résultant de la distorsion tangentielle. 8 représente le facteur de déplacement résultant de la distorsion radiale. La librairie OpenCV, initialement proposée par la société Intel, propose des fonctionnalités qui permettent la résolution d'un tel système en utilisant une mire de calibration en damier, appelée chessboard en terminologie anglo-saxonne. Les étapes principales mises en oeuvre par les fonctions de cette librairie sont les suivantes, • acquisition de la première image ; • détection des contours des régions noirs ; • extraction des intersections entre les carrés noirs et blancs (formant des points d'intérêt) ; • ordonnancement de ces points en fonction de la géométrie du damier (donnée en entrée du système) et estimation des correspondances, ou appariements, entre les points détectés dans l'image courante et ceux du modèle ; • estimation d'une homographie entre les points caractéristiques [X Y 1]T du damier dans le repère du damier et les points d'intérêt correspondant [u v if de l'image courante. Cette homographie peut s'exprimer de la façon suivante, = A[rl r2 t où A est la matrice de calibration intrinsèque et [r1 r2 t] est la matrice contenant les paramètres extrinsèques. La composition de ces deux matrices correspond ainsi à la matrice d'homographie recherchée qui décrit une transformation des points du damier dans son repère avec les points du plan tel qu'il est visible dans l'image courante.
Un tel calcul peut être adapté au traitement tridimensionnel afin de prendre en compte les aspects projectifs. L'homographie peut alors s'exprimer par la formule de projection suivante, X u Y s v =A[r, r2 r3 t] Z 1 1 Dans ce dernier cas, il est important de donner au système une 20 première estimation de certains paramètres (focal et centre optique) afin de rendre la résolution du système plus robuste. • extraction des paramètres de focales et de centre optique selon les correspondances et la matrice d'homographie (une description détaillée de cette étape est décrite dans l'article intitulé A Flexible New Technique for 25 Camera Calibration , Z. Zhang, IEEE Transactions on Pattern Analysis and Machine Intelligence, 2000). Cette approche n'est cependant valide que pour le u s V 1 X Y cas de mires de calibration de type planaire et ne permet d'estimer que la distorsion radiale ; • estimation des paramètres de distorsions radiale et tangentielle à partir des paramètres pin-hole trouvés en utilisant, par exemple, un modèle basé sur la méthode de Brown décrite dans l'article intitulé Close-Range Camera Calibration , 1971 ; et, • calcul d'une erreur de reprojection en utilisant tous les paramètres estimés. Si cette erreur est trop importante, c'est-à-dire supérieure à un seuil donné, le jeu de données est rejeté. Dans le cas contraire, il est utilisé pour traiter l'image suivante. L'utilisation de ce type d'algorithme requiert cependant une étape hors ligne utilisant un damier. Celle-ci est particulièrement contraignante pour des applications de type grand public puisqu'il est impossible de connaître de façon précise les paramètres relatifs à un équipement donné. De plus, il est souhaitable de pouvoir ajuster ces paramètres dynamiquement dans le cadre d'applications professionnelles, notamment dans le domaine du broadcast où les changements d'échelle optique sont fréquents. La présente invention permet de résoudre au moins un des problèmes exposés précédemment. En particulier, elle permet une calibration de caméra, ou l'estimation d'un ou de plusieurs de ses paramètres intrinsèques, de façon dynamique, durant la phase de régime permanent de l'application de suivi d'objets. Elle permet également à un opérateur d'effectuer des changements de focales tout en suivant des objets qui se déplacent devant la caméra.
L'invention a ainsi pour objet un procédé pour ordinateur d'estimation d'au moins un paramètre intrinsèque d'une caméra à partir d'une séquence d'images, ce procédé comprenant les étapes suivantes, - identification d'au moins une représentation d'un objet dans au moins une image de ladite séquence d'images ; - estimation de la pose dudit au moins un objet dans ladite au moins une image ; - comparaison de ladite représentation dudit au moins un objet avec une représentation d'au moins un modèle dudit au moins un objet, ladite représentation dudit au moins un modèle étant déterminée selon ladite pose estimée ; et, - en réponse à ladite comparaison, estimation dudit au moins un paramètre intrinsèque de ladite caméra. Le procédé selon l'invention permet ainsi l'obtention d'un modèle comprenant huit degrés de liberté (focales, centre optique, distorsions radiale et tangentielle) qui viennent s'ajouter aux six degrés estimés dans l'algorithme de suivi d'objets correspondant à trois degrés pour la position de l'objet et trois degrés pour l'orientation de l'objet (aussi appelés yaw, pitch et roll en terminologie anglo-saxonne ou encore rotation autour de l'axe X, rotation autour de l'axe Y et rotation autour de l'axe Z), par rapport au référentiel placé sur le centre optique de la caméra. L'invention permet ainsi la mise en oeuvre d'applications grand public . Selon un mode de réalisation particulier, ladite étape d'estimation de ladite pose comprend les étapes suivantes, - détermination d'une première pluralité de points caractéristiques dans ladite au moins une image ; - détermination d'une seconde pluralité de points caractéristiques dans au moins une image de référence comprenant une représentation dudit au moins un objet, une pose dudit au moins un objet étant associée à ladite au moins une image de référence ; et, - comparaison desdites première et seconde pluralité de points caractéristiques. Toujours selon un mode de réalisation particulier, le procédé comprend en outre une étape d'établissement de correspondances entre des points caractéristiques de ladite première pluralité de points caractéristiques et des points caractéristiques de ladite seconde pluralité de points caractéristiques, ladite étape de comparaison de ladite représentation dudit au moins un objet avec ladite représentation dudit au moins un modèle étant basée sur un ensemble desdites correspondances.
Le procédé comprend en outre, de préférence, une étape de validation desdites correspondances, chacune des correspondances dudit ensemble desdites correspondances étant validée afin d'affiner la qualité des résultats obtenus.
De façon avantageuse, le procédé comprend en outre une étape de comparaison du nombre desdites correspondances avec un seuil, lesdites étapes de comparaison de ladite représentation dudit au moins un objet avec ladite représentation dudit au moins un modèle et d'estimation dudit au moins un paramètre intrinsèque n'étant effectuées que si ledit nombre desdites correspondances est supérieur audit seuil. Toujours selon un mode de réalisation particulier, le procédé comprend en outre une étape d'analyse de ladite pose estimée, lesdites étapes de comparaison de ladite représentation dudit au moins un objet avec ladite représentation dudit au moins un modèle et d'estimation dudit au moins un paramètre intrinsèque étant effectuées en réponse à ladite étape d'analyse afin d'optimiser les ressources tout en améliorant l'estimation de paramètres intrinsèques. Le procédé comprend en outre, de préférence, une étape de validation de l'estimation dudit au moins un paramètre intrinsèque.
Toujours selon un mode de réalisation particulier, le procédé comprend en outre une étape préalable d'estimation d'au moins un second paramètre intrinsèque de la dite caméra, ledit au moins un second paramètre intrinsèque étant distinct dudit au moins un paramètre intrinsèque, afin d'améliorer l'estimation d'autres paramètres intrinsèques de la caméra et de réduire les temps de calcul. L'invention a également pour objet un programme d'ordinateur comprenant des instructions adaptées à la mise en oeuvre de chacune des étapes du procédé décrit précédemment lorsque ledit programme est exécuté sur un ordinateur ainsi qu'un dispositif comprenant des moyens adaptés à la mise en oeuvre de chacune des étapes de ce procédé. Les avantages procurés par ce programme d'ordinateur et ce dispositif sont similaires à ceux évoqués précédemment.
D'autres avantages, buts et caractéristiques de la présente invention ressortent de la description détaillée qui suit, faite à titre d'exemple non limitatif, au regard des dessins annexés dans lesquels : - la figure 1, comprenant les figures la et lb, illustre des exemples de distorsions radiales ; - la figure 2 illustre, de façon générale, certaines étapes du procédé selon l'invention ; - la figure 3 illustre plus précisément certaines étapes du procédé selon un premier mode de réalisation de l'invention ; - la figure 4 illustre l'extraction des correspondances 2D/3D entre une image courante et un modèle 3D en utilisant le suivi d'éléments caractéristiques entre l'image courante et l'image la précédant dans la séquence et/ou entre l'image courante et une image clé ; - la figure 5 illustre certaines étapes du procédé selon un second mode de réalisation de l'invention ; - la figure 6 présente des résultats d'estimation de la focale d'une caméra par rapport à la focale réelle en fonction du changement d'échelle optique ; et, la figure 7 illustre un exemple de dispositif adapté à mettre en oeuvre l'invention ou une partie de l'invention. L'invention permet l'estimation dynamique de paramètres intrinsèques d'une caméra en utilisant un algorithme de suivi d'objets dans une séquence d'images, en temps réel. L'invention permet ainsi de déterminer au moins un des six degrés de liberté de la pose d'un objet et au moins un des huit degrés de liberté d'un modèle projectif caractérisant les paramètres intrinsèques de la caméra. Bien qu'un tel modèle projectif soit couramment utilisé, il peut être remplacé, par exemple, par d'autres modèles de distorsion simplifiés ou plus complets. L'algorithme de suivi d'objets utilisé ici est basé sur la 30 reconnaissance de formes pour suivre des éléments particuliers dans un flux d'images.
L'Ecole Polytechnique Fédérale de Lausanne a développé un algorithme de suivi visuel n'utilisant pas de marqueur et dont l'originalité réside dans l'appariement de points particuliers entre l'image courante d'un flux vidéo avec une image clé, appelée keyframe en terminologie anglo-saxonne, obtenue à l'initialisation du système et une image clé mise à jour durant l'exécution du suivi visuel. Le principe de cet algorithme est décrit par exemple dans l'article intitulé Fusing Online and Offline Information for Stable 3D Tracking in Real-Time - Luca Vacchetti, Vincent Lepetit, Pascal Fua - IEEE Transactions on Pattern Analysis and Machine Intelligence 2004.
L'objectif de cet algorithme de suivi visuel est de retrouver, dans une scène réelle, la pose d'un objet dont le maillage tridimensionnel (3D) est disponible sous forme de modèle tridimensionnel, ou de retrouver, de manière équivalente, les paramètres extrinsèques de position et d'orientation d'une caméra filmant cet objet, immobile, grâce à l'analyse d'image.
L'image courante est ici comparée avec une ou plusieurs images clés enregistrées pour retrouver un nombre important de correspondances entre ces paires d'images afin d'estimer la pose de l'objet. A cette fin, une image clé est composée de deux éléments : une image capturée du flux vidéo et une pose (orientation et position) de l'objet réel apparaissant dans cette image. Les images clés sont des images extraites du flux vidéo dans lesquelles l'objet à suivre a été placé manuellement grâce à l'utilisation d'un dispositif de pointage tel qu'une souris. Les images clés caractérisent de préférence la pose d'un même objet dans plusieurs images. Elles sont crées et enregistrées hors ligne , c'est-à-dire hors du régime permanent de l'application de suivi. II est intéressant de noter que pour des cibles ou objets de type planaires, par exemple un magazine, ces images clés peuvent être directement générée à partir d'une image disponible de l'objet, par exemple au format JPEG ou bitmap. Chaque image clé hors ligne comprend une image dans laquelle l'objet est présent et une pose pour caractériser l'emplacement de cet objet ainsi qu'un certain nombre de points d'intérêts qui caractérisent l'objet dans l'image. Les points d'intérêts sont, par exemple, construits à partir d'un détecteur de points de Harris, de points de type SURF (acronyme de Speeded-Up Robust Features en terminologie anglo-saxonne), SIFT (acronyme de Scale-Invariant Feature Transform en terminologie anglo-saxonne) ou YAPE (acronyme de Yet Another Point Extractor en terminologie anglo-saxonne) et représentent des emplacements avec des fortes valeurs de gradients directionnels dans l'image et une description de variation de l'image au voisinage de ces points. Avant d'initialiser l'application de suivi, il est nécessaire de déterminer une ou plusieurs images clés hors ligne. Il s'agit généralement d'images extraites du flux vidéo, qui contiennent l'objet à suivre, et auxquelles sont associées une position et une orientation du modèle tridimensionnel de cet objet. Pour cela, un opérateur fait correspondre visuellement un modèle filaire à l'objet réel. La phase de préparation manuelle consiste donc à retrouver une première estimation de la pose de l'objet dans une image extraite du flux vidéo, ce qui revient à formaliser la transformation affine initiale Tp,c, matrice de passage entre le repère associé à l'objet suivi vers le repère attaché à la caméra. L'utilisation de ce modèle permet d'établir le lien entre les coordonnées des points du modèle tridimensionnel de l'objet exprimées dans le repère de l'objet et les coordonnées de ces points dans le repère de la caméra. Pour le suivi d'objets planaires, il est important de noter que, de manière équivalente, une simple image peut être utilisée pour la construction d'une image clé hors ligne. Lors de l'initialisation de l'application de suivi, les images clés hors ligne sont traitées afin de positionner des points d'intérêts en fonction des paramètres choisis lors du lancement de l'application. Ces paramètres sont spécifiés de façon empirique pour chaque type d'utilisation de l'application et permettent d'adapter l'application de détection et d'appariement pour obtenir une meilleure qualité d'estimation de la pose de l'objet selon les caractéristiques de l'environnement réel. Ensuite, lorsque l'objet réel dans l'image courante est dans une pose qui est proche de la pose de ce même objet dans une des images clé hors lignes, le nombre d'appariements devient important. II est alors possible de retrouver la transformation affine permettant de caler le modèle tridimensionnel de l'objet sur l'objet réel. Lorsqu'une telle correspondance a été trouvée, l'algorithme de suivi passe en régime permanent. Les déplacements de l'objet sont suivis d'une image sur l'autre et les dérives éventuelles sont compensées grâce aux informations contenues dans l'image clé hors ligne retenue lors de l'initialisation. Il convient de noter que pour des besoins de précision, cette image clé hors ligne peut être reprojetée en utilisant la pose estimée de l'image précédente. Cette reprojection permet ainsi d'avoir une image clé qui contient une représentation de l'objet similaire à celle de l'image courante et peut ainsi permettre à l'algorithme de fonctionner avec des points d'intérêts et des descripteurs non robustes aux rotations. L'application de suivi combine ainsi deux types d'algorithme distinct : une détection de points d'intérêts, par exemple une version modifiée de détection de points de Harris ou encore de détection de points de type SIFT ou SURF, et une technique de reprojection des points d'intérêts positionnés sur le modèle tridimensionnel vers l'image plane. Cette reprojection permet de prévoir le résultat d'une transformation spatiale d'une image sur l'autre, extraites du flux vidéo. Ces deux algorithmes combinés permettent un suivi robuste d'un objet selon six degrés de liberté. D'une façon générale, un point p de l'image est la projection d'un point P de la scène réelle avec p pI • PE • Tp P où PI est la matrice des paramètres intrinsèques de la caméra, c'est-à-dire sa focale, le centre de l'image et le décalage, PE est la matrice des paramètres extrinsèques de la 25 caméra, c'est-à-dire la position de la caméra dans l'espace réelle, et Tp_,, est la matrice de passage entre le repère associé à l'objet suivi vers le repère attaché à la caméra. Seule la position relative de l'objet par rapport à la position relative de la caméra est ici considérée, ce qui revient à placer le repère de la scène réelle au niveau du centre optique de la caméra. Il en résulte la relation 30 p PI • Tp_4, • P . La matrice PI étant connue, le problème de suivi consiste donc 13 à déterminer la matrice Tp_+,, c'est à dire la position et l'orientation de l'objet par rapport au repère de la caméra. Pour ce faire, un algorithme dit de minimisation d'erreur est employé afin de trouver la meilleure solution pour l'estimation Tp_3, en utilisant l'ensemble des correspondances tridimensionnelles sur le modèle géométrique et bidimensionnelles (2D) dans l'image courante et dans l'image clé. A titre d'exemple, un algorithme de type RANSAC (acronyme de RANdom SAmple Consensus en terminologie anglo-saxonne) ou PROSAC (acronyme de PROgressive SAmple Consensus en terminologie anglo-saxonne), permettant de supprimer les erreurs de mesures (correspondances 2D/3D erronées) peut être combiné avec un algorithme de type Levenberg-Marquardt pour converger rapidement vers une solution optimale qui réduit l'erreur de reprojection. La société Total Immersion a développé un algorithme de suivi visuel d'objets, basé sur l'algorithme décrit précédemment, n'utilisant pas de marqueur, dont l'originalité réside dans l'appariement de points particuliers entre l'image courante (et précédente) d'un flux vidéo et un ensemble d'images clés, obtenues automatiquement à l'initialisation du système. Un tel algorithme est notamment décrit dans la demande de brevet français FR 2 911 707. Cet algorithme permet, dans un premier temps, d'identifier l'objet positionné devant la caméra puis d'initialiser de façon totalement automatique, sans contrainte de positionnement, le procédé de suivi de l'objet. Cet algorithme permet notamment de reconnaître et de suivre un grand nombre d'objets présents au même instant dans un flux vidéo. Il permet ainsi l'identification et la poursuite de cibles ou d'objets dans une scène réelle. Ces objets peuvent être de géométries différentes et présenter des aspects colorimétriques variés. A titre d'exemple, mais de façon non limitative, il peut s'agir de plateaux texturés, de visages, d'habits, de scènes naturelles ou encore de studio de télévision ou de bâtiments. La figure 2 illustre, de façon générale, certaines étapes du procédé selon l'invention, utilisant un tel algorithme de suivi, pour déterminer un ou plusieurs paramètres intrinsèques de la caméra dont est issue la séquence d'images utilisée pour suivre un ou plusieurs objets.
Une première étape du procédé consiste en l'exécution d'un algorithme de suivi d'objets dans une séquence d'images (étape 200). Cet algorithme est ici mis en oeuvre selon son régime permanent utilisant des descripteurs dits stables tels que des points de Harris ou encore des descripteurs de type SIFT, SURF ou YAPE. Le régime permanent indique qu'un ou plusieurs objets réels sont détectés et suivis dans les images issues de la caméra. La pose de ces objets est déterminée de façon précise dans chacune des images obtenues successivement par le capteur d'images. Les appariements récursifs entre des points caractéristiques de l'image précédente et de l'image courante (référencées 205) peuvent être utilisés dans l'algorithme de suivi d'objets pour obtenir un résultat plus stable. II en va de même pour les appariements de points caractéristiques entre l'image courante et l'image clé utilisée qui permettent d'éviter les dérives dans l'estimation de la pose du ou des objets. Ces appariements donnent ainsi des correspondances entre des coordonnées d'images et des coordonnées sur le modèle géométriques 3D. Ces correspondances sont avantageusement utilisées afin d'estimer la pose d'objets dans l'image courante. Les appariements peuvent s'effectuer via un opétateur de corrélation de type ZNCC (sigle de Zero-mean Normal Cross Correlation en terminologie anglo-saxonne) lorsque des points de Harris sont utilisés ou des comparaisons de type SURF ou SIFT. Lorsque ces deux ensembles d'appariements entre l'image courante et l'image clé et l'image courante et image précédente sont utilisés, le procédé de suivi visuel, dit hybride , est plus robuste et plus stable. L'algorithme d'estimation de la pose d'un objet à partir de correspondances entre points caractéristiques utilise ici des paramètres intrinsèques de la caméra (référence 210) qui sont définis par défaut pour être affinés au cours de l'exécution de l'application, qui résultent d'une évaluation préalable hors ligne ou qui représentent le résultat d'une estimation préalable réalisée par le procédé lui-même (estimation des paramètres intrinsèques de la caméra sur une image précédente). L'algorithme de suivi permet d'obtenir une liste de correspondances (référencée 215), aussi appelées descripteurs, entre des points caractéristiques d'une image courante et d'une ou de plusieurs images de référence, une image de référence étant ici une image précédente ou une image clé. II est observé que tout type d'algorithme de suivi d'objets basé sur la correspondance entre des points caractéristiques peut être utilisé.
Dans une étape suivante (étape 220), les correspondances déterminées précédemment sont évaluées pour identifier les correspondances les plus pertinentes, appelées inliers en terminologie anglo-saxonne et référencées 230, c'est-à-dire les correspondances qui se reprojettent avec le plus de précision en utilisant la pose estimée dans l'image courante, référencée 225. La mesure utilisée peut être, par exemple, une erreur de reprojection des points caractéristiques sur le modèle tridimensionnel en fonction de la pose estimée par l'algorithme de suivi d'objets. Il est notamment possible de faire varier le seuil acceptable d'erreur en fonction du niveau de précision requis pour l'estimation des paramètres de projection de la caméra.
Les correspondances pertinentes évaluées pour l'image courante (référence 230) et pour l'image précédente (référence 240) sont ensuite utilisées par un algorithme d'estimation ou d'affinement des paramètres intrinsèques de la caméra (étape 235) ayant pour objet de résoudre les inconnues restantes du système projectif. Il s'agit ici des paramètres de focale, de centre optique et de distorsion. La résolution de ce système peut être réalisée comme indiqué précédemment en calculant d'abord une homographie ou un modèle projectif qui décrit le passage entre les facettes du modèle géométrique et les points dans le plan d'image, ce qui permet d'estimer les paramètres de focale et de centre optique, puis en utilisant ces données pour estimer la distorsion de la caméra. Plus précisément, la liste de correspondances précédentes pertinentes 240 permet, de façon récursive sur les images, d'estimer des paramètres intrinsèques de la caméra pour les images précédentes. Les correspondantes courantes pertinentes 230 sont utilisées pour affiner cette estimation. Pour estimer ces paramètres, le système projectif est ici évalué selon les étapes suivantes : • estimation d'une homographie, dans le cas d'un objet planaire ou sensiblement planaire, entre les correspondances 3D [X Y 1]T dans le repère de l'objet et le point d'intérêt correspondant [u v 1]T de l'image courante ou estimation du modèle projectif, dans le cas d'un objet non planaire, à partir des correspondances [X Y Zr dans le repère de l'objet et le point d'intérêt correspondant [u v 1]T de l'image courante ; • extraction des paramètres de focale et de centre optique selon les correspondances et la matrice d'homographie ou le modèle projectif ; • estimation des paramètres de distorsions radiale et tangentielle à partir des paramètres pin-hole trouvés en utilisant, par exemple, un modèle basé sur la méthode de Brown ; et, • calcul d'une erreur de reprojection utilisant les paramètres estimés. Si cette erreur est trop importante, c'est-à-dire supérieure à un seuil donné, le jeu de données est rejeté. Dans le cas contraire, il est utilisé pour traiter l'image suivante. Bien que toutes les correspondances 215 puissent être utilisées, il est préférable de n'utiliser que les correspondances pertinentes 230 et 240 pour affiner les résultats et accélérer le procédé de résolution du système projectif (modèle projectif ou homographie) décrit ci-dessus. Il s'agit tout particulièrement des correspondances trouvées entre l'image courante et l'image clé courante, ces correspondances étant en effet plus robustes que les correspondances entre l'image courante et l'image précédente qui peuvent être imprécises.
Si l'estimation de ces paramètres de calibration donne des résultats suffisants, par exemple lorsque l'erreur globale de reprojection sur toutes les correspondances pertinentes 230 et 240 est faible, et que l'erreur de reprojection locale sur les correspondances pertinentes liées à l'image est faible, une nouvelle estimation des paramètres de caméra est obtenue. Ces nouveaux paramètres, référencés 245, peuvent alors remplacer les précédents (référencés 210) utilisés par l'algorithme de suivi d'objets, de façon dynamique.
Un des avantages de cet algorithme d'estimation et/ou d'affinement des paramètres intrinsèques d'une caméra réside dans la possibilité de le mettre en oeuvre de façon parallèle à l'algorithme de suivi d'objets afin de ne pas réduire les performances générales.
Par conséquent, l'invention est avantageusement mise en oeuvre en utilisant la notion de processus, appelé thread en terminologie anglo-saxonne. Dans ce cas, un processus peut être, par exemple, affecté à l'algorithme de suivi d'objets et un autre affecté à l'estimation et/ou l'affinement des paramètres intrinsèques de la caméra. L'utilisation de ces processus permet notamment de répartir les temps de calcul entre les différents coeurs de calcul ou CPU (sigle de Central Processing Unit en terminologie anglo-saxonne) lorsque le matériel le permet. La figure 3 illustre plus précisément un premier mode de réalisation selon lequel un algorithme de suivi d'objets comprenant une étape d'identification d'objets, une étape d'initialisation en fonction du ou des objets en présence dans le champ optique de la caméra et une étape de suivi de ces objets est combiné avec un algorithme qui permet d'estimer et/ou d'affiner les paramètres de calibration d'une caméra. Ce mode de réalisation peut être considéré comme une implémentation particulière du procédé décrit en référence à la figure 2 Une première étape (étape 300) a pour objet l'identification (ou la détection) des objets présents dans le champ de la caméra, c'est-à-dire dans l'image courante, et l'initialisation de l'algorithme de suivi d'objets. Cet algorithme, par exemple celui développé par la société Total Immersion et décrit précédemment, permet l'utilisation d'une base de données contenant un grand nombre de descripteurs tels que des points d'intérêt et des descripteurs de type SIFT, SURF ou YAPE, appartenant à un grand nombre d'objets. Ces descripteurs sont, de préférence, organisés en arbres de classification tels que des arbres de décision binaires (voir par exemple l'article Keypoint Recognition using Randomized Trees V. Lepetit and P. Fua, EPFL, 2006) ou encore selon des structures à ramifications multiples, aussi appelées arbres de décision de type ferns (voir par exemple l'article Fast Keypoint Recognition using Random Ferns M. Ozuysal, P. Fua et V. Lepetit), permettant une classification simple et rapide par comparaison d'intensité d'image autour d'un point d'intérêt pour permettre l'identification rapide et robuste d'un ou de plusieurs objets dans l'image courante.
Pour détecter des objets, l'algorithme de suivi utilise les paramètres intrinsèques de la caméra (référencés 310) ainsi que l'image courante (référencée 315). Pour les suivre, l'algorithme de suivi utilise en outre la pose des objets déterminée dans l'image précédente (référencée 305) ainsi que l'image précédente (référencée 315).
Cet algorithme estime également une pose approximative des objets dans l'image afin de simplifier l'étape d'initialisation. Cette estimation permet en outre la création d'une image clé dite courante (non référencée), utilisée ensuite dans le procédé de suivi d'objets. Lorsqu'un objet est identifié dans une image d'une séquence d'images, l'image clé courante, récemment créée, est utilisée pour initialiser l'algorithme de suivi. Lors de cette initialisation, des points d'intérêt, par exemple de type points de Harris sont calculés sur l'image clé courante pour être utilisés par l'algorithme de suivi d'objets. L'algorithme de suivi d'objets utilisé ici est hybride. II utilise un opérateur de corrélation pour déterminer des appariements, ou correspondances, entre l'image courante et l'image clé d'initialisation et entre l'image courante et l'image précédente. Cet ensemble de correspondances est ensuite utilisé pour identifier un ou plusieurs objets et déterminer la pose de ces objets présents devant la caméra (référence 320). Il convient de remarquer que plus ces points sont nombreux et plus leur position est précise, plus le résultat de l'estimation de position et d'orientation est précis. Un test est effectué pour déterminer si au moins un objet est reconnu et suivi dans l'image courante de la séquence (étape 325). Dans la négative, l'algorithme de suivi d'objets se poursuit pour. identifier au moins un objet.
Si au moins un objet est reconnu et suivi, une étape suivante (étape 330) est alors exécutée pour estimer des correspondances pertinentes.
Après avoir estimé ces correspondances pertinentes, un test est effectué pour comparer leur nombre à un seuil (étape 335). Ce seuil est prédéterminé ou évalué de façon dynamique. Comme décrit précédemment, chaque correspondance de l'ensemble des correspondances obtenues lors de l'étape de suivi d'objets est validée en utilisant la pose estimée des objets, les correspondances validées étant appelées correspondances pertinentes. II est rappelé ici qu'il existe dans deux types de correspondances : les correspondances entre l'image courante et l'image clé ainsi que les correspondances entre l'image courante et l'image précédente. Il est cependant important de noter que d'autres types de correspondances peuvent également être introduites comme les correspondances entre l'image précédente et l'image précédent celle-ci. La mesure de pertinence utilisée ici pour valider chaque correspondance est une erreur de reprojection des correspondances sur le modèle tridimensionnel en fonction de la pose estimée par l'algorithme de suivi d'objets comme illustré sur le schéma de la figure 4. La figure 4 illustre l'extraction des correspondances 2D/3D entre l'image courante 400 et le modèle 3D 405 en utilisant le suivi d'éléments caractéristiques entre l'image précédente 410 et l'image courante 400. Le modèle 3D 405 est positionné selon la pose déterminée sur l'image précédente. Il est ainsi montré que la connaissance des correspondances 2D/3D entre l'image précédente 410 et le modèle géométrique 3D 405 et la construction des appariements 2D/2D entre l'image courante et l'image précédente permet l'extraction de correspondances 2D/3D entre l'image courante et le modèle géométrique 3D. Ces correspondances permettent d'estimer la pose de l'objet dans l'image courante comme décrit précédemment. Comme illustré sur la figure 4, il est possible de remplacer l'image précédente 410 par une image clé 415 en utilisant le modèle 3D 405' positionné selon la pose associée à l'image clé 415.
Le nombre de correspondances pertinentes est comparé à un seuil (étape 335), prédéterminé ou déterminé de façon dynamique. Si le nombre de correspondances pertinentes est inférieur au seuil, l'étape de détection et de suivi d'objets (étape 300) est à nouveau invoquée. Si, au contraire, le nombre de correspondances pertinentes est supérieur au seuil, les paramètres de calibration de la caméra sont estimés 5 (étape 340). II convient de remarquer ici que ce procédé étant récursif, il permet l'ajout de données, c'est-à-dire de correspondances pertinentes à chaque nouvelle image traitée. Les paramètres de calibration de la caméra peuvent être estimés en 10 plusieurs étapes. Tout d'abord, les paramètres de focales et le centre optique sont estimés. Lorsque des objets planaires sont suivis, la matrice d'homographie est estimée selon les données courantes, en particulier selon les correspondances pertinentes, et les paramètres de focales ainsi que le centre optique sont 15 déterminés en utilisant l'homographie courante ainsi que les homographies calculées lors des étapes récursives précédentes. Lorsque les objets suivis sont tridimensionnels, la matrice projective est estimée et les paramètres de focales et de centre optique sont déterminés en utilisant l'ensemble de matrices projectives calculées précédemment. 20 Les paramètres de distorsions radiale et tangentielle sont ensuite estimés en utilisant les paramètres de type pin-hole retrouvés précédemment, par exemple en appliquant la méthode de Brown. L'erreur de reprojection est alors calculée en fonction de ces paramètres. Si cette erreur est trop importante, c'est-à-dire supérieure à un 25 seuil donné, par exemple en pixels, ces paramètres intrinsèques estimés sont rejetés. Dans le cas contraire, ils sont conservés pour traiter l'image suivante et estimer la pose des objets dans cette image. Lorsque les paramètres intrinsèques de la caméra ont été estimés et qu'ils ne sont pas rejetés, leur inverse est estimé pour permettre leur utilisation 30 dans l'algorithme de suivi d'objets (étape 300) afin d'améliorer l'estimation de pose des objets. Il convient de remarquer ici que l'algorithme de suivi d'objets développé par la société Total Immersion permet la modification dynamique des paramètres intrinsèques de caméra pour adapter la pose d'un objet en fonction des données projectives. Un avantage d'une telle mise en oeuvre est notamment de permettre le déploiement d'une application de suivi d'objets, ou éventuellement d'une autre application d'analyse d'image qui nécessite ces paramètres de calibration, dans un parc d'utilisateurs possédant des caméras dont les caractéristiques sont inconnues au préalable, sans recourir à une phase de calibration particulière. Dans un tel environnement, des paramètres de calibration sont tout d'abord choisis par défaut. Ils correspondent, par exemple, aux valeurs moyennes estimées à partir de caméras sensiblement équivalentes disponibles sur le marché. A titre d'illustration, la focale est fixée à approximativement 600 pixels, le centre optique est placé au centre du capteur d'images de la caméra et la distorsion est considérée nulle dans l'image. Ces paramètres sont ensuite réévalués au cours du temps en tenant compte des informations obtenues par l'algorithme de suivi d'objets comme décrit précédemment. Les paramètres intrinsèques définis par défaut convergent ainsi vers les paramètres réels de la caméra effectivement utilisée. Il convient de remarquer ici que lorsqu'un objet fait face à la caméra, les mesures réalisées peuvent subir des erreurs liées à l'aspect singulier de la configuration. En effet, dans ce cas, les effets de la projection d'un objet planaire dans l'image ne sont pas visibles. Ainsi, selon un second mode de réalisation, le résultat de la pose estimée par l'algorithme de suivi d'objets est avantageusement utilisé pour vérifier la précision des résultats obtenus lors de l'estimation de la calibration de la caméra. Comme indiqué précédemment, le nombre de correspondances pertinentes doit être suffisant pour déterminer les paramètres intrinsèques de la caméra.
Par ailleurs, il est possible d'activer ou de désactiver l'évaluation de ces paramètres en fonction de la pose de l'objet estimée. Par exemple, si la représentation de l'objet est suffisamment grande dans l'image, il peut être considéré que les correspondances sont pertinentes. De même, si la pose de l'objet est suffisamment stable entre plusieurs images consécutives, il peut être considéré que l'image courante ne présente que peu de flou de bougé, ce qui assure une meilleure précision pour l'évaluation de la position des points caractéristiques utilisés dans l'image. En d'autres termes, la pose obtenue est analysée, éventuellement par rapport aux poses estimées précédemment, pour déterminer si les informations contenues dans l'image courante sont pertinentes pour améliorer l'estimation des paramètres intrinsèques de la caméra. Ainsi, comme illustré sur la figure 5, un test 500 relatif à la pose obtenue est, de façon avantageuse, mis en oeuvre dans l'algorithme illustré sur la figure 3. Un tel test permet notamment d'identifier les cas où l'objet suivi fait face à la caméra, pour lesquels il est difficile d'estimer les paramètres de focales car la notion projective disparaît de l'image. Il convient de remarquer ici que ce cas n'intervient que dans le cas du suivi d'objets de type planaire (ou assimilable à des objets quasi plan). Ce test permet également l'application d'autres règles fondées, par exemple, sur la taille relative de l'objet dans l'image et sur la variabilité de sa pose entre des images successives, tel que décrit précédemment. Ce test permet ainsi d'éviter d'utiliser des images contenant des représentations ambiguës d'objets. Il permet ainsi d'obtenir des résultats d'estimation de ces paramètres plus précis. Ce test permet également de filtrer les images afin de ne prendre en compte que des images représentant des configurations très différentes des objets. A titre d'illustration, les poses qui ont déjà été prises en compte peuvent être mémorisées (référence 505) pour favoriser l'utilisation de poses différentes. De même, il est possible d'estimer des paramètres intrinsèques de la caméra pour des objets couvrant par exemple chaque partie d'une image afin d'estimer plus finement les paramètres de distorsions, les effets de ces dernières étant généralement plus marqués sur les bords de l'image qu'en son centre. II est ainsi possible d'estimer plus précisément les valeurs de focales et la distorsion dans les coins de l'image.
L'analyse de la pose courante des objets dans le champ de la caméra permet donc de prendre en compte des données représentatives et, par conséquent, d'obtenir des résultats plus précis. Comme illustré sur la figure 5, après avoir vérifié qu'au moins un objet est reconnu et suivi (étape 325'), un test est effectué pour analyser la pose de cet objet et déterminer si elle est pertinente (étape 500), c'est-à-dire, en particulier, si l'objet suivi fait face à la caméra et/ou si la pose considérée ne doit pas être traitée. Dans la négative, le suivi de l'objet se poursuit (étape 300'). Si, au contraire, la pose de l'objet suivi est pertinente, le procédé se poursuit en estimant les correspondances pertinentes (étape 330') afin d'estimer ou d'affiner des paramètres intrinsèques de la caméra (étape 340') si le nombre de correspondances pertinentes est supérieur à un seuil (étape 335'). Les poses traitées sont ici mémorisées (référence 505) de telle sorte que des poses équivalentes ne soient pas, ultérieurement, considérées comme pertinentes. Selon un troisième mode de réalisation, certains paramètres intrinsèques de la caméra tels que la distorsion tangentielle sont avantageusement prédéterminés afin d'améliorer l'estimation d'autres paramètres intrinsèques de la caméra et de réduire les temps de calcul. Il a en outre été observé qu'une telle simplification n'entraîne pas une réduction significative de la robustesse de l'application car, lorsqu'une image est fortement dégradée, l'estimation d'un modèle contenant trop de paramètres présente souvent une erreur importante. L'implémentation de l'invention selon ce troisième mode de réalisation permet de fixer librement certain paramètres intrinsèques du système projectif, en particulier la focale, le centre optique, le ratio hauteur sur largeur du capteur d'images utilisé et un ou plusieurs paramètres de distorsion. Selon un quatrième mode de réalisation, particulièrement adapté aux caméras de type professionnel, les paramètres de distorsions sont prédéterminés dans une étape hors ligne. Ces paramètres ne sont pas réévalués par la suite. Lors de la mise en oeuvre de l'application en régime permanent, des paramètres de calibration correctement estimés (toujours grâce à cette étape de calibration hors ligne ) sont utilisés et réévalués selon les changements d'échelle optique réalisés par l'utilisateur. Le procédé permet en particulier de réévaluer les focales dynamiquement lorsque ces valeurs sont changées par l'opérateur. Il est également possible de réévaluer la position du centre optique car celui-ci se déplace légèrement lors d'un changement d'échelle optique. Il s'agit ainsi d'affiner l'estimation initiale des paramètres intrinsèques d'une caméra à partir d'une estimation initiale correcte. II convient de noter ici que lorsque l'objet fait face à la caméra, l'estimation de la focale n'est, de préférence, pas effectuée comme indiqué dans le second mode de réalisation. Cependant, cette absence d'estimation ne présente pas de problème particulier car le changement optique de zoom est assimilable à un déplacement le long de l'axe optique. La focale est ensuite réévaluée progressivement lorsque l'objet est réorienté dans une autre position que celle qui fait face à la caméra.
Le graphique présenté sur la figure 6 présente des résultats d'estimation de la focale d'une caméra (référence 600) en fonction du changement d'échelle optique présentée sur l'axe des ordonnés. Ils sont comparés à la focale réelle de la caméra (référence 605). Bien qu'il existe un faible décalage entre la focale estimée et la focale réelle, celui-ci ne pose pas vraiment de problème car les erreurs d'estimation de la focale sont compensées par une translation de l'objet le long de l'axe optique. Un dispositif adapté à mettre en oeuvre l'invention ou une partie de l'invention est illustré sur la figure 7. Le dispositif représenté est, de préférence, un dispositif standard, par exemple un ordinateur personnel.
Le dispositif 700 comporte ici un bus interne de communication 705 auquel sont reliés : - une unité centrale de traitement ou microprocesseur 710 (CPU, sigle de Central Processing Unit en terminologie anglo-saxonne) ; - une mémoire morte 715 (ROM, acronyme de Read Only Memory 30 en terminologie anglo-saxonne) pouvant comporter les programmes nécessaires à la mise en oeuvre de l'invention ; - une mémoire vive ou mémoire cache 720 (RAM, acronyme de Random Access Memory en terminologie anglo-saxonne) comportant des registres adaptés à enregistrer des variables et paramètres créés et modifiés au cours de l'exécution des programmes précités ; - une interface de communication 740 adaptée à transmettre et à recevoir des données vers et depuis un réseau de communication. Le dispositif 700 dispose également, de préférence, des éléments suivants : - un disque dur 725 pouvant comporter les programmes précités et des données traitées ou à traiter selon l'invention ; et - un lecteur de cartes mémoires 730 adapté à recevoir une carte mémoire 735 et à y lire ou à y écrire des données traitées ou à traiter selon l'invention. Le bus interne de communication permet la communication et I'interopérabilité entre les différents éléments inclus dans le dispositif 700 ou reliés à lui. La représentation du bus interne n'est pas limitative et, notamment, le microprocesseur est susceptible de communiquer des instructions à tout élément du dispositif 700 directement ou par l'intermédiaire d'un autre élément du dispositif 700. Le code exécutable de chaque programme permettant au dispositif programmable de mettre en oeuvre les processus selon l'invention, peut être stocké, par exemple, dans le disque dur 725 ou en mémoire morte 715. Selon une variante, la carte mémoire 735 peut contenir des données ainsi que le code exécutable des programmes précités qui, une fois lu par le dispositif 700, est stocké dans le disque dur 725. Selon une autre variante, le code exécutable des programmes pourra être reçu, au moins partiellement, par l'intermédiaire de l'interface de communication 740, pour être stocké de façon identique à celle décrite précédemment.
De manière plus générale, le ou les programmes pourront être chargés dans un des moyens de stockage du dispositif 700 avant d'être exécutés. Le microprocesseur 710 va commander et diriger l'exécution des instructions ou portions de code logiciel du ou des programmes selon l'invention, instructions qui sont stockées dans le disque dur 725 ou dans la mémoire morte 715 ou bien dans les autres éléments de stockage précités. Lors de la mise sous tension, le ou les programmes qui sont stockés dans une mémoire non volatile, par exemple le disque dur 725 ou la mémoire morte 715, sont transférés dans la mémoire vive 720 qui contient alors le code exécutable du ou des programmes selon l'invention, ainsi que des registres pour mémoriser les variables et paramètres nécessaires à la mise en oeuvre de l'invention. Naturellement, pour satisfaire des besoins spécifiques, une personne 15 compétente dans le domaine de l'invention pourra appliquer des modifications dans la description précédente.

Claims (10)

  1. REVENDICATIONS1. Procédé pour ordinateur d'estimation d'au moins un paramètre intrinsèque d'une caméra à partir d'une séquence d'images, ce procédé étant caractérisé en ce qu'il comprend les étapes suivantes, - identification d'au moins une représentation d'un objet dans au moins une image de ladite séquence d'images ; - estimation (200, 300, 300') de la pose dudit au moins un objet dans ladite au moins une image ; - comparaison (220, 330, 330') de ladite représentation dudit au moins un objet avec une représentation d'au moins un modèle dudit au moins un objet, ladite représentation dudit au moins un modèle étant déterminée selon ladite pose estimée ; et, - en réponse à ladite comparaison, estimation (235, 340, 340') dudit au moins un paramètre intrinsèque de ladite caméra.
  2. 2. Procédé selon la revendication précédente selon lequel ladite étape d'estimation de ladite pose comprend les étapes suivantes, - détermination d'une première pluralité de points caractéristiques dans ladite au moins une image ; - détermination d'une seconde pluralité de points caractéristiques dans au moins une image de référence comprenant une représentation dudit au moins un objet, une pose dudit au moins un objet étant associée à ladite au moins une image de référence ; et, - comparaison desdites première et seconde pluralité de points caractéristiques.
  3. 3. Procédé selon la revendication précédente comprenant en outre une étape d'établissement de correspondances entre des points caractéristiques de ladite première pluralité de points caractéristiques et des points caractéristiques de ladite seconde pluralité de points caractéristiques, ladite étape de comparaison de ladite représentation dudit au moins un objetavec ladite représentation dudit au moins un modèle étant basée sur un ensemble desdites correspondances.
  4. 4. Procédé selon la revendication précédente comprenant en outre une étape de validation desdites correspondances, chacune des correspondances dudit ensemble desdites correspondances étant validée.
  5. 5. Procédé selon la revendication 3 ou la revendication 4 comprenant en outre une étape de comparaison du nombre desdites correspondances avec un seuil, lesdites étapes de comparaison de ladite représentation dudit au moins un objet avec ladite représentation dudit au moins un modèle et d'estimation dudit au moins un paramètre intrinsèque n'étant effectuées que si ledit nombre desdites correspondances est supérieur audit seuil.
  6. 6. Procédé selon l'une quelconque des revendications précédentes comprenant en outre une étape d'analyse (500) de ladite pose estimée, lesdites étapes de comparaison de ladite représentation dudit au moins un objet avec ladite représentation dudit au moins un modèle et d'estimation dudit au moins un paramètre intrinsèque étant effectuées en réponse à ladite étape d'analyse.
  7. 7. Procédé selon l'une quelconque des revendications précédentes comprenant en outre une étape de validation de l'estimation dudit au moins un paramètre intrinsèque.
  8. 8. Procédé selon l'une quelconque des revendications précédentes comprenant en outre une étape préalable d'estimation d'au moins un second paramètre intrinsèque de la dite caméra, ledit au moins un second paramètre intrinsèque étant distinct dudit au moins un paramètre intrinsèque.
  9. 9. Programme d'ordinateur comprenant des instructions adaptées à la mise en oeuvre de chacune des étapes du procédé selon l'une quelconque des revendications précédentes lorsque ledit programme est exécuté sur un ordinateur.
  10. 10. Dispositif comprenant des moyens adaptés à la mise en oeuvre 30 de chacune des étapes du procédé selon l'une quelconque des revendications 1 à 8.
FR0902763A 2009-06-08 2009-06-08 Procede et dispositif de calibration d'un capteur d'images utilisant un systeme temps reel de suivi d'objets dans une sequence d'images Expired - Fee Related FR2946444B1 (fr)

Priority Applications (3)

Application Number Priority Date Filing Date Title
FR0902763A FR2946444B1 (fr) 2009-06-08 2009-06-08 Procede et dispositif de calibration d'un capteur d'images utilisant un systeme temps reel de suivi d'objets dans une sequence d'images
EP10734234A EP2441046A2 (fr) 2009-06-08 2010-06-04 Procédé et dispositif de calibration d'un capteur d'images utilisant un système temps réel de suivi d'objets dans une séquence d'images
PCT/FR2010/051107 WO2010142897A2 (fr) 2009-06-08 2010-06-04 Procédé et dispositif de calibration d'un capteur d'images utilisant un système temps réel de suivi d'objets dans une séquence d'images

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0902763A FR2946444B1 (fr) 2009-06-08 2009-06-08 Procede et dispositif de calibration d'un capteur d'images utilisant un systeme temps reel de suivi d'objets dans une sequence d'images

Publications (2)

Publication Number Publication Date
FR2946444A1 true FR2946444A1 (fr) 2010-12-10
FR2946444B1 FR2946444B1 (fr) 2012-03-30

Family

ID=41480169

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0902763A Expired - Fee Related FR2946444B1 (fr) 2009-06-08 2009-06-08 Procede et dispositif de calibration d'un capteur d'images utilisant un systeme temps reel de suivi d'objets dans une sequence d'images

Country Status (3)

Country Link
EP (1) EP2441046A2 (fr)
FR (1) FR2946444B1 (fr)
WO (1) WO2010142897A2 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012100829A1 (fr) * 2011-01-27 2012-08-02 Metaio Gmbh Procédé de détermination de correspondances entre des première et deuxième images et procédé de détermination de la pose d'un appareil photo

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5709906B2 (ja) 2010-02-24 2015-04-30 アイピープレックス ホールディングス コーポレーション 視覚障害者支援用拡張現実パノラマ
US10152825B2 (en) 2015-10-16 2018-12-11 Fyusion, Inc. Augmenting multi-view image data with synthetic objects using IMU and image data
CN110969662B (zh) * 2018-09-28 2023-09-26 杭州海康威视数字技术股份有限公司 鱼眼摄像机内参标定方法、装置、标定装置控制器和系统
CN114125273B (zh) * 2021-11-05 2023-04-07 维沃移动通信有限公司 人脸对焦方法、装置及电子设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2411532A (en) * 2004-02-11 2005-08-31 British Broadcasting Corp Camera position determination

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6047078A (en) * 1997-10-03 2000-04-04 Digital Equipment Corporation Method for extracting a three-dimensional model using appearance-based constrained structure from motion
FR2911707B1 (fr) 2007-01-22 2009-07-10 Total Immersion Sa Procede et dispositifs de realite augmentee utilisant un suivi automatique, en temps reel, d'objets geometriques planaires textures, sans marqueur, dans un flux video.

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2411532A (en) * 2004-02-11 2005-08-31 British Broadcasting Corp Camera position determination

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JING CH ET AL: "An Improved Real-Time Natural Feature Tracking Algorithm for AR Application", PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON ARTIFICIAL REALITY AND TELEXISTENCE-WORKSHOP, XX, XX, 1 November 2006 (2006-11-01), pages 119 - 124, XP008084001 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012100829A1 (fr) * 2011-01-27 2012-08-02 Metaio Gmbh Procédé de détermination de correspondances entre des première et deuxième images et procédé de détermination de la pose d'un appareil photo

Also Published As

Publication number Publication date
EP2441046A2 (fr) 2012-04-18
FR2946444B1 (fr) 2012-03-30
WO2010142897A2 (fr) 2010-12-16
WO2010142897A3 (fr) 2011-10-06

Similar Documents

Publication Publication Date Title
EP2491532B1 (fr) Procede, programme d'ordinateur et dispositif de suivi hybride de representations d'objets, en temps reel, dans une sequence d'images
Zhou et al. Evaluating local features for day-night matching
TWI485650B (zh) 用於多相機校準之方法及配置
Lopez‐Moreno et al. Multiple light source estimation in a single image
KR20150127653A (ko) 특징들의 공간 로컬화의 이용에 의한 객체 검출 시간 단축
FR3073312A1 (fr) Procede d'estimation de pose d'une camera dans le referentiel d'une scene tridimensionnelle, dispositif, systeme de realite augmentee et programme d'ordinateur associe
EP2828834A2 (fr) Modèle et procédé de production de modèle 3d photo-réalistes
FR2911707A1 (fr) Procede et dispositifs de realite augmentee utilisant un suivi automatique, en temps reel, d'objets geometriques planaires textures, sans marqueur, dans un flux video.
FR2933218A1 (fr) Procede et dispositif permettant de detecter en temps reel des interactions entre un utilisateur et une scene de realite augmentee
FR2913128A1 (fr) Procede et dispositif de determination de la pose d'un objet tridimensionnel dans une image et procede et dispositif de creation d'au moins une image cle
FR3009635A1 (fr) Procede de recherche d'une image similaire dans une banque d'images a partir d'une image de reference
BE1022636A1 (fr) Procede et methode de correction de distorsions projectives avec des etapes d'elimination a des multiples niveaux
EP2257924B1 (fr) Procede pour generer une image de densite d'une zone d'observation
FR2946444A1 (fr) Procede et dispositif de calibration d'un capteur d'images utilisant un systeme temps reel de suivi d'objets dans une sequence d'images
FR2983607A1 (fr) Procede et dispositif de suivi d'un objet dans une sequence d'au moins deux images
EP2441048A1 (fr) Procédés et dispositifs d'identification d'objets réels, de suivi de la représentation de ces objets et de réalité augmentée, dans une séquence d'images, en mode client-serveur
FR2911708A1 (fr) Procede et dispositif de creation d'au moins deux images cles correspondant a un objet tridimensionnel.
Jampani et al. Navi: Category-agnostic image collections with high-quality 3d shape and pose annotations
US11216961B2 (en) Aligning digital images by selectively applying pixel-adjusted-gyroscope alignment and feature-based alignment models
FR2946446A1 (fr) Procede et dispositif de suivi d'objets en temps reel dans une sequence d'images en presence de flou optique
TWI776668B (zh) 影像處理方法及影像處理系統
EP2082336B1 (fr) Procede de recherche et de reconnaissance rapides d'une image numerique representative d'au moins un motif graphique dans une banque d'images numeriques
EP4396789A1 (fr) Procédé de mise en relation d'une image candidate avec une image de référence
Kowalak et al. 3-D reconstruction of real objects using an android device
FR2971601A1 (fr) Procedes, dispositif et programmes d'ordinateur pour la reconnaissance de formes, en temps reel, a l'aide d'un appareil comprenant des ressources limitees

Legal Events

Date Code Title Description
CA Change of address

Effective date: 20150212

TP Transmission of property

Owner name: QUALCOMM CONNECTED EXPERIENCES, INC., US

Effective date: 20150212

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

TP Transmission of property

Owner name: QUALCOMM INCORPORATED, US

Effective date: 20190919

PLFP Fee payment

Year of fee payment: 12

PLFP Fee payment

Year of fee payment: 13

PLFP Fee payment

Year of fee payment: 14

ST Notification of lapse

Effective date: 20240205