[go: up one dir, main page]

EP2132709A1 - 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 pour le suivi d'objets - Google Patents

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 pour le suivi d'objets

Info

Publication number
EP2132709A1
EP2132709A1 EP08775590A EP08775590A EP2132709A1 EP 2132709 A1 EP2132709 A1 EP 2132709A1 EP 08775590 A EP08775590 A EP 08775590A EP 08775590 A EP08775590 A EP 08775590A EP 2132709 A1 EP2132709 A1 EP 2132709A1
Authority
EP
European Patent Office
Prior art keywords
dimensional
image
determining
pose
generic model
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.)
Ceased
Application number
EP08775590A
Other languages
German (de)
English (en)
Inventor
Valentin Lefevre
Nicolas Livet
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
Publication of EP2132709A1 publication Critical patent/EP2132709A1/fr
Ceased legal-status Critical Current

Links

Classifications

    • 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/75Determining position or orientation of objects or cameras using feature-based methods involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • 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/30196Human being; Person
    • G06T2207/30201Face

Definitions

  • the present invention relates to the combination of real and virtual images in real time, also called augmented reality, and more particularly a method and a device for determining the laying of a three-dimensional object in an image and a method and a device for creating at least one keyframe corresponding to a three-dimensional object.
  • Augmented reality is intended to insert one or more virtual objects in the images of a video stream.
  • the position and orientation of these virtual objects can be determined by data external to the scene represented by the images, for example coordinates directly derived from a game scenario, or by related data. to certain elements of this scene, for example coordinates of a particular point of the scene such as the hand of a player.
  • element tracking algorithms also known as target tracking algorithms
  • use a marker that can be visual or use other means such as radio frequency or infrared based means.
  • some algorithms use pattern recognition to track a particular element in an image stream.
  • the Federal Polytechnic School of Lausanne a developed a visual tracking algorithm that does not use a marker and whose originality lies in the pairing of particular points between the current image of a video stream with a keyframe, called a keyframe, given by the user at system boot and an updated keyframe during visual tracking.
  • the objective of this visual tracking algorithm is to find, in a real scene, the pose, that is to say the position and the orientation, of an object whose three-dimensional mesh is available, or to find the extrinsic parameters of position and orientation, relative to this object, of a camera filming this object, immobile, thanks to image analysis.
  • a keyframe is composed of two elements: a captured image of the video stream and a pose (orientation and position) of a three-dimensional model appearing in this image.
  • Keyframes should be "offline", off-line, or "on-line” keyframes, or on one.
  • Offline keyframes are images extracted from the video stream in which the object to be tracked has been placed manually through the use of a pointing device such as a mouse or using an adjustment tool such as a Pocket Dial marketed by the company Doepfer.
  • the offline keyframes preferably characterize the pose of the same object in several images.
  • “Online” keyframes are dynamically stored during the execution of the tracking program. They are calculated when the error, that is the distance between the points of interest pairings, is small. Online keyframes replace the offline keyframes used to initialize the application. Their use aims to reduce the shift, also called drift, which can become important when one moves too far from the initial relative position between the camera and the object. Learning new online keyframes also results in more robust application to external light variations and camera color variations. However, they have the disadvantage of introducing a "vibration" effect on the pose of the object over time. When learning a new online keyframe, this one just replace the previous keyframe, offline or online. It is used as a common keyframe.
  • Each keyframe includes an image in which the object is present and a pose to characterize the location of that object as well as a number of points of interest that characterize the object in the object. picture.
  • Points of interest are, for example, constructed from a Harris point detector and represent locations with high values of directional gradients in the image.
  • the manual preparation phase thus consists in finding a first estimate of the pose of the object in an image extracted from the video stream, which amounts to formalizing the initial affine transformation T p ⁇ c which corresponds to the matrix of passage between the reference mark attached to the object to the mark associated with the camera.
  • the transformation T p ⁇ 0 can then be expressed in the form of the following matrix, cos cos cos + sin ps sin sin sin? cos-cos-cos ⁇ sin a cos ⁇ sin a rp-cos> cos? cos? cos sin sin # ⁇ p sin cosin # cos - cos z cos sin ⁇ - o, os ⁇ sm. ⁇ cos ⁇ -sm. ⁇ sm. ⁇ cos # cos ⁇ ⁇ ⁇
  • this model makes it possible to establish the link between the coordinates of the points of the three-dimensional model of the object expressed in the reference of the object and the coordinates of these points in the reference of the camera.
  • the offline keyframes are processed to position points of interest according to the parameters chosen at the launch of the application. These parameters are empirically specified for each type of application use and allow the matching detection core to be modulated and to obtain a better quality in estimating the pose of the object according to the characteristics of the application. the real environment. Then, when the real object in the current image is in a pose that is close to the pose of the same object in one of the offline keyframes, the number of matches becomes important. It is then possible to find the affine transformation allowing to fix the virtual three-dimensional model of the object on the real object.
  • the algorithm goes into steady state.
  • the displacements of the object are followed by one frame on the other and any drifts are compensated thanks to the information contained in the offline key image retained during the initialization and in the online key image calculated during the execution of the application.
  • the tracking application combines two types of algorithms: a detection of points of interest, for example a modified version of Harris point detection, and a reprojection technique of the points of interest positioned on the three-dimensional model towards the flat image. This reprojection makes it possible to predict the result of a spatial transformation from one frame to the other.
  • a detection of points of interest for example a modified version of Harris point detection
  • a reprojection technique of the points of interest positioned on the three-dimensional model towards the flat image. This reprojection makes it possible to predict the result of a spatial transformation from one frame to the other.
  • a point p of the image is the projection of a point P of the real scene with p ⁇ P, - P E • T p ⁇ c - P
  • Pi is the matrix of intrinsic parameters of the camera, ie its focal length, the center of the image and the offset
  • PE is the matrix of the extrinsic parameters of the camera, ie the position of the camera in the real space
  • T p ⁇ c the affine matrix of passage between the reference associated with the object followed towards the reference of the camera. Only the relative position of the object relative to the relative position of the camera is considered here, which amounts to placing the reference of the real scene at the optical center of the camera.
  • the pose of an object is estimated according to the correspondences between the points of interest of the current image resulting from the video stream, the points of interest of the current key image and the points of interest of the previous image. of the video stream. These operations are called the matching phase. From the most significant correlations, the software calculates the pose of the object corresponding best to the observations.
  • FIGS 1 and 2 illustrate this tracking application.
  • the proposed solutions are often derived from research and do not take into account the constraints of implementation of commercial systems.
  • the problems related to robustness, the ability to quickly launch the application without requiring a manual phase of creation of one or more keyframes off-line necessary for the initialization of the tracking system, the detection of "off-hook" errors (when the object to be tracked is “lost") and automatic and real-time reset after such errors are often left out.
  • the invention solves at least one of the problems discussed above.
  • the invention thus relates to a method for determining the laying of a three-dimensional object in an image, characterized in that it comprises the following steps:
  • the method according to the invention thus makes it possible to automatically determine the pose of a three-dimensional object in an image, in particular to create key initialization images of an augmented reality application using automatic tracking, in real time, of three-dimensional objects in a video stream. This determination is based on the acquisition of a model of the object and the projection of it according to at least a two-dimensional representation, then on a positioning of a representation on the object in the image in order to determine the pose.
  • the method comprises a preliminary step of constructing a three-dimensional generic model of the object from the three-dimensional object.
  • the three-dimensional generic model is a mesh of the object.
  • the method comprises a preliminary step of three-dimensional localization of the object in the image. This feature makes it easier to position a two-dimensional representation of the object in the image.
  • the method comprises a step of determining the characteristic points of the object of the image.
  • This feature thus facilitates the positioning of a two-dimensional representation of the object in the image and the determination of the three-dimensional pose of an object in an image when a two-dimensional representation is positioned.
  • the method comprises a preliminary step of determining characteristic points of the three-dimensional generic model of the object. According to this feature, the positioning of a two-dimensional representation is facilitated as well as the determination of the three-dimensional pose of an object in an image when a two-dimensional representation is positioned.
  • the step of determining the three-dimensional pose of the object in the image is furthermore a function of the distance between the determined characteristic points of the three-dimensional generic model of the object and the determined characteristic points of the object. object in the image.
  • the invention also relates to a method for creating at least one key image comprising an image representing at least one three-dimensional object in a three-dimensional environment, this method being characterized in that it comprises the following steps:
  • the method according to the invention thus makes it possible to automate the creation of key images, in particular with a view to initializing or resetting an application of augmented reality using automatic, real-time tracking of three-dimensional objects in a video stream.
  • the invention also relates to a device for determining the pose of a three-dimensional object in an image, characterized in that it comprises the following means:
  • projection means of the three-dimensional generic model according to at least one two-dimensional representation and means of association with each two-dimensional representation of a pose information of the three-dimensional object
  • the invention proposes a device for creating at least one key image comprising an image representing at least one three-dimensional object in a three-dimensional environment, this device being characterized in that it comprises the following means:
  • the present invention also aims a storage means, removable or not, partially or completely readable by a computer or a microprocessor comprising code instructions of a computer program for executing each of the steps of the methods as set forth above.
  • the present invention provides a computer program comprising instructions adapted to the implementation of each of the steps of the methods as described above.
  • FIG. 1 schematically represents the essential principles of the object tracking application developed by the Swiss Federal Institute of Technology in Lausanne;
  • FIG. 2 illustrates certain steps of the method for determining the placing of an object in an image of a video stream from key images and the previous image of the video stream;
  • FIG. 3 represents the global diagram of the creation of one or more key images of a three-dimensional object and of any geometry, in an environment implementing the invention;
  • FIG. 4 shows an example of an apparatus making it possible to implement the invention at least partially;
  • FIG. 5 illustrates a generic algorithm based on the image analysis according to the invention;
  • FIG. 6 illustrates an image analysis algorithm for creating key images of a face according to the invention.
  • FIG. 7 illustrates the creation of two-dimensional models obtained from the generic three-dimensional mesh of a face.
  • the method according to the invention particularly relates to the creation, in particular automatically, of at least one key image of at least one three-dimensional object in an environment with a view to automating the initialization and reset phases after a stall. the object tracking application on images from a video stream.
  • a key image is sufficient for the automation of the initialization and reset phases, especially when the pose of the object in an image is found in real time and very precisely by means of an analysis. image.
  • a multitude of keyframes may also allow the application to initialize for any type of relative poses between the object to be tracked and the camera.
  • FIG. 3 illustrates the global scheme for creating one or more keyframes, also called initialization keyframes of an object in an environment implementing the invention, for an object tracking application.
  • the creation of at least one key image of an object in an environment and the execution of a tracking application (300) using these keyframes comprise three interconnected phases: a creation phase one or more initialization keyframes (I), a tracking initialization phase that use the initialization keyframe (s) previously create (II) and an object tracking phase (III) corresponding to the steady state of the application and that can be used to create new initialization keyframes.
  • the phase of creating a first keyframe (I) consists mainly of acquiring an image representing the three-dimensional object in an initial position. This acquisition is performed, in particular, from a shooting means such as a camera or a camera.
  • a first key image is created (step 320) comprising on the one hand the first image acquired and the relative pose of the object in the environment according to the point view of the image.
  • an image analysis module is thus introduced prior to the creation of the key image (step 310) and makes it possible to find the pose of the object in the image without user intervention. .
  • a prior knowledge of the type of object to be found in the image and a knowledge of some characteristics thereof can indeed estimate the pose of the object in space real. This approach is particularly interesting when it comes for example to find the pose of a face in an image. Indeed, it is possible to use facial features such as the eyes or the mouth, to determine the pose of the object.
  • phase I the steps of this phase I can be reiterated for the creation of a plurality of key images, without requiring the intervention of the user.
  • the tracking application is initialized by searching for a keyframe representing the object in the stream video containing the object to follow (step 320).
  • the tracking application can find the object (phase III) in the successive images of the stream video according to a tracking mechanism (step 325).
  • a tracking mechanism According to this mechanism, the displacements of the object (displacement of the object in the scene or displacement induced by the movement of the camera in the scene) are followed by a frame on the other and any drifts are compensated thanks to the information contained in the initialization keyframe retained during initialization and, optionally, in the initialization keyframe computed during the execution of the application.
  • These keyframes themselves can later be used as an initialization keyframe to re-initialize the application automatically.
  • the phase of reset is similar to the initialization phase described above (step 320).
  • this scheme of creating one or more keyframes can be repeated to allow the creation of new keyframes corresponding to other objects also present in the image. Once the creation of at least one keyframe for each object is complete, it is possible to track multiple objects in the video stream.
  • Figure 4 shows schematically an apparatus adapted to implement the invention.
  • the device 400 is for example a microcomputer, a workstation or a game console.
  • the device 400 preferably comprises a communication bus 402 to which are connected:
  • a central processing unit or microprocessor 404 CPU, Central Processing Unit
  • ROM 406 Read OnIy Memory
  • Programs such as "Prog"
  • RAM 088 Random Access Memory
  • a video acquisition card 410 connected to a camera 412;
  • a graphics card 416 connected to a screen or to a projector 418.
  • the apparatus 400 may also have the following elements:
  • a hard disk 420 which may comprise the aforementioned "Prog" programs and data processed or to be processed according to the invention
  • a distributed communication network 428 for example the Internet network
  • a data acquisition card 414 connected to a sensor (not shown);
  • a memory card reader (not shown) adapted to read or write processed or processed data according to the invention.
  • the communication bus allows communication and interoperability between the various elements included in the device 400 or connected to it.
  • the representation of the bus is not limiting and, in particular, the central unit is capable of communicating instructions to any element of the apparatus 400 directly or via another element of the apparatus 400.
  • the executable code of each program enabling the programmable device to implement the processes according to the invention can be stored, for example, in the hard disk 420 or in the read-only memory 406.
  • the executable code of the programs may be received via the communication network 428, via the interface 426, to be stored in the same manner as that described previously.
  • the memory cards can be replaced by any information medium such as, for example, a compact disc (CD-ROM or DVD).
  • the memory cards can be replaced by information storage means, readable by a computer or by a microprocessor, integrated or not integrated into the device, possibly removable, and adapted to store one or more programs including the execution allows the implementation of the method according to the invention.
  • the program or programs may be loaded into one of the storage means of the device 400 before being executed.
  • the central unit 404 will control and direct the execution of the instructions or portions of software code of the program or programs according to the invention, instructions which are stored in the hard disk 420 or in the ROM 406 or in the other storage elements mentioned above.
  • the program or programs that are stored in a non-volatile memory for example the hard disk 420 or the read only memory 406, are transferred into the random access memory 408 which then contains the executable code of the program or programs according to the invention, as well as registers for storing the variables and parameters necessary for the implementation of the invention.
  • the communication apparatus comprising the device according to the invention can also be a programmed apparatus.
  • This device then contains the code of the computer program or programs for example frozen in a specific application integrated circuit (ASIC).
  • ASIC application integrated circuit
  • the image from the video card 416 can be transmitted to the screen or the projector 418 through the communication interface 426 and the distributed communication network 428.
  • the camera 412 can be connected to a card video acquisition device 410 ', separate from the camera 400, so that the images from the camera 412 are transmitted to the camera 400 through the distributed communication network 428 and the communication interface 426.
  • a tracking application can be initialized from this set and used in a standard way to track an object in a sequence of images from a video stream, for example. example to embed a video sequence on an object of the scene by taking into account the position and orientation of this object, but also to determine the movement of a camera according to the analysis of an object of the scene. In this case the object is part of the decor. Find the pose of this object in the scene is therefore to find the pose of the camera in relation to it. It then becomes possible to add virtual elements in the scene provided that the geometric transformation between the object and the geometric model of the scene is known. What is the case. This approach allows to increase the real scene with animated virtual objects that move according to the geometry of the scene.
  • This algorithm comprises in particular two phases, one of which can be carried out offline and the other being carried out online. This second phase executing, in particular, at each phase of initialization or reinitialization of the object tracking algorithm.
  • steps 505 to 520 consist first of all to obtain the knowledge concerning the shape of the object to be followed in the image (steps 505).
  • This knowledge is, in particular, related to the type of objects to follow in the video stream.
  • this knowledge may relate to one or more objects faces to locate in any environment, or one or more trees in a landscape.
  • the three-dimensional generic model of the object is constructed from a generic form of the real object, in particular from the real object to be found in the video stream, the latter possibly being the mesh. of the object. On this mesh, it is identified and positioned, in step 515, including manually, the characteristic elements of the object. Regarding the face, these include the nose, eyes and mouth.
  • the mesh with its identified characteristic elements is projected according to one or more two-dimensional representations, and to each of these representations, it is associated with a pose information of the three-dimensional object represented (step 520).
  • Each two-dimensional representation thus corresponds to a pose that the three-dimensional object can have.
  • the mesh is sampled according to a plurality of possible positions, orientations and scales.
  • several models corresponding to various random values or not (depending on the use case) in the parameter space are constructed. These parameters are defined in particular in the three-dimensional space.
  • This space includes the following orientation parameters: yaw (yaw) in terminology corresponding to the rotation around the axis z -> ⁇ , the pitch ("pitch” in English terminology) corresponding to the rotation around the axis x -> ⁇ and the roll (“millet”) in English terminology) corresponding to the rotation around the axis y -> ⁇ .
  • yaw yaw
  • the pitch in English terminology
  • the roll corresponding to the rotation around the axis y -> ⁇
  • the set of two-dimensional representations of the previously generated three-dimensional object is made available (step 525).
  • an image is extracted (step 530).
  • the object in the image is possibly located approximately in two dimensions or three dimensions (the size of the object in the image can give us depth information), (step 535).
  • the technique of discretized Haar wavelets makes it possible to search the image for a model similar to that previously learned on hundreds of objects of the same type with small differences.
  • it is for example identified a frame encompassing the object or objects to look for in the image, and possibly parts thereof.
  • step 540 of searching for characteristic elements of the object in the image is followed by step 540 of searching for characteristic elements of the object in the image.
  • These characteristic elements can be points, segments and curves that belong to the object. From these elements important information about the position and orientation of the object can be deduced. To do this the use of image analysis methods is relevant. For example, the following operations can be performed: gradient analyzes, the determination of colorimetric thresholds in different color spaces, the application of filters, for example the LoG filter ("Laplacian of Gaussian” in English terminology) or the Sobel filter, energy minimizations, especially the extraction of contours ("snake” in English terminology) taking into account, for example, the color of the object to be found in the image to find its outline in two dimensions.
  • gradient analyzes the determination of colorimetric thresholds in different color spaces
  • filters for example the LoG filter ("Laplacian of Gaussian" in English terminology) or the Sobel filter
  • energy minimizations especially the extraction of contours ("snake” in English terminology) taking into account, for example, the color of the object to be found in the image to find its outline in two dimensions.
  • the positioning corresponds in particular to search for correspondence between the two-dimensional representation and the object in the image
  • the pose is determined at least from the pose information associated with the selected two-dimensional representation.
  • the pose is determined from the distance between the characteristic elements found.
  • the pose of the three-dimensional object is determined, including in particular the orientation and the position of the object. This information is used to create an initialization keyframe for the real-time object tracking application in a video stream in step 320 of Figure 3.
  • the application may consist of finding the pose of a three-dimensional object, for example a face, in a real-time video stream in order to enrich the object tracked.
  • a three-dimensional object for example a face
  • Such an application works for any type of "face" type object present in the video stream.
  • the user can, for example see, through a control screen, his face enriched by various three-dimensional objects of synthesis, especially on his face real, it is added a hat or glasses.
  • the user can look like known virtual characters or a character of his choice that he previously modeled.
  • the method of the invention makes it possible to carry out the placement of the mesh automatically at the launch of the application.
  • the mesh corresponding to a generic face is previously modeled using data of general proportions of a human face. These proportions being very close to one person to another, the algorithm is made more robust to the different users likely to interact with the application.
  • the initialization phase is made automatic, in particular by the use of an image analysis solution to find certain characteristic points in the image.
  • the characteristic points may be the eyes, the mouth, the nose, the eyebrows and the chin.
  • This information here described in a non-exhaustive manner and identified according to the type of application to be implemented, makes it possible to position the mesh corresponding to the face automatically, realistically and accurately. Indeed, any offset in the estimate of the initial position of the mesh on the face would then be very harmful during the execution of the tracking application.
  • FIG. 6 illustrates an image analysis algorithm for creating key images of a face according to the invention.
  • the search by image analysis firstly makes it possible to accurately find the position of a face in the images of a video stream (step 600).
  • this image analysis uses, for example, the technique of discretized Haar wavelets to search the image for a model similar to that previously learned on hundreds of different faces.
  • it is identified a frame encompassing the face determined in the image and possibly narrower frames identifying certain characteristic areas of the face (for example around the eyes or mouth) which will then allow a search more precise elements of the face. This first approximation of the position of certain elements of the face may be insufficient to find these characteristic elements accurately.
  • the next step (step 605) is to determine more precisely in these regions points, segments and characteristic curves that belong to the face and gives us important information on the position and orientation of the face. These include, for example, eyes, eyebrows, mouth and the axis of the nose. These elements are found by means of image analysis.
  • the following operations are performed: gradient analysis, simple pattern recognition (ovoid around the eyes), the determination of colorimetric thresholds (such as those that characterize the hue of a mouth), l application of filters, for example the LoG filter ("Laplacian of Gaussian", to accentuate the contours present in the face) or the Sobel filter (to find characteristic points), energy minimizations, in particular the extraction of contours ("Snake”) taking into account, for example, the hue of the skin.
  • filters for example the LoG filter ("Laplacian of Gaussian", to accentuate the contours present in the face) or the Sobel filter (to find characteristic points)
  • energy minimizations in particular the extraction of contours ("Snake") taking into account, for example, the hue of the skin.
  • the mesh is sampled according to a plurality of possible positions, orientations and scales.
  • several models corresponding to various random values or not (depending on the use case) in the parameter space are constructed. These parameters are defined in particular in the three-dimensional space. This space includes the following orientation parameters: yaw, pitch, and roll. These settings may vary very slightly. Indeed, it is considered that the user is more or less correctly positioned in front of the camera.
  • This learning step thus makes it possible to create a series of simplified and projected two-dimensional models obtained from the generic three-dimensional mesh as illustrated in FIG. 7, for which three-dimensional laying parameters are associated so as to create keyframes.
  • the algorithm continues with the adjustment of the generic mesh (step 610) and the automatic search for the pose of the three-dimensional object (step 615). To do this, from the set of projections corresponding to the generic mesh and relevant information of the face, the mesh is adjusted and the pose of the three-dimensional object in the recovered image.
  • the projected and simplified meshes are thus compared with the relevant information of the face, namely the points, the segments and the curves, by means of distance functions.
  • a correlation operation will make it possible to estimate the pose and the scaling of the user's face in the initial image extracted from the video stream. Indeed, all the relevant parameters to find the matrix of passage between the three-dimensional generic mesh and the mesh used for monitoring are known.
  • the pose of the face in the image extracted from the video stream is known, it is created a first initialization keyframe.
  • This can be used directly to allow automatic initialization of the face tracking application. Indeed, each time the user is close to the pose contained in this keyframe, the initialization takes place. However, it remains possible to create several initialization keyframes to allow more robust initialization in various relative poses of the face relative to the camera.
  • the user may for example be forced to face the camera during the creation of the image key. In this way, the variation of the degrees of freedom is reduced during the automatic search for the pose of the object. To do this, it is also possible to add targets on the screen that make it possible to force the user to position himself correctly in front of the camera.
  • the transformation matrix between the initial position of the generic mesh and the modified position can be expressed by the expression: SRT where S is the scaling matrix, R is the rotation matrix and 7Ia translation matrix.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)
  • Image Analysis (AREA)
  • Apparatus For Radiation Diagnosis (AREA)

Abstract

L'invention a pour objet un procédé et un dispositif de détermination de la pose d'un objet tridimensionnel dans une image, caractérisé en ce qu'il comprend les étapes suivantes : acquisition d'un modèle générique tridimensionnel de l'objet, projection du modèle générique tridimensionnel selon au moins une représentation en deux dimensions et association à chaque représentation en deux dimensions d'une information de pose de l'objet tridimensionnel, sélection et positionnement d'une représentation en deux dimensions sur l'objet dans ladite image, et détermination de la pose tridimensionnelle de l'objet dans l'image à partir au moins de l'information de pose associée à la représentation en deux dimensions sélectionnée.

Description

Procédé et dispositif de détermination de la pose d'un objet tridimensionnel dans une image et procédé et dispositif de création d'au moins une image clé pour le suivi d'objets
La présente invention concerne la combinaison d'images réelles et virtuelles en temps réel, aussi appelée réalité augmentée, et plus particulièrement un procédé et un dispositif de détermination de la pose d'un objet tridimensionnel dans une image et un procédé et un dispositif de création d'au moins une image clé correspondant à un objet tridimensionnel. 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 à 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. 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.
Il existe plusieurs méthodes de suivi d'éléments dans un flux d'images. Généralement, les algorithmes de suivi d'élément, aussi appelé algorithme de poursuite de cible, utilisent un marqueur qui peut être visuel ou utiliser d'autres moyens tel que des moyens basés sur les radio fréquences ou l'infrarouge. Alternativement, certains algorithmes utilisent une reconnaissance de forme pour suivre un élément particulier dans un flux d'image.
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, donnée par l'utilisateur à l'initialisation du système et une image clé mise à jour durant l'exécution du suivi visuel.
L'objectif de cet algorithme de suivi visuel est de retrouver, dans une scène réelle, la pose, c'est-à-dire la position et l'orientation, d'un objet dont le maillage tridimensionnel est disponible, ou de retrouver les paramètres extrinsèques de position et d'orientation, relativement à cet objet, d'une caméra filmant cet objet, immobile, grâce à l'analyse d'image.
L'image vidéo courante est 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) d'un modèle tridimensionnelle apparaissant dans cette image. Il convient de distinguer les images clés « hors ligne », ou off Une, des images clés « en ligne », ou on Une. Les images clés hors ligne 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 ou à l'aide d'un outil de réglage tel qu'un Pocket Dial commercialisé par la société Doepfer. Les images clés hors ligne 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. Les images clé « en ligne » sont mémorisées dynamiquement durant l'exécution du programme de suivi. Elle sont calculées lorsque l'erreur, c'est-à-dire la distance entre les appariements des points d'intérêts, est faible. Les images clés en ligne remplacent les images clés hors ligne utilisées pour initialiser l'application. Leur utilisation vise à réduire le décalage, aussi appelé dérive, qui peut devenir important lorsque l'on s'éloigne trop de la position relative initiale entre la caméra et l'objet. L'apprentissage de nouvelles images clés en ligne a aussi pour résultat de rendre l'application plus robuste aux variations de lumière extérieure et aux variations de colorimétries des caméras. Elles ont cependant le désavantage d'introduire un effet de « vibrations » sur la pose de l'objet dans le temps. Lors de l'apprentissage d'une nouvelle image clé en ligne, celle-ci vient remplacer l'image clé précédente, hors ligne ou en ligne. Elle est utilisée comme image clé courante.
Chaque image clé, hors ligne ou en 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 et représentent des emplacements avec des fortes valeurs de gradients directionnels dans l'image.
Avant d'initialiser l'application, 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 à traquer, et auxquelles sont associées une position et une orientation du modèle tridimensionnel de ce objet. Pour cela, un opérateur fait une opération manuelle qui consiste à faire 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 qui correspond à la matrice de passage entre le repère attaché à l'objet vers le repère associé à la caméra. La transformation affine initiale peut se décomposer selon une première transformation T0→c relative à une position initiale de l'objet, par exemple au centre de l'écran, c'est-à-dire une transformation liée au changement de repère entre le repère de la caméra et le repère de l'objet, et en une seconde transformation Tp→0 relative au déplacement et à la rotation de l'objet de sa position initiale au centre de l'écran vers la position et l'orientation dans lesquelles se trouve réellement l'objet sur l'image clé, où Tp→c = Tp→0 - T0→c . Si les valeurs α, β et γ correspondent à la translation de l'objet de sa position initiale au centre de l'image vers sa position dans l'image clé et si les valeurs θ, φ et φ correspondent à la rotation de l'objet de sa position initiale au centre de l'image vers sa position dans l'image clé selon les axes x, y et z, la transformation Tp→0 peut s'exprimer alors sous la forme de la matrice suivante, cos^cos^ + sin<psin#sin^ sinç?cos^ -cos<psin#sin^ cosέ?sin^ a rpQ -sin#>cos# cos$?cos# sin# β p sinçpsin#cos^ - cosçz>sin^ - o,osφsm.θcosφ -sm.φsm.φ cos#cos^ γ
0 0 0 1
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. Lors de l'initialisation de l'application, 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 de moduler le noyau de détection d'appariement et d'obtenir une meilleure qualité dans l'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. Il est alors possible de retrouver la transformation affine permettant de caler le modèle tridimensionnel virtuel de l'objet sur l'objet réel.
Lorsqu'une telle correspondance a été trouvée, l'algorithme passe en régime permanent. Les déplacements de l'objet sont suivis d'une trame 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 et dans l'image clé en ligne calculée lors de l'exécution de l'application.
L'application de suivi combine deux types d'algorithme : une détection de points d'intérêts, par exemple une version modifiée de détection de points de Harris, 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 trame sur l'autre. 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 ~ P, - PE • Tp→c - 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 caméra, c'est-à-dire la position de la caméra dans l'espace réelle, et Tp→c la matrice affine de passage entre le repère associé à l'objet suivi vers le repère de 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 P - P, • Tp→c • P où Tp→c la matrice de la pose de l'objet dans le repère de la caméra. La matrice Pi étant connue, le problème de suivi consiste donc à déterminer la matrice Tp→c .
Cependant, il est important de noter que lorsque la mesure d'erreur devient trop importante, c'est-à-dire lorsque le nombre d'appariements entre l'image clé courante et l'image courante devient trop faible, le suivi subit un décrochage (on considère que l'estimation de la pose de l'objet n'est plus suffisamment cohérente) et une nouvelle phase d'initialisation utilisant toujours les mêmes images clés hors ligne est nécessaire.
La pose d'un objet est estimée selon les correspondances entre les points d'intérêts de l'image courante issue du flux vidéo, les points d'intérêts de l'image clé courante et les points d'intérêts de l'image précédente issue du flux vidéo. Ces opérations sont appelées phase d'appariement. A partir des corrélations les plus significatives, le logiciel calcule la pose de l'objet correspondant le mieux aux observations.
Les figures 1 et 2 illustrent cette application de suivi.
Les solutions proposées sont souvent issues de la recherche et ne prennent pas en compte les contraintes d'implémentation de systèmes commerciaux. En particulier, les problèmes liés à la robustesse, à la possibilité de lancer rapidement l'application sans nécessiter une phase manuelle de création d'une ou plusieurs images clés hors lignes nécessaires à l'initialisation du système de suivi, à la détection d'erreurs de type « décrochage » (lorsque l'objet à suivre est « perdu ») et à la réinitialisation automatique et temps réel après de telles erreurs sont souvent laissés de côté. L'invention permet de résoudre au moins un des problèmes exposés précédemment.
L'invention a ainsi pour objet un procédé de détermination de la pose d'un objet tridimensionnel dans une image, caractérisé en ce qu'il comprend les étapes suivantes :
- acquisition d'un modèle générique tridimensionnel de l'objet,
- projection du modèle générique tridimensionnel selon au moins une représentation en deux dimensions et association à chaque représentation en deux dimensions d'une information de pose de l'objet tridimensionnel, - sélection et positionnement d'une représentation en deux dimensions sur l'objet dans ladite image,
- détermination de la pose tridimensionnelle de l'objet dans l'image à partir au moins de l'information de pose associée à la représentation en deux dimensions sélectionnée. Le procédé selon l'invention permet ainsi de déterminer automatiquement la pose d'un objet tridimensionnel dans une image, en vue notamment de créer des images clés d'initialisation d'une application de réalité augmentée utilisant un suivi automatique, en temps réel, d'objets tridimensionnel dans un flux vidéo. Cette détermination est basée sur l'acquisition d'un modèle de l'objet et la projection de celui-ci selon au moins une représentation en deux dimensions, puis sur un positionnement d'une représentation sur l'objet dans l'image afin d'en déterminer la pose.
Selon une caractéristique particulière, le procédé comprend une étape préalable de construction d'un modèle générique tridimensionnel de l'objet à partir de l'objet tridimensionnel.
Selon une autre caractéristique particulière, le modèle générique tridimensionnel est un maillage de l'objet.
Selon un mode de réalisation, le procédé comprend une étape préalable de localisation en trois dimensions de l'objet dans l'image. Cette caractéristique permet de faciliter le positionnement d'une représentation en deux dimensions de l'objet dans l'image. Selon un autre mode de réalisation, le procédé comprend une étape de détermination des points caractéristiques de l'objet de l'image.
Cette caractéristique permet ainsi de faciliter le positionnement d'une représentation en deux dimensions de l'objet dans l'image ainsi que la détermination de la pose tridimensionnelle d'un objet dans une image lorsqu'une représentation en deux dimensions est positionnée.
Selon une caractéristique particulière, le procédé comprend une étape préalable de détermination de points caractéristiques du modèle générique tridimensionnel de l'objet. Selon cette caractéristique, le positionnement d'une représentation en deux-dimensions est facilité ainsi que la détermination de la pose tridimensionnelle d'un objet dans une image lorsqu'une représentation en deux dimensions est positionnée.
Selon une autre caractéristique particulière, l'étape de détermination de la pose tridimensionnelle de l'objet dans l'image est en outre fonction de la distance entre les points caractéristiques déterminés du modèle générique tridimensionnel de l'objet et les points caractéristiques déterminés de l'objet dans l'image.
L'invention concerne également un procédé de création d'au moins une image clé comprenant une image représentant au moins un objet tridimensionnel dans un environnement tridimensionnel, ce procédé étant caractérisé en ce qu'il comprend les étapes suivantes :
- acquisition d'au moins une image représentant l'objet dans une position initiale déterminée ; - détermination de la pose de l'objet tridimensionnel dans ladite au moins une image selon le procédé de détermination de la pose d'un objet tridimensionnel dans une image conforme à l'invention, et
- création d'au moins une image clé à partir de ladite au moins une image acquise et de la pose relative de l'objet dans son environnement. Le procédé selon l'invention permet ainsi d'automatiser la création d'images clés, en vue notamment d'initialiser ou réinitialiser une application de réalité augmentée utilisant un suivi automatique, en temps réel, d'objets tridimensionnel dans un flux vidéo.
L'invention vise également un dispositif de détermination de la pose d'un objet tridimensionnel dans une image, caractérisé en ce qu'il comprend les moyens suivante :
- des moyens d'acquisition d'un modèle générique tridimensionnel de l'objet,
- des moyens de projection du modèle générique tridimensionnel selon au moins une représentation en deux dimensions et des moyens d'association à chaque représentation en deux dimensions d'une information de pose de l'objet tridimensionnel,
- des moyens de sélection et des moyens de positionnement d'une représentation en deux dimensions sur l'objet dans ladite image,
- des moyens de détermination de la pose tridimensionnelle de l'objet dans l'image à partir au moins de l'information de pose associée à la représentation en deux dimensions sélectionnée.
De même, l'invention propose un dispositif de création d'au moins une image clé comprenant une image représentant au moins un objet tridimensionnel dans un environnement tridimensionnel, ce dispositif étant caractérisé en ce qu'il comprend les moyens suivants :
- des moyens d'acquisition d'au moins une image représentant l'objet dans une position initiale déterminée ;
- des moyens de détermination de la pose de l'objet tridimensionnel dans ladite au moins une image conforme au dispositif de détermination de la pose d'un objet tridimensionnel dans une image selon l'invention, et
- des moyens de création d'au moins une image clé à partir de ladite au moins une image acquise et de la pose relative de l'objet dans son environnement.
Ces dispositifs présentent les mêmes avantages que les procédés brièvement décrits ci-dessus et ils ne seront donc pas rappelés ici.
La présente invention vise aussi un moyen de stockage, amovible ou non, partiellement ou totalement lisible par un ordinateur ou un microprocesseur comportant des instructions de code d'un programme d'ordinateur pour l'exécution de chacune des étapes des procédés tels qu'exposés ci-dessus.
La présente invention vise enfin un programme d'ordinateur comprenant des instructions adaptées à la mise en œuvre de chacune des étapes des procédés tels qu'exposés ci-dessus.
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 représente schématiquement les principes essentiels de l'application de suivi d'objet développé par l'Ecole Polytechnique Fédérale de Lausanne ;
- la figure 2 illustre certaines étapes du procédé pour déterminer la pose d'un objet dans une image d'un flux vidéo à partir d'images clés et de l'image précédente du flux vidéo ; - la figure 3 représente le schéma global de la création d'une ou plusieurs images clés d'un objet tridimensionnel et de géométrie quelconque, dans un environnement mettant en œuvre l'invention ;
- la figure 4 montre un exemple d'appareil permettant d'implémenter au moins partiellement l'invention ; - la figure 5 illustre un algorithme générique basé sur l'analyse d'image conformément à l'invention ;
- la figure 6 illustre un algorithme d'analyse d'image pour la création d'images clés d'un visage conformément à l'invention ; et
- la figure 7 illustre la création de modèles deux dimensions obtenus à partir du maillage tridimensionnel générique d'un visage.
Le procédé selon l'invention a en particulier pour objet la création notamment automatiquement, d'au moins une image clé d'au moins un objet tridimensionnel dans un environnement en vue de l'automatisation des phases d'initialisation et de réinitialisation après un décrochage de l'application de suivi d'objets sur des images issues d'un flux vidéo. Selon un mode de réalisation, une image clé suffit pour l'automatisation des phases d'initialisation et de réinitialisation, notamment lorsque la pose de l'objet dans une image est retrouvée en temps réel et de façon très précise au moyen d'une analyse d'image. Toutefois une multitude d'images clés peut aussi permettre à l'application de s'initialiser pour tout type de poses relatives entre l'objet à suivre et la caméra.
La figure 3 illustre le schéma global de création d'une ou plusieurs images clés, aussi appelées images clés d'initialisation d'un objet dans un environnement mettant en œuvre l'invention, pour une application de suivi d'objet.
Comme représenté sur la figure 3, la création d'au moins une image clé d'un objet dans un environnement et l'exécution d'une application de suivi (300) en utilisant ces images clés comprennent trois phases interconnectées: une phase de création d'une ou plusieurs images clés d'initialisation (I), une phase d'initialisation du suivi qui utilisent la ou les images clés d'initialisation créent précédemment (II) et une phase de suivi d'objet (III) qui correspond au régime permanent de l'application et qui peut être utilisé pour créer de nouvelles images clés d'initialisation. La phase de création d'une première image clé (I) consiste principalement à l'acquisition d'une image représentant l'objet tridimensionnel dans une position initiale. Cette acquisition est réalisée, notamment, à partir d'un moyen de prise de vue tel qu'une caméra ou un appareil photo. Après avoir acquis l'image contenant l'objet tridimensionnel (étape 305), une première image clé est créée (étape 320) comprenant d'une part la première image acquise et la pose relative de l'objet dans l'environnement selon le point de vue de l'image. Classiquement, pour construire cette première image clé, il convient de placer manuellement le maillage tridimensionnel correspondant à l'objet sur celui-ci dans l'image. Cependant, cette étape est fastidieuse. Conformément à l'invention, un module d'analyse d'image est ainsi introduit préalablement à la création de l'image clé (étape 310) et permet de retrouver la pose de l'objet dans l'image sans intervention de l'utilisateur. Pour ce faire, et conformément à l'invention, une connaissance préalable du type d'objet à retrouver dans l'image et une connaissance de quelques caractéristiques de celui-ci permettent en effet d'estimer la pose de l'objet dans l'espace réel. Cette approche est particulièrement intéressante lorsqu'il s'agit par exemple de retrouver la pose d'un visage dans une image. En effet, il est possible d'utiliser des caractéristiques du visage telles que les yeux ou la bouche, pour déterminer la pose de l'objet.
Afin d'améliorer la robustesse de l'algorithme de suivi, il est parfois important de capturer une série d'images clés correspondant à plusieurs poses relative entre la caméra et l'objet.
Ainsi, les étapes de cette phase I peuvent être réitérées pour la création d'une pluralité d'images clés, sans nécessiter l'intervention de l'utilisateur. Lors de la phase d'initialisation (II), à partir de ou des images clés d'initialisation créées lors de la phase I, l'application de suivi est initialisée par la recherche d'une image clé représentant l'objet dans le flux vidéo contenant l'objet à suivre (étape 320).
Lorsque la pose de l'objet est déterminée dans la première image du flux vidéo et que l'image clé courante est construite (étape 320), l'application de suivi peut retrouver l'objet (phase III) dans les images successives du flux vidéo selon un mécanisme de suivi (étape 325). Selon ce mécanisme, les déplacements de l'objet (déplacement de l'objet dans la scène ou déplacement induit par le mouvement de la caméra dans la scène) sont suivis d'une trame sur l'autre et les dérives éventuelles sont compensées grâce aux informations contenues dans l'image clé d'initialisation retenue lors de l'initialisation et, éventuellement, dans l'image clé d'initialisation calculée lors de l'exécution de l'application. Ces images clés pourront elles-mêmes servir par la suite comme image clé d'initialisation pour initialiser à nouveau l'application de façon automatique.
Lorsque la mesure d'erreur devient trop importante, le suivi subit un décrochage et une phase de réinitialisation est nécessaire. La phase de réinitialisation est similaire à la phase d'initialisation décrite précédemment (étape 320).
Il est important de noter que ce schéma de création d'une ou plusieurs images clés peut être répété afin de permettre la création de nouvelles images clés correspondant à d'autres objets également présents dans l'image. Une fois que la création d'au moins une image clé pour chaque objet est terminée, il est possible de suivre plusieurs objets dans le flux vidéo.
La figure 4 représente schématiquement un appareil adapté à mettre en œuvre l'invention. L'appareil 400 est par exemple un micro-ordinateur, une station de travail ou une console de jeux.
L'appareil 400 comporte de préférence un bus de communication 402 auquel sont reliés :
- une unité centrale de traitement ou microprocesseur 404 (CPU, Central Processing Unit) ; - une mémoire morte 406 (ROM, Read OnIy Memory) pouvant comporter le système d'exploitation et des programmes tels que "Prog" ;
- une mémoire vive ou mémoire cache 4 08 (RAM, Random Access Memory) 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 carte d'acquisition vidéo 410 reliée à une caméra 412 ; et,
- une carte graphique 416 reliée à un écran ou à un projecteur 418.
Optionnellement, l'appareil 400 peut également disposer des éléments suivants :
- un disque dur 420 pouvant comporter les programmes "Prog" précités et des données traitées ou à traiter selon l'invention ;
- un clavier 422 et une souris 424 ou tout autre dispositif de pointage comme un crayon optique, un écran tactile ou une télécommande permettant à l'utilisateur d'interagir avec les programmes selon l'invention ; - une interface de communication 426 reliée à un réseau de communication distribué 428, par exemple le réseau Internet, l'interface étant apte à transmettre et à recevoir des données ;
- une carte d'acquisition de données 414 reliée à un capteur (non représenté) ; et,
- un lecteur de cartes mémoires (non représenté) adapté à y lire ou à y écrire des données traitées ou à traiter selon l'invention.
Le bus de communication permet la communication et l'interopérabilité entre les différents éléments inclus dans l'appareil 400 ou reliés à lui. La représentation du bus n'est pas limitative et, notamment, l'unité centrale est susceptible de communiquer des instructions à tout élément du l'appareil 400 directement ou par l'intermédiaire d'un autre élément du l'appareil 400.
Le code exécutable de chaque programme permettant à l'appareil programmable de mettre en œuvre les processus selon l'invention, peut être stocké, par exemple, dans le disque dur 420 ou en mémoire morte 406.
Selon une variante, le code exécutable des programmes pourra être reçu par l'intermédiaire du réseau de communication 428, via l'interface 426, pour être stocké de façon identique à celle décrite précédemment. Les cartes mémoires peuvent être remplacées par tout support d'information tel que, par exemple, un disque compact (CD-ROM ou DVD). De manière générale, les cartes mémoires peuvent être remplacées par des moyens de stockage d'information, lisibles par un ordinateur ou par un microprocesseur, intégrés ou non à l'appareil, éventuellement amovibles, et adaptés à mémoriser un ou plusieurs programmes dont l'exécution permet la mise en œuvre du procédé selon l'invention.
De manière plus générale, le ou les programmes pourront être chargés dans un des moyens de stockage de l'appareil 400 avant d'être exécutés. L'unité centrale 404 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 420 ou dans la mémoire morte 406 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 420 ou la mémoire morte 406, sont transférés dans la mémoire vive 408 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 œuvre de l'invention.
Il convient de noter que l'appareil de communication comportant le dispositif selon l'invention peut également être un appareil programmé. Cet appareil contient alors le code du ou des programmes informatiques par exemple figé dans un circuit intégré à application spécifique (ASIC).
Alternativement, l'image issue de la carte vidéo 416 peut être transmise à l'écran ou au projecteur 418 à travers l'interface de communication 426 et le réseau de communication distribué 428. De même, la caméra 412 peut être reliée à une carte d'acquisition vidéo 410', distincte de l'appareil 400, de telle sorte que les images issues de la caméra 412 soient transmises à l'appareil 400 à travers le réseau de communication distribué 428 et l'interface de communication 426.
En raison de la simplification de mise en œuvre apportée par le procédé de l'invention, la création d'une ou plusieurs images clés d'initialisation peut être mise en œuvre sans avoir recours à un spécialiste. A l'issue de la création d'au moins une image clé, une application de suivi peut être initialisée à partir de cet ensemble et utilisée de façon standard pour suivre un objet dans une séquence d'images issues d'un flux vidéo, par exemple pour incruster une séquence vidéo sur un objet de la scène en prenant en compte la position et l'orientation de cet objet, mais aussi pour déterminer le mouvement d'une caméra selon l'analyse d'un objet de la scène. Dans ce cas l'objet fait partie du décor. Retrouver la pose de cet objet dans la scène revient donc à retrouver la pose de la caméra par rapport à celui-ci. Il devient alors possible d'ajouter des éléments virtuels dans la scène à condition que la transformation géométrique entre l'objet et le modèle géométrique de la scène soit connue. Ce qui est le cas. Cette approche autorise donc à augmenter la scène réelle avec des objets virtuels animés qui se déplacent en fonction de la géométrie de la scène.
Il est maintenant décrit en référence à la figure 5, un algorithme générique utilisant l'analyse d'image conformément à l'invention. Cet algorithme comprend notamment deux phases, l'une pouvant être réalisée hors ligne et l'autre étant réalisée en ligne. Cette seconde phase s'exécutant, notamment, à chaque phase d'initialisation ou de réinitialisation de l'algorithme de suivi d'objets.
Les étapes réalisées hors lignes, étapes 505 à 520 consistent tout d'abord à obtenir la connaissance concernant la forme de l'objet à suivre dans l'image (étapes 505). Cette connaissance est, notamment, liée au type d'objets à suivre dans le flux vidéo.
Par exemple, cette connaissance peut concerner un ou plusieurs objets visages à localiser dans un environnement quelconque, ou encore un ou plusieurs arbres dans un paysage.
Ensuite, à l'étape 510, le modèle générique tridimensionnel de l'objet est construit à partir d'une forme générique de l'objet réel, notamment de l'objet réel à retrouver dans le flux vidéo, ce dernier pouvant être le maillage de l'objet. Sur ce maillage, il est identifié et positionné, à l'étape 515, notamment manuellement, des éléments caractéristiques de l'objet. Concernant le visage, il s'agit notamment du nez, des yeux et de la bouche.
Ensuite, le maillage avec ses éléments caractéristiques identifiés est projeté selon une ou plusieurs représentations deux dimensions, et à chacune de ces représentations, il est associé une information de pose de l'objet tridimensionnel représenté (étape 520). Chaque représentation deux dimensions correspond ainsi à une pose que l'objet tridimensionnel peut avoir.
Durant cette phase, le maillage est échantillonné selon une pluralité de positions, d'orientations et d'échelles possibles. Pour ce faire, plusieurs modèles correspondants à diverses valeurs aléatoires ou non (suivant le cas d'utilisation) dans l'espace de paramètres sont construits. Ces paramètres sont définis notamment dans l'espace tridimensionnel. Cet espace comprend les différents paramètres d'orientation suivants : le lacet (« yaw » en terminologie anglo-saxonne) correspondant à la rotation autour de l'axe z -> φ, le tangage (« pitch » en terminologie anglo-saxonne) correspondant à la rotation autour de l'axe x -> θ et le roulis (« mil » en terminologie anglo-saxonne) correspondant à la rotation autour de l'axe y -> Φ. En outre, on peut échantillonner des paramètres sur la projection du maillage dans l'image. Cette projection peut comprendre un paramètre de position (tx, ty) et deux facteurs de mise à l'échelle (sx, sy) pour tenir compte de la forme générale de l'objet à suivre.
En outre, à ces représentations du maillage générique en deux dimensions, il est associé le positionnement des éléments caractéristiques correspondant en deux dimensions.
La seconde phase de l'algorithme a lieu « en ligne ».
Pour ce faire, l'ensemble de représentations deux dimensions de l'objet tridimensionnel précédemment généré est mis à disposition (étape 525).
A partir d'un flux d'images provenant d'une vidéo ou de tout autre périphérique de capture, une image est extraite (étape 530).
Dans cette image extraite, pour simplifier la recherche de la pose de l'objet dans les étapes suivantes, l'objet dans l'image est éventuellement localisé approximativement en deux dimensions ou trois dimensions (la taille de l'objet dans l'image peut nous donner une information de profondeur), (étape 535).
Par exemple, la technique des ondelettes de Haar discrétisée permet de rechercher dans l'image un modèle similaire à celui appris au préalable sur des centaines d'objets du même type présentant de petites différences. A l'issue de cette étape, il est par exemple identifié un cadre englobant le ou les objets à rechercher dans l'image, ainsi qu'éventuellement des parties de ceux- ci.
Cette étape est suivie de l'étape 540 consistant à rechercher des éléments caractéristiques de l'objet dans l'image.
Ces éléments caractéristiques peuvent être des points, des segments et des courbes qui appartiennent à l'objet. A partir de ces éléments des informations importantes sur la position et l'orientation de l'objet peuvent être déduites. Pour ce faire le recours à des méthodes d'analyse d'image est pertinent. Par exemple, les opérations suivantes peuvent être effectuées : des analyses de gradients, la détermination de seuils de colorimétrie dans différents espaces de couleurs, l'application de filtres, par exemple le filtre LoG (« Laplacian of Gaussian » en terminologie anglo-saxonne) ou le filtre Sobel, des minimisations d'énergie, notamment l'extraction de contours (« snake » en terminologie anglo-saxonne) en tenant compte, par exemple, de la teinte de l'objet à retrouver dans l'image pour retrouver son contour en deux dimensions. A partir, d'une part, de l'ensemble des représentations deux dimensions et, d'autre part, de l'image, il est sélectionné et positionné une représentation deux-dimensions sur l'objet de l'image pour ensuite déterminer la pose de l'objet dans l'image (étape 550). Le positionnement correspond notamment à recherche de correspondance entre la représentation deux- dimensions et l'objet dans l'image
La pose est déterminée au moins à partir de l'information de pose associée à la représentation deux-dimensions sélectionnée.
En outre, la pose est déterminée à partir de la distance entre les éléments caractéristiques retrouvés.
A l'issue de cette étape, la pose de l'objet tridimensionnelle est déterminée, comprenant notamment l'orientation et la position de l'objet. Ces informations sont utilisées pour la création d'une image clé d'initialisation pour l'application de suivi d'objets temps réel dans un flux vidéo lors de l'étape 320 de la Figure 3.
Selon un exemple de réalisation, l'application peut consister à retrouver la pose d'un objet tridimensionnel, par exemple d'un visage, dans un flux vidéo en temps réel en vue d'enrichir l'objet suivi. Une telle application fonctionne pour tout type d'objet de type « visage » présent dans le flux vidéo.
Dans l'exemple considéré du visage, l'utilisateur peut, par exemple voir, grâce à un écran de contrôle, son visage enrichi par divers objets tridimensionnels de synthèse, notamment sur son visage réel, il est ajouté un chapeau ou des lunettes. Ainsi, l'utilisateur peut ressembler à des personnages virtuels connus ou à un personnage de son choix qu'il a préalablement modélisé. Contrairement aux techniques de l'état de l'art consistant, lors de l'initialisation du suivi du visage, à extraire une image du flux vidéo et à placer manuellement un maillage correspondant à un visage générique (étape de création manuelle d'une image clé d'initialisation), le procédé de l'invention permet de réaliser le placement du maillage automatiquement au lancement de l'application.
Il est important de noter dans un tel mode de réalisation, qu'une seule image clé d'initialisation est nécessaire puisque celle-ci est crée directement à l'initialisation de l'application par un moyen d'analyse d'image. En effet, l'analyse d'image permet de construire des images clés d'initialisation en temps réel lorsque l'utilisateur se place devant le périphérique de capture.
Cependant, il est également possible de créer de nouvelles images clés soit de la même façon que la première image clé, soit pendant le régime permanent, où les image clés d'initialisation créée « en ligne » peuvent être réutilisées, par exemple, en cas de décrochage, lors d'une phase de réinitialisation.
Ainsi, conformément à l'invention, le maillage correspondant à un visage générique est préalablement modélisé en utilisant des données de proportions générales d'un visage humain. Ces proportions étant très proches d'une personne à l'autre, l'algorithme est rendu plus robuste aux différents utilisateurs susceptibles d'interagir avec l'application.
Conformément à l'invention, la phase d'initialisation est rendue automatique, notamment par l'utilisation d'une solution d'analyse d'image pour retrouver certains points caractéristiques dans l'image. Selon l'exemple considéré, les points caractéristiques peuvent être les yeux, la bouche, le nez, les sourcils et le menton. Ces informations, ici décrites de façon non exhaustives et identifiées en fonction du type d'application à mettre en œuvre, permettent de positionner le maillage correspondant au visage de façon automatique, réaliste et précise. En effet, tout décalage dans l'estimation de la position initiale du maillage sur le visage serait ensuite très néfaste lors de l'exécution de l'application de suivi. II est illustré en figure 6, un algorithme d'analyse d'image pour la création d'images clés d'un visage conformément à l'invention.
La recherche par analyse d'image permet tout d'abord de retrouver de façon précise la position d'un visage dans les images d'un flux vidéo (étape 600). Pour ce faire, cette analyse d'image utilise, par exemple, la technique des ondelettes de Haar discrétisée pour rechercher dans l'image un modèle similaire à celui appris au préalable sur des centaines de visages différents. A l'issue de cette étape, il est identifié un cadre englobant le visage déterminé dans l'image et éventuellement des cadres plus étroits identifiant certaines zones caractéristiques du visage (par exemple autour des yeux ou de la bouche) qui vont permettre ensuite une recherche plus précise des éléments du visage. Cette première approximation de la position de certains éléments du visage peut être insuffisante pour retrouver ces éléments caractéristiques de façon précise. L'étape suivante (étape 605) consiste ainsi à déterminer de façon plus précise dans ces régions des points, des segments et des courbes caractéristiques qui appartiennent au visage et qui nous donne des informations importantes sur la position et l'orientation du visage. Il s'agit par exemple des yeux, des sourcils, de la bouche et de l'axe du nez. Ces éléments sont retrouvés au moyen de l'analyse d'image. Pour ce faire, par exemple, les opérations suivantes sont effectuées : des analyses de gradients, la reconnaissance de formes simple (ovoïde autour des yeux), la détermination de seuils de colorimétrie (comme ceux qui caractérisent la teinte d'une bouche), l'application de filtres, par exemple le filtre LoG (« Laplacian of Gaussian », pour accentuer les contours présents dans le visage) ou le filtre Sobel (pour retrouver des points caractéristiques), des minimisations d'énergie, notamment l'extraction de contours (« snake ») en tenant compte, par exemple, de la teinte de la peau.
La recherche de ces éléments dans l'image peut également être simplifiée au moyen d'informations génériques sur des propriétés générales de dimension de visage. II est maintenant décrit la phase d'apprentissage du maillage tridimensionnel générique dans différentes positions et mis à l'échelle avec différents facteurs (Figure 7).
Durant cette phase, le maillage est échantillonné selon une pluralité de positions, d'orientations et d'échelles possibles. Pour ce faire, plusieurs modèles correspondants à diverses valeurs aléatoires ou non (suivant le cas d'utilisation) dans l'espace de paramètres sont construits. Ces paramètres sont définis notamment dans l'espace tridimensionnel. Cet espace comprend les différents paramètres d'orientation suivants : le lacet, le tangage et le roulis. Ces paramètres peuvent varier très légèrement. En effet, on considère que l'utilisateur est plus ou moins correctement positionné devant la caméra. En outre, on peut échantillonner des paramètres sur la projection du maillage dans l'image. Cette projection peut comprendre un paramètre de position (tx, ty) et deux facteurs de mise à l'échelle (sx, sy) pour tenir compte de la forme générale de la tête de l'utilisateur. Ces paramètres peuvent également varier légèrement.
Cette étape d'apprentissage permet ainsi la création d'une série de modèles en deux dimensions simplifiés et projetés obtenus à partir du maillage tridimensionnel générique tel qu'illustré en figure 7, pour lesquels sont associés des paramètres de pose tridimensionnelle de façon à créer des images clés.
De retour à la figure 6, l'algorithme se poursuit par l'ajustement du maillage générique (étape 610) et la recherche automatique de la pose de l'objet tridimensionnel (étape 615). Pour ce faire, à partir de l'ensemble des projections correspondant au maillage générique et des informations pertinentes du visage, le maillage est ajusté et la pose de l'objet tridimensionnel dans l'image retrouvée.
Les maillages projetés et simplifiés sont ainsi comparés avec les informations pertinentes du visage, à savoir les points, les segments et les courbes, au moyen de fonctions de distance. Enfin, une opération de corrélation va permettre d'estimer la pose et la mise à l'échelle, du visage de l'utilisateur dans l'image initiale extraite du flux vidéo. En effet, tous les paramètres pertinents pour retrouver la matrice de passage entre le maillage générique tridimensionnel et le maillage utilisé pour le suivi sont connus.
La pose du visage dans l'image extraite du flux vidéo étant connue, il est créé une première image clé d'initialisation. Celle-ci peut être utilisée directement pour permettre une initialisation automatique de l'application de suivi de visage. En effet, chaque fois que l'utilisateur est proche de la pose contenue dans cette image clé, l'initialisation a lieu. Il reste cependant possible de créer plusieurs images clés d'initialisation pour permettre une initialisation plus robuste dans diverses poses relatives du visage par rapport à la caméra. En outre, afin de surmonter d'éventuelles imprécisions lors de la détection de la position des zones importantes du visage dans l'image, l'utilisateur peut par exemple être contraint de se placer face à la caméra lors de la création de l'image clé. De cette manière, la variation des degrés de libertés est réduite lors de la recherche automatique de la pose de l'objet. Pour ce faire, il est aussi possible d'ajouter sur l'écran des cibles qui permettent de forcer l'utilisateur à se positionner correctement face à la caméra.
D'un point de vue géométrique, la matrice de transformation entre la position initiale du maillage générique et la position modifiée peut être exprimée par l'expression : S.R.T où S est la matrice de mise à l'échelle, R la matrice de rotation et 7Ia matrice de translation.
Il est important de noter que conformément à l'invention, il est possible de répéter ces opérations d'estimation de la pose du visage dans l'image afin de retrouver plusieurs utilisateurs dans le flux vidéo.
Naturellement, pour satisfaire des besoins spécifiques, une personne compétente dans le domaine de l'invention pourra appliquer des modifications dans la description précédente.

Claims

REVENDICATIONS
1. Procédé de détermination de la pose d'un objet tridimensionnel dans une image, caractérisé en ce qu'il comprend les étapes suivantes :
- acquisition d'un modèle générique tridimensionnel de l'objet,
- projection du modèle générique tridimensionnel selon au moins une représentation en deux dimensions et association à chaque représentation en deux dimensions d'une information de pose de l'objet tridimensionnel,
- sélection et positionnement d'une représentation en deux dimensions sur l'objet dans ladite image,
- détermination de la pose tridimensionnelle de l'objet dans l'image à partir au moins de l'information de pose associée à la représentation en deux dimensions sélectionnée.
2. Procédé selon la revendication 1, caractérisé en ce qu'il comprend une étape préalable de construction d'un modèle générique tridimensionnel de l'objet à partir de l'objet tridimensionnel.
3. Procédé selon la revendication 1 ou la revendication 2, caractérisé en ce que le modèle générique tridimensionnel est un maillage de l'objet.
4. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il comprend une étape préalable de localisation en trois dimensions de l'objet dans l'image.
5. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il comprend une étape de détermination des points caractéristiques de l'objet de l'image.
6. Procédé selon la revendication 5, caractérisé en ce qu'il comprend une étape préalable de détermination de points caractéristiques du modèle générique tridimensionnel de l'objet.
7. Procédé selon la revendication 6, caractérisé en ce que l'étape de détermination de la pose tridimensionnelle de l'objet dans l'image est en outre fonction de la distance entre les points caractéristiques déterminés du modèle générique tridimensionnel de l'objet et les points caractéristiques déterminés de l'objet dans l'image.
8. Procédé de création d'au moins une image clé comprenant une image représentant au moins un objet tridimensionnel dans un environnement tridimensionnel, ce procédé étant caractérisé en ce qu'il comprend les étapes suivantes :
- acquisition d'au moins une image représentant l'objet dans une position initiale déterminée ;
- détermination de la pose de l'objet tridimensionnel dans ladite au moins une image selon le procédé de détermination de la pose d'un objet tridimensionnel dans une image conforme à l'une quelconque des revendications 1 à 7, et
- création d'au moins une image clé à partir de ladite au moins une image acquise et de la pose relative de l'objet dans son environnement.
9. Programme d'ordinateur comprenant des instructions adaptées à la mise en œuvre de chacune des étapes du procédé de détermination de la pose d'un objet tridimensionnel dans une image selon l'une quelconque des revendications 1 à 7.
10. Programme d'ordinateur comprenant des instructions adaptées à la mise en œuvre de chacune des étapes du procédé de création d'au moins une image clé selon la revendication 8.
11. Moyen de stockage d'informations, amovible ou non, partiellement ou totalement lisible par un ordinateur ou un microprocesseur comportant des instructions de code d'un programme d'ordinateur pour l'exécution de chacune des étapes du procédé de détermination de la pose d'un objet tridimensionnel dans une image selon l'une quelconque des revendications 1 à 7.
12. Moyen de stockage d'informations, amovible ou non, partiellement ou totalement lisible par un ordinateur ou un microprocesseur comportant des instructions de code d'un programme d'ordinateur pour l'exécution de chacune des étapes du procédé de création d'au moins une image clé selon la revendication 8.
13. Dispositif de détermination de la pose d'un objet tridimensionnel dans une image, caractérisé en ce qu'il comprend les moyens suivants :
- des moyens d'acquisition d'un modèle générique tridimensionnel de l'objet, - des moyens de projection du modèle générique tridimensionnel selon au moins une représentation en deux dimensions et des moyens d'association à chaque représentation en deux dimensions d'une information de pose de l'objet tridimensionnel,
- des moyens de sélection et des moyens de positionnement d'une représentation en deux dimensions sur l'objet dans ladite image,
- des moyens de détermination de la pose tridimensionnelle de l'objet dans l'image à partir au moins de l'information de pose associée à la représentation en deux dimensions sélectionnée.
14. Dispositif selon la revendication 13, caractérisé en ce qu'il comprend des moyens de construction d'un modèle générique tridimensionnel de l'objet à partir de l'objet tridimensionnel.
15. Dispositif selon la revendication 13 ou la revendication 14, caractérisé en ce que le modèle générique tridimensionnel est un maillage de l'objet.
16. Dispositif selon l'une quelconque des revendications 13 à 15, caractérisé en ce qu'il comprend des moyens de localisation en trois dimensions de l'objet dans l'image.
17. Dispositif selon l'une quelconque des revendications 13 à 16, caractérisé en ce qu'il comprend des moyens de détermination des points caractéristiques de l'objet de l'image.
18. Dispositif selon la revendication 17, caractérisé en ce qu'il comprend des moyens de détermination de points caractéristiques du modèle générique tridimensionnel de l'objet.
19. Dispositif selon la revendication 18, caractérisé en ce que les moyens de détermination de la pose tridimensionnelle de l'objet dans l'image sont aptes à déterminer la pose tridimensionnelle de l'objet dans l'image, en outre, en fonction de la distance entre les points caractéristiques déterminés du modèle générique tridimensionnel de l'objet et les points caractéristiques déterminés de l'objet dans l'image.
20. Dispositif de création d'au moins une image clé comprenant une image représentant au moins un objet tridimensionnel dans un environnement tridimensionnel, ce dispositif étant caractérisé en ce qu'il comprend les moyens suivants :
- des moyens d'acquisition d'au moins une image représentant l'objet dans une position initiale déterminée ;
- des moyens de détermination de la pose de l'objet tridimensionnel dans ladite au moins une image conforme au dispositif de détermination de la pose d'un objet tridimensionnel dans une image selon l'une quelconque des revendications 13 à 19, et
- des moyens de création d'au moins une image clé à partir de ladite au moins une image acquise et de la pose relative de l'objet dans son environnement.
EP08775590A 2007-02-23 2008-02-22 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 pour le suivi d'objets Ceased EP2132709A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0753482A FR2913128B1 (fr) 2007-02-23 2007-02-23 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
PCT/FR2008/000236 WO2008125754A1 (fr) 2007-02-23 2008-02-22 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 pour le suivi d'objets

Publications (1)

Publication Number Publication Date
EP2132709A1 true EP2132709A1 (fr) 2009-12-16

Family

ID=38606701

Family Applications (1)

Application Number Title Priority Date Filing Date
EP08775590A Ceased EP2132709A1 (fr) 2007-02-23 2008-02-22 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 pour le suivi d'objets

Country Status (6)

Country Link
US (1) US8675972B2 (fr)
EP (1) EP2132709A1 (fr)
JP (1) JP2010519629A (fr)
KR (1) KR20090114471A (fr)
FR (1) FR2913128B1 (fr)
WO (1) WO2008125754A1 (fr)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009049073A1 (de) * 2009-10-12 2011-04-21 Metaio Gmbh Verfahren zur Darstellung von virtueller Information in einer Ansicht einer realen Umgebung
KR101487944B1 (ko) 2010-02-24 2015-01-30 아이피플렉 홀딩스 코포레이션 시각 장애인들을 지원하는 증강 현실 파노라마
US8509522B2 (en) * 2010-10-15 2013-08-13 Autodesk, Inc. Camera translation using rotation from device
US20130010068A1 (en) * 2011-04-12 2013-01-10 Radiation Monitoring Devices, Inc. Augmented reality system
JP5855416B2 (ja) * 2011-10-25 2016-02-09 Kddi株式会社 3次元座標取得装置、カメラ姿勢推定装置、プログラム
JP5995304B2 (ja) * 2011-12-12 2016-09-21 株式会社バンダイナムコエンターテインメント プログラム、情報記憶媒体、端末及びサーバ
JP5735455B2 (ja) * 2012-05-22 2015-06-17 日本電信電話株式会社 移動物体ポーズ算出装置、移動物体ポーズ算出方法、及びプログラム
US9437011B2 (en) 2012-06-11 2016-09-06 Samsung Electronics Co., Ltd. Method and apparatus for estimating a pose of a head for a person
US10013623B2 (en) * 2012-06-29 2018-07-03 Blackberry Limited System and method for determining the position of an object displaying media content
EP2704055A1 (fr) * 2012-08-31 2014-03-05 Layar B.V. Détermination d'espace pour afficher un contenu dans la réalité améliorée
US9928874B2 (en) 2014-02-05 2018-03-27 Snap Inc. Method for real-time video processing involving changing features of an object in the video
US9892543B2 (en) 2016-02-26 2018-02-13 Carnegie Mellon University Systems and methods for estimating pose of textureless objects
JP6872742B2 (ja) * 2016-06-30 2021-05-19 学校法人明治大学 顔画像処理システム、顔画像処理方法及び顔画像処理プログラム
CN108345821B (zh) * 2017-01-24 2022-03-08 成都理想境界科技有限公司 面部追踪方法及设备
EP3693924B1 (fr) * 2017-10-03 2023-08-02 Fujitsu Limited Système de reconnaissance de posture, programme de correction d'image et procédé de correction d'image
WO2019161229A1 (fr) * 2018-02-15 2019-08-22 DMAI, Inc. Système et procédé de reconstruction d'espace 3d non occupé
US11653072B2 (en) * 2018-09-12 2023-05-16 Zuma Beach Ip Pty Ltd Method and system for generating interactive media content
CN110148092B (zh) * 2019-04-16 2022-12-13 无锡海鸿信息技术有限公司 基于机器视觉的青少年坐姿及情绪状态的分析方法
CN110111428B (zh) * 2019-05-28 2023-06-20 艾瑞迈迪科技石家庄有限公司 一种应用于增强现实的虚拟目标标定方法及装置
CN112233018B (zh) * 2020-09-22 2023-01-06 天津大学 基于三维形变模型的参考图引导的人脸超分辨率方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6207474B1 (en) * 1998-03-09 2001-03-27 Micron Technology, Inc. Method of forming a stack of packaged memory die and resulting apparatus
US6671391B1 (en) * 2000-05-26 2003-12-30 Microsoft Corp. Pose-adaptive face detection system and process
JP4573085B2 (ja) * 2001-08-10 2010-11-04 日本電気株式会社 位置姿勢認識装置とその位置姿勢認識方法、及び位置姿勢認識プログラム
JP2003308533A (ja) * 2002-04-17 2003-10-31 Mitsubishi Electric Corp ドライバの顔画像処理装置
WO2005086089A1 (fr) * 2004-03-03 2005-09-15 Nec Corporation Système d'estimation/corrélation de posture d'objet, méthode d'estimation/corrélation de posture d'objet et programme pour ceux-ci
JP4677273B2 (ja) * 2004-06-29 2011-04-27 キヤノン株式会社 情報処理方法および情報処理装置
US7536030B2 (en) * 2005-11-30 2009-05-19 Microsoft Corporation Real-time Bayesian 3D pose tracking

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO2008125754A1 *

Also Published As

Publication number Publication date
FR2913128B1 (fr) 2009-08-28
FR2913128A1 (fr) 2008-08-29
KR20090114471A (ko) 2009-11-03
US8675972B2 (en) 2014-03-18
US20100316281A1 (en) 2010-12-16
JP2010519629A (ja) 2010-06-03
WO2008125754A1 (fr) 2008-10-23
WO2008125754A8 (fr) 2009-09-17

Similar Documents

Publication Publication Date Title
EP2132709A1 (fr) Procede et dispositif de determination de la pose d&#39;un objet tridimensionnel dans une image et procede et dispositif de creation d&#39;au moins une image cle pour le suivi d&#39;objets
EP2132710B1 (fr) Procede et dispositifs de realite augmentee utilisant un suivi automatique, en temps reel, d&#39;objets geometriques planaires textures, sans marqueur, dans un flux video
EP2111605B1 (fr) Procédé et dispositif de création d&#39;au moins deux images clés correspondant à un objet tridimensionnel
EP2715662B1 (fr) Procede de localisation d&#39;une camera et de reconstruction 3d dans un environnement partiellement connu
EP2455916B1 (fr) Interface homme-machine basée sur le suivi non-rigide
EP2104925B1 (fr) Procédé et dispositifs pour insérer en temps réel des objets virtuels dans un flux d&#39;images à partir de données issues de la scène réelle représentée par ces images
US10580148B2 (en) Graphical coordinate system transform for video frames
FR2933218A1 (fr) Procede et dispositif permettant de detecter en temps reel des interactions entre un utilisateur et une scene de realite augmentee
FR2980681A3 (fr) Procede de determination des mesures oculaires et optiques d&#39;interet pour la fabrication et le montage de verre de lunettes correcteurs, a l&#39;aide d&#39;une camera en contexte non controle
Porzi et al. Learning contours for automatic annotations of mountains pictures on a smartphone
WO2015177461A1 (fr) Procédé de détermination d&#39;au moins un paramètre comportemental
EP2441048A1 (fr) Procédés et dispositifs d&#39;identification d&#39;objets réels, de suivi de la représentation de ces objets et de réalité augmentée, dans une séquence d&#39;images, en mode client-serveur
EP2441046A2 (fr) Procédé et dispositif de calibration d&#39;un capteur d&#39;images utilisant un système temps réel de suivi d&#39;objets dans une séquence d&#39;images
EP2441047A1 (fr) Procédé et dispositif de suivi d&#39;objets en temps réel dans une séquence d&#39;images en présence de flou optique
FR3054062A1 (fr) Systeme et procede de capture embarquee et de reproduction 3d/360° du mouvement d&#39;un operateur dans son environnement
WO2023099302A1 (fr) Procédé de gestion de la représentation de points d&#39;intérêts
FR3112639A1 (fr) Procédé, dispositif et programme d’ordinateur d’aide au positionnement pour système de réalité étendue
FR3052287B1 (fr) Construction d&#39;une image tridimensionnelle

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20090911

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MT NL NO PL PT RO SE SI SK TR

17Q First examination report despatched

Effective date: 20100408

DAX Request for extension of the european patent (deleted)
APBK Appeal reference recorded

Free format text: ORIGINAL CODE: EPIDOSNREFNE

APBN Date of receipt of notice of appeal recorded

Free format text: ORIGINAL CODE: EPIDOSNNOA2E

APBR Date of receipt of statement of grounds of appeal recorded

Free format text: ORIGINAL CODE: EPIDOSNNOA3E

APAF Appeal reference modified

Free format text: ORIGINAL CODE: EPIDOSCREFNE

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: QUALCOMM CONNECTED EXPERIENCES, INC.

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: QUALCOMM INCORPORATED

REG Reference to a national code

Ref country code: DE

Ref legal event code: R003

APBT Appeal procedure closed

Free format text: ORIGINAL CODE: EPIDOSNNOA9E

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION HAS BEEN REFUSED

18R Application refused

Effective date: 20200122