WO2010142895A1 - Procédé et dispositif de suivi d'objets en temps réel dans une séquence d'images en présence de flou optique - Google Patents

Procédé et dispositif de suivi d'objets en temps réel dans une séquence d'images en présence de flou optique Download PDF

Info

Publication number
WO2010142895A1
WO2010142895A1 PCT/FR2010/051104 FR2010051104W WO2010142895A1 WO 2010142895 A1 WO2010142895 A1 WO 2010142895A1 FR 2010051104 W FR2010051104 W FR 2010051104W WO 2010142895 A1 WO2010142895 A1 WO 2010142895A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
tracking
points
images
objects
Prior art date
Application number
PCT/FR2010/051104
Other languages
English (en)
Inventor
Nicolas Livet
Thomas Pasquier
Original Assignee
Total Immersion
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Total Immersion filed Critical Total Immersion
Priority to EP10734231A priority Critical patent/EP2441047A1/fr
Publication of WO2010142895A1 publication Critical patent/WO2010142895A1/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30241Trajectory

Definitions

  • the present invention relates to the combination of real and virtual images in real time, in an augmented reality system, and more particularly a method and a device for tracking objects in real time in a sequence of images comprising fuzzy images.
  • 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 external data of 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 or a decorative element.
  • certain elements of this scene for example coordinates of a particular point of the scene such as the hand of a player or a decorative element.
  • the operations of tracking elements and incrustation of virtual objects in the real images can be executed by separate computers or by the same computer.
  • the purpose of the tracking algorithms used for these purposes is to find very accurately, in a real scene, the pose, that is to say the position and orientation, of an object whose information of geometry is generally available or, equivalently, to retrieve the extrinsic position and orientation parameters of a camera filming this object, thanks, for example, to image analysis.
  • tracking algorithms also called target tracking algorithms
  • use a marker that can be visual or use other means such as sensors, preferably wireless type radio frequency or infrared.
  • some algorithms use shape recognition to track a particular element in an image stream.
  • the autoimmune Polytechnique Fédérale de Lausanne has 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 and a keyframe, called a keyframe. in English terminology, obtained at the initialization of the system and a key image updated during the execution of the visual tracking.
  • the principle of this algorithm is described for example in the article entitled "Fusing Online and Offline Information for Stable 3D Tracking in Real Time" - Luca Vacchetti, Vincent Lepetit, Pascal Fua - IEEE Transactions on Pattern Analysis and Machine Intelligence 2004.
  • the objective of this visual tracking algorithm is to find, in a real scene, the pose of an object whose three-dimensional mesh (3D) is available as a 3D model, or to find, in an equivalent way, the extrinsic parameters. of position and orientation of a camera filming this object, motionless, thanks to image analysis.
  • 3D three-dimensional mesh
  • a keyframe is composed of two elements: a captured image of the video stream and a pose (orientation and position) of the real object appearing in this image.
  • the 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.
  • Keyframes preferably characterize the pose of the same object in several images. They are created and registered "offline", that is to say out of the permanent regime of the monitoring application. It is interesting to note that for targets or objects of planar type, for example a magazine, these keyframes can be directly generated from an available image of the object, for example in JPEG or bitmap format.
  • Each offline 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 image.
  • Points of interest are, for example, constructed from a Harris point detector, SURF (Speeded-Up Robust Features), SIFT (acronym for Scale-Invariant Feature). Transform in Anglo-Saxon terminology) or YAPE (acronym for Yet Another Point Extractor in English terminology) and represent locations with high values of directional gradients in the image and a description of variation of the image in the vicinity of these points.
  • 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 , the transition matrix between the reference associated with the image. object followed to the marker attached to the camera.
  • T p ⁇ c the initial affine transformation
  • a single image can be used to construct an offline keyframe.
  • the offline keyframes are processed in order to position points of interest according to the parameters chosen when launching the application. These parameters are specified empirically for each type of application use and allow the detection and matching application to be adapted to obtain a better quality of estimation of 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 this 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 three-dimensional model of the object on the real object.
  • this offline keyframe can be reprojected using the estimated pose of the previous image. This reprojection thus makes it possible to have a key image that contains a representation of the object similar to that of the current image and can thus allow the algorithm to operate with points of interest and descriptors that are not robust to rotations.
  • the tracking application thus combines two distinct types of algorithm: a detection of points of interest, for example a modified version of Harris point detection or detection of SIFT or SURF points, and a reprojection technique. points of interest positioned on the three-dimensional model towards the plane image. This reprojection makes it possible to predict the result of a spatial transformation of one image on the other, extracted from the video stream. These two combined algorithms allow robust tracking of an object with six degrees of freedom.
  • a point p of the image is the projection of a point P of the real scene with p ⁇ P 1 • P E • T p ⁇ c • P
  • Pi is the matrix of the intrinsic parameters of the camera, ie its focal length, the center of the image and the offset
  • P E is the matrix of the extrinsic parameters of the camera, that is to say the position of the camera in space real
  • T p ⁇ c is the matrix of passage between the reference associated with the object followed towards the marker attached to 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.
  • error minimization is used in order to find the best solution for the estimation T p ⁇ c by using the set of three-dimensional correspondences on the geometric model and two-dimensional (2D) in the current image and in the keyframe.
  • an RANSAC Random SAmple Consensus
  • PROSAC cronym for PROgressive SAmple Consensus in English terminology
  • the applicant has developed a visual tracking algorithm for objects that do not use a marker and whose originality lies in the pairing of particular points between the current (and previous) image of a video stream and a set of Keyframes, obtained automatically when the system is booted.
  • Such an algorithm is in particular described in the French patent application FR 2 911 707.
  • This algorithm makes it possible, in a first step, to identify the object positioned in front of the camera and then to initialize completely automatically without positioning constraints. the process of tracking the object.
  • This algorithm makes it possible in particular to recognize and follow a large number of objects present at the same time in a video stream and thus allows the identification and tracking of targets or objects in a real scene.
  • These objects can be of different geometries and have various colorimetric aspects. By way of example, but in a non-limiting way, they may be textured trays, faces, clothes, natural scenes, television studios or buildings.
  • optical stabilizer The principle of an optical stabilizer is to link the optical group with an accelerometer type sensor to detect the movements of the camera and slightly move this group accordingly to counteract the movements of the camera.
  • Digital stabilizers work by changing the framing of the photograph in the image from the sensor. This approach requires the use of a sensor whose resolution is greater than that of the image. Detection of the movements of the camera can be achieved by the use of a gyro accelerometer or by image analysis.
  • the approach aims to minimize the following function that describes the residual error between two regions that belong to two images I and J,
  • W describes the neighborhood around x and w (x) represents a weighting function such as a Gaussian.
  • this tracking of characteristic points must, however, be coupled to a point-of-interest detector in an initial image.
  • a point-of-interest detector in an initial image.
  • the points of interest are thus located, in the initial image, on the pixels which have high values of second derivatives on their neighborhood.
  • OpenCV an implementation of the search and tracking of these descriptors is proposed in the public library known as OpenCV (acronym for Open Computer Vision in English terminology), developed by the company Intel.
  • This implementation notably proposes the use of a pyramid of subsampled images in order to increase the robustness of the solution to changes of scale when the size of the object in the image varies greatly.
  • Such a feature element tracking solution also called template matching in English terminology, makes it possible to follow points of interest by using a portion of the image around the position of this point which makes the repeatability of these points of interest. interest more robust to the effects of blur.
  • Still other approaches aim at estimating, for each pixel of an image, the direction of movement (optical flow).
  • it is possible to transform a so-called “spatial” image into a frequency domain by means of a Fourier transform.
  • Such a method is in particular described in the thesis entitled “Visual Motion Estimation based on Motion Blur Interpretation” of Rekleitis banned (1995).
  • these approaches are often expensive in terms of calculations and therefore difficult to apply to a real-time context for consumer applications. Moreover, they do not make it possible to obtain easily exploitable information for an object tracking method.
  • the invention solves at least one of the problems discussed above.
  • the subject of the invention is thus a method of tracking a representation of at least one object in a sequence of images, in real time, at least one image of said sequence of images comprising at least one optical blur effect , said method comprising the following steps, identifying a representation of said at least one object in a first image of said sequence of images;
  • the method according to the invention thus makes it possible to follow in real time one or more real objects in a sequence of images, some of whose images comprise an optical blur effect, local or global, while optimizing the necessary resources.
  • said step of tracking said identified representation of said at least one object in said second image comprises a step of determining correspondences between a plurality of points of interest of said second image and a corresponding key image.
  • said fuzzy detecting step comprising a step of comparing the number of matches between said plurality of points of interest of said second image and said corresponding keyframe with a threshold.
  • said step of tracking said identified representation of said at least one object in a third image comprises a step of searching for characteristic points in said first or second image, the laying of said at least one object being at least partially determined by reprojection of said characteristic points onto a three-dimensional model of said at least one object.
  • the method according to the invention thus makes it possible to refine the tracking of real objects.
  • said step of tracking said identified representation of said at least one object in a third image comprises a step of searching for characteristic points in a key image corresponding to said third image, the laying of said at least one object at least partially determined by reprojection of said characteristic points on a three-dimensional model of said at least one object.
  • said step of tracking said identified representation of said at least one object in said second image comprises a step of determining a plurality of points of interest in said first and second images, said points of interest being identified as Harris points or SURF, SIFT or YAPE points.
  • said step of tracking said identified representation of said at least one object in said second image preferably comprises a step of determining a plurality of points of interest in said first or second image and in a keyframe corresponding, said points of interest being identified as Harris points or SURF, SIFT or YAPE points.
  • the method is recursively applied to several images of said plurality of images to improve the tracking of real objects.
  • the invention also relates to a computer program comprising instructions adapted to the implementation of each of the steps of the method described above when said program is executed on a computer as well as information storage means, removable or not , partially or completely readable by a computer or a microprocessor comprising code instructions of a computer program for performing each of the steps of this method.
  • the invention also relates to a device comprising means adapted to the implementation of each of the steps of the method described above.
  • FIG. 1 comprising FIGS. 1a, 1b, 1c and 1d, schematically illustrates different types of blur that may appear in an image
  • FIG. 2 schematically illustrates an example of an algorithm combining motion tracking and blur detection to enable objects to be tracked despite the presence of global or local blur in one or more images of a sequence of images in which objects are followed;
  • FIG. 3 presents a first embodiment of the algorithm illustrated in FIG. 2;
  • FIG. 4 illustrates the extraction of the 2D / 3D correspondences between a current image and a 3D model by using the tracking of robust elements that are robust to the blur between a current image and the image preceding it in the sequence;
  • FIG. 5 illustrates an exemplary device adapted to implement the invention or a part of the invention.
  • the aim of the invention is the robust and rapid tracking of one or more objects, in real time, in image sequences that may exhibit temporal optical blur effects.
  • the combination of an algorithm for identifying and tracking objects such as the one developed by the company Total Immersion with a more robust algorithm for monitoring image characteristics with motion blur is here implemented to solve the problems of stalls that can occur in the presence of blur.
  • these stalls can be frequent when low quality cameras are used or when movements of real objects in front of the camera are fast. They are most often the consequence of a series of images, generally over a specific period, which exhibit an optical blur effect.
  • effects of image blur are generally “global” blurs, most often caused by rapid movements of the camera, more specifically the image sensor, or “local”, caused by the rapid movement of objects present in the field of vision.
  • Figure 1 including Figures 1a, 1b, 1c and 1d, schematically illustrates different types of blur that may appear in an image.
  • Figure 1a is a schematic representation of a 100-1 image from a sequence of images, for example a video stream from a camera incorporating an image sensor.
  • the image 100-1 here represents a scene 105 in which the objects 110, 115 and 120 are placed. These objects are here static and the camera from which the image 100-1 is derived is stable.
  • the image 100-1 does not present any blur.
  • Figure 1b shows a 100-2 image similar to 100-1, from the same camera. However, during the capture of the image 100-2, the sensor has moved, causing a global blur on the image.
  • Figure 1c shows a 100-3 image similar to 100-1, from the same camera. However, during the capture of the image 100-3, the object 120 moved rapidly along the translation axis 125, thus causing a local directional blur on the image.
  • Figure 1d shows a 100-4 image similar to 100-1, from the same camera. However, during the capture of the image 100-4, the object 120 moved rapidly along the axis of rotation 130, thus causing a radial or rotational local blur on the image.
  • FIG. 2 schematically illustrates an example of an algorithm combining motion tracking and blur detection to enable tracking of objects despite the presence of global or local blur in one or more images of a sequence of images in which the objects are followed.
  • the algorithm illustrated here is implemented on each of the images of the sequence, sequentially.
  • a first step here is to detect the presence of the object or objects to follow in the images and to follow (step 200).
  • the tracking mode used here is for example a standard object tracking algorithm, in steady state mode (the initialization phase, automatic or not, was previously performed), using so-called “stable" descriptors such as Harris or SIFT, SURF or YAPE type descriptors.
  • the steady state indicates that one or more objects are detected and tracked in the sequence of images from the camera. In this case, the pose of an object is precisely determined in each of the images successively outputted from the image sensor.
  • Recursive pairings consisting of determining the corresponding points in successive images, step by step, can be used in this standard tracking mode using the characteristic points of the previous image.
  • the tracking mode is called “hybrid”.
  • the pairings determined between a current image and key images are added to the determined pairings between the current image and the previous image to evaluate the pose.
  • Recursive pairings are particularly robust to vibration effects, while keyframe matches help to avoid recursive pairing drifts.
  • the use of these two types of pairings thus allows a more robust and stable visual tracking.
  • a next step is to detect the possible presence of blur in the image being processed (step 205), that is to say to detect fast movements of objects in the scene or camera shake.
  • an optical blur detection step is performed, systematically or not. This detection is a measure that makes it possible to determine the presence of optical blur in the current image or in a series of images. It can be based, for example, on the variation in the number of matches between the points of interest used in the standard object tracking mode. If this variation is greater than a predetermined threshold, for a given tracking object or for all objects tracked, the presence of blur is detected.
  • this step is performed only under certain conditions (step 210), for example by using motion sensors such as accelerometers or gyroscopes, for the case of camera shake, or following the loss of relevant information, especially when a fall in the number of matches between the points of interest used in the standard object tracking mode is observed.
  • steps 205 and 210 are combined.
  • step 200 If it is not necessary to detect the presence of optical blur in the image, the algorithm continues in a conventional manner (step 200).
  • the step of measuring blur in a sequence of images is important because it makes it possible to determine the exact moment when the tracking of objects of conventional type is no longer suitable for tracking objects and may quickly generate a stall.
  • a test is performed to determine if the image contains an optical blur (step 215). If the measurement is negative, that is to say if no optical blur is detected in the processed image, the algorithm continues in a conventional manner (step 200). If not, a new object tracking mode is used to track objects in blurred images. If the presence of optical blur in the image is detected, a next step is to determine whether the object tracking mode used for tracking objects in blurred images is initialized (step 220).
  • this mode has not been initialized, it is (step 225).
  • the initialization consists in particular in creating information relating to the use of a method of tracking characteristic elements that are robust to blurring in a sequence of fuzzy images, in particular to detecting characteristic elements that are robust to blurring in the images.
  • This step may, in some implementations, be performed "offline" at the launch of the application, especially when these features robust to the blur are built directly on offline keyframes.
  • the mode of tracking characteristic elements that are robust to blurring in a sequence of fuzzy images is then implemented (step 230).
  • a mode of tracking characteristic elements that are robust to blurring can be based on the use of KLT type descriptors or else the tracking of lines of strong gradients as previously described.
  • these two solutions are combined to obtain a more robust result.
  • step 200 at least a portion of the so-called stable descriptors used in the conventional type object tracking (step 200) is replaced by the descriptors determined during the initialization phase of the object tracking mode used to enable the tracking of objects in fuzzy images, more robust to "local” and “global” optical blur effects.
  • the standard tracking mode is used again (step 200). Otherwise, the object tracking mode used to track objects in blurred images is maintained (step 230).
  • an object tracking algorithm comprising an object identification step, an initialization step depending on the object or objects present in the field camera optics and a tracking step of these objects is combined with a characteristic point tracking algorithm of type KLT, advantageously adapted to the context of tracking objects in a sequence of fuzzy images.
  • An optical blur detection operator in an image is directly extracted from the tracking algorithm.
  • Figure 3 partially illustrates this first embodiment for tracking objects in a current image 300.
  • a first step is to identify, or detect, the object or objects to follow present in the field of the camera and initialize the tracking of these objects (step 305).
  • This step implements a known algorithm, such as that developed by the company Total Immersion, presented above, which uses a database containing a large number of descriptors, for example points of interest and descriptors of HARRIS type, SIFT, SURF or YAPE, belonging to a large number of referenced objects 310.
  • classification trees such as binary decision trees (see for example the article “Keypoint Recognition using Randomized Trees” V. Lepetit and P. Fua, EPFL, 2006) or according to structures with multiple ramifications, also called fern-like decision trees (see for example the article “Fast Keypoint Reconnection using Random Ferns” M. Ozuysal, P. Fua and V. LepetitJ, allowing a simple and fast classification by comparison of intensity image around a point of interest to allow fast and robust identification of one or more objects in the current image.
  • This detection step also estimates an approximate pose of the recognized objects in the image in order to simplify the initialization step. This estimation also makes it possible to create a so-called current key image, referenced 315, which is then used in the object tracking method.
  • the current keyframe 315 is used to initialize the tracking system. During this initialization, points of interest, for example Harris points, are calculated on the current key image 315 to be used in the tracking of the identified object (s). After being initialized, the object tracking method is started (step
  • This method is here a "hybrid” method that uses a correlation operator, for example a correlation operator of the ZNCC type (acronym Zero-mean Normal Cross Correlation in English terminology) for determining matches between the current image 300 and the current key image 315 and between the current image 300 and the previous image 325, preceding the current image in the sequence of images.
  • This set of correspondences is then used to determine the pose (position and orientation) of the objects followed. It should be noted here that the more these points are numerous and the more precise their position, the more precise the result of the pose estimation.
  • a next step is to determine if the current image contains an optical blur effect (step 330).
  • the two sets of matches between the current image 300 and the previous image 325 and between the current image 300 and the current key image 315 are used as an indicator of the quality of the image. current image.
  • a threshold may be predetermined or dynamically determined. It is important to note that a substantial drop in the number of matches may also occur in the case where the object partially disappears from the image. However, in this case, the number of points often remains important and the number of matches gradually decreases during the processed image sequence.
  • step 320 If the number of these matches remains greater than the threshold, the tracking of the objects continues in a standard way (step 320).
  • a particular mode of monitoring here the KLT point tracking algorithm, is initialized (step 340).
  • the previous image 325 and the previous pose resulting from the tracking algorithm are used to search for characteristic elements to follow, robust to blur.
  • the preceding image is a priori not fuzzy since the fuzzy image detector (step 330) has found a sufficiently large number of matches on this image.
  • the characteristic elements to follow, robust with the blur called KLT characteristics, are sought in this previous image thanks to the estimate of the derivatives seconds for each pixel in the image.
  • these second derivatives are important, that is to say greater than a predetermined threshold, in at least one of the two main directions, it is considered that the pixel characterizes a point of interest robust to the blur.
  • These points are stored (reference 345). Then, knowing the pose of the object in the preceding image 325 and knowing the geometric model 400 of the object, it is possible to estimate the reprojection of these KLT characteristics and to extract precise 3D coordinates on the object. 400 geometric model of the object.
  • step 350 the correspondences of the KLT characteristics of the previous image 345 are searched in the current image 300.
  • This characteristic element tracking method as described in the state of the art makes it possible to follow points on successive images. It is particularly robust in identifying pixel movements in different portions of the overall image.
  • the correspondences as illustrated in FIG. 4 are then obtained (reference 355).
  • FIG. 4 illustrates the extraction of the 2D / 3D correspondences between the current image and the 3D model 400 by using the KLT characteristic tracking between the previous image 325 and the current image 300. It is thus shown that the knowledge of the 2D / 3D correspondences between the previous image 325 and the 3D 400 geometrical model and the construction of the 2D / 2D pairings between the current image and the previous image allows the extraction of 2D / 3D correspondences between the current image and the 3D image. 3D geometric model. These new correspondences allow, as previously described, to estimate the pose of the object in the current image. It should be noted that in Figure 4 it is possible to replace the previous image 325 by a keyframe. This figure thus describes the recursive pairings current image - previous image as well as the current image - key image pairings.
  • a next step (step 360) is to track objects using the KLT characteristics previously calculated. This step consists in particular in using the recursive correspondences between previous and current images in order to extract a list of matches between the image plane and the geometric model of the object. These matches are known because in step 340, the characteristic elements of the previous image have been reprojected on the geometric model of the object.
  • step 365 When the number of matches of KLT characteristics is insufficient (step 365) with respect to a predetermined threshold or determined dynamically, it is considered that the object is no longer present in the field of the camera. In this case, the object tracking method is then stalled and a new object detection phase is performed (steps 365 and 305) to detect objects that are potentially in the field of the camera.
  • step 340 the initialization step (step 340) is not repeated, as illustrated by the dashed arrow between blocks 335 and 350 .
  • the initialization of the tracking of characteristic elements in a sequence of images comprising an optical blur effect is advantageously replaced by an independent follow-up of the previous image.
  • the KLT characteristics used for the initialization are not estimated on the previous image but by using the current key image, reprojected according to the previous pose, estimated during the tracking step on the image previous.
  • the KLT characteristics tracked in the current image are similar to those of this reprojected keyframe, which allows a faster detection rate in the successive images of the image sequence.
  • This second embodiment makes it possible to avoid possible errors that would be linked to an erroneous pose estimate on the previous image as well as possible occultation problems of the object, for example when the hand of a user passes in front of a real object. It should be noted that it is possible to combine the two described embodiments in order to obtain more robust results for object tracking. However, such a combination increases the costs in terms of calculation.
  • FIG. 5 A device adapted to implement the invention or a part of the invention is illustrated in Figure 5.
  • the device shown is preferably a standard device, for example a personal computer.
  • the device 500 here comprises an internal communication bus 505 to which are connected:
  • CPU Central Processing Unit
  • ROM Read OnIy Memory in English terminology
  • ROM Read OnIy Memory
  • RAM Random Access Memory
  • cache memory 520 comprising registers adapted to record variables and parameters created and modified during the execution of the aforementioned programs
  • the device 500 also preferably has the following elements:
  • a hard disk 525 which may comprise the aforementioned programs and data processed or to be processed according to the invention.
  • a memory card reader 530 adapted to receive a memory card 535 and to read or write to it data processed or to be processed according to the invention.
  • the internal communication bus allows communication and interoperability between the various elements included in the device 500 or connected to it.
  • the representation of the internal bus is not limiting and, in particular, the microprocessor is capable of communicating instructions to any element of the device 500 directly or via another element of the device 500.
  • 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 525 or in the read-only memory 515.
  • the memory card 535 may contain data as well as the executable code of the aforementioned programs which, once read by the device 500, is stored in the hard disk 525.
  • the executable code of the programs can be received, at least partially, through the communication interface 540, to be stored in the same manner as described above.
  • program or programs may be loaded into one of the storage means of the device 500 before being executed.
  • the microprocessor 510 will control and direct the execution of the instructions or portions of software code of the program or programs according to the invention, which instructions are stored in the hard disk 525 or in the read-only memory 515 or else in the other storage elements mentioned above. .
  • the program or programs that are stored in a non-volatile memory for example the hard disk 525 or the read-only memory 515, are transferred into the RAM 520 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.
  • a person skilled in the field of the invention may apply modifications in the foregoing description.

Landscapes

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

Abstract

L'invention a notamment pour objet un procédé et un dispositif de suivi d'une représentation d'objets dans une séquence d'images, en temps réel, au moins une image de ladite séquence d'images comprenant un effet de flou optique. Après avoir identifié une représentation des objets dans une première image de la séquence, la représentation identifiée des objets est suivie (200) dans une seconde image, suivant la première, selon un premier mode de suivi d'objets utilisant une image clé. Lorsque la présence de flou est détectée (205) dans une troisième image, distincte de la première, la représentation identifiée des objets est suivie (230) dans la troisième image, selon un second mode de suivi d'objets, distinct dudit premier mode de suivi. La pose des objets dans la troisième image est alors estimée selon la représentation identifiée des objets dans la troisième image.

Description

Procédé et dispositif de suivi d'objets en temps réel dans une séquence d'images en présence de flou optique
La présente invention concerne la combinaison d'images réelles et virtuelles en temps réel, dans un système de réalité augmentée, et plus particulièrement un procédé et un dispositif de suivi d'objets en temps réel dans une séquence d'images comprenant des images floues.
La réalité augmentée a pour objet d'insérer un ou plusieurs objets virtuels dans les images d'un flux vidéo. Selon le type d'application, la position et l'orientation de ces objets virtuels peuvent être déterminées par des données externes de la scène représentée par les images, par exemple des coordonnées issues directement d'un scénario de jeu, ou par des données liées à certains éléments de cette scène, par exemple des coordonnées d'un point particulier de la scène tel que la main d'un joueur ou un élément du décor. Lorsque la position et l'orientation sont déterminées par des données liées à certains éléments de cette scène, il peut être nécessaire de suivre ces éléments en fonction des mouvements de la caméra ou des mouvements de ces éléments eux-mêmes dans la scène. Les opérations de suivi d'éléments et d'incrustation d'objets virtuels dans les images réelles peuvent être exécutées par des calculateurs distincts ou par un même calculateur.
L'objectif des algorithmes de suivi utilisés à ces fins est de retrouver de façon très précise, dans une scène réelle, la pose, c'est-à-dire la position et l'orientation, d'un objet dont l'information de géométrie est généralement disponible ou, de manière équivalente, de retrouver les paramètres extrinsèques de position et d'orientation d'une caméra filmant cet objet, grâce, par exemple, à l'analyse d'image.
Il existe plusieurs méthodes pour suivre un objet dans une séquence d'images, c'est-à-dire dans un flux vidéo. Généralement, les algorithmes de suivi, aussi appelé algorithmes de poursuite de cible, utilisent un marqueur qui peut être visuel ou utiliser d'autres moyens tel que des capteurs, de préférence sans fil de type radio fréquences ou infrarouge. 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 en terminologie anglo-saxonne, obtenue à l'initialisation du système et une image clé mise à jour durant l'exécution du suivi visuel. Le principe de cet algorithme est décrit par exemple dans l'article intitulé « Fusing Online and Offline Information for Stable 3D Tracking in Real- Time » - Luca Vacchetti, Vincent Lepetit, Pascal Fua - IEEE Transactions on Pattern Analysis and Machine Intelligence 2004.
L'objectif de cet algorithme de suivi visuel est de retrouver, dans une scène réelle, la pose d'un objet dont le maillage tridimensionnel (3D) est disponible sous forme de modèle 3D, ou de retrouver, de manière équivalente, les paramètres extrinsèques de position et d'orientation d'une caméra filmant cet objet, immobile, grâce à l'analyse d'image.
L'image courante est ici comparée avec une ou plusieurs images clés enregistrées pour retrouver un nombre important de correspondances, ou d'appariements, entre ces paires d'images afin d'estimer la pose de l'objet. A cette fin, une image clé est composée de deux éléments : une image capturée du flux vidéo et une pose (orientation et position) de l'objet réel apparaissant dans cette image. Les images clés sont des images extraites du flux vidéo dans lesquelles l'objet à suivre a été placé manuellement grâce à l'utilisation d'un dispositif de pointage tel qu'une souris. Les images clés caractérisent de préférence la pose d'un même objet dans plusieurs images. Elles sont crées et enregistrées « hors ligne », c'est-à-dire hors du régime permanent de l'application de suivi. Il est intéressant de noter que pour des cibles ou objets de type planaire, par exemple un magazine, ces images clés peuvent être directement générées à partir d'une image disponible de l'objet, par exemple au format JPEG ou bitmap.
Chaque image clé hors ligne comprend une image dans laquelle l'objet est présent et une pose pour caractériser l'emplacement de cet objet ainsi qu'un certain nombre de points d'intérêts qui caractérisent l'objet dans l'image. Les points d'intérêts sont, par exemple, construits à partir d'un détecteur de points de Harris, de points de type SURF (acronyme de Speeded- Up Robust Features en terminologie anglo-saxonne), SIFT (acronyme de Scale-lnvariant Feature Transform en terminologie anglo-saxonne) ou YAPE (acronyme de Yet Another Point Extractor en terminologie anglo-saxonne) et représentent des emplacements avec des fortes valeurs de gradients directionnels dans l'image et une description de variation de l'image au voisinage de ces points. Avant d'initialiser l'application de suivi, il est nécessaire de déterminer une ou plusieurs images clés hors ligne. Il s'agit généralement d'images extraites du flux vidéo, qui contiennent l'objet à suivre, et auxquelles sont associées une position et une orientation du modèle tridimensionnel de cet objet. Pour cela, un opérateur fait correspondre visuellement un modèle filaire à l'objet réel. La phase de préparation manuelle consiste donc à retrouver une première estimation de la pose de l'objet dans une image extraite du flux vidéo, ce qui revient à formaliser la transformation affine initiale Tp→c , matrice de passage entre le repère associé à l'objet suivi vers le repère attaché à la caméra. L'utilisation de ce modèle permet d'établir le lien entre les coordonnées des points du modèle tridimensionnel de l'objet exprimées dans le repère de l'objet et les coordonnées de ces points dans le repère de la caméra. Pour le suivi d'objets planaires, il est important de noter que, de manière équivalente, une simple image peut être utilisée pour la construction d'une image clé hors ligne. Lors de l'initialisation de l'application de suivi, les images clés hors ligne sont traitées afin de positionner des points d'intérêts en fonction des paramètres choisis lors du lancement de l'application. Ces paramètres sont spécifiés de façon empirique pour chaque type d'utilisation de l'application et permettent d'adapter l'application de détection et d'appariement pour obtenir une meilleure qualité d'estimation de la pose de l'objet selon les caractéristiques de l'environnement réel. Ensuite, lorsque l'objet réel dans l'image courante est dans une pose qui est proche de la pose de ce même objet dans une des images clé hors lignes, le nombre d'appariements devient important. Il est alors possible de retrouver la transformation affine permettant de caler le modèle tridimensionnel de l'objet sur l'objet réel.
Lorsqu'une telle correspondance a été trouvée, l'algorithme de suivi passe en régime permanent. Les déplacements de l'objet sont suivis d'une image sur l'autre et les dérives éventuelles sont compensées grâce aux informations contenues dans l'image clé hors ligne retenue lors de l'initialisation. Il convient de noter que pour des besoins de précision, cette image clé hors ligne peut être reprojetée en utilisant la pose estimée de l'image précédente. Cette reprojection permet ainsi d'avoir une image clé qui contient une représentation de l'objet similaire à celle de l'image courante et peut ainsi permettre à l'algorithme de fonctionner avec des points d'intérêts et des descripteurs non robustes aux rotations.
L'application de suivi combine ainsi deux types d'algorithme distinct : une détection de points d'intérêts, par exemple une version modifiée de détection de points de Harris ou encore de détection de points de type SIFT ou SURF, et une technique de reprojection des points d'intérêts positionnés sur le modèle tridimensionnel vers l'image plane. Cette reprojection permet de prévoir le résultat d'une transformation spatiale d'une image sur l'autre, extraites du flux vidéo. Ces deux algorithmes combinés permettent un suivi robuste d'un objet selon six degrés de liberté.
D'une façon générale, un point p de l'image est la projection d'un point P de la scène réelle avec p ~ P1 • 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éel, et Tp→c est la matrice de passage entre le repère associé à l'objet suivi vers le repère attaché à la caméra. Seule la position relative de l'objet par rapport à la position relative de la caméra est ici considérée, ce qui revient à placer le repère de la scène réelle au niveau du centre optique de la caméra. Il en résulte la relation P - P1 - Tp→c • P . La matrice Pi étant connue, le problème de suivi consiste donc à déterminer la matrice Tp→c , c'est à dire la position et l'orientation de l'objet par rapport au repère de la caméra.
Pour ce faire, un algorithme dit de « minimisation d'erreur » est employé afin de trouver la meilleure solution pour l'estimation Tp→c en utilisant l'ensemble des correspondances tridimensionnelles sur le modèle géométrique et bidimensionnelles (2D) dans l'image courante et dans l'image clé. A titre d'exemple, un algorithme de type RANSAC (acronyme de RANdom SAmple Consensus en terminologie anglo-saxonne) ou PROSAC (acronyme de PROgressive SAmple Consensus en terminologie anglo-saxonne), permettant de supprimer les erreurs de mesures (correspondances 2D/3D erronées) peut être combiné avec un algorithme de type Levenberg-Marquardt pour converger rapidement vers une solution optimale qui réduit l'erreur de reprojection.
Le demandeur a développé un algorithme de suivi visuel d'objets n'utilisant pas de marqueur et dont l'originalité réside dans l'appariement de points particuliers entre l'image courante (et précédente) d'un flux vidéo et un ensemble d'images clés, obtenues automatiquement à l'initialisation du système. Un tel algorithme est notamment décrit dans la demande de brevet français FR 2 911 707. Cet algorithme permet, dans un premier temps, d'identifier l'objet positionné devant la caméra puis d'initialiser de façon totalement automatique, sans contrainte de positionnement, le procédé de suivi de l'objet. Cet algorithme permet notamment de reconnaître et de suivre un grand nombre d'objets présents au même instant dans un flux vidéo et permet ainsi l'identification et la poursuite de cibles ou d'objets dans une scène réelle. Ces objets peuvent être de géométries différentes et présenter des aspects colorimétriques variés. A titre d'exemple, mais de façon non limitative, il peut s'agir de plateaux textures, de visages, d'habits, de scènes naturelles ou encore de studio de télévision ou de bâtiments.
Cependant, lorsque la mesure d'erreur devient trop importante, c'est- à-dire lorsque le nombre d'appariements entre l'image courante et l'image clé courante devient trop faible, le suivi subit un décrochage (il est considéré que l'estimation de la pose de l'objet n'est plus suffisamment cohérente) et une nouvelle phase d'initialisation est nécessaire. Par ailleurs, une limite généralement admise des systèmes de suivi d'objets concerne la difficulté de leur adaptation à des applications appartenant à un contexte dit « grand public ». En effet, les principales contraintes de mise en œuvre de ces solutions pour de telles applications sont, en particulier, une quantité de mémoire et une puissance de calcul limitées. De plus, ces systèmes nécessitent généralement l'utilisation de caméras de très bonne qualité et non de caméras à bas coûts telles que celles fournies avec les ordinateurs portables de type PC (sigle de Personal Computer en terminologie anglo- saxonne) et les web-camera, appelées webcam en terminologie anglo-saxonne. Ces caméras à bas coûts sont souvent équipées d'optiques de qualité variable et sont ainsi très sensibles aux conditions lumineuses extérieures. Elles nécessitent souvent des temps d'exposition importants.
Dans de telles conditions, les mouvements rapides de la caméra, c'est-à-dire du capteur d'image, et/ou des objets présents dans la scène réelle engendrent souvent des effets de flou optique de bougé, appelés motion blur en terminologie anglo-saxonne.
Alors que l'utilisation de caméras professionnelles permet de réduire considérablement ces effets de flou, ces caméras restent néanmoins sensibles aux mouvements rapides d'objets de la scène, par exemple un ballon de football frappé par un joueur.
Ce phénomène de flou entraîne fréquemment des décrochages des applications de suivi utilisées.
Pour contrer ce phénomène, il est possible d'utiliser des systèmes de réduction de flou de bougé. Dans le domaine de la photographie, diverses approches ont été développées. Il existe notamment des stabilisateurs qui équipent les appareils de photographie numérique, en particulier les réflex. Deux sortes de stabilisateur sont principalement utilisés : le stabilisateur optique et le stabilisateur numérique. Ils sont particulièrement efficaces dans de faibles conditions lumineuses ou lorsque le temps d'ouverture est volontairement long.
Le principe d'un stabilisateur optique est de lier le groupe optique avec un capteur de type accéléromètre pour détecter les mouvements de l'appareil photographique et déplacer légèrement ce groupe en conséquence afin de contrer les mouvements de l'appareil photographique.
Les stabilisateurs numériques fonctionnent en modifiant le cadrage de la photographie dans l'image issue du capteur. Cette approche exige l'utilisation d'un capteur dont la résolution est supérieure à celle de l'image. La détection des mouvements de l'appareil photographique peut être réalisée par l'utilisation d'accéléromètre gyroscopique ou par analyse d'images.
Cependant, ces approches de stabilisations, optiques ou numériques, ne répondent pas aux besoins des algorithmes de suivi dans le cadre d'applications de Réalité Augmentée. En effet, la plupart des web- caméras et des caméras « grand public » n'intègrent pas de capteurs de type accéléromètre. Par ailleurs, l'utilisation d'un capteur surdimensionné réduit la taille de l'image globale et ne permet finalement de stabiliser l'image que pour des mouvements de faible amplitude. Dans le contexte de systèmes de suivi d'objets, non seulement les mouvements de la caméra sont amples mais en outre, les objets présents devant la caméra peuvent être en mouvement de façon indépendante. Ce type de mouvements, localisés dans l'image, ne peut ainsi pas être détecté par une approche globale telle que celle proposée par l'utilisation d'un stabilisateur. II existe néanmoins, dans le domaine de l'analyse d'image, une approche, initialement proposée par Jianbo Shi et Carlo Tomasi (« Good Feature to Track » IEEE CVPR 1994), appelée « KLT feature Tracker », permettant de suivre des points caractéristiques dans une séquence d'images et d'estimer un flot optique temporel, ou optical flow en terminologie anglo- saxonne, c'est-à-dire le déplacements de pixels (acronyme de Picture Elément en terminologie anglo-saxonne) entre deux images. Cette méthode vise ainsi à trouver un pixel v dans une image J qui semble le plus similaire à un pixel u d'une image I en estimant ainsi le déplacement d de ce pixel entre les deux images. En d'autres termes, les coordonnées du pixel v peuvent s'exprimer de la façon suivante : v = u + d = [ux + dx, uy + dy].
En notant que le mouvement affine d'une sous-fenêtre entre deux images I et J peut être décrit par la relation suivante, / (Jx - «l ι _ /{ x t où x représente les coordonnées d'un point de la sous-fenêtre par rapport au centre de cette sous-fenêtre. Le point x se déplace donc en Ax + d dans la seconde image avec,
Figure imgf000010_0001
L'approche vise ainsi à minimiser la fonction suivante qui décrit l'erreur résiduelle entre deux régions qui appartiennent à deux images I et J,
é* ≈≈ Cj^ [J[Ax + d) - I{y)f M v )dx
où W décrit le voisinage autour de x et w(x) représente une fonction de pondération telle qu'une gaussienne.
Pour être efficace, ce suivi de points caractéristiques doit cependant être couplé à un détecteur de points d'intérêt dans une image initiale. Pour la mise en œuvre de cette étape préliminaire, il est nécessaire de rechercher des zones d'image qui présentent une signature haute fréquence. Les points d'intérêts sont ainsi localisés, dans l'image initiale, sur les pixels qui présentent de fortes valeurs de dérivées secondes sur leur voisinage.
Une implémentation de la recherche et du suivi de ces descripteurs est proposée dans la librairie publique connue sous le nom d'OpenCV (acronyme d'Open Computer Vision en terminologie anglo-saxonne), développée par la société Intel. Cette implémentation propose notamment l'utilisation d'une pyramide d'images sous-échantillonnées afin d'accroître la robustesse de la solution aux changements d'échelle lorsque la taille de l'objet dans l'image varie fortement.
Une telle solution de suivi d'éléments caractéristiques, aussi appelée template matching en terminologie anglo-saxonne, permet de suivre des points d'intérêts en utilisant une portion d'image autour de la position de ce point qui rend la répétabilité de ces points d'intérêt plus robuste aux effets de flou.
Cependant la mise en œuvre de cette solution présente des contraintes importantes. Tout d'abord, elle permet seulement d'estimer les mouvements de pixels dans une image, c'est-à-dire avec deux degrés de liberté, et non d'estimer la pose d'un objet présent dans l'image selon six degrés de liberté. De plus, le temps de calcul de telles correspondances dans des images successives est coûteux en performances. Enfin, la position des points suivis dérive rapidement dans le temps, notamment lorsque la texture dans l'image présente des zones similaires proches les unes des autres. Il est également admis que ce type de suivi d'éléments caractéristiques provoque des phénomènes locaux de dérive qui introduisent au cours du temps des imprécisions sur leur position dans l'image.
D'autres approches pour déterminer et corriger le flou optique dans une image existent. Il s'agit par exemple de techniques basées sur la détection de ligne, aussi appelée edge détection en terminologie anglo-saxonne. Elles sont cependant souvent peu robustes car elles nécessitent la présence de contours marqués. De plus, ces contours ont tendance à disparaître avec du flou de type radial qui résulte d'un mouvement de rotation autour de l'axe de vue de la caméra ou d'un mouvement de rotation de type roulis de l'objet dans la scène.
D'autres approches encore visent à estimer, pour chaque pixel d'une image, la direction de mouvement (flot optique). A titre d'exemple, il est possible de transformer une image dite « spatiale » dans un domaine de fréquence à l'aide d'une transformée de Fourier. Un tel procédé est notamment décrit dans le document de thèse intitulé « Visual Motion Estimation based on Motion Blur Interprétation » de bannis Rekleitis (1995). Cependant, ces approches sont souvent coûteuses en termes de calculs et donc difficilement applicables à un contexte de temps réel pour des applications grand public. De plus, elles ne permettent pas d'obtenir d'informations facilement exploitables pour un procédé de suivi d'objet.
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 suivi d'une représentation d'au moins un objet dans une séquence d'images, en temps réel, au moins une image de ladite séquence d'images comprenant au moins un effet de flou optique, ce procédé comprenant les étapes suivantes, - identification d'une représentation dudit au moins un objet dans une première image de ladite séquence d'images ;
- suivi de ladite représentation identifiée dudit au moins un objet dans une seconde image de ladite pluralité d'images, ladite seconde image suivant ladite première image, selon un premier mode de suivi d'objets utilisant une image clé ;
- détection de flou dans une troisième image de ladite séquence d'images, distincte de ladite première image ;
- suivi de ladite représentation identifiée dudit au moins un objet dans ladite troisième image, selon un second mode de suivi d'objets, distinct dudit premier mode de suivi ; et,
- estimation de la pose dudit objet dans ladite troisième image selon ladite représentation identifiée dudit au moins un objet dans ladite troisième image. Le procédé selon l'invention permet ainsi de suivre en temps réel un ou plusieurs objets réels dans une séquence d'images dont certaines images comprennent un effet de flou optique, local ou global, tout en optimisant les ressources nécessaires.
Selon un mode de réalisation particulier, ladite étape de suivi de ladite représentation identifiée dudit au moins un objet dans ladite seconde image comprend une étape de détermination de correspondances entre une pluralité de points d'intérêt de ladite seconde image et d'une image clé correspondante, ladite étape de détection de flou comprenant une étape de comparaison du nombre de correspondances entre ladite pluralité de points d'intérêt de ladite seconde image et de ladite image clé correspondante avec un seuil.
Le procédé selon l'invention permet ainsi de bénéficier des calculs effectués pour le suivi de représentations d'objets réels aux fins de détection d'effets de flou. Toujours selon un mode de réalisation particulier, ladite étape de suivi de ladite représentation identifiée dudit au moins un objet dans une troisième image comprend une étape de recherche de points caractéristiques dans ladite première ou seconde image, la pose dudit au moins un objet étant au moins partiellement déterminée par reprojection desdits points caractéristiques sur un modèle tridimensionnel dudit au moins un objet. Le procédé selon l'invention permet ainsi d'affiner le suivi d'objets réels. Toujours selon un mode de réalisation particulier, ladite étape de suivi de ladite représentation identifiée dudit au moins un objet dans une troisième image comprend une étape de recherche de points caractéristiques dans une image clé correspondant à ladite troisième image, la pose dudit au moins un objet étant au moins partiellement déterminée par reprojection desdits points caractéristiques sur un modèle tridimensionnel dudit au moins un objet. Le procédé selon l'invention permet ainsi d'affiner le suivi d'objets réels.
De façon avantageuse, ladite étape de suivi de ladite représentation identifiée dudit au moins un objet dans ladite seconde image comprend une étape de détermination d'une pluralité de points d'intérêt dans lesdites première et seconde images, lesdits points d'intérêt étant identifiés comme des points de Harris ou des points de type SURF, SIFT ou YAPE. De façon similaire, ladite étape de suivi de ladite représentation identifiée dudit au moins un objet dans ladite seconde image comprend, de préférence, une étape de détermination d'une pluralité de points d'intérêt dans ladite première ou seconde image et dans une image clé correspondante, lesdits points d'intérêt étant identifiés comme des points de Harris ou des points de type SURF, SIFT ou YAPE.
Toujours selon un mode de réalisation particulier, le procédé est appliqué de façon récursive sur plusieurs images de ladite pluralité d'images pour améliorer le suivi d'objets réels. L'invention a également pour objet un programme d'ordinateur comprenant des instructions adaptées à la mise en œuvre de chacune des étapes du procédé décrit précédemment lorsque ledit programme est exécuté sur un ordinateur ainsi que des moyens 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 de ce procédé. L'invention a aussi pour objet un dispositif comprenant des moyens adaptés à la mise en œuvre de chacune des étapes du procédé décrit précédemment.
Les avantages procurés par ce programme d'ordinateur, ces moyens de stockage et ce dispositif sont similaires à ceux évoqués précédemment.
D'autres avantages, buts et caractéristiques de la présente invention ressortent de la description détaillée qui suit, faite à titre d'exemple non limitatif, au regard des dessins annexés dans lesquels :
- la figure 1 , comprenant les figures 1 a, 1 b, 1 c et 1d, illustre schématiquement différents types de flou qui peuvent apparaître dans une image ;
- la figure 2 illustre schématiquement un exemple d'algorithme combinant le suivi de mouvement et la détection de flou pour permettre le suivi d'objets malgré la présence de flou global ou local dans une ou plusieurs images d'une séquence d'images dans laquelle des objets sont suivis ;
- la figure 3 présente un premier mode de réalisation de l'algorithme illustré sur la figure 2 ;
- la figure 4 illustre l'extraction des correspondances 2D/3D entre une image courante et un modèle 3D en utilisant le suivi d'éléments caractéristiques robustes au flou entre une image courante et l'image la précédant dans la séquence ; et,
- la figure 5 illustre un exemple de dispositif adapté à mettre en œuvre l'invention ou une partie de l'invention.
L'invention vise le suivi robuste et rapide d'un ou de plusieurs objets, en temps réel, dans des séquences d'images qui peuvent présenter des effets de flous optiques temporels. La combinaison d'un algorithme d'identification et de suivi d'objets tel que celui développé par la société Total Immersion avec un algorithme de suivi de caractéristiques d'images plus robuste au flou de bougé est ici mise en œuvre pour résoudre les problèmes de décrochages qui peuvent survenir en présence de flou.
Comme indiqué précédemment, ces décrochages peuvent être fréquents lorsque des caméras de basse qualité sont utilisées ou lorsque les mouvements des objets réels devant la caméra sont rapides. Ils sont le plus souvent la conséquence d'une suite d'images, généralement sur une durée ponctuelle, qui présentent un effet de flou optique.
Les effets dits de flou d'images sont généralement des flous « globaux », le plus souvent provoqués par des mouvements rapides de la caméra, plus précisément du capteur d'images, ou « locaux », provoqués par le déplacement rapide d'objets présents dans le champ de vision.
La figure 1 , comprenant les figures 1 a, 1 b, 1 c et 1d, illustre schématiquement différents types de flou qui peuvent apparaître dans une image.
La figure 1 a est une représentation schématique d'une image 100-1 issue d'une séquence d'images, par exemple un flux vidéo provenant d'une caméra intégrant un capteur d'images. L'image 100-1 représente ici une scène 105 dans laquelle sont placés les objets 110, 115 et 120. Ces objets sont ici statiques et la caméra dont est issue l'image 100-1 est stable. L'image 100-1 ne présente donc aucun flou.
La figure 1 b représente une image 100-2 similaire à l'image 100-1 , provenant de la même caméra. Cependant, durant la capture de l'image 100-2, le capteur a bougé, engendrant ainsi un flou global sur l'image. La figure 1 c représente une image 100-3 similaire à l'image 100-1 , provenant de la même caméra. Cependant, durant la capture de l'image 100-3, l'objet 120 a bougé rapidement selon l'axe de translation 125, engendrant ainsi un flou local directionnel sur l'image.
La figure 1d représente une image 100-4 similaire à l'image 100-1 , provenant de la même caméra. Cependant, durant la capture de l'image 100-4, l'objet 120 a bougé rapidement selon l'axe de rotation 130, engendrant ainsi un flou local radial ou rotatif sur l'image.
La figure 2 illustre schématiquement un exemple d'algorithme combinant le suivi de mouvement et la détection de flou pour permettre le suivi d'objets malgré la présence de flou global ou local dans une ou plusieurs images d'une séquence d'images dans laquelle les objets sont suivis. L'algorithme illustré ici est mis en œuvre sur chacune des images de la séquence, de façon séquentielle.
Comme illustré, une première étape a ici pour objet de détecter la présence du ou des objets à suivre dans les images et de les suivre (étape 200). Le mode de suivi utilisé ici est par exemple un algorithme standard de suivi d'objet, en régime permanent (la phase d'initialisation, automatique ou non, a été préalablement effectuée), utilisant des descripteurs dits « stables » tels que des points de Harris ou encore des descripteurs de type SIFT, SURF ou YAPE. Le régime permanent indique qu'un ou plusieurs objets sont détectés et suivis dans la séquence d'images issue de la caméra. La pose d'un objet est dans ce cas déterminée de façon précise dans chacune des images issues successivement du capteur d'image.
Des appariements récursifs, consistant à déterminer les points correspondants dans des images successives, de proche en proche, peuvent être utilisés dans ce mode de suivi standard en utilisant les points caractéristiques de l'image précédente.
Il en va de même pour les appariements entre des points d'une image courante et d'images clés. Si ces deux types d'appariements sont utilisés, le mode de suivi est dit « hybride ». Dans ce cas, les appariements déterminés entre une image courante et des images clés sont ajoutés aux appariements déterminés entre l'image courante et l'image précédente pour évaluer la pose.
Les appariements récursifs sont particulièrement robustes aux effets de vibration tandis que les appariements avec des images clés permettent d'éviter des dérives liés aux appariements récursifs. L'utilisation de ces deux types d'appariements permet donc un suivi visuel plus robuste et plus stable.
Ces appariements donnent ainsi les correspondances entre des coordonnées de points d'une image et les coordonnées de points correspondants du modèle géométrique tridimensionnel associé à l'objet suivi. Ils sont avantageusement utilisés pour estimer la pose d'un objet dans l'image courante selon la pose de l'objet dans l'image précédente et/ou dans l'image clé utilisée. Une étape suivante a pour objet de détecter la présence éventuelle de flou dans l'image en cours de traitement (étape 205), c'est-à-dire de détecter des mouvements rapides des objets dans la scène ou de tremblements de la caméra. En d'autres termes, si un ou plusieurs objets sont présents et suivis dans le champ de le caméra, une étape de détection de flou optique est exécutée, de façon systématique ou non. Cette détection est une mesure qui permet de déterminer la présence de flou optique dans l'image courante ou dans une suite d'images. Elle peut être basée, par exemple, sur la variation du nombre d'appariements entre les points d'intérêts utilisés dans le mode de suivi standard d'objets. Si cette variation est supérieure à un seuil prédéterminé, pour un objet suivi donné ou pour l'ensemble des objets suivis, la présence de flou est détecté.
De façon avantageuse, cette étape n'est réalisée que sous certaines conditions (étape 210), par exemple en utilisant des capteurs de mouvements tels que des accéléromètres ou gyroscopes, pour le cas de tremblement de la caméra, ou suite à la perte d'informations pertinentes, notamment lorsqu'une chute du nombre d'appariements entre les points d'intérêts utilisés dans le mode de suivi standard d'objets est observée. Dans ce dernier cas, les étapes 205 et 210 sont combinées.
S'il n'est pas nécessaire de détecter la présence de flou optique dans l'image, l'algorithme se poursuit de façon classique (étape 200).
L'étape de mesure de flou dans une séquence d'images est importante car elle permet de déterminer le moment précis où le suivi d'objets de type classique n'est plus adapté au suivi des objets et risque d'engendrer rapidement un décrochage.
Suite à l'étape de détection de flou optique, un test est effectué pour déterminer si l'image contient un flou optique (étape 215). Si la mesure est négative, c'est-à-dire si aucun flou optique n'est détecté dans l'image traitée, l'algorithme se poursuit de façon classique (étape 200). Dans le cas contraire, un nouveau mode de suivi d'objets est utilisé pour permettre le suivi d'objets dans des images floues. Si la présence de flou optique dans l'image est détectée, une étape suivante consiste à déterminer si le mode de suivi d'objets utilisé pour permettre le suivi d'objets dans des images floues est initialisé (étape 220).
Si ce mode n'a pas été initialisé, il l'est (étape 225). L'initialisation consiste notamment à créer des informations relatives à l'utilisation d'un procédé de suivi d'éléments caractéristiques robustes au flou dans une séquence d'images floues, en particulier à détecter des éléments caractéristiques robustes au flou dans les images. Cette étape peut, dans certaines mises en œuvre, être effectuée « hors ligne », au lancement de l'application, notamment lorsque ces éléments caractéristiques robustes au flou sont construits directement sur des images clés hors ligne.
Le mode de suivi d'éléments caractéristiques robustes au flou dans une séquence d'images floues est ensuite mis en œuvre (étape 230). A titre d'illustration, un tel mode de suivi d'éléments caractéristiques robustes au flou peut être basé sur l'utilisation de descripteurs de type KLT ou encore de suivi de lignes de forts gradients comme décrit précédemment. De façon avantageuse, ces deux solutions sont combinées pour obtenir un résultat plus robuste.
Dans cette étape, au moins une partie des descripteurs dits stables, utilisés dans le suivi d'objet de type classique (étape 200), est remplacé par les descripteurs déterminés durant la phase d'initialisation du mode de suivi d'objets utilisé pour permettre le suivi d'objets dans des images floues, plus robustes aux effet de flou optiques « locaux » et « globaux ».
Lorsque le flou optique disparaît (étapes 205 et 215), le mode de suivi standard est utilisé à nouveau (étape 200). Dans le cas contraire, le mode de suivi d'objets utilisé pour permettre le suivi d'objets dans des images floues est maintenu (étape 230).
Selon un premier mode de réalisation particulier de l'algorithme illustré sur la figure 2, un algorithme de suivi d'objets comprenant une étape d'identification d'objets, une étape d'initialisation en fonction du ou des objets en présence dans le champ optique de la caméra et une étape de suivi de ces objets est combiné avec un algorithme de suivi de points caractéristique de type KLT, avantageusement adapté au contexte du suivi d'objets dans une séquence d'images floues. Un opérateur de détection de flou optique dans une image est directement extrait de l'algorithme de suivi.
La figure 3 illustre en partie ce premier mode de réalisation pour suivre des objets dans une image courante 300.
Une première étape vise à identifier, ou à détecter, le ou les objets à suivre présents dans le champ de la caméra et à initialiser le suivi de ces objets (étape 305). Cette étape met ici en œuvre un algorithme connu, tel que celui développé par la société Total Immersion, présenté précédemment, qui utilise une base de données contenant un grand nombre de descripteurs, par exemple des points d'intérêt et des descripteurs de type HARRIS, SIFT, SURF ou YAPE, appartenant à un grand nombre d'objets référencés 310.
Ces descripteurs sont, de préférence, organisés en arbres de classification tels que des arbres de décision binaires (voir par exemple l'article « Keypoint Récognition using Randomized Trees » V. Lepetit and P. Fua, EPFL, 2006) ou encore selon des structures à ramifications multiples, aussi appelées arbres de décision de type ferns (voir par exemple l'article « Fast Keypoint Récognition using Random Ferns » M. Ozuysal, P. Fua et V. LepetitJ, permettant une classification simple et rapide par comparaison d'intensité d'image autour d'un point d'intérêt pour permettre l'identification rapide et robuste d'un ou de plusieurs objets dans l'image courante.
Cette étape de détection estime également une pose approximative des objets reconnus dans l'image afin de simplifier l'étape d'initialisation. Cette estimation permet en outre la création d'une image clé dite courante, référencée 315, qui est ensuite utilisée dans le procédé de suivi d'objets.
Si au moins un objet a été reconnu, l'image clé courante 315 est utilisée pour initialiser le système de suivi. Lors de cette initialisation, des points d'intérêt, par exemple des points de Harris, sont calculés sur l'image clé courante 315 pour être utilisés dans le suivi du ou des objets identifiés. Après avoir été initialisé, le procédé de suivi d'objets est lancé (étape
320). Ce procédé est ici un procédé « hybride » qui utilise un opérateur de corrélation, par exemple un opérateur de corrélation de type ZNCC (sigle de Zero-mean Normal Cross Corrélation en terminologie anglo-saxonne) pour déterminer des appariements entre l'image courante 300 et l'image clé courante 315 et entre l'image courante 300 et l'image précédente 325, précédant l'image courante dans la séquence d'images. Cet ensemble de correspondances est ensuite utilisé pour déterminer la pose (position et orientation) des objets suivis. Il convient de remarquer ici que plus ces points sont nombreux et plus leur position est précise, plus le résultat de l'estimation de pose est précis.
Une étape suivante a pour objet de déterminer si l'image courante contient un effet de flou optique (étape 330). Selon le mode de réalisation décrit ici, les deux ensembles d'appariements entre l'image courante 300 et l'image précédente 325 et entre l'image courante 300 et l'image clé courante 315 sont utilisés comme un indicateur de la qualité de l'image courante. Lorsque le nombre de ces appariements chute de façon substantielle et devient inférieur à un seuil, il est considéré qu'au moins une partie de l'image contient un flou optique (étape 335). Un tel seuil peut être prédéterminé ou déterminé de façon dynamique. Il est important de noter qu'une chute substantielle du nombre d'appariements peut également avoir lieu dans le cas où l'objet disparaît partiellement de l'image. Cependant, dans ce cas, le nombre de points reste souvent important et le nombre d'appariements diminue progressivement au cours de la séquence d'images traitée.
Si le nombre de ces appariements demeure supérieur au seuil, le suivi des objets se poursuit de façon standard (étape 320).
Si, au contraire, le nombre de ces appariements chute de façon substantielle et devient inférieur à un seuil, un mode particulier de suivi, ici l'algorithme de suivi de points KLT, est initialisé (étape 340).
Dans cette étape, l'image précédente 325 et la pose précédente issue de l'algorithme de suivi sont utilisées pour rechercher des éléments caractéristiques à suivre, robustes au flou. L'image précédente est a priori non floue puisque le détecteur d'image floue (étape 330) a trouvé un nombre suffisamment grand de correspondances sur cette image. Les éléments caractéristiques à suivre, robustes au flou, appelés caractéristiques KLT, sont recherchés dans cette image précédente grâce à l'estimation des dérivées secondes pour chaque pixel de l'image. Lorsque ces dérivées secondes sont importantes, c'est-à-dire supérieures à un seuil prédéterminé, dans au moins une des deux directions principales, il est considéré que le pixel caractérise un point d'intérêt robuste au flou. Ces points sont mémorisés (référence 345). Ensuite, connaissant la pose de l'objet dans l'image précédente 325 et connaissant le modèle géométrique 400 de l'objet, il est possible d'estimer la reprojection de ces caractéristiques KLT et d'en extraire des coordonnées 3D correspondantes précises sur le modèle géométrique 400 de l'objet.
Dans une étape suivante (étape 350), les correspondances des caractéristiques KLT de l'image précédente 345 sont recherchées dans l'image courante 300. Ce procédé de suivi d'éléments caractéristiques tel que décrit dans l'état de l'art permet de suivre des points sur des images successives. Il s'avère particulièrement robuste pour identifier des mouvements de pixels dans différentes portions de l'image globale. Les correspondances telles qu'illustrées sur la figure 4 sont alors obtenues (référence 355).
La figure 4 illustre l'extraction des correspondances 2D/3D entre l'image courante et le modèle 3D 400 en utilisant le suivi de caractéristiques KLT entre l'image précédente 325 et l'image courante 300. Il est ainsi montré que la connaissance des correspondances 2D/3D entre l'image précédente 325 et le modèle géométrique 3D 400 et la construction des appariements 2D/2D entre l'image courante et l'image précédente permet l'extraction de correspondances 2D/3D entre l'image courante et le modèle géométrique 3D. Ces nouvelles correspondances permettent, comme décrit précédemment, d'estimer la pose de l'objet dans l'image courante. Il est à noter que dans la figure 4 il est possible de remplacer l'image précédente 325 par une image clé. Cette figure décrit donc aussi bien les appariements récursifs image courante - image précédente, que les appariements image courante - image clé.
Une étape suivante (étape 360) a pour objet le suivi d'objets utilisant les correspondances des caractéristiques KLT calculées précédemment. Cette étape consiste notamment à utiliser les correspondances récursives entre images précédente et courante afin d'extraire une liste d'appariements entre le plan image et le modèle géométrique de l'objet. Ces appariements sont connus car lors de l'étape 340, les éléments caractéristiques de l'image précédente ont été reprojetés sur le modèle géométrique de l'objet.
Ensuite, les appariements des caractéristiques KLT entre les points des images courante et précédente permettent de faire correspondre les éléments caractéristiques de l'image courante avec des points géométriques sur le modèle de l'objet. Enfin, un algorithme classique dit de minimisation est utilisé pour estimer la pose de l'objet dans l'image courante. Il peut par exemple s'agir d'une approche de type Levenberg-Marquardt, combinée avec un algorithme RANSAC qui permet d'éliminer de mauvaises correspondances 2D/3D.
Lorsque le nombre d'appariements de caractéristiques KLT est insuffisant (étape 365) par rapport à un seuil prédéterminé ou déterminé dynamiquement, il est considéré que l'objet n'est plus présent dans le champ de la caméra. Dans ce cas, le procédé de suivi d'objets subit alors un décrochage et une nouvelle phase de détection d'objets est exécutée (étapes 365 et 305) afin de détecter les objets qui sont potentiellement dans le champ de la caméra.
Il convient de remarquer ici que, lorsque les images précédente et courante contiennent un effet de flou optique, l'étape d'initialisation (étape 340) n'est pas répétée, comme illustré par la flèche en trait pointillé entre les blocs 335 et 350.
Selon un second mode de réalisation particulier de l'algorithme illustré sur la figure 2, l'initialisation du suivi d'éléments caractéristiques dans une séquence d'images comprenant un effet de flou optique (étape 340 de la figure 3) est avantageusement remplacée par un suivi indépendant de l'image précédente. Dans ce cas, les caractéristiques KLT utilisées pour l'initialisation ne sont pas estimés sur l'image précédente mais en utilisant l'image clé courante, reprojetée en fonction de la pose précédente, estimée lors de l'étape de suivi sur l'image précédente. De cette façon, les caractéristiques KLT suivis dans l'image courante sont similaires à ceux de cette image clé reprojetée, ce qui permet un taux de détection plus rapide dans les images successives de la séquence d'images. Ce second mode de réalisation permet d'éviter d'éventuelles erreurs qui seraient liées à une estimation de pose erronée sur l'image précédente ainsi que d'éventuels problèmes d'occultation de l'objet, par exemple lorsque la main d'un utilisateur passe devant un objet réel. II convient de remarquer qu'il est possible de combiner les deux modes de réalisation décrits afin d'obtenir des résultats plus robustes pour le suivi d'objets. Cependant, une telle combinaison augmente les coûts en termes de calcul.
Un dispositif adapté à mettre en œuvre l'invention ou une partie de l'invention est illustré sur la figure 5. Le dispositif représenté est, de préférence, un dispositif standard, par exemple un ordinateur personnel.
Le dispositif 500 comporte ici un bus interne de communication 505 auquel sont reliés :
- une unité centrale de traitement ou microprocesseur 510 (CPU, sigle de Central Processing Unit en terminologie anglo-saxonne) ;
- une mémoire morte 515 (ROM, acronyme de Read OnIy Memory en terminologie anglo-saxonne) pouvant comporter les programmes nécessaires à la mise en œuvre de l'invention ;
- une mémoire vive ou mémoire cache 520 (RAM, acronyme de Random Access Memory en terminologie anglo-saxonne) comportant des registres adaptés à enregistrer des variables et paramètres créés et modifiés au cours de l'exécution des programmes précités ;
- une interface de communication 540 adaptée à transmettre et à recevoir des données vers et depuis un réseau de communication. Le dispositif 500 dispose également, de préférence, des éléments suivants :
- un disque dur 525 pouvant comporter les programmes précités et des données traitées ou à traiter selon l'invention ; et
- un lecteur de cartes mémoires 530 adapté à recevoir une carte mémoire 535 et à y lire ou à y écrire des données traitées ou à traiter selon l'invention. Le bus interne de communication permet la communication et l'interopérabilité entre les différents éléments inclus dans le dispositif 500 ou reliés à lui.
La représentation du bus interne n'est pas limitative et, notamment, le microprocesseur est susceptible de communiquer des instructions à tout élément du dispositif 500 directement ou par l'intermédiaire d'un autre élément du dispositif 500.
Le code exécutable de chaque programme permettant au dispositif programmable de mettre en œuvre les processus selon l'invention, peut être stocké, par exemple, dans le disque dur 525 ou en mémoire morte 515.
Selon une variante, la carte mémoire 535 peut contenir des données ainsi que le code exécutable des programmes précités qui, une fois lu par le dispositif 500, est stocké dans le disque dur 525.
Selon une autre variante, le code exécutable des programmes pourra être reçu, au moins partiellement, par l'intermédiaire de l'interface de communication 540, pour être stocké de façon identique à celle décrite précédemment.
De manière plus générale, le ou les programmes pourront être chargés dans un des moyens de stockage du dispositif 500 avant d'être exécutés.
Le microprocesseur 510 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 525 ou dans la mémoire morte 515 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 525 ou la mémoire morte 515, sont transférés dans la mémoire vive 520 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. 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 suivi d'une représentation d'au moins un objet dans une séquence d'images, en temps réel, au moins une image de ladite séquence d'images comprenant au moins un effet de flou optique, ce procédé étant caractérisé en ce qu'il comprend les étapes suivantes,
- identification (305) d'une représentation dudit au moins un objet dans une première image de ladite séquence d'images ;
- suivi (200, 320) de ladite représentation identifiée dudit au moins un objet dans une seconde image de ladite pluralité d'images, ladite seconde image suivant ladite première image, selon un premier mode de suivi d'objets utilisant une image clé ; - détection (205, 330) de flou dans une troisième image de ladite séquence d'images, distincte de ladite première image ;
- suivi (230, 360) de ladite représentation identifiée dudit au moins un objet dans ladite troisième image, selon un second mode de suivi d'objets, distinct dudit premier mode de suivi ; et, - estimation de la pose dudit objet dans ladite troisième image selon ladite représentation identifiée dudit au moins un objet dans ladite troisième image.
2. Procédé selon la revendication 1 selon lequel ladite étape de suivi de ladite représentation identifiée dudit au moins un objet dans ladite seconde image comprend une étape de détermination de correspondances entre une pluralité de points d'intérêt de ladite seconde image et d'une image clé correspondante, ladite étape de détection de flou comprenant une étape de comparaison du nombre de correspondances entre ladite pluralité de points d'intérêt de ladite seconde image et de ladite image clé correspondante avec un seuil.
3. Procédé selon la revendication 1 ou la revendication 2 selon lequel ladite étape de suivi de ladite représentation identifiée dudit au moins un objet dans une troisième image comprend une étape de recherche de points caractéristiques dans ladite première ou seconde image, la pose dudit au moins un objet étant au moins partiellement déterminée par reprojection desdits points caractéristiques sur un modèle tridimensionnel dudit au moins un objet.
4. Procédé selon l'une quelconque des revendications précédentes dans lequel ladite étape de suivi de ladite représentation identifiée dudit au moins un objet dans une troisième image comprend une étape de recherche de points caractéristiques dans une image clé correspondant à ladite troisième image, la pose dudit au moins un objet étant au moins partiellement déterminée par reprojection desdits points caractéristiques sur un modèle tridimensionnel dudit au moins un objet.
5. Procédé selon l'une quelconque des revendications précédentes selon lequel ladite étape de suivi de ladite représentation identifiée dudit au moins un objet dans ladite seconde image comprend une étape de détermination d'une pluralité de points d'intérêt dans lesdites première et seconde images, lesdits points d'intérêt étant identifiés comme des points de Harris ou des points de type SURF, SIFT ou YAPE.
6. Procédé selon l'une quelconque des revendications précédentes selon lequel ladite étape de suivi de ladite représentation identifiée dudit au moins un objet dans ladite seconde image comprend une étape de détermination d'une pluralité de points d'intérêt dans ladite première ou seconde image et dans une image clé correspondante, lesdits points d'intérêt étant identifiés comme des points de Harris ou des points de type SURF, SIFT ou YAPE.
7. Procédé selon l'une quelconque des revendications précédentes appliqué de façon récursive sur plusieurs images de ladite pluralité d'images.
8. Programme d'ordinateur comprenant des instructions adaptées à la mise en œuvre de chacune des étapes du procédé selon l'une quelconque des revendications précédentes lorsque ledit programme est exécuté sur un ordinateur.
9. 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é selon l'une quelconque des revendications 1 à 7.
10. Dispositif comprenant des moyens adaptés à la mise en œuvre de chacune des étapes du procédé selon l'une quelconque des revendications 1 à 7.
PCT/FR2010/051104 2009-06-08 2010-06-04 Procédé et dispositif de suivi d'objets en temps réel dans une séquence d'images en présence de flou optique WO2010142895A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP10734231A EP2441047A1 (fr) 2009-06-08 2010-06-04 Procédé et dispositif de suivi d'objets en temps réel dans une séquence d'images en présence de flou optique

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0902764A FR2946446B1 (fr) 2009-06-08 2009-06-08 Procede et dispositif de suivi d'objets en temps reel dans une sequence d'images en presence de flou optique
FR09/02764 2009-06-08

Publications (1)

Publication Number Publication Date
WO2010142895A1 true WO2010142895A1 (fr) 2010-12-16

Family

ID=41528530

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2010/051104 WO2010142895A1 (fr) 2009-06-08 2010-06-04 Procédé et dispositif de suivi d'objets en temps réel dans une séquence d'images en présence de flou optique

Country Status (3)

Country Link
EP (1) EP2441047A1 (fr)
FR (1) FR2946446B1 (fr)
WO (1) WO2010142895A1 (fr)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9526658B2 (en) 2010-02-24 2016-12-27 Nant Holdings Ip, Llc Augmented reality panorama supporting visually impaired individuals
CN110047104A (zh) * 2017-12-26 2019-07-23 精工爱普生株式会社 对象检测和跟踪方法、头戴式显示装置和存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2911707A1 (fr) 2007-01-22 2008-07-25 Total Immersion Sa Procede et dispositifs de realite augmentee utilisant un suivi automatique, en temps reel, d'objets geometriques planaires textures, sans marqueur, dans un flux video.

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2911707A1 (fr) 2007-01-22 2008-07-25 Total Immersion Sa Procede et dispositifs de realite augmentee utilisant un suivi automatique, en temps reel, d'objets geometriques planaires textures, sans marqueur, dans un flux video.

Non-Patent Citations (8)

* Cited by examiner, † Cited by third party
Title
GEORG KLEIN ET AL: "Improving the Agility of Keyframe-Based SLAM", 12 October 2008, COMPUTER VISION Â ECCV 2008; [LECTURE NOTES IN COMPUTER SCIENCE], SPRINGER BERLIN HEIDELBERG, BERLIN, HEIDELBERG, PAGE(S) 802 - 815, ISBN: 9783540886853, XP019109243 *
IRYNA GORDON ET AL: "What and Where: 3D Object Recognition with Accurate Pose", 1 January 2007, TOWARD CATEGORY-LEVEL OBJECT RECOGNITION LECTURE NOTES IN COMPUTER SCIENCE;;LNCS, SPRINGER, BERLIN, DE, PAGE(S) 67 - 82, ISBN: 9783540687948, XP019053241 *
JIANBO SHI; CARLO TOMASI: "Good Feature to Track", IEEE CVPR, 1994
LOANNIS REKLEITIS, VISUAL MOTION ESTIMATION BASED ON MOTION BLUR INTERPRETATION, 1995
LUCA VACCHETTI; VINCENT LEPETIT; PASCAL FUA: "Fusing Online and Offline Information for Stable 3D Tracking in Real-Time", IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, 2004
M. OZUYSAL; P. FUA; V. LEPETIT, FAST KEYPOINT RECOGNITION USING RANDOM FERNS
QIANG WANG ET AL: "Real-Time Bayesian 3-D Pose Tracking", IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, IEEE SERVICE CENTER, PISCATAWAY, NJ, US, vol. 16, no. 12, 1 December 2006 (2006-12-01), pages 1533 - 1541, XP011151056, ISSN: 1051-8215 *
V. LEPETIT; P. FUA: "Keypoint Recognition using Randomized Trees", EPFL, 2006

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9526658B2 (en) 2010-02-24 2016-12-27 Nant Holdings Ip, Llc Augmented reality panorama supporting visually impaired individuals
US10535279B2 (en) 2010-02-24 2020-01-14 Nant Holdings Ip, Llc Augmented reality panorama supporting visually impaired individuals
US11348480B2 (en) 2010-02-24 2022-05-31 Nant Holdings Ip, Llc Augmented reality panorama systems and methods
CN110047104A (zh) * 2017-12-26 2019-07-23 精工爱普生株式会社 对象检测和跟踪方法、头戴式显示装置和存储介质
CN110047104B (zh) * 2017-12-26 2023-12-08 精工爱普生株式会社 对象检测和跟踪方法、头戴式显示装置和存储介质

Also Published As

Publication number Publication date
FR2946446B1 (fr) 2011-07-15
EP2441047A1 (fr) 2012-04-18
FR2946446A1 (fr) 2010-12-10

Similar Documents

Publication Publication Date Title
EP2455916B1 (fr) Interface homme-machine basée sur le suivi non-rigide
EP2491532B1 (fr) Procede, programme d'ordinateur et dispositif de suivi hybride de representations d'objets, en temps reel, dans une sequence d'images
EP2132710B1 (fr) Procede et dispositifs de realite augmentee utilisant un suivi automatique, en temps reel, d'objets geometriques planaires textures, sans marqueur, dans un flux video
WO2008125754A1 (fr) Procede et dispositif de determination de la pose d'un objet tridimensionnel dans une image et procede et dispositif de creation d'au moins une image cle pour le suivi d'objets
EP2111605B1 (fr) Procédé et dispositif de création d'au moins deux images clés correspondant à un objet tridimensionnel
WO2017096949A1 (fr) Procédé, dispositif de commande et système pour suivre et photographier une cible
Kurz et al. Inertial sensor-aligned visual feature descriptors
FR2933218A1 (fr) Procede et dispositif permettant de detecter en temps reel des interactions entre un utilisateur et une scene de realite augmentee
US8452124B2 (en) Method and system for detecting motion blur
FR3073312A1 (fr) Procede d'estimation de pose d'une camera dans le referentiel d'une scene tridimensionnelle, dispositif, systeme de realite augmentee et programme d'ordinateur associe
Porzi et al. Learning contours for automatic annotations of mountains pictures on a smartphone
EP2441048A1 (fr) Procédés et dispositifs d'identification d'objets réels, de suivi de la représentation de ces objets et de réalité augmentée, dans une séquence d'images, en mode client-serveur
EP2257924B1 (fr) Procede pour generer une image de densite d'une zone d'observation
CA2825506A1 (fr) Simplification d'une scene spectrale par le biais d'une soustraction d'arriere-plan
WO2010142897A2 (fr) Procédé et dispositif de calibration d'un capteur d'images utilisant un système temps réel de suivi d'objets dans une séquence d'images
GB2606807A (en) Image creation for computer vision model training
EP2441047A1 (fr) Procédé et dispositif de suivi d'objets en temps réel dans une séquence d'images en présence de flou optique
US20200090351A1 (en) Aligning digital images by selectively applying pixel-adjusted-gyroscope alignment and feature-based alignment models
EP3219094B1 (fr) Dispositif de génération de rushes cinématographiques par analyse vidéo
Lima et al. Model based 3d tracking techniques for markerless augmented reality
Jiddi et al. Photometric Registration using Specular Reflections and Application to Augmented Reality
CA3230088A1 (fr) Procede de mise en relation d'une image candidate avec une image de reference
WO2012107696A1 (fr) Procédés, dispositif et programmes d'ordinateur pour la reconnaissance de formes, en temps réel, à l'aide d'un appareil comprenant des ressources limitées

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10734231

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2010734231

Country of ref document: EP