WO2010142897A2 - 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 - Google Patents

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 Download PDF

Info

Publication number
WO2010142897A2
WO2010142897A2 PCT/FR2010/051107 FR2010051107W WO2010142897A2 WO 2010142897 A2 WO2010142897 A2 WO 2010142897A2 FR 2010051107 W FR2010051107 W FR 2010051107W WO 2010142897 A2 WO2010142897 A2 WO 2010142897A2
Authority
WO
WIPO (PCT)
Prior art keywords
image
camera
parameters
representation
correspondences
Prior art date
Application number
PCT/FR2010/051107
Other languages
English (en)
Other versions
WO2010142897A3 (fr
Inventor
Nicolas Livet
Jérémy CHAMOUX
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 EP10734234A priority Critical patent/EP2441046A2/fr
Publication of WO2010142897A2 publication Critical patent/WO2010142897A2/fr
Publication of WO2010142897A3 publication Critical patent/WO2010142897A3/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence

Definitions

  • the present invention relates to the calibration of an image sensor and more particularly to a method and a device for estimating at least one intrinsic parameter of an image sensor, using a real-time system for tracking objects in a sequence of 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 objective of these visual tracking or sensor tracking algorithms is to find very accurately, in a real scene, the pose, ie the position and orientation, of an object. whose geometry information is available or, equivalently, to retrieve the extrinsic position and orientation parameters of a camera filming this object, through image analysis.
  • object tracking algorithms also known as target tracking algorithms
  • the intrinsic parameters of the camera can be represented by a matrix P 1 .
  • P 1 The intrinsic parameters of the camera can be represented by a matrix P 1 .
  • P 1 In the absence of an optical scale change, they are fixed. They are generally evaluated during an initialization step, ie an "offline" phase performed before the execution phase of the monitoring application.
  • an initialization step ie an "offline" phase performed before the execution phase of the monitoring application.
  • a poor estimation of these parameters results in an inaccurate estimation of the pose of an object in a sequence of images which generally leads to stalls during the steady state phase as well as inversions related to the perspective.
  • optical distortion model associated with the sensor may also be advantageous to use the optical distortion model associated with the sensor to directly correct the images processed by the tracking algorithm and thereby simplify the calculations of the projective model represented by the matrix P 1 .
  • the projective model of the camera used makes it possible to match the coordinates of elements forming part of the real decoration with the coordinates of the corresponding points in the image.
  • a simplified projective model consists in considering that the distortion linked to optics is zero.
  • the following formula can be used to project a point [xyz] ⁇ in the space, expressed in the reference of the camera, in the plane of the image,
  • [M vf represents the coordinates of the projected point in the plane of the image
  • a u , a v represents the focal length values expressed in pixels according to the size of the sensor (also expressed in pixels)
  • u o , v o represents the position of the optical center, expressed in pixels.
  • the distortion generated by a lens can be broken down into two components, radial distortion and tangential distortion.
  • Radial distortion radiates around the optical center in the image and can be modeled in a polynomial fashion with even-numbered monomials.
  • Figure 1 illustrates this type of distortion.
  • Figure 1a shows a negative radial distortion, pincushion type
  • Figure 1b represents a positive radial distortion, barrel type.
  • the tangential distortion can come from a misalignment of the lenses or imperfections thereof.
  • [u vf are the coordinates of a point, in pixels, from the perfect perspective projection,
  • (i, V) represents the normalized position of a point (u, v) with respect to the center of distortion (position of the optical center in the image)
  • d represents the distance of a point (u, v) from at the center of distortion.
  • (t u , t v ) represents the displacement resulting from the tangential distortion.
  • represents the displacement factor resulting from the radial distortion.
  • the OpenCV library originally proposed by Intel, offers features that allow the resolution of such a system using a checkerboard calibration pattern, called chessboard in English terminology.
  • the main steps implemented by the functions of this library are as follows,
  • A is the intrinsic calibration matrix and [r x r 2 t ⁇ is the matrix containing the extrinsic parameters.
  • the composition of these two matrices thus corresponds to the desired homography matrix which describes a transformation of the points of the checkerboard in its reference with the points of the plane as it is visible in the current image.
  • the present invention solves at least one of the problems discussed above.
  • it allows a camera calibration, or the estimation of one or more of its intrinsic parameters, dynamically, during the steady state phase of the object tracking application. It also allows an operator to make focal changes while following objects moving in front of the camera.
  • the invention thus relates to a method for computer for estimating at least one intrinsic parameter of a camera from a sequence of images, this method comprising the following steps,
  • the method according to the invention thus makes it possible to obtain a model comprising eight degrees of freedom (focal, optical center, radial and tangential distortions) which are added to the six degrees estimated in the corresponding object tracking algorithm.
  • degrees for the position of the object and three degrees for the orientation of the object also called yaw, pitch and millet in English terminology or rotation around the X axis, rotation around the axis Y and rotation around the Z axis
  • the invention thus allows the implementation of "general public" applications.
  • said step of estimating said pose comprises the following steps,
  • determining a first plurality of characteristic points in said at least one image determining a second plurality of characteristic points in at least one reference image comprising a representation of said at least one object, a pose of said at least one object being associated with said at least one reference image;
  • the method further comprises a step of establishing correspondences between characteristic points of said first plurality of characteristic points and characteristic points of said second plurality of characteristic points, said step of comparing said representation said at least one object with said representation of said at least one model being based on a set of said matches.
  • the method furthermore preferably comprises a step of validating said correspondences, each of the correspondences of said set of said correspondences being validated in order to refine the quality of the results obtained.
  • the method further comprises a step of comparing the number of said correspondences with a threshold, said steps of comparing said representation of said at least one object with said representation of said at least one model and of estimating said at least one parameter intrinsic being performed only if said number of said correspondences is greater than said threshold.
  • the method further comprises a step of analyzing said estimated pose, said steps of comparing said representation of said at least one object with said representation of said at least one model and said at least one estimate an intrinsic parameter being made in response to said analyzing step to optimize resources while improving intrinsic parameter estimation.
  • the method preferably further comprises a step of validating the estimate of said at least one intrinsic parameter. Still according to a particular embodiment, the method further comprises a preliminary step of estimating at least a second intrinsic parameter of said camera, said at least one second intrinsic parameter being distinct from said at least one intrinsic parameter, in order to improve the estimation of other intrinsic parameters of the camera and reduce the calculation time.
  • 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 and a device comprising means adapted to the implementation of each step of this process.
  • FIG. 1 comprising FIGS. 1a and 1b, illustrates examples of radial distortions
  • FIG. 2 illustrates, in general, certain steps of the method according to the invention
  • FIG. 3 illustrates more precisely certain steps of the method according to a first embodiment of the invention
  • FIG. 4 illustrates the extraction of 2D / 3D correspondences between a current image and a 3D model by using the tracking of characteristic elements between the current image and the image preceding it in the sequence and / or between the image. current and a key image;
  • FIG. 5 illustrates certain steps of the method according to a second embodiment of the invention
  • FIG. 6 presents results of estimation of the focal length of a camera with respect to the real focal distance as a function of the optical scale change
  • FIG. 7 illustrates an exemplary device adapted to implement the invention or a part of the invention.
  • the invention allows the dynamic estimation of intrinsic parameters of a camera by using an algorithm for tracking objects in a sequence of images, in real time.
  • the invention thus makes it possible to determine at least one of the six degrees of freedom of the pose of an object and at least one of the eight degrees of freedom of a projective model characterizing the intrinsic parameters of the camera.
  • a projective model is commonly used, it can be replaced, for example, by other simplified or more complete distortion models.
  • the object tracking algorithm used here is based on pattern recognition for tracking particular elements in a stream of images.
  • 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, Pascal Lepetit, Pascal Fua - IEEE Transactions on Pattern Analysis and Machine Intelligence 2004.
  • 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 the 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, built from a Harris points detector, SURF (Speeded-Up Robust Features), SIFT (Scale-Inverse Feature Transform) or YAPE (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.
  • this model makes it possible to establish the link between the coordinates of the points of the three-dimensional model of the object expressed in the reference of the object and the coordinates of these points in the reference of the camera.
  • 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 the same object in one of the offline keyframes, the number of matches becomes important. It is then possible to find the affine transformation allowing to fix the 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
  • Total Immersion has developed a visual object tracking algorithm, based on the algorithm described above, which does not use a marker, whose originality lies in the pairing of particular points between the current (and previous) image. ) a video stream and a set of keyframes, obtained automatically at the initialization of the system.
  • a visual object tracking algorithm based on the algorithm described above, which does not use a marker, whose originality lies in the pairing of particular points between the current (and previous) image.
  • a video stream and a set of keyframes obtained automatically at the initialization of the system.
  • 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. It allows the identification and tracking of targets or objects in a real scene.
  • These objects
  • FIG. 2 generally illustrates certain steps of the method according to the invention, using such a tracking algorithm, to determine one or more intrinsic parameters of the camera from which the sequence of images used for following one or more objects originated; .
  • a first step of the method consists of executing an object tracking algorithm in an image sequence (step 200).
  • This algorithm is here implemented according to its steady state using so-called “stable" descriptors such as Harris points or SIFT, SURF or YAPE type descriptors.
  • the steady state indicates that one or more real objects are detected and tracked in the images from the camera.
  • the pose of these objects is precisely determined in each of the images successively obtained by the image sensor.
  • Recursive pairings between feature points of the preceding image and the current image can be used in the object tracking algorithm to obtain a more stable result.
  • These pairings thus give correspondences between image coordinates and coordinates on the 3D geometrical model. These correspondences are advantageously used in order to estimate the pose of objects in the current image.
  • the pairings can be carried out via a correlation opener of ZNCC type (Zero-mean Normal Cross Correlation in English terminology) when Harris points are used or comparisons of the SURF or SIFT type.
  • ZNCC Zero-mean Normal Cross Correlation in English terminology
  • the algorithm for estimating the pose of an object from correspondence between characteristic points uses intrinsic parameters of the camera (reference 210) which are defined by default to be refined during the execution of the application. , which result from a previous evaluation offline or which represent the result of a preliminary estimate carried out by the process itself (estimation of the intrinsic parameters of the camera on a previous image).
  • the tracking algorithm makes it possible to obtain a list of correspondences (referenced 215), also called descriptors, between characteristic points a current image and one or more reference images, a reference image being here a previous image or a keyframe.
  • a next step (step 220), the previously determined correspondences are evaluated to identify the most relevant correspondences, referred to as inliers in English terminology and referenced 230, that is to say the correspondences which are reprojected with the most accuracy using the estimated pose in the current image, referenced 225.
  • the measurement used may be, for example, a reprojection error of the characteristic points on the three-dimensional model as a function of the pose estimated by the object tracking algorithm .
  • the algorithm for estimating or refining the intrinsic parameters of the camera (step 235) for solving the remaining unknowns of the projective system.
  • These are the focal length, optical center and distortion parameters.
  • the resolution of this system can be carried out as indicated above by first calculating a homography or a projective model which describes the passage between the facets of the geometrical model and the points in the image plane, which makes it possible to estimate the parameters focal length and optical center, then using this data to estimate camera distortion.
  • the list of relevant previous matches 240 recursively allows the images to estimate intrinsic parameters of the camera for the preceding images.
  • Relevant current correspondents 230 are used to refine this estimate.
  • the projective system is evaluated here according to the following steps: Estimating a homography, in the case of a planar or substantially planar object, between the correspondences 3D [x Y if in the reference of the object and the corresponding point of interest [uv if of the current image or estimation of the projective model, in the case of a non-planar object, from the correspondences
  • the matches 215 may be used, it is preferable to use only the relevant matches 230 and 240 to refine the results and speed up the method of resolving the projective system (projective model or homography) described above. It is particularly the correspondences found between the current image and the current key image, these correspondences being indeed more robust than the correspondences between the current image and the preceding image which can be imprecise. If the estimation of these calibration parameters gives sufficient results, for example when the overall reprojection error on all the relevant correspondences 230 and 240 is small, and the local reprojection error on the relevant correspondences related to the image is weak, a new estimate of the camera settings is obtained. These new parameters, referenced 245, can then replace the previous ones (referenced 210) used by the object tracking algorithm dynamically.
  • a process may be, for example, assigned to the object tracking algorithm and another assigned to the estimation and / or refinement of the intrinsic parameters of the camera.
  • the use of these processes makes it possible in particular to divide the computing times between the various computing cores or CPU (acronym of Central Processing Unit in English terminology) when the hardware allows it.
  • FIG. 3 illustrates more precisely a first embodiment according to which an object tracking algorithm comprises an object identification step, an initialization step as a function of the object or objects present in the optical field of the camera. and a step of tracking these objects is combined with an algorithm that makes it possible to estimate and / or refine the calibration parameters of a camera.
  • an object tracking algorithm comprises an object identification step, an initialization step as a function of the object or objects present in the optical field of the camera. and a step of tracking these objects is combined with an algorithm that makes it possible to estimate and / or refine the calibration parameters of a camera.
  • This embodiment can be considered as a particular implementation of the method described with reference to FIG. 2
  • a first step (step 300) relates to the identification (or detection) of the objects present in the field of the camera, that is to say in the current image, and the initialization of the algorithm of tracking objects.
  • This algorithm for example that developed by the company Total Immersion and described above, allows the use of a database containing a large number of descriptors such as points of interest and descriptors of SIFT, SURF or YAPE type, belonging to a large number of objects. These descriptors are preferably organized into 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 ferns-type decision trees (see for example the article "Fast Keypoint Recognition using Random Ferns' M. Ozuysal, P. Fua and V. LepetitJ, allowing a simple and fast classification by comparison of image intensity around a point of interest to allow rapid and robust identification of one or multiple objects in the current image.
  • the tracking algorithm uses the intrinsic parameters of the camera (referenced 310) as well as the current image (referenced 315).
  • the tracking algorithm also uses the pose of the objects determined in the previous image (referenced 305) as well as the previous image (referenced 315). This algorithm also estimates an approximate placement of objects in the image to simplify the initialization step. This estimation also makes it possible to create a key image called "current" (not referenced), which is then used in the object tracking method.
  • the recently created common keyframe is used to initialize the tracking algorithm.
  • points of interest for example of the "Harris points” type, are calculated on the current key image to be used by the object tracking algorithm.
  • the object tracking algorithm used here is hybrid. It uses a correlation operator to determine matches, or matches, between the current image and the initialization keyframe and between the current image and the previous image. This set of matches is then used to identify one or more objects and determine the pose of these objects present in front of the camera (reference 320). It should be noted that the more these points are numerous and the more precise their position, the more accurate the result of the position and orientation estimation.
  • a test is performed to determine if at least one object is recognized and tracked in the current frame of the sequence (step 325). If not, the object tracking algorithm continues to identify at least one object. If at least one object is recognized and followed, a next step (step 325).
  • 330 is then executed to estimate relevant matches. After estimating these relevant matches, a test is performed to compare their number with a threshold (step 335). This threshold is predetermined or dynamically evaluated.
  • each correspondence of the set of correspondences obtained during the object tracking step is validated by using the estimated pose of the objects, the validated matches being called relevant matches.
  • relevant matches there exist in two types of correspondences: the correspondences between the current image and the key image as well as the correspondences between the current image and the preceding image. It is important to note, however, that other types of matches can also be introduced, such as matches between the previous picture and the previous picture.
  • the relevance measure used here to validate each correspondence is an error of reprojection of the correspondences on the three-dimensional model as a function of the pose estimated by the object tracking algorithm as illustrated in the diagram of FIG.
  • FIG. 4 illustrates the extraction of the 2D / 3D correspondences between the current image 400 and the 3D model 405 by using the tracking of characteristic elements between the previous image 410 and the current image 400.
  • the 3D model 405 is positioned according to the pose determined on the previous image. It is thus shown that the knowledge of the 2D / 3D correspondences between the preceding image 410 and the 3D geometrical model 405 and the construction of the 2D / 2D pairings between the current image and the preceding image allows the extraction of 2D / 2D correspondences. 3D between the current image and the 3D geometric model. These correspondences make it possible to estimate the pose of the object in the current image as previously described. As illustrated in FIG. 4, it is possible to replace the preceding image 410 by a key image 415 by using the 3D model 405 'positioned according to the pose associated with the key image 415. The number of relevant correspondences is compared with a threshold
  • step 335 predetermined or dynamically determined. If the number of relevant matches is below the threshold, the step of detecting and tracking objects (step 300) is again invoked.
  • the calibration parameters of the camera are estimated (step 340).
  • the calibration parameters of the camera can be estimated in several steps.
  • the focal length and the optical center are estimated.
  • the homography matrix is estimated according to the current data, in particular according to the relevant correspondences, and the focal parameters as well as the optical center are determined using the current homography as well as homographies computed during previous recursive steps.
  • the projective matrix is estimated and the focal length and optical center parameters are determined using the set of projective matrices calculated previously.
  • the radial and tangential distortion parameters are then estimated using the pin-hole type parameters found previously, for example by applying the Brown method.
  • the reprojection error is then calculated based on these parameters. If this error is too important, that is to say greater than a given threshold, for example in pixels, these estimated intrinsic parameters are rejected. If not, they are kept to process the next image and estimate the pose of the objects in this image.
  • the object tracking algorithm developed by Total Immersion allows the dynamic modification of intrinsic camera parameters to adapt the pose of an object according to projective data.
  • An advantage of such an implementation is in particular to allow the deployment of an object tracking application, or possibly another image analysis application that requires these calibration parameters, in a park of users with cameras whose characteristics are unknown beforehand, without resorting to a particular calibration phase.
  • calibration parameters are first selected by default. They correspond, for example, to the average values estimated from substantially equivalent cameras available on the market.
  • the focal length is fixed at approximately 600 pixels, the optical center is placed in the center of the image sensor of the camera and the distortion is considered zero in the image.
  • These parameters are then reevaluated over time taking into account the information obtained by the object tracking algorithm as previously described.
  • the default intrinsic parameters thus converge to the actual parameters of the camera actually used.
  • the result of the pose estimated by the object tracking algorithm is advantageously used to verify the accuracy of the results obtained during the estimation of the calibration of the camera.
  • the number of relevant matches must be sufficient to determine the intrinsic parameters of the camera.
  • a test 500 relating to the pose obtained is advantageously implemented in the algorithm illustrated in FIG. 5.
  • This test is also used to filter the images to take into account only images representing very different configurations of objects.
  • the poses that have already been taken into account can be stored (reference 505) to encourage the use of different poses.
  • the analysis of the current pose of objects in the field of the camera thus makes it possible to take into account representative data and, consequently, to obtain more precise results.
  • a test is performed to analyze the pose of this object and determine if it is relevant (step 500), that is that is to say, in particular, if the object being tracked is facing the camera and / or if the pose considered is not to be treated. If not, the tracking of the object continues (step 300 '). If, on the contrary, the pose of the object being tracked is relevant, the method continues by estimating the relevant correspondences (step 330 ') in order to estimate or refine intrinsic parameters of the camera (step 340') if the the number of relevant matches is greater than a threshold (step 335 '). The processed poses are here stored (reference 505) so that equivalent poses are not subsequently considered relevant.
  • certain intrinsic parameters of the camera such as tangential distortion are advantageously predetermined in order to improve the estimation of other intrinsic parameters of the camera and to reduce the calculation times. It has also been observed that such a simplification does not lead to a significant reduction of the robustness of the application because, when an image is strongly degraded, the estimation of a model containing too many parameters often presents an error important.
  • the implementation of the invention according to this third embodiment makes it possible to freely fix certain intrinsic parameters of the projective system, in particular the focal length, the optical center, the height-to-width ratio of the image sensor used and one or more parameters of the image. distortion.
  • the distortion parameters are predetermined in an off-line step. These parameters are not reevaluated later.
  • correctly estimated calibration parameters (always thanks to at this "off-line" calibration step) are used and re-evaluated according to the optical scale changes made by the user.
  • the method makes it possible to reevaluate focal lengths dynamically when these values are changed by the operator. It is also possible to re-evaluate the position of the optical center because it moves slightly during an optical scale change. It is thus a question of refining the initial estimate of the intrinsic parameters of a camera starting from a correct initial estimate.
  • the estimate of the focal length is preferably not performed as indicated in the second embodiment.
  • this lack of estimation does not present any particular problem because the optical change of zoom is comparable to a displacement along the optical axis.
  • the focal length is then reassessed progressively when the object is reoriented to another position than the one facing the camera.
  • the graph presented in FIG. 6 presents focal length estimation results of a camera (reference 600) as a function of the optical scale change presented on the ordinate axis. They are compared to the actual focal length of the camera (reference 605). Although there is a small difference between the estimated focal length and the actual focal length, this is not really a problem because the focal length estimation errors are compensated by a translation of the object along the axis. optical.
  • FIG. 7 A device adapted to implement the invention or a part of the invention is illustrated in Figure 7.
  • the device shown is preferably a standard device, for example a personal computer.
  • the device 700 here comprises an internal communication bus 705 to which are connected:
  • CPU Central Processing Unit
  • a read-only memory 715 (ROM, acronym for Read OnIy Memory in English terminology) which may include the programs necessary for the implementation of the invention
  • a random access memory or cache memory 720 (RAM, acronym for Random Access Memory in English terminology) comprising registers adapted to record variables and parameters created and modified during the execution of the aforementioned programs
  • a communication interface 740 adapted to transmit and receive data to and from a communication network.
  • the device 700 also preferably has the following elements:
  • a hard disk 725 that can comprise the aforementioned programs and data processed or to be processed according to the invention.
  • a memory card reader 730 adapted to receive a memory card 735 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 700 or connected to it.
  • the representation of the internal bus is not limiting and, in particular, the microprocessor is able to communicate instructions to any element of the device 700 directly or through another element of the device 700.
  • 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 725 or in the read-only memory 715.
  • the memory card 735 may contain data as well as the executable code of the aforementioned programs which, once read by the device 700, is stored in the hard disk 725.
  • the executable code of the programs may be received, at least partially, via the communication interface 740, to be stored in the same manner as described above. More generally, the program or programs may be loaded into one of the storage means of the device 700 before being executed.
  • the microprocessor 710 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 725 or in the read-only memory 715 or in the other storage elements mentioned above. .
  • the program or programs that are stored in a non-volatile memory are transferred into the random access memory 720 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.

Landscapes

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

Abstract

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

Description

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

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP10734234A EP2441046A2 (fr) 2009-06-08 2010-06-04 Procédé et dispositif de calibration d'un capteur d'images utilisant un système temps réel de suivi d'objets dans une séquence d'images

Applications Claiming Priority (2)

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

Publications (2)

Publication Number Publication Date
WO2010142897A2 true WO2010142897A2 (fr) 2010-12-16
WO2010142897A3 WO2010142897A3 (fr) 2011-10-06

Family

ID=41480169

Family Applications (1)

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

Country Status (3)

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

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9235894B2 (en) 2011-01-27 2016-01-12 Metaio Gmbh Method for determining correspondences between a first and a second image, and method for determining the pose of a camera
US9526658B2 (en) 2010-02-24 2016-12-27 Nant Holdings Ip, Llc Augmented reality panorama supporting visually impaired individuals
US20170109930A1 (en) * 2015-10-16 2017-04-20 Fyusion, Inc. Augmenting multi-view image data with synthetic objects using imu and image data
CN110969662A (zh) * 2018-09-28 2020-04-07 杭州海康威视数字技术股份有限公司 鱼眼摄像机内参标定方法、装置、标定装置控制器和系统
CN114125273A (zh) * 2021-11-05 2022-03-01 维沃移动通信有限公司 人脸对焦方法、装置及电子设备

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.

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6047078A (en) * 1997-10-03 2000-04-04 Digital Equipment Corporation Method for extracting a three-dimensional model using appearance-based constrained structure from motion
GB2411532B (en) * 2004-02-11 2010-04-28 British Broadcasting Corp Position determination

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 (3)

* Cited by examiner, † Cited by third party
Title
M. OZUYSAL; P. FUA; V. LEPETIT, FAST KEYPOINT RECOGNITION USING RANDOM FERNS
See also references of EP2441046A2
V. LEPETIT; P. FUA, KEYPOINT RECOGNITION USING RANDOMIZED TREES, 2006

Cited By (11)

* 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
US9235894B2 (en) 2011-01-27 2016-01-12 Metaio Gmbh Method for determining correspondences between a first and a second image, and method for determining the pose of a camera
US9875424B2 (en) 2011-01-27 2018-01-23 Apple Inc. Method for determining correspondences between a first and a second image, and method for determining the pose of a camera
US20170109930A1 (en) * 2015-10-16 2017-04-20 Fyusion, Inc. Augmenting multi-view image data with synthetic objects using imu and image data
US10152825B2 (en) * 2015-10-16 2018-12-11 Fyusion, Inc. Augmenting multi-view image data with synthetic objects using IMU and image data
US10504293B2 (en) 2015-10-16 2019-12-10 Fyusion, Inc. Augmenting multi-view image data with synthetic objects using IMU and image data
CN110969662A (zh) * 2018-09-28 2020-04-07 杭州海康威视数字技术股份有限公司 鱼眼摄像机内参标定方法、装置、标定装置控制器和系统
CN110969662B (zh) * 2018-09-28 2023-09-26 杭州海康威视数字技术股份有限公司 鱼眼摄像机内参标定方法、装置、标定装置控制器和系统
CN114125273A (zh) * 2021-11-05 2022-03-01 维沃移动通信有限公司 人脸对焦方法、装置及电子设备

Also Published As

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

Similar Documents

Publication Publication Date Title
EP2491532B1 (fr) Procede, programme d'ordinateur et dispositif de suivi hybride de representations d'objets, en temps reel, dans une sequence d'images
Zhou et al. Evaluating local features for day-night matching
Lopez‐Moreno et al. Multiple light source estimation in a single image
EP2132710A2 (fr) Procede et dispositifs de realite augmentee utilisant un suivi automatique, en temps reel, d'objets geometriques planaires textures, sans marqueur, dans un flux video
FR2933218A1 (fr) Procede et dispositif permettant de detecter en temps reel des interactions entre un utilisateur et une scene de realite augmentee
EP2828834A2 (fr) Modèle et procédé de production de modèle 3d photo-réalistes
KR20150127653A (ko) 특징들의 공간 로컬화의 이용에 의한 객체 검출 시간 단축
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
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
WO2018185104A1 (fr) Procede d'estimation de pose, dispositif, systeme et programme d'ordinateur associes
EP2257924B1 (fr) Procede pour generer une image de densite d'une zone d'observation
EP2441046A2 (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
WO2010142896A1 (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
US11216961B2 (en) Aligning digital images by selectively applying pixel-adjusted-gyroscope alignment and feature-based alignment models
Lin et al. On‐site example‐based material appearance acquisition
WO2018042127A1 (fr) Procede et systeme de generation de la signature d'une surface
WO2010142895A1 (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
TWI776668B (zh) 影像處理方法及影像處理系統
EP2082336B1 (fr) Procede de recherche et de reconnaissance rapides d'une image numerique representative d'au moins un motif graphique dans une banque d'images numeriques
FR2971601A1 (fr) Procedes, dispositif et programmes d'ordinateur pour la reconnaissance de formes, en temps reel, a l'aide d'un appareil comprenant des ressources limitees
Li et al. Radiometric Transfer: Example‐based Radiometric Linearization of Photographs
CA3230088A1 (fr) Procede de mise en relation d'une image candidate avec une image de reference
Gibb Dealing with Time Varying Motion Blur in Image Feature Matching

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: 10734234

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2010734234

Country of ref document: EP