WO2012107696A1 - Methods, device and computer programs for recognising shapes, in real time, by means of an appliance including limited resources - Google Patents

Methods, device and computer programs for recognising shapes, in real time, by means of an appliance including limited resources Download PDF

Info

Publication number
WO2012107696A1
WO2012107696A1 PCT/FR2012/050290 FR2012050290W WO2012107696A1 WO 2012107696 A1 WO2012107696 A1 WO 2012107696A1 FR 2012050290 W FR2012050290 W FR 2012050290W WO 2012107696 A1 WO2012107696 A1 WO 2012107696A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
signature
image portion
interest
identified
Prior art date
Application number
PCT/FR2012/050290
Other languages
French (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
Publication of WO2012107696A1 publication Critical patent/WO2012107696A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/462Salient features, e.g. scale invariant feature transforms [SIFT]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/24323Tree-organised classifiers

Definitions

  • the present invention relates to the recognition of shapes in images, especially in image sequences, and more particularly to methods, devices and computer programs for the pattern recognition, real-time, using an apparatus including limited resources such as a mobile communication terminal.
  • the invention can in particular be used in augmented reality applications.
  • Augmented reality is intended to insert one or more virtual objects in 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.
  • the virtual objects inserted correspond to real elements present in the scene.
  • the objective of the visual tracking or sensor tracking algorithms is to find very accurately, in a real scene, the pose, ie the position and the orientation, of an object whose the geometry information is available or, in an equivalent way, to retrieve the parameters extrinsic position and orientation of a camera filming this object, through image analysis.
  • the applicant has developed robust visual tracking algorithms for non-marker objects whose originality lies in the pairing of particular points between the current image of a video stream and a set of keyframes, obtained automatically at the initialization of the system as described, for example, in the French patent application No. 1059541. Although these algorithms are robust and fast, there is nevertheless a need to recognize an object among a large number of objects before implementing such a tracking algorithm linked to a recognized object.
  • the identification of objects, or pattern recognition consists in identifying the presence of one or more objects previously characterized by learning, in a given image.
  • portions of this image from an image sensor such as a camera or camera, are compared to elements of a set of image portions of objects stored in a database, characterizing parts of the objects to be identified.
  • Such portions of images may correspond to a set of pixels (acronym for picture element in English terminology) located around points of interest.
  • the pairing is advantageously treated as a classification problem in which each class or category corresponds to a subset of all possible views of an image portion around a point of interest.
  • a particularly efficient classification model in terms of processing time, is based on the use of multi-branched structures. It uses a learning phase (offline or off-line in English terminology) that aims to memorize characteristics portions of images representative of points of interest and a detection phase (online or on-line in English terminology) which aims to compare characteristics of a portion of a current image with previously memorized portion characteristics to identify points of interest.
  • a learning phase offline or off-line in English terminology
  • a detection phase online or on-line in English terminology
  • a set F comprises J structures F y , each structure F comprising D binary tests f d such that,
  • Each of structures F are thus allows the creation of a binary signature ⁇ fi j, f 2j, fo from a given image portion, preferably converted into grayscale.
  • Each binary signature can then be represented by a value k j by concatenation of the component binary values and conversion to an integer.
  • FIG. 1a represents an image portion comprising, for the sake of clarity, 5 ⁇ 5 pixels.
  • FIG. B represents a set of structures Fy, each structure comprising a set of binary tests (TB y / ) relating to pixel values (p x, j), making it possible to obtain binary values which, combined, form a signature binary (VBj) from which can be determined an index (k j ) which can be represented as a binary or real number.
  • a table is constructed in order to assign probabilities of belonging to categories, for all the signatures representative of image portions comprising the points of interest considered (a category is here associated with each point interest).
  • a large number of image portions are synthesized from images representing the objects to be recognized. Typically, an image portion is a block of 32x32 pixels located around a point of interest. If the object can be considered as planar, the views are synthesized by affine transformation. Alternatively, if the object is of any geometry and a textured three-dimensional model of the object is available, views are synthesized according to conventional rendering techniques, for example using technologies known as OpenGL and Direct3D .
  • points of interest are detected in the available images of the objects to be detected using, for example, a points of interest detector known as HARRIS, FAST or MSER.
  • Image portions such as blocks of 32x32 pixels, are then extracted around the identified points of interest.
  • levels of scales of the images used can be used (a Gaussian pyramid of images can thus be constructed with, for example, a factor of two between the levels in order to allow the classification of portions of images with very close and very similar representations. far from a camera used).
  • the extracted image portions are small and can be processed with homographic transformations.
  • a front view of the target object generates a subset of new affine views.
  • An affine transformation can be decomposed using two parameterized rotation matrices and a scale matrix (the scale typically ranging from 0.6 to 1.5).
  • image portions may be smoothed using a Gaussian filter (e.g., a 5x5 or 7x7 filter) in order to improve the vis-vis the noise robustness and / or blurring may be present in the captured image. It is also possible to simulate noise in the image portions used.
  • a Gaussian filter e.g., a 5x5 or 7x7 filter
  • the learning phase consists of constructing this classification model using the views available for each point of interest, ie for each class c ,.
  • the binary signature ⁇ / ? /, f 2 , f D ⁇ of each image portion associated with a class c ,, for each structure Fy, is estimated.
  • This signature is converted into an integer by concatenation of the binary test results and conversion of the bit sequence thus formed into a real number.
  • This number represents an index k j (between 0 and 2 D -1) of a table representing the probability distribution.
  • this table of dimension 2 D xN (N being the class number to be classified) contains the probability distribution for each of the classes c ,.
  • N being the class number to be classified
  • P represents the probability that the signature corresponding to the index k belongs to the category c
  • FIG. 1c illustrates such a table in which each line corresponds to a binary signature represented by an index k j and each column corresponds to a predetermined category c 1.
  • Each value stored in the table represents the probability that the image portion from which the signature represented by the index kj has been obtained corresponds to the category c ,.
  • the line k s represents the distribution of membership probabilities of the image portion from which the signature represented by the index k j has been obtained.
  • the memory occupancy is 10.2 MB (megabytes) per object.
  • the detection phase consists, for a given image portion, of identifying, if necessary, a class c, as a function of the binary responses obtained by the structures F j .
  • the same procedure as that performed during the learning phase is implemented. It aims to obtain portions of images surrounding points of interest previously detected in a current image extracted from a video stream.
  • J binary signatures are obtained and converted into indexes kj referencing values in the tables of probability distributions determined during the learning phase. These values, if they are previously converted into logarithmic values, can then be summed to obtain the distribution of the membership probabilities of the processed image portion to the classes used.
  • FIG. 1 d schematically illustrates the method for classifying a given image portion denoted P1.
  • a first step consists in determining the binary signatures VB j from predetermined structures Fj. Indexed values k j are then obtained from the binary signatures VB j by concatenation and conversion of the bits of the binary signatures. The indexes k j are then used to find, in the tables determined during a learning phase, probability distributions, denoted DistProb j , membership of the treated image portion classes used. These distributions are then added to each other to obtain an average distribution (DistProbMoy) from which it is possible to isolate a class c, for example the class corresponding to the probability value, greater than a predetermined threshold, the highest.
  • DistProbMoy average distribution
  • Pairings found between the points of the current image and points learned images that is to say the classification of points of interest used, are used to identify an object and estimate its pose (position and orientation) in the repository of the camera used using standard techniques, for example techniques for minimizing reprojection error.
  • a classification method typically offers a recognition rate of the order of 80%, it is preferable to use robust pseudo-matching estimation techniques that may appear during the detection phase.
  • a RANSAC algorithm (acronym for RAndom SAmple Consensus in English terminology) can, for example, be used to make a first estimate to reject false matches and estimate a first pose of the object in the image.
  • a Levenberg-Marquardt type nonlinear error minimization method can then be used to refine this first estimate.
  • the invention solves at least one of the problems discussed above.
  • the invention thus relates to a method for real-time identification of at least one form of which at least a partial representation is present in an image, for an information processing device, this method comprising the following steps, detecting at least one point of interest in said image and extracting at least one image portion of said image according to the position of said at least one point of interest;
  • identifying at least one signature in a classification structure comprising a plurality of signatures, each signature of said plurality of signatures being associated with a category, said at least one identified signature being identified according to said at least one generated signature, and identifying a category associated with said at least one identified signature, said at least one form being identified according to said identified category.
  • the method according to the invention thus makes it possible to effectively recognize a large number of shapes, for example several thousand, while limiting the storage resources necessary for storing characteristics of the shapes to be recognized.
  • the method according to the invention also makes it possible to estimate a pose of the identified forms making it possible, in particular, to facilitate follow-up steps of shapes in the following images.
  • said at least one statistical model is a multi-branched model based on structures using random binary tests, said at least one signature being generated as a function of at least one result in at least one of said tests. binaries.
  • the method according to the invention is thus simple to implement, efficient and does not require particularly important computing resources.
  • said step of determining at least one characteristic of said at least one image portion comprises a step of determining a main direction of said at least one image portion.
  • Said at least one binary test of which said at least one result is used to generate said at least one signature is preferably determined according to said main direction.
  • said step of determining at least one characteristic of said at least one image portion comprises a step of determining a sign of said at least one image portion, said sign being determined according to a variation of intensity in said at least one image portion.
  • the method of the invention thus optimizes the amount of information used to identify shapes as well as the processing associated with the data used to identify shapes. Said intensity variation is preferably estimated along said main direction.
  • the method further comprises a step of selecting said at least one statistical model according to said sign.
  • said classification structure is a classification tree of kd-tree, spill-tree, kmean-tree or vocabulary-tree type.
  • the method furthermore preferably comprises a step of validating said identified category, said validation step comprising a step of comparing a difference of said at least one identified signature and at least one generated signature with a predetermined threshold in order to improve shape identification performance and limit processing on data used to identify shapes.
  • the method further comprises a step of validating said identified category, said validation step comprising a step of reprojecting a model of said at least one identified form according to an estimated pose of said at least one identified form so to improve the shape identification performance.
  • the invention also relates to a method of constructing a statistical model for the real-time identification of at least one form of which at least a partial representation is present in an image, for an information processing device, this process comprising the following steps,
  • the method according to the invention thus makes it possible to learn data which subsequently makes it possible to efficiently recognize a large number of forms, for example several thousand, while limiting the storage resources necessary for storing characteristics of the shapes to be recognized.
  • the method according to the invention also makes it possible to simplify and optimize a possible subsequent learning by limiting the number of steps to be performed.
  • said deformation is an affine or projective deformation.
  • said step of determining at least one characteristic of said at least one image portion and of each image portion of said plurality of image portions comprises a step of determining a direction principal of that at least a portion of the image and of each image portion of said plurality of image portions.
  • said step of determining at least one characteristic of said at least one image portion and each image portion of said plurality of image portions comprises a step of determining a sign of said at least one image portion and each image portion of said plurality of image portions, said sign being determined according to a variation of intensity in the corresponding image portion.
  • the method of the invention thus optimizes the amount of information used to identify shapes as well as the processing associated with the data used to identify shapes.
  • Said sign is preferably determined according to a variation of intensity related to said main direction.
  • the method further comprises a step of modifying said statistical model aimed at deleting data relating to a class similar to another class.
  • the method according to the invention thus makes it possible to improve the identification of shapes while limiting the amount of data necessary for it.
  • the invention also relates to a method of constructing a classification structure comprising a plurality of signatures, each signature of said plurality of signatures being associated with a category, for the real-time identification of at least one form of which an at least partial representation is present in an image, for an information processing device, the method comprising the following steps,
  • At least one image comprising at least a partial representation of said at least one shape, detecting at least one point of interest in said at least one image and extracting at least one image portion from said at least one image according to the position of said at least one point of interest; determining at least one characteristic of said at least one image portion;
  • the method according to the invention thus allows the addition of new forms to be identified to a pattern identification system, without the initial learning phase being linked to the shapes to be subsequently identified.
  • 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 of the steps of the method described above.
  • 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 of the steps of the method described above.
  • FIG. 1 comprising FIGS. 1a to 1d, illustrates the classification principle based on the use of structures with multiple branches;
  • FIG. 2 illustrates general steps of an algorithm according to the invention
  • FIG. 3 illustrates an example of an algorithm for creating a signature generator, according to the invention
  • FIG. 4 comprising FIGS. 4a and 4b, illustrates an orientation calculation of image portions
  • - Figure 5 illustrates an example of a learning algorithm of objects to be identified
  • FIG. 6 illustrates an example of an algorithm for identifying objects, in real time, in images
  • FIG. 7 schematically illustrates classification of an image data portion and associated with a point of interest to enable the identification of objects in real time, in an image
  • FIG. 8 illustrates an exemplary information processing device adapted to implement the invention.
  • the invention allows the identification of many objects in images of a video stream, regardless of the angle of observation of these objects, their scale and independently of the internal parameters of the image capture device. , in an apparatus with limited computing and storage resources. For these purposes, points of interest are identified in the processed images and image portions around these points are analyzed.
  • a first analysis aims to characterize an image portion by calculating a signature, according to a first database, while a second analysis aims to identify the image portion corresponding to the obtained signature, according to a second database. data.
  • FIG. 2 illustrates general steps of an algorithm according to the invention.
  • a first step here relates to the creation of a signature generator (step 200).
  • This step aims in particular to create a database allowing, from pixels of a portion of an image, to calculate a signature that can be used to identify the image portion corresponding to the signature obtained.
  • Step 200 is described in more detail with reference to FIG.
  • step 205 an apprenticeship is made from representations of the objects to be identified. This step aims in particular to establish links between image portion signatures and categories. used to identify objects. Step 205 is described in more detail with reference to FIG.
  • Step 210 is described in more detail with reference to FIG.
  • a first phase performed offline, essentially consists in the creation of a tool for generating signatures from image portions.
  • the creation of this signature generator is preferably independent of the objects to be recognized later.
  • a signature generator is generic and can be used to recognize a large number of objects as well as to allow recognition of objects not yet identified.
  • a second phase also offline, consists essentially of learning objects to be identified. This phase is repeated, at least partially, whenever new objects need to be identified.
  • the third phase online, aims at image processing to characterize points of interest and identify objects.
  • the signature of an image portion is here determined according to a classification algorithm with multiple branches as described above, in particular with reference to FIG. 1.
  • the classes used in a multi-branching classification algorithm typically aim to identify particular points of interest of objects to be identified, ie categories
  • the classes used here are arbitrary, different from each other. each other, and aim at the creation of distinctive signatures.
  • Figure 3 illustrates an example algorithm for creating a signature generator, according to the invention.
  • the signature generator is here created from a set of images 300.
  • the latter are chosen, for example, randomly.
  • these images must nevertheless include points of interest such as those likely to characterize an object to be identified.
  • Images used to create the signature generator are thus typically images representing any objects.
  • a first step is to detect points of interest (step 305).
  • the points of interest are for example detected with a standard algorithm, for example an algorithm known as HARRIS or FAST.
  • An image portion is then extracted around each detected point of interest, for example a portion of 32x32 pixels approximately centered on the point of interest considered.
  • the number of points of interest detected on all the images must be greater than the length of the signatures to be generated. Furthermore, the points of interest are preferably chosen so as not to be at the edges of images to avoid possible edge effects, especially if a reprojection operation is implemented.
  • the algorithm described with reference to FIG. 3 can be implemented in different ways. Indeed, it is possible to detect all the points of interest of all the images, then to extract image portions for each point of interest of each image and to process each of these image portions. It is also possible to select a first image, to detect a first point of interest, then to extract an image portion and to process this image portion before detecting a new point of interest of this same image and repeat the previous steps and then start over on a next image. However, whatever the sequence of steps, the latter are similar. Therefore, for the sake of clarity, all embodiments are not described here, only the processing of an image portion associated with a point of interest of an image is described below. The same applies to the other algorithms described below.
  • a set of image portions is generated from the image portion considered (step 310) by rotation, scaling, sound effects, etc.
  • image portions are advantageously projective views. Because affine views badly represent what can be perceived in the images extracted from a video stream from a camera.
  • the image portions used here can be quite large, for example 32 ⁇ 32 pixels, and the projective deformations modify the appearance of a visible object in an image plane. This is especially the case for the portions of images corresponding to points of interest detected on low scale levels because they contain a large number of pixels with respect to the total size of the image of the object.
  • the parameters used to obtain image portions from an image portion extracted around a point of interest are therefore the focal length f, the distance Z between the object and the camera and the rotations around the image.
  • the projective transformation P can then be defined by the following standard relation,
  • K represents the matrix containing the intrinsic parameters of the camera and T the homogeneous matrix corresponding to the geometric transformation defined by the position and orientation of the object.
  • angles 6> and ⁇ in the range [-JT, + ⁇ ], angle dans in the range [0, 2 ⁇ ], distance Z in the range [ 0.7xZ, 1.5xZ ⁇ and the focal length in the range [800, 1000] (expressed in pixels relative to a resolution of 640x480, for standard cameras).
  • the image portions created from this model are then advantageously smoothed using, for example, a Gaussian filter such as a 5x5 or 7x7 filter to improve robustness to noise and / or blur.
  • noise can be added to these image portions by using noise simulation to improve robustness.
  • the resulting set of image portions preferably smoothed and slightly noisy, corresponds to different possible views of the point of interest. It is desirable to generate a large number of image portions for each point of interest, for example 5,000 or 10,000 image portions.
  • an orientation, or principal direction, related to the axis of the image sensor typically the axis of the camera, i.e. say at angle ⁇
  • Determining a principal direction for each image portion allows normalization of these image portions and, therefore, reducing the variability of the image portions, which leads to a reduction in the amount of memory necessary for storing reference data. It has already been observed that such normalization is performed during the offline phase, to create the signature generator and for the learning of the objects to be identified, as well as during the online phase to identify objects.
  • FIG. 4a illustrates such an image portion orientation calculation.
  • sixteen points are determined on a circle around a point of interest (placed in the center of the figure).
  • the comparison of the intensities of these sixteen pixels, taken two by two, opposite each other, makes it possible to determine gradient vectors (here eight vectors represented by the arrows in dotted line).
  • the sum of these vectors then makes it possible to calculate an orientation vector (represented by the solid line arrow) of the image portion associated with the central point of interest.
  • the image portion of size PxP is resampled bilinearly into a portion of image size P / 2xP / 2 before the calculation described above is applied.
  • orientation thus calculated can be used to resample the pixels of the considered image portion according to the calculated orientation, it is preferably used to create or select a set of binary tests.
  • the possible orientations are sampled on values included, for example, between 0 and 31. This discretization makes it possible to precompute each of the binary tests of the multi-branched structure used and to store them in memory. It is thus possible to use an orientation associated with an image portion without additional calculation cost.
  • the calculation of the orientation makes it possible to reduce the space of the orientations with two orientations, those around the two axes perpendicular to the optical axis, or the axes of the abscissae and the ordinates, that is to say those which vary to a lesser extent the appearance of the relevant image portion.
  • an image portion sign is advantageously determined (step 320). Indeed, it has been observed that the image portions processed around a point of interest have an important characteristic related to the local variation of intensity between central pixels and peripheral pixels. This variation is stronger between the central pixels and the peripheral pixels in the direction given by the orientation of the image portion in question, as described above. It is thus possible to distinguish two types of points of interest, depending on whether the intensity variation is positive or negative.
  • the sign can be determined by comparing the average of the intensities on the central pixels (for example the 9x9 central pixels) and the average on the pixels of the periphery in the main direction.
  • the sign can be given directly by construction because the FAST points are detected by a significant difference in intensity between the central pixel of the image portion and the pixels on a circle around of the central pixel.
  • a Bresenham circle for example 16-pixel perimeter, is built around each pixel of the image. If k contiguous pixels (ka typically a value equal to 9, 10, 1 1 or 12) contained in this circle are either all of intensity greater than the central pixel, or all of intensity lower than the central pixel, then the central pixel is considered a point of interest. It is then sufficient to compare the intensity of the central pixel with the intensity of the contiguous pixels.
  • a first use of this principle of signed points of interest relates to a final step of comparing a signature obtained with reference signatures.
  • the signatures of each of the points of interest to be recognized are classified into two groups: the group of negative points and the group of positive points. This has the effect of dividing by two the processing time of the comparison phase and to reduce the size of the structures used.
  • a second use which can be combined with the first, is to modify the structure of the database used to generate signatures.
  • the N classes used for the construction of the signature generator are separated into two groups having, preferably, equivalent sizes ( ⁇ // 2).
  • ⁇ // 2 equivalent sizes
  • the generated signature therefore has a size equal to ⁇ // 2, which leads to an optimized memory occupancy and a computing time twice as fast, with equivalent robustness.
  • a test f consists in comparing a pixel p u and a pixel p v , it is considered that this test is associated with the direction do and it is then necessary, for this test, to create Q-1 tests, i.e. tests fi associated with directions d q (q ranging from 7 to Q-1).
  • a test f is created to compare the pixels p ' u and p' v in an orientation d q the position of the pixels p'u and p ' v corresponding to the position of the pixels p u and p v , respectively, after a rotation of d q -d 0 .
  • each structure F there exists a distribution table of probability of belonging to a class, the structure defining a set of binary tests for a set of directions.
  • the classes are, for example, random and different values associated with each point of interest considered in this first off-line phase.
  • a set of binary values is then calculated for each structure F h according to the binary tests associated with the principal direction previously determined.
  • the test results are then used to determine an index k j as described above with reference to FIG. 1. It is observed here that the index k j is calculated according to the results of binary tests associated with a predetermined direction, for example the direction 0.
  • the value corresponding to this index is then incremented by one in the corresponding distribution table of probabilities.
  • the table used here is the table associated with the considered structure and. if a portion of image sign is used, corresponding to the sign of the image portion considered.
  • the probability distribution tables are here stored in the database 330 which is itself preferably stored in a non-volatile memory.
  • step 335 the probability distribution tables are analyzed to delete data deemed unnecessary, for example redundant data such as data associated with similar classes.
  • each of the M classes built (where M is, for example, determined by a user). M being greater than / V, is tested to remove, among these classes, those that are most similar.
  • the probability distribution tables thus determined can be used to generate signatures characterizing a portion of an image.
  • signatures are here constituted by the cumulative distributions of probabilities associated with binary test results related to F, structures.
  • an image portion makes it possible to obtain, from a set of structures F, associated with binary tests f a set of binary values VB j which correspond to a set of indexes. k s . These indexes k j each allow to determine a distribution of probabilities.
  • the probability distributions thus obtained are then combined, for example by cumulation, to determine a signature.
  • the construction of the signature generator requires a memory capable of storing 2 D xJ bytes, ie between 5Mo and 15Mo to memorize between 100 and 300 points of interest. It is observed that if this generator has a cost, especially in terms of memory occupancy and processing, it reduces the storage cost, variable, associated with the representations of objects to be recognized.
  • FIG. 5 illustrates an exemplary object learning algorithm to be identified. As previously stated this second phase is performed offline. It must be repeated each time a new object has to be identified.
  • Learning is here made from a set of images 500 representing, at least partially, one or more objects to be identified.
  • a first step is to detect points of interest
  • step 505 As with step 305. described with reference to the 3, the points of interest are, for example, detected with a standard algorithm, for example an algorithm known as HARRIS or FAST.
  • Such detection can be performed at different levels of scale of a Gaussian pyramid built from the initial image to improve recognition of objects seen at different distances.
  • two hundred points of interest are detected per object, evenly distributed over images of two or three scale levels.
  • An image portion is extracted again around each detected point of interest, e.g., a block of 32x32 pixels, approximately centered on the item of interest.
  • a principal direction linked to the axis of the image sensor (typically the axis of the camera ), i.e. at the angle ⁇ , is determined for each image portion (step 510).
  • the determination of a principal direction for each image portion allows normalization of these image portions and, therefore, a reduction in the amount of memory necessary for storing reference data and, thus, dual, to improve the quality of the classification.
  • the main orientation is here determined according to step
  • a set of sixteen pixels sampled on a circle around the position of a point of interest is used to calculate gradients, as vectors, between opposing pixels.
  • the orientation of the image portion of the point of interest is then defined as the sum of these gradient vectors, as illustrated in FIG. 4.
  • the image portion of size PxP is preferably bilinearly resampled into a portion of the image.
  • image size P / 2xP / 2 before the calculation described above is applied.
  • the set of possible orientations is sampled according to the same values as those used during the first phase described above, for example, between 0 and 31.
  • the thus calculated orientation is. preferably, used to select a set of binary tests.
  • an image portion sign is advantageously determined (step 515).
  • the sign is here calculated in accordance with step 320 described with reference to Figure 3.
  • a signature of the processed image portion is then generated from the predetermined probability distribution tables 330
  • step 520 It is constituted by the cumulative logarithmic distributions of probabilities associated with binary test results related to the structures Fj used.
  • a set of binary values VB j is obtained from the set of structures F j which are associated with binary tests f 1.
  • the binary values VBj make it possible to define indexes k j which, in turn, make it possible to obtain probability distributions.
  • the probability distributions thus obtained are then combined, for example by cumulation, to determine a signature. It is noted here that the binary tests to be used for a given structure, are identified according to the orientation of the predetermined image portion processed so that it is not necessary to resample the portion of processed image according to its orientation.
  • a signature is thus generated for each previously detected point of interest.
  • Each signature is then stored with a reference, or category (CIF), a point of interest of the object corresponding to identifying (step
  • An optional step of improving the signature generator can take place here. It consists in reducing the size of the signatures generated in a smaller size. For these purposes, a large number of generated signatures is used to evaluate what each of the signature classes brings for the classification step. The classes of the signature that vary the least on all the image portions tested are deleted one by one. This process is then repeated until the best classes are obtained while retaining, if necessary, the constraint that half of the signatures are linked to positive points of interest and the other half of the signatures are linked to negative points of interest.
  • a characteristic signature is obtained for each of the points of interest of each of the objects to be recognized. These signatures are then placed in a classification structure, specific to the classification task, stored here in the database 530. Standard structures such as structures known under the names of "kd-tree”, “spill-tree” , “Kmean-tree” or “vocabulary-tree” can be used to classify each of the signatures and to compare them. These structures can be stored in nonvolatile memories or rebuilt when the application is launched.
  • the three-dimensional coordinates of each detected point of interest are evaluated. They can in particular be obtained according to the geometry of the object and its position in the image used.
  • the information considered relevant here that is to say in particular the two-dimensional and three-dimensional coordinates of the points of interest, the signatures of the points of interest, the indices of the corresponding objects and the classification structures, are advantageously stored in nonvolatile memories, for example a hard disk or a memory card, to avoid having to re-determine them later.
  • the memory occupancy of the signature generator (5Mo) is added to the memory occupancy of the signatures, which gives a total of about 25 MB of data necessary for the operation of the object recognition application.
  • FIG. 6 illustrates an example of an algorithm for identifying objects, in real time, in images.
  • this third phase is performed online in order to detect one or more objects in a current image 600.
  • a first step is to detect points of interest (step 605).
  • the points of interest are, for example, detected with a standard algorithm, for example an algorithm known as HARRIS or FAST.
  • the maximum number of points of interest to be detected is preferably predetermined. It is, for example, equal to one hundred.
  • An image portion is again extracted around each detected point of interest, for example a block of 32x32 pixels, approximately centered on the point of interest considered.
  • a principal direction linked to the axis of the image sensor (typically the axis of the camera ), i.e. angle ⁇ , is determined for each image portion (step 610).
  • determining a principal direction for each image portion allows normalization of these image portions and, therefore, a reduction in the amount of memory required for storing reference data.
  • the main orientation is here determined according to step
  • a set of sixteen pixels sampled on a circle around the position of a point of interest is used to calculate gradients, in the form of vectors, between opposite pixels.
  • the orientation of the image portion of the point of interest is then defined as the sum of these gradient vectors, as illustrated in FIG. 4.
  • the size of image portion PxP is preferably re-sampled in a portion of bilinearly image size P / 2xP / 2 before the calculation described above is applied.
  • the set of possible orientations is sampled according to the same values as those used during the first and second phases described above, for example between 0 and 31.
  • the orientation thus calculated is preferably used to select a set of binary tests.
  • an image portion sign is advantageously determined (step 61).
  • the sign is here calculated according to the step 320 described with reference to FIG.
  • a signature of the processed image portion is then generated from the previously determined probability distribution tables 330 (step 620). It is constituted by the cumulative distributions of probabilities associated with the results of binary tests related to the structures F j used.
  • a set of binary values VB j is obtained from the set of structures Fj which are associated with binary tests f, -.
  • the binary values VB j make it possible to define indexes k s which, in turn, make it possible to obtain probability distributions.
  • the probability distributions thus obtained are then combined, for example by cumulation, to determine a signature. It is noted here that the binary tests to be used for a given structure, are identified according to the orientation of the predetermined image portion processed so that it is not necessary to resample the portion of image processed according to its orientation.
  • a signature is thus generated for each previously detected point of interest. These signatures are then compared (step 625) with signatures previously classified in specific structures at the classification stage (classification structure stored here in the database 530). For each generated signature, the closest signature gives the category (cat) of the corresponding point of interest.
  • each point of interest of the current image is matched with a classified point by comparing the signatures of the image portions associated with these points. It is possible to remove the least relevant matches by using a distance between the signatures associated with the two points and a predetermined tolerance threshold.
  • a last geometric validation step for example an RANSAC or PROSAC type algorithm, is then preferably performed to validate the coherence of the matches found. If the number of validated matches is greater than a predetermined threshold, for example ten, the index of the identified object is returned by the application. If not, it is possible to test the following objects in a list of potentially recognized objects.
  • a predetermined threshold for example ten
  • the process can classify and recognize several thousand objects in real time. As an illustration, it is thus possible, on a smartphone-type mobile phone, to memorize features of a thousand objects to recognize them in less than one hundred milliseconds, depending on the capabilities of the device.
  • the first group can contain a thousand objects to be recognized and is processed in image 1
  • the second group which also contains a thousand objects, is processed in image 2 and thus right now. It is thus possible to recognize on a mobile device ten thousand objects in less than one second.
  • Figure 7 schematically illustrates the classification of a given image portion denoted PI and associated with a point of interest to allow the identification of objects, in real time, in an image.
  • a first step is to determine binary values from structures including predetermined binary tests. These binary values are then used to find, in the tables determined during a learning phase (database 330), probability distributions, denoted DistProb j , membership of the processed image portion to classes used. These probability distributions are then combined with each other, for example by accumulation, in order to obtain a signature (Signature). It is observed here that neither probability distributions DistProb j nor signature Signature have meaning as such.
  • the signature obtained from the treated image portion is then compared with signatures previously stored and stored in a classification structure (here belonging to the database 530) in order to find the signature closest to the signature obtained and thus associate a cat category at the point of interest considered.
  • a classification structure here belonging to the database 530
  • FIG. 8 illustrates an exemplary information processing device that can be used to implement, at least partially, the invention, in particular the steps described with reference to FIGS. 2, 3, 5 and 6.
  • the device 800 is example a smartphone-type mobile phone, a personal digital assistant or a microcomputer.
  • the device 800 preferably comprises a communication bus
  • a central processing unit or microprocessor 804 (CPU, Central Processing Unit);
  • ROM 806 Read Only Memory
  • Programs programs such as "Prog"
  • RAM Random Access
  • Memory having registers adapted to record variables and parameters created and modified during the execution of the aforementioned programs
  • an 810 video acquisition card connected to an 812 camera; and, a graphics card 814 connected to a screen or a projector 816.
  • the device 800 can also have the following elements:
  • a hard disk 820 which may include the aforementioned "Prog” programs and data processed or to be processed according to the invention
  • an 822 keyboard and an 824 mouse or any other pointing device such as an optical pencil, a touch screen or a remote control enabling the user to interact with the programs according to the invention, in particular during the installation and / or initialization;
  • a communication interface 826 connected to a distributed communication network 828, for example the Internet network, the interface being able to transmit and receive data; and,
  • a memory card reader (not shown) adapted to read or write processed or processed data according to the invention.
  • the communication bus allows communication and interoperability between the various elements included in the device 800 or connected to it.
  • the representation of the bus is not limiting and, in particular, the central unit is able to communicate instructions to any element of the device 800 directly or via another element of the device 800.
  • 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 820 or in the read-only memory 806.
  • the executable code of the programs may be received via the communication network 828, via the interface 826, to be stored in the same manner as that described previously.
  • the program (s) may be loaded into one of the storage means of the device 800 before being executed.
  • the central unit 804 will control and direct the execution of the instructions or portions of software code of the program or programs according to the invention, instructions which are stored in the hard disk 820 or in the read-only memory 806 or else in the other elements of aforementioned storage.
  • the program or programs that are stored in a non-volatile memory for example the hard disk 820 or the read-only memory 806, are transferred into the random access memory 808 which then contains the executable code of the program or programs according to the invention, as well as registers for storing the variables and parameters necessary for the implementation of the invention.
  • the communication apparatus comprising the device according to the invention can also be a programmed apparatus.
  • This device then contains the code of the computer program or programs for example frozen in a specific application integrated circuit (ASIC).
  • ASIC application integrated circuit
  • the invention can be used to trigger specific actions such as the opening of Internet pages, playback of video or sound type files. It can also be used, for example, to locate a user in a real environment.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Multimedia (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Analysis (AREA)

Abstract

The invention relates in particular to the real-time identification of shapes in an information-processing device having limited resources. After having detected (605) a point of interest in an image and having extracted an image portion according to the position thereof, a feature of said image portion is determined (610, 615). A signature is then generated (620) according to the image portion and the determined feature, from a predetermined statistical model. A signature is then identified (625) in a classification structure including a plurality of signatures, each one of which is associated with a category. The identified signature is identified according to the signature generated and a category associated with the identified signature is identified. A shape is then identified according to the identified category.

Description

Procédés, dispositif et programmes d'ordinateur pour la reconnaissance de formes, en temps réel, à l'aide d'un appareil comprenant des ressources limitées La présente invention concerne la reconnaissance de formes dans des images, notamment dans des séquences d'images, et plus particulièrement des procédés, des dispositifs et des programmes d'ordinateur pour la reconnaissance de formes, en temps réel, à l'aide d'un appareil comprenant des ressources limitées tel qu'un terminal mobile de communication. L'invention peut notamment être utilisée dans des applications de réalité augmentée. Methods, apparatus and computer programs for pattern recognition, in real time, using a device comprising limited resources The present invention relates to the recognition of shapes in images, especially in image sequences, and more particularly to methods, devices and computer programs for the pattern recognition, real-time, using an apparatus including limited resources such as a mobile communication terminal. The invention can in particular be used in augmented reality applications.
La réalité augmentée a pour objet d'insérer un ou plusieurs objets virtuels dans des 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. De façon générale, les objets virtuels insérés correspondent à des éléments réels présents dans la scène. Ainsi, il peut être nécessaire d'effectuer une étape préalable d'identification (ou de reconnaissance) robuste et rapide de ces objets réels présents dans la scène, aussi appelée étape de reconnaissance de formes, en particulier lorsque ces objets sont nombreux.  Augmented reality is intended to insert one or more virtual objects in images of a video stream. Depending on the type of application, 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. In general, the virtual objects inserted correspond to real elements present in the scene. Thus, it may be necessary to perform a prior step of robust identification and recognition (or recognition) of these real objects present in the scene, also called pattern recognition step, especially when these objects are numerous.
Lorsque la position et l'orientation des objets virtuels 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.  When the position and orientation of the virtual objects are determined by data related to certain elements of this scene, it may be necessary to follow these elements according to the movements of the camera or the movements of these elements themselves in the scene . 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.
L'objectif des 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. The objective of the visual tracking or sensor tracking algorithms is to find very accurately, in a real scene, the pose, ie the position and the orientation, of an object whose the geometry information is available or, in an equivalent way, to retrieve the parameters extrinsic position and orientation of a camera filming this object, through image analysis.
Le demandeur a développé des algorithmes robustes de suivi visuel d'objets n'utilisant pas de marqueur et dont l'originalité réside dans l'appariement de points particuliers entre l'image courante d'un flux vidéo et un ensemble d'images clés, obtenues automatiquement à l'initialisation du système comme décrit, par exemple, dans la demande de brevet français No. 1059541 . Bien que ces algorithmes soient robustes et rapides, il existe néanmoins un besoin pour reconnaître un objet parmi un grand nombre d'objets avant de mettre en œuvre un tel algorithme de suivi lié à un objet reconnu.  The applicant has developed robust visual tracking algorithms for non-marker objects whose originality lies in the pairing of particular points between the current image of a video stream and a set of keyframes, obtained automatically at the initialization of the system as described, for example, in the French patent application No. 1059541. Although these algorithms are robust and fast, there is nevertheless a need to recognize an object among a large number of objects before implementing such a tracking algorithm linked to a recognized object.
L'identification d'objets, ou reconnaissance de formes, consiste à identifier la présence d'un ou plusieurs objets préalablement caractérisés par apprentissage, dans une image donnée. Typiquement, des portions de cette image, provenant d'un capteur d'images tel qu'une caméra ou un appareil photo, sont comparées à des éléments d'un ensemble de portions d'images d'objets enregistrées dans une base de données, caractérisant des parties des objets à identifier. De telles portions d'images peuvent correspondre à un ensemble de pixels (acronyme de picture élément en terminologie anglo- saxonne) situés autour de points d'intérêt. Après avoir identifié plusieurs portions d'image, il est possible, par appariement, d'identifier un objet.  The identification of objects, or pattern recognition, consists in identifying the presence of one or more objects previously characterized by learning, in a given image. Typically, portions of this image, from an image sensor such as a camera or camera, are compared to elements of a set of image portions of objects stored in a database, characterizing parts of the objects to be identified. Such portions of images may correspond to a set of pixels (acronym for picture element in English terminology) located around points of interest. After identifying several image portions, it is possible, by pairing, to identify an object.
L'appariement est avantageusement traité comme un problème de classification dont chaque classe ou catégorie correspond à un sous ensemble de toutes les vues possibles d'une portion d'image autour d'un point d'intérêt. Plusieurs représentations des différents objets potentiellement présents dans la scène réelle considérée sont ainsi construites lors d'une phase d'apprentissage pour être comparées ultérieurement avec une image courante issue du capteur d'image.  The pairing is advantageously treated as a classification problem in which each class or category corresponds to a subset of all possible views of an image portion around a point of interest. Several representations of the different objects potentially present in the actual scene under consideration are thus constructed during a learning phase to be compared later with a current image from the image sensor.
Un modèle de classification particulièrement efficace, en termes de temps de traitement, est basé sur l'utilisation de structures à ramifications multiples. Il utilise une phase d'apprentissage (hors ligne ou off-line en terminologie anglo-saxonne) qui vise à mémoriser des caractéristiques de portions d'images représentatives de points d'intérêt et une phase de détection (en ligne ou on-line en terminologie anglo-saxonne) qui a pour objet de comparer des caractéristiques d'une portion d'une image courante avec des caractéristiques de portions préalablement mémorisées pour identifier des points d'intérêt. A particularly efficient classification model, in terms of processing time, is based on the use of multi-branched structures. It uses a learning phase (offline or off-line in English terminology) that aims to memorize characteristics portions of images representative of points of interest and a detection phase (online or on-line in English terminology) which aims to compare characteristics of a portion of a current image with previously memorized portion characteristics to identify points of interest.
Plus précisément, un ensemble F comprend J structures Fy, chaque structure F comprenant D tests binaires fd tels que,
Figure imgf000005_0001
More specifically, a set F comprises J structures F y , each structure F comprising D binary tests f d such that,
Figure imgf000005_0001
où i et 2 sont des pixels, dont la position est choisie de façon aléatoire lors de la création du test, de la portion d'image considérée et / représente une intensité de pixel. Chacune des structures Fy permet ainsi la création d'une signature binaire {f-ij, f2j, fo à partir d'une portion d'image donnée, de préférence convertie en niveaux de gris. Chaque signature binaire peut alors être représentée par une valeur kj par concaténation des valeurs binaires la composant et conversion en nombre entier. where i and 2 are pixels, the position of which is randomly chosen during the creation of the test, the image portion considered and / represents a pixel intensity. Each of structures F are thus allows the creation of a binary signature {fi j, f 2j, fo from a given image portion, preferably converted into grayscale. Each binary signature can then be represented by a value k j by concatenation of the component binary values and conversion to an integer.
La figure 1 , comprenant les figures 1 a à 1d, illustre le principe de classification basée sur l'utilisation de structures à ramifications multiples. La figure 1a représente une portion d'image comprenant, pour des raisons de clarté, 5x5 pixels. La figure b représente un ensemble de structures Fy, chaque structure comprenant un ensemble de tests binaires (TBy /) portant sur des valeurs de pixels (px,j), permettant d'obtenir des valeurs binaires qui, combinées, forment une signature binaire (VBj) à partir de laquelle peut être déterminé un index (kj) pouvant être représenté sous forme d'un nombre binaire ou réel. Ainsi, à titre d'illustration, la structure F1t dont le premier test binaire consiste à comparer les pixels pU: 1 et pVi 1 (f
Figure imgf000005_0002
permet d'obtenir ici la signature binaire VB-i={0, 1 , 0,0, 1 , 1 , 0, 1 ,0, 1} dont l'index correspondant est ki = 309.
Figure 1, including Figures 1a-1d, illustrates the classification principle based on the use of multi-branched structures. FIG. 1a represents an image portion comprising, for the sake of clarity, 5 × 5 pixels. FIG. B represents a set of structures Fy, each structure comprising a set of binary tests (TB y / ) relating to pixel values (p x, j), making it possible to obtain binary values which, combined, form a signature binary (VBj) from which can be determined an index (k j ) which can be represented as a binary or real number. Thus, by way of illustration, the structure F 1t whose first binary test consists in comparing the pixels p U: 1 and p Vi 1 (f
Figure imgf000005_0002
allows to obtain here the binary signature VB-i = {0, 1, 0,0, 1, 1, 0, 1, 0, 1} whose corresponding index is ki = 309.
Durant la phase d'apprentissage, un tableau est construit afin d'assigner des probabilités d'appartenance à des catégories, pour toutes les signatures représentatives de portions d'image comprenant les points d'intérêt considérés (une catégorie est ici associée à chaque point d'intérêt). Lors de cette phase d'apprentissage, un grand nombre de portions d'image sont synthétisées à partir d'images représentant les objets à reconnaître. Typiquement, une portion d'image est un bloc de 32x32 pixels situés autour d'un point d'intérêt. Si l'objet peut être considéré comme planaire, les vues sont synthétisées par transformation affine. Alternativement, si l'objet est de géométrie quelconque et si un modèle tridimensionnel texturé de l'objet est disponible, des vues sont synthétisées selon des techniques de rendu classique, par exemple en utilisant les technologies connues sous le nom d'OpenGL et de Direct3D. During the learning phase, a table is constructed in order to assign probabilities of belonging to categories, for all the signatures representative of image portions comprising the points of interest considered (a category is here associated with each point interest). During this learning phase, a large number of image portions are synthesized from images representing the objects to be recognized. Typically, an image portion is a block of 32x32 pixels located around a point of interest. If the object can be considered as planar, the views are synthesized by affine transformation. Alternatively, if the object is of any geometry and a textured three-dimensional model of the object is available, views are synthesized according to conventional rendering techniques, for example using technologies known as OpenGL and Direct3D .
A ces fins, des points d'intérêt sont détectés dans les images disponibles des objets à détecter en utilisant, par exemple, un détecteur de points d'intérêt connu sous le nom d'HARRIS, FAST ou MSER. Des portions d'image, telles que des blocs de 32x32 pixels, sont alors extraites autour des points d'intérêt identifiés. Plusieurs niveaux d'échelles des images utilisées peuvent être utilisés (une pyramide gaussienne d'images peut ainsi être construite avec, par exemple, un facteur deux entre les niveaux afin de permettre la classification de portions d'images avec des représentations très proches et très loin d'une caméra utilisée).  For these purposes, points of interest are detected in the available images of the objects to be detected using, for example, a points of interest detector known as HARRIS, FAST or MSER. Image portions, such as blocks of 32x32 pixels, are then extracted around the identified points of interest. Several levels of scales of the images used can be used (a Gaussian pyramid of images can thus be constructed with, for example, a factor of two between the levels in order to allow the classification of portions of images with very close and very similar representations. far from a camera used).
Les portions d'image extraites sont petites et peuvent être traitées avec des transformations homographiques. Une vue frontale de l'objet cible permet de générer un sous-ensemble de nouvelles vues affines. Une transformation affine peut être décomposée à l'aide de deux matrices de rotations paramétrées et d'une matrice d'échelle (l'échelle variant typiquement de 0,6 à 1 ,5).  The extracted image portions are small and can be processed with homographic transformations. A front view of the target object generates a subset of new affine views. An affine transformation can be decomposed using two parameterized rotation matrices and a scale matrix (the scale typically ranging from 0.6 to 1.5).
Ces portions d'image peuvent être lissées en utilisant un filtre gaussien (par exemple un filtre 5x5 ou 7x7) afin d'améliorer la robustesse vis-à- vis du bruit et/ou du flou pouvant être présent dans des images capturées. Il est également possible de simuler du bruit dans les portions d'image utilisées. These image portions may be smoothed using a Gaussian filter (e.g., a 5x5 or 7x7 filter) in order to improve the vis-vis the noise robustness and / or blurring may be present in the captured image. It is also possible to simulate noise in the image portions used.
Ainsi, il est possible d'obtenir, pour chaque point d'intérêt détecté, un ensemble de portions d'image correspondant à différentes vues possibles d'une partie d'un objet à identifier. Le nombre de portions d'image est, par exemple, pour chaque point d'intérêt, compris entre cinq mille et dix mille vues. Ces dernières sont utilisées pour construire un modèle de classification. Thus, it is possible to obtain, for each point of interest detected, a set of image portions corresponding to different possible views of a part of an object to be identified. The number of image portions is, for example, for each point of interest, between five thousand and ten thousand views. These are used to construct a classification model.
La phase d'apprentissage consiste à construire ce modèle de classification en utilisant les vues disponibles pour chaque point d'intérêt, c'est à dire pour chaque classe c,.  The learning phase consists of constructing this classification model using the views available for each point of interest, ie for each class c ,.
Elle vise notamment à estimer, pour chaque structure Fj, la distribution de la probabilité d'identification d'une classe. A ces fins, la signature binaire {/?/, f2 , fD } de chaque portion d'image associée à une classe c,, pour chaque structure Fy, est estimée. Cette signature est convertie en un nombre entier par concaténation des résultats de test binaire et conversion de la suite de bits ainsi formée en nombre réel. Ce nombre représente un indice kj (compris entre 0 et 2D-1) d'un tableau représentant la distribution de probabilité. Lorsque l'indice kj correspondant à une signature a été estimé, la valeur mémorisée dans le tableau, correspondant à cet index et à la catégorie à laquelle appartient la portion d'image considérée, est incrémentée de un. Lorsque toutes les vues de toutes les classes ont été traitées, ce tableau, de dimension 2DxN (N étant le nombre de classe à classifier) contient la distribution de probabilité pour chacune des classes c,. Pour chaque index kj, chacun des éléments de la colonne est normalisé afin que la somme de ces éléments soit égale à 1 . En d'autres termes, tous les éléments sont normalisés pour vérifier la relation suivante, k=\ It aims to estimate, for each structure F j, the distribution of the probability of identifying a class. For these purposes, the binary signature {/ ? /, f 2 , f D } of each image portion associated with a class c ,, for each structure Fy, is estimated. This signature is converted into an integer by concatenation of the binary test results and conversion of the bit sequence thus formed into a real number. This number represents an index k j (between 0 and 2 D -1) of a table representing the probability distribution. When the index k j corresponding to a signature has been estimated, the value stored in the table, corresponding to this index and to the category to which the considered image portion belongs, is incremented by one. When all the views of all the classes have been processed, this table, of dimension 2 D xN (N being the class number to be classified) contains the probability distribution for each of the classes c ,. For each index k j , each of the elements of the column is normalized so that the sum of these elements is equal to 1. In other words, all the elements are normalized to check the following relation, k = \
avec
Figure imgf000007_0001
with
Figure imgf000007_0001
où Pk c représente la probabilité que la signature correspondant à l'index k appartienne à la catégorie c, et P( y = k\C - c, ) est une fonction de vraisemblance construite ici à partir d'observations. kc where P represents the probability that the signature corresponding to the index k belongs to the category c, and P (y = k \ C - c) is a likelihood function constructed here from observations.
La figure 1 c illustre un tel tableau dans lequel chaque ligne correspond à une signature binaire représentée par un index kj et chaque colonne correspond à une catégorie prédéterminée c,. Chaque valeur mémorisée dans le tableau représente la probabilité que la portion d'image à partir de laquelle a été obtenue la signature représentée par l'index kj corresponde à la catégorie c,. Ainsi, en d'autres termes, la ligne ks représente la distribution de probabilités d'appartenance de la portion d'image à partir de laquelle a été obtenue la signature représentée par l'index kj. FIG. 1c illustrates such a table in which each line corresponds to a binary signature represented by an index k j and each column corresponds to a predetermined category c 1. Each value stored in the table represents the probability that the image portion from which the signature represented by the index kj has been obtained corresponds to the category c ,. Thus, in other words, the line k s represents the distribution of membership probabilities of the image portion from which the signature represented by the index k j has been obtained.
L'apprentissage est répété pour chacune des structures Fj ce qui conduit à 2DxNxJ valeurs de probabilités, représentant une occupation mémoire de 51 Ko (kilo-octets), si J=50 et D= 10, pour une classe c,. Ainsi, en considérant que deux cents classes sont enregistrées pour chaque objet, l'occupation mémoire est de 10,2 Mo (méga-octets) par objet. The learning is repeated for each of the structures Fj which leads to 2 D xNxJ probability values, representing a memory occupancy of 51 KB (kilobytes), if J = 50 and D = 10, for a class c ,. Thus, considering that two hundred classes are recorded for each object, the memory occupancy is 10.2 MB (megabytes) per object.
La phase de détection consiste, pour une portion d'image donnée, à identifier, le cas échéant, une classe c, en fonction des réponses binaires obtenues par les structures Fj. A ces fins, la même procédure que celle effectuée pendant la phase d'apprentissage est mise en œuvre. Elle vise l'obtention de portions d'images entourant des points d'intérêt préalablement détectés dans une image courante extraite d'un flux vidéo. Pour chaque portion d'image, J signatures binaires sont obtenues et converties en indexes kj référençant des valeurs dans les tableaux de distributions de probabilités déterminés durant la phase d'apprentissage. Ces valeurs, si elles sont préalablement converties en valeurs logarithmiques, peuvent alors être sommées pour obtenir la distribution des probabilités d'appartenance de la portion d'image traitée aux classes utilisées. The detection phase consists, for a given image portion, of identifying, if necessary, a class c, as a function of the binary responses obtained by the structures F j . For these purposes, the same procedure as that performed during the learning phase is implemented. It aims to obtain portions of images surrounding points of interest previously detected in a current image extracted from a video stream. For each image portion, J binary signatures are obtained and converted into indexes kj referencing values in the tables of probability distributions determined during the learning phase. These values, if they are previously converted into logarithmic values, can then be summed to obtain the distribution of the membership probabilities of the processed image portion to the classes used.
La figure 1 d illustre schématiquement le procédé de classification d'une portion d'image donnée notée Pl. Comme illustré, une première étape consiste à déterminer les signatures binaires VBj à partir de structures Fj prédéterminées. Des valeurs d'indexés kj sont alors obtenues à partir des signatures binaires VBj par concaténation et conversion des bits des signatures binaires. Les indexes kj sont ensuite utilisés pour trouver, dans les tableaux déterminés durant une phase d'apprentissage, des distributions de probabilités, notées DistProbj, d'appartenance de la portion d'image traitée aux classes utilisées. Ces distributions sont alors additionnées les unes aux autres pour obtenir une distribution moyenne (DistProbMoy) à partir de laquelle il est possible d'isoler une classe c, par exemple la classe correspondant à la valeur de probabilité, supérieure à un seuil prédéterminé, la plus élevée. FIG. 1 d schematically illustrates the method for classifying a given image portion denoted P1. As illustrated, a first step consists in determining the binary signatures VB j from predetermined structures Fj. Indexed values k j are then obtained from the binary signatures VB j by concatenation and conversion of the bits of the binary signatures. The indexes k j are then used to find, in the tables determined during a learning phase, probability distributions, denoted DistProb j , membership of the treated image portion classes used. These distributions are then added to each other to obtain an average distribution (DistProbMoy) from which it is possible to isolate a class c, for example the class corresponding to the probability value, greater than a predetermined threshold, the highest.
Les appariements trouvés entre les points de l'image courante et des points des images apprises, c'est-à-dire la classification des points d'intérêt utilisés, sont utilisés pour identifier un objet et estimer sa pose (position et orientation) dans le référentiel de la caméra utilisée à l'aide de techniques standard, par exemple de techniques de minimisation d'erreur de reprojection. Pairings found between the points of the current image and points learned images, that is to say the classification of points of interest used, are used to identify an object and estimate its pose (position and orientation) in the repository of the camera used using standard techniques, for example techniques for minimizing reprojection error.
Bien qu'un tel procédé de classification offre typiquement un taux de reconnaissance de l'ordre de 80%, il est préférable d'utiliser des techniques d'estimation robuste aux faux appariements qui peuvent apparaître lors de la phase de détection. Un algorithme de type RANSAC (acronyme de RAndom SAmple Consensus en terminologie anglo-saxonne) peut, par exemple, être utilisé pour réaliser une première estimation pour rejeter les faux appariements et estimer une première pose de l'objet dans l'image. Un procédé de minimisation d'erreur non linéaire de type Levenberg-Marquardt peut alors être utilisé pour affiner cette première estimation.  Although such a classification method typically offers a recognition rate of the order of 80%, it is preferable to use robust pseudo-matching estimation techniques that may appear during the detection phase. A RANSAC algorithm (acronym for RAndom SAmple Consensus in English terminology) can, for example, be used to make a first estimate to reject false matches and estimate a first pose of the object in the image. A Levenberg-Marquardt type nonlinear error minimization method can then be used to refine this first estimate.
Alors qu'un tel procédé donne des résultats satisfaisants pour un petit nombre d'objets, il nécessite des ressources mémoires particulièrement importantes, ne permettant pas, ou difficilement, sa mise en œuvre dans des appareils comprenant des ressources limitées tels que terminaux mobiles de communication, par exemple de type smartphones. En outre, ce procédé ne permet pas la détection d'un grand nombre d'objets, ce qui nécessite une mise à jour fréquente de la base de données d'objets utilisée en fonction du scénario mis en uvre.  While such a method gives satisfactory results for a small number of objects, it requires particularly important memory resources, making it difficult or difficult to implement it in devices comprising limited resources such as mobile communication terminals. , for example smartphone type. In addition, this method does not allow the detection of a large number of objects, which requires frequent updating of the object database used according to the scenario implemented.
L'invention permet de résoudre au moins un des problèmes exposés précédemment.  The invention solves at least one of the problems discussed above.
L'invention a ainsi pour objet un procédé d'identification en temps réel d'au moins une forme dont une représentation au moins partielle est présente dans une image, pour un dispositif de traitement d'informations, ce procédé comprenant les étapes suivantes, - détection d'au moins un point d'intérêt dans ladite image et extraction d'au moins une portion d'image de ladite image selon la position dudit au moins un point d'intérêt ; The invention thus relates to a method for real-time identification of at least one form of which at least a partial representation is present in an image, for an information processing device, this method comprising the following steps, detecting at least one point of interest in said image and extracting at least one image portion of said image according to the position of said at least one point of interest;
- détermination d'au moins une caractéristique de ladite au moins une portion d'image ;  determining at least one characteristic of said at least one image portion;
- génération d'au moins une signature selon ladite au moins une portion d'image et ladite au moins une caractéristique, ladite au moins une signature étant obtenue à partir d'au moins un modèle statistique préalablement déterminé ;  generating at least one signature according to said at least one image portion and said at least one characteristic, said at least one signature being obtained from at least one predetermined statistical model;
- identification d'au moins une signature dans une structure de classification comprenant une pluralité de signatures, chaque signature de ladite pluralité de signatures étant associée à une catégorie, ladite au moins une signature identifiée étant identifiée en fonction de ladite au moins une signature générée, et identification d'une catégorie associée à ladite au moins une signature identifiée, ladite au moins une forme étant identifiée selon ladite catégorie identifiée.  identifying at least one signature in a classification structure comprising a plurality of signatures, each signature of said plurality of signatures being associated with a category, said at least one identified signature being identified according to said at least one generated signature, and identifying a category associated with said at least one identified signature, said at least one form being identified according to said identified category.
Le procédé selon l'invention permet ainsi de reconnaître efficacement un nombre important de formes, par exemple plusieurs milliers, tout en limitant les ressources de mémorisation nécessaire au stockage de caractéristiques des formes à reconnaître. Le procédé selon l'invention permet en outre d'estimer une pose des formes identifiées permettant, notamment, de faciliter des étapes de suivi de formes dans des images suivantes.  The method according to the invention thus makes it possible to effectively recognize a large number of shapes, for example several thousand, while limiting the storage resources necessary for storing characteristics of the shapes to be recognized. The method according to the invention also makes it possible to estimate a pose of the identified forms making it possible, in particular, to facilitate follow-up steps of shapes in the following images.
Selon un mode de réalisation particulier, ledit au moins un modèle statistique est un modèle à ramifications multiples basé sur des structures utilisant des tests binaires aléatoires, ladite au moins une signature étant générée en fonction d'au moins un résultat à au moins un desdits tests binaires. Le procédé selon l'invention est ainsi simple à mettre en œuvre, efficace et ne requiert pas de ressources de calcul particulièrement importantes.  According to a particular embodiment, said at least one statistical model is a multi-branched model based on structures using random binary tests, said at least one signature being generated as a function of at least one result in at least one of said tests. binaries. The method according to the invention is thus simple to implement, efficient and does not require particularly important computing resources.
De façon avantageuse, ladite étape de détermination d'au moins une caractéristique de ladite au moins une portion d'image comprend une étape de détermination d'une direction principale de ladite au moins une portion d'image. Le procédé selon l'invention permet ainsi de réduire la quantité d'informations redondantes utilisées pour identifier des formes. Advantageously, said step of determining at least one characteristic of said at least one image portion comprises a step of determining a main direction of said at least one image portion. The method according to the invention thus makes it possible to reduce the amount of redundant information used to identify shapes.
Ledit au moins un test binaire dont ledit au moins un résultat est utilisé pour générer ladite au moins une signature est, de préférence, déterminé en fonction de ladite direction principale. Le procédé selon l'invention permet ainsi de réduire les traitements effectués sur les données utilisées pour identifier des formes en prédéterminant des opérations.  Said at least one binary test of which said at least one result is used to generate said at least one signature is preferably determined according to said main direction. The method according to the invention thus makes it possible to reduce the processing carried out on the data used to identify shapes by predetermining operations.
Toujours selon un mode de réalisation particulier, ladite étape de détermination d'au moins une caractéristique de ladite au moins une portion d'image comprend une étape de détermination d'un signe de ladite au moins une portion d'image, ledit signe étant déterminé selon une variation d'intensité dans ladite au moins une portion d'image. Le procédé selon l'invention permet ainsi d'optimiser la quantité d'informations utilisées pour identifier des formes ainsi que les traitements associés aux données utilisées pour identifier des formes. Ladite variation d'intensité est, de préférence, estimée selon ladite direction principale. Avantageusement, le procédé comprend en outre une étape de sélection dudit au moins un modèle statistique selon ledit signe.  Still according to a particular embodiment, said step of determining at least one characteristic of said at least one image portion comprises a step of determining a sign of said at least one image portion, said sign being determined according to a variation of intensity in said at least one image portion. The method of the invention thus optimizes the amount of information used to identify shapes as well as the processing associated with the data used to identify shapes. Said intensity variation is preferably estimated along said main direction. Advantageously, the method further comprises a step of selecting said at least one statistical model according to said sign.
Toujours selon un mode de réalisation particulier, ladite structure de classification est un arbre de classification de type kd-tree, spill-tree, kmean- tree ou vocabulary-tree.  Still according to a particular embodiment, said classification structure is a classification tree of kd-tree, spill-tree, kmean-tree or vocabulary-tree type.
Le procédé comprend en outre, de préférence, une étape de validation de ladite catégorie identifiée, ladite étape de validation comprenant une étape de comparaison d'une différence desdites au moins une signature identifiée et au moins une signature générée à un seuil prédéterminé afin d'améliorer les performances d'identification de formes et limiter les traitements sur les données utilisées pour identifier des formes.  The method furthermore preferably comprises a step of validating said identified category, said validation step comprising a step of comparing a difference of said at least one identified signature and at least one generated signature with a predetermined threshold in order to improve shape identification performance and limit processing on data used to identify shapes.
De façon avantageuse, le procédé comprend en outre une étape de validation de ladite catégorie identifiée, ladite étape de validation comprenant une étape de reprojection d'un modèle de ladite au moins une forme identifiée selon une pose estimée de ladite au moins une forme identifiée afin d'améliorer les performances d'identification de formes. L'invention a également pour objet un procédé de construction d'un modèle statistique pour l'identification en temps réel d'au moins une forme dont une représentation au moins partielle est présente dans une image, pour un dispositif de traitement d'informations, ce procédé comprenant les étapes suivantes, Advantageously, the method further comprises a step of validating said identified category, said validation step comprising a step of reprojecting a model of said at least one identified form according to an estimated pose of said at least one identified form so to improve the shape identification performance. The invention also relates to a method of constructing a statistical model for the real-time identification of at least one form of which at least a partial representation is present in an image, for an information processing device, this process comprising the following steps,
- sélection d'au moins une image et détection d'au moins un point d'intérêt dans ladite image sélectionnée et extraction d'au moins une portion d'image de ladite image sélectionnée selon la position dudit au moins un point d'intérêt ;  selecting at least one image and detecting at least one point of interest in said selected image and extracting at least one image portion of said selected image according to the position of said at least one point of interest;
- génération d'une pluralité de portions d'image par déformation de ladite au moins une portion d'image ;  generating a plurality of image portions by deformation of said at least one image portion;
- détermination d'au moins une caractéristique de ladite au moins une portion d'image et de chaque portion d'image de ladite pluralité de portions d'image ; et,  determining at least one characteristic of said at least one image portion and each image portion of said plurality of image portions; and,
- construction d'un modèle statistique associant des portions d'image, choisies parmi ladite au moins une portion d'image et ladite pluralité de portions d'image, à une classe associée audit au moins un point d'intérêt détecté selon des caractéristiques de ladite au moins une portion d'image et/ou de ladite pluralité de portions d'image.  constructing a statistical model associating image portions, chosen from said at least one image portion and said plurality of image portions, to a class associated with said at least one point of interest detected according to characteristics of said at least one image portion and / or said plurality of image portions.
Le procédé selon l'invention permet ainsi l'apprentissage de données permettant ultérieurement de reconnaître efficacement un nombre important de formes, par exemple plusieurs milliers, tout en limitant les ressources de mémorisation nécessaire au stockage de caractéristiques des formes à reconnaître. Le procédé selon l'invention permet en outre de simplifier et optimiser un possible apprentissage ultérieur en limitant le nombre d'étapes devant alors être effectuées.  The method according to the invention thus makes it possible to learn data which subsequently makes it possible to efficiently recognize a large number of forms, for example several thousand, while limiting the storage resources necessary for storing characteristics of the shapes to be recognized. The method according to the invention also makes it possible to simplify and optimize a possible subsequent learning by limiting the number of steps to be performed.
De façon avantageuse, ladite déformation est une déformation affine ou projective.  Advantageously, said deformation is an affine or projective deformation.
Selon un mode de réalisation particulier, ladite étape de détermination d'au moins une caractéristique de ladite au moins une portion d'image et de chaque portion d'image de ladite pluralité de portions d'image comprend une étape de détermination d'une direction principale de ladite au moins une portion d'image et de chaque portion d'image de ladite pluralité de portions d'image. Le procédé selon l'invention permet ainsi de réduire la quantité d'informations redondantes utilisées pour identifier des formes. According to a particular embodiment, said step of determining at least one characteristic of said at least one image portion and of each image portion of said plurality of image portions comprises a step of determining a direction principal of that at least a portion of the image and of each image portion of said plurality of image portions. The method according to the invention thus reduces the amount of redundant information used to identify forms.
Toujours selon un mode de réalisation particulier, ladite étape de détermination d'au moins une caractéristique de ladite au moins une portion d'image et de chaque portion d'image de ladite pluralité de portions d'image comprend une étape de détermination d'un signe de ladite au moins une portion d'image et de chaque portion d'image de ladite pluralité de portions d'image, ledit signe étant déterminé selon une variation d'intensité dans la portion d'image correspondante.  Still according to a particular embodiment, said step of determining at least one characteristic of said at least one image portion and each image portion of said plurality of image portions comprises a step of determining a sign of said at least one image portion and each image portion of said plurality of image portions, said sign being determined according to a variation of intensity in the corresponding image portion.
Le procédé selon l'invention permet ainsi d'optimiser la quantité d'informations utilisées pour identifier des formes ainsi que les traitements associés aux données utilisées pour identifier des formes. Ledit signe est, de préférence, déterminé selon une variation d'intensité liée à ladite direction principale.  The method of the invention thus optimizes the amount of information used to identify shapes as well as the processing associated with the data used to identify shapes. Said sign is preferably determined according to a variation of intensity related to said main direction.
Toujours selon un mode de réalisation particulier, le procédé comprend en outre une étape de modification dudit modèle statistique visant la suppression de données relatives à une classe similaire à une autre classe. Le procédé selon l'invention permet ainsi d'améliorer l'identification de formes tout en limitant la quantité de données nécessaire à celle-ci.  Still according to a particular embodiment, the method further comprises a step of modifying said statistical model aimed at deleting data relating to a class similar to another class. The method according to the invention thus makes it possible to improve the identification of shapes while limiting the amount of data necessary for it.
L'invention a aussi pour objet un procédé de construction d'une structure de classification comprenant une pluralité de signatures, chaque signature de ladite pluralité de signatures étant associée à une catégorie, pour l'identification en temps réel d'au moins une forme dont une représentation au moins partielle est présente dans une image, pour un dispositif de traitement d'informations, ce procédé comprenant les étapes suivantes,  The invention also relates to a method of constructing a classification structure comprising a plurality of signatures, each signature of said plurality of signatures being associated with a category, for the real-time identification of at least one form of which an at least partial representation is present in an image, for an information processing device, the method comprising the following steps,
- sélection d'au moins une image comprenant une représentation au moins partielle de ladite au moins une forme, détection d'au moins un point d'intérêt dans ladite au moins une image et extraction d'au moins une portion d'image de ladite au moins une image selon la position dudit au moins un point d'intérêt ; - détermination d'au moins une caractéristique de ladite au moins une portion d'image ; selecting at least one image comprising at least a partial representation of said at least one shape, detecting at least one point of interest in said at least one image and extracting at least one image portion from said at least one image according to the position of said at least one point of interest; determining at least one characteristic of said at least one image portion;
- génération d'au moins une signature selon ladite au moins une portion d'image et ladite au moins une caractéristique, ladite au moins une signature étant obtenue à partir d'au moins un modèle statistique préalablement déterminé ; - generation of at least one signature in accordance with said at least one image portion and said at least one feature, said at least one signature being obtained from at least one predetermined statistical model;
- création de ladite structure de classification à partir de ladite au moins une signature et d'une catégorie associée audit au moins un point d'intérêt et à ladite au moins une forme.  creating said classification structure from said at least one signature and a category associated with said at least one point of interest and said at least one form.
Le procédé selon l'invention autorise ainsi l'ajout de nouvelles formes à identifier à un système d'identification de formes, sans que la phase d'apprentissage initiale soit liée aux formes devant être ultérieurement identifiées.  The method according to the invention thus allows the addition of new forms to be identified to a pattern identification system, without the initial learning phase being linked to the shapes to be subsequently identified.
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 du procédé décrit précédemment. Les avantages liés à ce programme d'ordinateur et ce procédé sont similaires à ceux évoqués précédemment.  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 of the steps of the method described above. The benefits of this computer program and method are similar to those discussed above.
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 :  Other advantages, aims and features of the present invention will emerge from the detailed description which follows, given by way of non-limiting example, with reference to the accompanying drawings in which:
- la figure 1 , comprenant les figures 1 a à 1 d, illustre le principe de classification basée sur l'utilisation de structures à ramifications multiples ;  FIG. 1, comprising FIGS. 1a to 1d, illustrates the classification principle based on the use of structures with multiple branches;
- la figure 2 illustre des étapes générales d'un algorithme selon l'invention ;  FIG. 2 illustrates general steps of an algorithm according to the invention;
- la figure 3 illustre un exemple d'algorithme pour créer un générateur de signatures, conformément à l'invention ;  FIG. 3 illustrates an example of an algorithm for creating a signature generator, according to the invention;
- la figure 4, comprenant les figures 4a et 4b, illustre un calcul d'orientation de portions d'image ; - la figure 5 illustre un exemple d'algorithme d'apprentissage d'objets à identifier ; FIG. 4, comprising FIGS. 4a and 4b, illustrates an orientation calculation of image portions; - Figure 5 illustrates an example of a learning algorithm of objects to be identified;
- la figure 6 illustre un exemple d'algorithme d'identification d'objets, en temps réel, dans des images ;  FIG. 6 illustrates an example of an algorithm for identifying objects, in real time, in images;
- la figure 7 illustre schématiquement la classification d'une portion d'image donnée et associée à un point d'intérêt pour permettre l'identification d'objets, en temps réel, dans une image ; et, - Figure 7 schematically illustrates classification of an image data portion and associated with a point of interest to enable the identification of objects in real time, in an image; and,
- la figure 8 illustre un exemple de dispositif de traitement d'informations adapté à mettre en œuvre l'invention.  FIG. 8 illustrates an exemplary information processing device adapted to implement the invention.
De façon générale, l'invention permet l'identification de nombreux objets dans des images d'un flux vidéo, indépendamment de l'angle d'observation de ces objets, de leur échelle et indépendamment des paramètres internes du dispositif de capture d'images, dans un appareil disposant de ressources de calcul et de mémorisation limitées. A ces fins, des points d'intérêt sont identifiés dans les images traitées et les portions d'image situées autour de ces points sont analysées. Une première analyse a pour objet de caractériser une portion d'image en calculant une signature, selon une première base de données, tandis qu'une deuxième analyse vise à identifier la portion d'image correspondant à la signature obtenue, selon une seconde base de données.  In general, the invention allows the identification of many objects in images of a video stream, regardless of the angle of observation of these objects, their scale and independently of the internal parameters of the image capture device. , in an apparatus with limited computing and storage resources. For these purposes, points of interest are identified in the processed images and image portions around these points are analyzed. A first analysis aims to characterize an image portion by calculating a signature, according to a first database, while a second analysis aims to identify the image portion corresponding to the obtained signature, according to a second database. data.
La figure 2 illustre des étapes générales d'un algorithme selon l'invention.  Figure 2 illustrates general steps of an algorithm according to the invention.
Comme illustré, une première étape a ici pour objet la création d'un générateur de signatures (étape 200). Cette étape vise notamment à créer une base de données permettant, à partir de pixels d'une portion d'image, de calculer une signature pouvant être utilisée pour identifier la portion d'image correspondant à la signature obtenue. L'étape 200 est décrite plus en détail en référence à la figure 3.  As illustrated, a first step here relates to the creation of a signature generator (step 200). This step aims in particular to create a database allowing, from pixels of a portion of an image, to calculate a signature that can be used to identify the image portion corresponding to the signature obtained. Step 200 is described in more detail with reference to FIG.
Dans une étape suivante (étape 205), un apprentissage est réalisé à partir de représentations des objets à identifier. Cette étape vise notamment à établir des liens entre des signatures de portions d'image et des catégories utilisées pour identifier des objets. L'étape 205 est décrite plus en détail en référence à la figure 5. In a next step (step 205), an apprenticeship is made from representations of the objects to be identified. This step aims in particular to establish links between image portion signatures and categories. used to identify objects. Step 205 is described in more detail with reference to FIG.
Enfin, lorsqu'un générateur de signatures a été créé et qu'un apprentissage d'objets à identifier a été réalisé, il est possible d'identifier des représentations d'objets dans des images (étape 210). L'étape 210 est décrite plus en détail en référence à la figure 6.  Finally, when a signature generator has been created and object learning to be identified has been made, it is possible to identify representations of objects in images (step 210). Step 210 is described in more detail with reference to FIG.
En d'autres termes, une première phase, réalisée hors lignes, consiste essentiellement en la création d'un outil de génération de signatures à partir de portions d'image. La création de ce générateur de signatures est, de préférence, indépendante des objets à reconnaître ultérieurement. Ainsi, un générateur de signatures est générique et peut être utilisé pour reconnaître un grand nombre d'objets ainsi que pour permettre la reconnaissance d'objets non encore identifiés. Une seconde phase, également hors ligne, consiste essentiellement en l'apprentissage d'objets à identifier. Cette phase est répétée, au moins partiellement, chaque fois que de nouveaux objets doivent être identifiés. Enfin, la troisième phase, en ligne, vise le traitement d'images pour caractériser des points d'intérêt et identifier des objets.  In other words, a first phase, performed offline, essentially consists in the creation of a tool for generating signatures from image portions. The creation of this signature generator is preferably independent of the objects to be recognized later. Thus, a signature generator is generic and can be used to recognize a large number of objects as well as to allow recognition of objects not yet identified. A second phase, also offline, consists essentially of learning objects to be identified. This phase is repeated, at least partially, whenever new objects need to be identified. Finally, the third phase, online, aims at image processing to characterize points of interest and identify objects.
La signature d'une portion d'image est ici déterminée selon un algorithme de classification à ramifications multiples tel que décrit précédemment, notamment en référence à la figure 1 . Cependant, alors que les classes utilisées dans un algorithme de classification à ramifications multiples visent typiquement à identifier des points d'intérêt particuliers d'objets à identifier, c'est-à-dire des catégories, les classes utilisées ici sont quelconques, différentes les unes des autres, et ont pour objet la création de signatures distinctives.  The signature of an image portion is here determined according to a classification algorithm with multiple branches as described above, in particular with reference to FIG. 1. However, while the classes used in a multi-branching classification algorithm typically aim to identify particular points of interest of objects to be identified, ie categories, the classes used here are arbitrary, different from each other. each other, and aim at the creation of distinctive signatures.
La figure 3 illustre un exemple d'algorithme pour créer un générateur de signatures, conformément à l'invention.  Figure 3 illustrates an example algorithm for creating a signature generator, according to the invention.
Comme indiqué précédemment, le générateur de signatures est ici créé à partir d'un ensemble d'images 300. Ces dernières sont choisies, par exemple, de façon aléatoire. Cependant, si le contenu des images utilisées ici est sans intérêt, ces images doivent néanmoins comprendre des points d'intérêt tels que ceux susceptibles de caractériser un objet à identifier. Les images utilisées pour créer le générateur de signatures sont donc typiquement des images représentant des objets quelconques. As indicated above, the signature generator is here created from a set of images 300. The latter are chosen, for example, randomly. However, if the content of the images used here is of no interest, these images must nevertheless include points of interest such as those likely to characterize an object to be identified. Images used to create the signature generator are thus typically images representing any objects.
Une première étape a pour objet de détecter des points d'intérêt (étape 305). Les points d'intérêt sont par exemple détectés avec un algorithme standard, par exemple un algorithme connu sous le nom de HARRIS ou FAST. Une portion d'image est alors extraite autour de chaque point d'intérêt détecté, par exemple une portion de 32x32 pixels approximativement centrée sur le point d'intérêt considéré.  A first step is to detect points of interest (step 305). The points of interest are for example detected with a standard algorithm, for example an algorithm known as HARRIS or FAST. An image portion is then extracted around each detected point of interest, for example a portion of 32x32 pixels approximately centered on the point of interest considered.
Le nombre de points d'intérêt détectés sur l'ensemble des images, par exemple 500, doit être supérieur à la longueur des signatures devant être générées. Par ailleurs, les points d'intérêt sont, de préférence, choisis de telle sorte à ne pas se trouver en bordure d'images pour éviter d'éventuels effets de bords, notamment si une opération de reprojection est mise en œuvre.  The number of points of interest detected on all the images, for example 500, must be greater than the length of the signatures to be generated. Furthermore, the points of interest are preferably chosen so as not to be at the edges of images to avoid possible edge effects, especially if a reprojection operation is implemented.
Il est observé ici que l'algorithme décrit en référence à la figure 3 peut être implémenté de différentes façons. En effet, il est possible de détecter tous les points d'intérêt de toutes les images, puis d'extraire des portions d'image pour chaque point d'intérêt de chaque image et de traiter chacune de ces portions d'image. Il est également possible de sélectionner une première image, de détecter un premier point d'intérêt, puis d'extraire une portion d'image et de traiter cette portion d'image avant de détecter un nouveau point d'intérêt de cette même image et de répéter les étapes précédentes puis de recommencer sur une image suivante. Cependant, quelque soit l'enchaînement des étapes, ces dernières sont similaires. Par conséquent, dans un souci de clarté, toutes les variantes de réalisation ne sont pas décrites ici, seul le traitement d'une portion d'image associé à un point d'intérêt d'une image est décrit ci-après. La même remarque s'applique aux autres algorithmes décrits ci- après.  It is observed here that the algorithm described with reference to FIG. 3 can be implemented in different ways. Indeed, it is possible to detect all the points of interest of all the images, then to extract image portions for each point of interest of each image and to process each of these image portions. It is also possible to select a first image, to detect a first point of interest, then to extract an image portion and to process this image portion before detecting a new point of interest of this same image and repeat the previous steps and then start over on a next image. However, whatever the sequence of steps, the latter are similar. Therefore, for the sake of clarity, all embodiments are not described here, only the processing of an image portion associated with a point of interest of an image is described below. The same applies to the other algorithms described below.
Dans une étape suivante, un ensemble de portions d'image est généré à partir de la portion d'image considérée (étape 310) par rotation, changement d'échelle, bruitage, etc.. Ces portions d'image sont avantageusement des vues projectives car des vues affines représentent mal ce qui peut être perçu dans les images extraites d'un flux vidéo issu d'une caméra. En effet, les portions d'image utilisées ici peuvent être assez grandes, par exemple 32x32 pixels, et les déformations projectives modifient l'apparence d'un objet visible dans un plan image. C'est particulièrement le cas pour des portions d'images correspondant à des points d'intérêt détectés sur des niveaux d'échelle bas car ils contiennent un grand nombre de pixels par rapport à la taille totale de l'image de l'objet. In a following step, a set of image portions is generated from the image portion considered (step 310) by rotation, scaling, sound effects, etc. These image portions are advantageously projective views. because affine views badly represent what can be perceived in the images extracted from a video stream from a camera. In fact, the image portions used here can be quite large, for example 32 × 32 pixels, and the projective deformations modify the appearance of a visible object in an image plane. This is especially the case for the portions of images corresponding to points of interest detected on low scale levels because they contain a large number of pixels with respect to the total size of the image of the object.
Il est donc préférable de prendre en compte ces déformations ainsi que les variations potentielles des ouvertures des caméras courantes. A ces fins, un modèle simplifié, ne prenant pas en compte les aspects de distorsions radiale et tangentielle ni les variations possibles des coordonnées du centre optique est, de préférence, utilisé. Ainsi, seule la valeur d'ouverture, à travers le paramètre de focal f, et la pose de l'objet sont ici pris en compte.  It is therefore preferable to take into account these deformations as well as the potential variations of the openings of the current cameras. For these purposes, a simplified model, which does not take into account the aspects of radial and tangential distortions nor the possible variations of the coordinates of the optical center, is preferably used. Thus, only the opening value, through the focal parameter f, and the pose of the object are here taken into account.
Les paramètres utilisés pour obtenir des portions d'image à partir d'une portion d'image extraite autour d'un point d'intérêt sont donc la focale f, la distance Z entre l'objet et la caméra et les rotations autour de l'axe des abscisses (Θ), des ordonnées (φ) et l'axe du capteur d'images (φ). La transformation projective P peut alors être définie par la relation standard suivante,  The parameters used to obtain image portions from an image portion extracted around a point of interest are therefore the focal length f, the distance Z between the object and the camera and the rotations around the image. x-axis (Θ), ordinates (φ) and the axis of the image sensor (φ). The projective transformation P can then be defined by the following standard relation,
P = K. T  P = K. T
où K représente la matrice contenant les paramètres intrinsèques de la caméra et T la matrice homogène correspondant à la transformation géométrique définie par la position et l'orientation de l'objet.  where K represents the matrix containing the intrinsic parameters of the camera and T the homogeneous matrix corresponding to the geometric transformation defined by the position and orientation of the object.
A titre d'illustration, il est possible de faire varier aléatoirement les angles 6> et φ dans la plage [-JT, +π], l'angle ^ dans la plage [0, 2π], la distance Z dans la plage [0.7xZ, 1.5xZ\ et la focale dans la plage [800, 1000] (exprimée en pixels relativement à une résolution de 640x480, pour des caméras standard).  As an illustration, it is possible to randomly vary angles 6> and φ in the range [-JT, + π], angle dans in the range [0, 2π], distance Z in the range [ 0.7xZ, 1.5xZ \ and the focal length in the range [800, 1000] (expressed in pixels relative to a resolution of 640x480, for standard cameras).
Les portions d'images créées à partir de ce modèle sont ensuite avantageusement lissées en utilisant, par exemple, un filtre gaussien tel qu'un filtre 5x5 ou 7x7 pour améliorer la robustesse au bruit et/ou au flou. En outre, du bruit peut être ajouté à ces portions d'image en utilisant une simulation du bruit pour améliorer la robustesse. L'ensemble obtenu de portions d'images, de préférence lissées et légèrement bruitées, correspond aux différentes vues possibles du point d'intérêt considéré. Il est souhaitable de générer un grand nombre de portions d'image pour chaque point d'intérêt, par exemple 5,000 ou 10,000 portions d'image. The image portions created from this model are then advantageously smoothed using, for example, a Gaussian filter such as a 5x5 or 7x7 filter to improve robustness to noise and / or blur. In addition, noise can be added to these image portions by using noise simulation to improve robustness. The resulting set of image portions, preferably smoothed and slightly noisy, corresponds to different possible views of the point of interest. It is desirable to generate a large number of image portions for each point of interest, for example 5,000 or 10,000 image portions.
Après avoir déterminé un ensemble de portions d'image pour chaque point d'intérêt, une orientation, ou direction principale, liée à l'axe du capteur d'images (typiquement l'axe de la caméra), c'est-à-dire à l'angle φ, est déterminée pour chaque portion d'image (étape 315). La détermination d'une direction principale pour chaque portion d'image permet une normalisation de ces portions d'image et, par conséquent, de réduire la variabilité des portions d'image, ce qui conduit à une réduction de la quantité de mémoire nécessaire à la mémorisation de données de référence. Il est d'ores et déjà observé qu'une telle normalisation est effectuée durant la phase hors ligne, pour créer le générateur de signatures et pour l'apprentissage des objets à identifier, ainsi que durant la phase en ligne pour identifier des objets.  After determining a set of image portions for each point of interest, an orientation, or principal direction, related to the axis of the image sensor (typically the axis of the camera), i.e. say at angle φ, is determined for each image portion (step 315). Determining a principal direction for each image portion allows normalization of these image portions and, therefore, reducing the variability of the image portions, which leads to a reduction in the amount of memory necessary for storing reference data. It has already been observed that such normalization is performed during the offline phase, to create the signature generator and for the learning of the objects to be identified, as well as during the online phase to identify objects.
Dans un article intitulé « Multiple Target Localization At Over 100 FPS », les auteurs, Taylor et Drummond, proposent une approche efficace et robuste pour trouver une orientation d'une portion d'image relative à un point d'intérêt dans un plan image. Un ensemble de seize pixels échantillonnés sur un cercle autour de la position d'un point d'intérêt est utilisé pour calculer des gradients, sous forme de vecteurs, entre des pixels opposés. L'orientation de la portion d'image du point d'intérêt est alors définie comme étant la somme de ces vecteurs de gradient.  In an article titled "Multiple Target Localization At Over 100 FPS", the authors, Taylor and Drummond, propose an efficient and robust approach to finding an orientation of an image portion relative to a point of interest in an image plane. A set of sixteen pixels sampled on a circle around the position of a point of interest is used to calculate gradients, as vectors, between opposing pixels. The orientation of the image portion of the point of interest is then defined as the sum of these gradient vectors.
La figure 4a illustre un tel calcul d'orientation de portions d'image. Comme illustré, seize points sont déterminés sur un cercle autour d'un point d'intérêt (placé au centre de la figure). La comparaison des intensités de ces seize pixels, pris deux par deux, à l'opposé l'un de l'autre, permet de déterminer des vecteurs de gradient (ici huit vecteurs représentés par les flèches en trait pointillé). La somme de ces vecteurs permet ensuite de calculer un vecteur d'orientation (représentée par la flèche en trait continu) de la portion d'image associée au point d'intérêt central. De façon avantageuse et afin d'améliorer la stabilité du procédé de calcul de l'orientation face aux variations d'échelle et des autres paramètres d'orientation, la portion d'image de taille PxP est ré-échantillonnée bilinéairement en une portion d'image de taille P/2xP/2 avant que le calcul décrit précédemment ne soit appliqué. FIG. 4a illustrates such an image portion orientation calculation. As illustrated, sixteen points are determined on a circle around a point of interest (placed in the center of the figure). The comparison of the intensities of these sixteen pixels, taken two by two, opposite each other, makes it possible to determine gradient vectors (here eight vectors represented by the arrows in dotted line). The sum of these vectors then makes it possible to calculate an orientation vector (represented by the solid line arrow) of the image portion associated with the central point of interest. Advantageously and in order to improve the stability of the method for calculating the orientation with respect to the variations of scale and the other orientation parameters, the image portion of size PxP is resampled bilinearly into a portion of image size P / 2xP / 2 before the calculation described above is applied.
Alors que l'orientation ainsi calculée peut être utilisée pour rééchantillonner les pixels de la portion d'image considérée selon l'orientation calculée, elle est, de préférence, utilisée pour créer ou sélectionner un jeu de tests binaires.  While the orientation thus calculated can be used to resample the pixels of the considered image portion according to the calculated orientation, it is preferably used to create or select a set of binary tests.
Les orientations possibles sont échantillonnées sur des valeurs comprises, par exemple, entre 0 et 31. Cette discrétisation permet de précalculer chacun des tests binaires de la structure à ramifications multiples utilisée et de les stocker en mémoire. Il est ainsi possible d'utiliser une orientation associée à une portion d'image sans coût de calcul supplémentaire.  The possible orientations are sampled on values included, for example, between 0 and 31. This discretization makes it possible to precompute each of the binary tests of the multi-branched structure used and to store them in memory. It is thus possible to use an orientation associated with an image portion without additional calculation cost.
Le calcul de l'orientation permet de réduire l'espace des orientations à deux orientations, celles autour des deux axes perpendiculaires à l'axe optique, soit les axes des abscisses et des ordonnées, c'est-à-dire celles qui font varier de façon moins importante l'apparence de la portion d'image considérée. The calculation of the orientation makes it possible to reduce the space of the orientations with two orientations, those around the two axes perpendicular to the optical axis, or the axes of the abscissae and the ordinates, that is to say those which vary to a lesser extent the appearance of the relevant image portion.
Dans une étape suivante, un signe de portion d'image est avantageusement déterminé (étape 320). En effet, il a été observé que les portions d'image traitées autour d'un point d'intérêt présentent une caractéristique importante liée à la variation locale d'intensité entre des pixels centraux et des pixels périphériques. Cette variation est plus forte entre les pixels centraux et les pixels périphériques dans la direction donnée par l'orientation de la portion d'image considérée, telle que décrite précédemment. Il est ainsi possible de distinguer deux types de points d'intérêt, selon que la variation d'intensité est positive ou négative. In a next step, an image portion sign is advantageously determined (step 320). Indeed, it has been observed that the image portions processed around a point of interest have an important characteristic related to the local variation of intensity between central pixels and peripheral pixels. This variation is stronger between the central pixels and the peripheral pixels in the direction given by the orientation of the image portion in question, as described above. It is thus possible to distinguish two types of points of interest, depending on whether the intensity variation is positive or negative.
Il est ici admis que le signe positif est donné à un point d'intérêt lorsque l'intensité du centre de la portion d'image est inférieure à celle des pixels de la périphérie dans la direction principale. Dans le cas contraire, le signe est négatif. Bien entendu, une convention contraire peut être utilisée. Dans la pratique, lorsque des points dits de HARRIS sont utilisés, le signe peut être déterminé en comparant la moyenne des intensités sur les pixels centraux (par exemple les 9x9 pixels centraux) et la moyenne sur les pixels de la périphérie dans la direction principale. It is here assumed that the positive sign is given to a point of interest when the intensity of the center of the image portion is smaller than the pixels of the periphery in the main direction. Otherwise, the sign is negative. Of course, a contrary convention can be used. In practice, when so-called points of HARRIS are used, the sign can be determined by comparing the average of the intensities on the central pixels (for example the 9x9 central pixels) and the average on the pixels of the periphery in the main direction.
Lorsque des points d'intérêt de type FAST sont utilisés, le signe peut être donné directement par construction car les points FAST sont détectés par une différence importante d'intensité entre le pixel central de la portion d'image et les pixels sur un cercle autour du pixel central. En effet, dans le procédé FAST, un cercle de Bresenham, par exemple de périmètre 16 pixels, est construit autour de chaque pixel de l'image. Si k pixels contigus (k a typiquement une valeur égale à 9, 10, 1 1 ou 12) contenus dans ce cercle sont soit tous d'intensité plus grande que le pixel central, soit tous d'intensité plus faible que le pixel central, alors le pixel central est considéré comme un point d'intérêt. Il suffit alors de comparer l'intensité du pixel central avec l'intensité des pixels contigus.  When FAST points of interest are used, the sign can be given directly by construction because the FAST points are detected by a significant difference in intensity between the central pixel of the image portion and the pixels on a circle around of the central pixel. Indeed, in the FAST process, a Bresenham circle, for example 16-pixel perimeter, is built around each pixel of the image. If k contiguous pixels (ka typically a value equal to 9, 10, 1 1 or 12) contained in this circle are either all of intensity greater than the central pixel, or all of intensity lower than the central pixel, then the central pixel is considered a point of interest. It is then sufficient to compare the intensity of the central pixel with the intensity of the contiguous pixels.
Une première utilisation de ce principe de points d'intérêt signés concerne une étape finale de comparaison d'une signature obtenue avec des signatures de référence. Dans ce cas, les signatures de chacun des points d'intérêt à reconnaître sont classées en deux groupes : le groupe des points négatifs et le groupe des points positifs. Cela a pour conséquence de diviser par deux le temps de traitement de la phase de comparaison et de permettre de réduire la taille des structures utilisées.  A first use of this principle of signed points of interest relates to a final step of comparing a signature obtained with reference signatures. In this case, the signatures of each of the points of interest to be recognized are classified into two groups: the group of negative points and the group of positive points. This has the effect of dividing by two the processing time of the comparison phase and to reduce the size of the structures used.
Une seconde utilisation, qui peut être combinée avec la première, consiste à modifier la structure de la base de données utilisée pour générer des signatures. Ainsi, les N classes utilisées pour la construction du générateur de signatures sont séparées en deux groupes ayant, de préférence des tailles équivalentes (Λ//2). En fonction du signe de la portion d'image considérée, l'une ou l'autre des bases de données est utilisée. La signature générée a donc une taille égale à Λ//2, ce qui conduit à une occupation mémoire optimisée et un temps de calcul deux fois plus rapide, avec une robustesse équivalente.  A second use, which can be combined with the first, is to modify the structure of the database used to generate signatures. Thus, the N classes used for the construction of the signature generator are separated into two groups having, preferably, equivalent sizes (Λ // 2). Depending on the sign of the image portion considered, one or the other of the databases is used. The generated signature therefore has a size equal to Λ // 2, which leads to an optimized memory occupancy and a computing time twice as fast, with equivalent robustness.
Un tableau de distribution de probabilité est alors construit pour chaque structure Fs de la structure à ramifications multiples utilisée (étape 325). A ces fins, si les tests binaires des structures F, n'ont pas été définis, ils le sont, de préférence de façon aléatoire. En d'autres termes, pour chaque structure Fy, un ensemble de tests binaires est créé. Une orientation, prédéterminée ou définie de façon aléatoire, est associée à chaque test de cet ensemble de test. Des ensembles de tests correspondant sont alors créés pour chaque orientation possible (les orientations étant considérées selon le centre des portions d'image), selon les valeurs d'orientations possibles, c'est-à-dire selon les valeurs échantillonnées comprises entre 0 et Q- 1 (chaque orientation dq est alors définie par dq=qx2n Q, q étant l'indice d'orientation compris entre 0 et Q-1). Ainsi, par exemple, si un test f, consiste à comparer un pixel pu et un pixel pv, il est considéré que ce test est associé à la direction do et il est alors nécessaire, pour ce test, de créer Q-1 tests, c'est-à-dire des tests fi associés aux directions dq (q variant de 7 à Q-1). Ainsi, par exemple, un test f, est créé pour comparer les pixels p'u et p'v selon une orientation dq la position des pixels p'u et p'v correspondant à la position des pixels pu et pv, respectivement, après une rotation de dq-d0. La figure 4b illustre un tel exemple selon lequel la rotation de do à dq est égale à π/2, c'est-à-dire selon lequel q'=Q/4, Q étant ici un multiple de 4. A probability distribution table is then constructed for each structure F s of the multi-branched structure used (step 325). For these purposes, if the binary tests of the F structures have not been defined, they are, preferably randomly. In other words, for each structure Fy, a set of binary tests is created. An orientation, predetermined or randomly defined, is associated with each test of this test set. Corresponding sets of tests are then created for each possible orientation (the orientations being considered according to the center of the image portions), according to the possible orientation values, that is to say according to the sampled values between 0 and Q-1 (each orientation d q is then defined by d q = qx2n Q, where q is the orientation index between 0 and Q-1). Thus, for example, if a test f, consists in comparing a pixel p u and a pixel p v , it is considered that this test is associated with the direction do and it is then necessary, for this test, to create Q-1 tests, i.e. tests fi associated with directions d q (q ranging from 7 to Q-1). Thus, for example, a test f is created to compare the pixels p ' u and p' v in an orientation d q the position of the pixels p'u and p ' v corresponding to the position of the pixels p u and p v , respectively, after a rotation of d q -d 0 . FIG. 4b illustrates such an example that the rotation from do to d q is equal to π / 2, that is to say that q '= Q / 4, Q being here a multiple of 4.
Ainsi, pour chaque structure F,, il existe un tableau de distribution de probabilité d'appartenance à une classe, la structure définissant un ensemble de tests binaires pour un ensemble de directions. Les classes sont, par exemple, des valeurs aléatoires et différentes associées à chaque point d'intérêt considéré dans cette première phase hors ligne.  Thus, for each structure F ,, there exists a distribution table of probability of belonging to a class, the structure defining a set of binary tests for a set of directions. The classes are, for example, random and different values associated with each point of interest considered in this first off-line phase.
Lorsqu'une portion d'image est traitée, sa direction principale est déterminée ainsi que, le cas échéant, son signe.  When an image portion is processed, its main direction is determined as well as, if appropriate, its sign.
Un ensemble de valeurs binaires est alors calculé, pour chaque structure Fh selon les tests binaires associés à la direction principale préalablement déterminée. Les résultats de tests sont alors utilisés pour déterminer un index kj comme décrit précédemment en référence à la figure 1. II est observé ici que l'index kj est calculé selon les résultats de tests binaires associés à une direction prédéterminée, par exemple la direction 0. La valeur correspondant à cet index (initialisée à zéro lors de la création du tableau correspondant de distribution de probabilités) est alors incrémentée de un dans le tableau correspondant de distribution de probabilités. Comme indiqué précédemment, le tableau utilisé ici est le tableau associé à la structure considérée et. si un signe de portion d'image est utilisé, correspondant au signe de la portion d'image considérée. A set of binary values is then calculated for each structure F h according to the binary tests associated with the principal direction previously determined. The test results are then used to determine an index k j as described above with reference to FIG. 1. It is observed here that the index k j is calculated according to the results of binary tests associated with a predetermined direction, for example the direction 0. The value corresponding to this index (initialized to zero when the table is created corresponding probability distribution) is then incremented by one in the corresponding distribution table of probabilities. As indicated above, the table used here is the table associated with the considered structure and. if a portion of image sign is used, corresponding to the sign of the image portion considered.
Toutes les portions d'image des points d'intérêt considérés sont ainsi traitées. Après un tel traitement, les tableaux de distribution de probabilités sont normalisés un par un tel que la somme des éléments de chaque colonne soit égale à 1 comme indiqué précédemment.  All image portions of the points of interest considered are thus processed. After such processing, the probability distribution tables are normalized one by one such that the sum of the elements of each column is equal to 1 as indicated above.
Les tableaux de distribution de probabilités sont ici mémorisés dans la base de données 330 qui est elle-même de préférence stockée dans une mémoire non volatile.  The probability distribution tables are here stored in the database 330 which is itself preferably stored in a non-volatile memory.
Dans une étape suivante (étape 335), les tableaux de distribution de probabilités sont analysés pour supprimer des données considérées comme inutiles, par exemple des données redondantes telles que des données associées à des classes similaires.  In a next step (step 335), the probability distribution tables are analyzed to delete data deemed unnecessary, for example redundant data such as data associated with similar classes.
Durant cette étape, chacune des M classes construites (où M est, par exemple, déterminé par un utilisateur). M étant supérieur à /V, est testée afin de supprimer, parmi ces classes, celles qui sont le plus similaires.  During this step, each of the M classes built (where M is, for example, determined by a user). M being greater than / V, is tested to remove, among these classes, those that are most similar.
A ces fins, il est possible de générer, pour chaque classe, un nouvel ensemble de portions d'image (projectives ou affines). Ces portions d'image sont alors testées pour identifier leur classe d'appartenance (comme décrit en référence à la figure 1 ), en générant une signature et en recherchant dans cette signature la classe qui a la réponse la plus discriminante. Les classes qui présentent le plus d'erreur sont considérées comme similaires à une ou plusieurs autres classes existantes. Ces classes similaires sont alors supprimées, une par une, en appliquant, optionnellement, la contrainte qui consiste à conserver autant de données relatives à des points d'intérêt de signe positif que de données relatives à des points d'intérêt de signe négatif. For these purposes, it is possible to generate, for each class, a new set of image portions (projective or affine). These image portions are then tested to identify their membership class (as described with reference to Figure 1), generating a signature and looking in this signature for the class that has the most discriminating response. The classes with the most errors are considered to be similar to one or more other existing classes. These similar classes are deleted one by one, applying optionally the stress is to keep as many data points to positive signs of interest data on the negative sign for points of interest.
Les tableaux de distribution de probabilités ainsi déterminés peuvent être utilisés pour générer des signatures caractérisant une portion d'image. De telles signatures sont ici constituées par les distributions cumulées de probabilités associées à des résultats de tests binaires liés à des structures F,. Ainsi, à titre d'illustration, une portion d'image permet d'obtenir, à partir d'un ensemble de structures F, auxquelles sont associés des tests binaires f un ensemble de valeurs binaires VBj qui correspondent à un ensemble d'index ks. Ces indexes kj permettent chacun de déterminer une distribution de probabilités. Les distributions de probabilités ainsi obtenues sont alors combinées, par exemple par cumul, pour déterminer une signature. The probability distribution tables thus determined can be used to generate signatures characterizing a portion of an image. Such signatures are here constituted by the cumulative distributions of probabilities associated with binary test results related to F, structures. Thus, by way of illustration, an image portion makes it possible to obtain, from a set of structures F, associated with binary tests f a set of binary values VB j which correspond to a set of indexes. k s . These indexes k j each allow to determine a distribution of probabilities. The probability distributions thus obtained are then combined, for example by cumulation, to determine a signature.
Il est observé que de telles signatures caractérisent le degré de similarité d'une portion d'image à un ensemble de classe. Par conséquent, elles sont invariantes en orientation, en échelle et en focale et, plus généralement, en fonction des caractéristiques de déformation affine et projective.  It is observed that such signatures characterize the degree of similarity of an image portion to a class set. Consequently, they are invariant in orientation, in scale and in focal length and, more generally, according to the characteristics of affine and projective deformation.
Par conséquent, l'utilisation d'un tel générateur de signatures permet des gains conséquents en termes d'occupation mémoire. En effet, il n'est plus nécessaire de mémoriser 2DxJ valeurs pour chaque point d'intérêt, ce qui représente environ 00 Mo pour, par exemple, deux mille points d'intérêt (avec J=50 et D=10). La construction du générateur de signatures nécessite une mémoire capable de stocker 2DxJ octets soit entre 5Mo et 15Mo pour mémoriser entre 100 et 300 points d'intérêt. Il est observé que si ce générateur à un coût, notamment en terme d'occupation mémoire et de traitement, il permet de réduire le coût de stockage, variable, associé aux représentations des objets devant être reconnus. Therefore, the use of such a signature generator allows significant gains in terms of memory occupancy. Indeed, it is no longer necessary to memorize 2 D xJ values for each point of interest, which represents approximately 00 MB for, for example, two thousand points of interest (with J = 50 and D = 10). The construction of the signature generator requires a memory capable of storing 2 D xJ bytes, ie between 5Mo and 15Mo to memorize between 100 and 300 points of interest. It is observed that if this generator has a cost, especially in terms of memory occupancy and processing, it reduces the storage cost, variable, associated with the representations of objects to be recognized.
En outre, il n'est pas nécessaire de modifier le générateur de signatures pour apprendre à identifier de nouveaux objets.  In addition, you do not need to modify the signature generator to learn how to identify new objects.
La figure 5 illustre un exemple d'algorithme d'apprentissage d'objets à identifier. Comme indiqué précédemment cette seconde phase est réalisée hors ligne. Elle doit être répétée chaque fois qu'un nouvel objet doit être identifié.  FIG. 5 illustrates an exemplary object learning algorithm to be identified. As previously stated this second phase is performed offline. It must be repeated each time a new object has to be identified.
L'apprentissage est ici réalisé à partir d'un ensemble d'images 500 représentant, au moins partiellement, un ou plusieurs objets à identifier. Learning is here made from a set of images 500 representing, at least partially, one or more objects to be identified.
Une première étape a pour objet de détecter des points d'intérêt A first step is to detect points of interest
(étape 505). Comme en ce qui concerne l'étape 305. décrite en référence à la figure 3, les points d'intérêt sont, par exemple, détectés avec un algorithme standard, par exemple un algorithme connu sous le nom de HARRIS ou FAST. (step 505). As with step 305. described with reference to the 3, the points of interest are, for example, detected with a standard algorithm, for example an algorithm known as HARRIS or FAST.
Une telle détection peut être réalisée à différents niveaux d'échelle d'une pyramide gaussienne construite à partir de l'image initiale afin d'améliorer la reconnaissance des objets considérés à différentes distances. Typiquement, deux cents points d'intérêt sont détectés par objet, uniformément répartis sur les images de deux ou trois niveaux d'échelle. Such detection can be performed at different levels of scale of a Gaussian pyramid built from the initial image to improve recognition of objects seen at different distances. Typically, two hundred points of interest are detected per object, evenly distributed over images of two or three scale levels.
Une portion d'image est à nouveau extraite autour de chaque point d'intérêt détecté, par exemple un bloc de 32x32 pixels, approximativement centré sur le point d'intérêt considéré. An image portion is extracted again around each detected point of interest, e.g., a block of 32x32 pixels, approximately centered on the item of interest.
Après avoir extrait les portions d'image de chaque point d'intérêt détecté, dans la limite du nombre de points d'intérêt requis, une direction principale, liée à l'axe du capteur d'images (typiquement l'axe de la caméra), c'est-à-dire à l'angle φ, est déterminée pour chaque portion d'image (étape 510). Comme décrit précédemment, la détermination d'une direction principale pour chaque portion d'image permet une normalisation de ces portions d'image et, par conséquent, une réduction de la quantité de mémoire nécessaire à la mémorisation de données de référence et, de manière duale, d'améliorer la qualité de la classification.  After extracting the image portions of each detected point of interest, within the limit of the number of points of interest required, a principal direction, linked to the axis of the image sensor (typically the axis of the camera ), i.e. at the angle φ, is determined for each image portion (step 510). As described above, the determination of a principal direction for each image portion allows normalization of these image portions and, therefore, a reduction in the amount of memory necessary for storing reference data and, thus, dual, to improve the quality of the classification.
L'orientation principale est ici déterminée conformément à l'étape The main orientation is here determined according to step
315 de la figure 3. Un ensemble de seize pixels échantillonnés sur un cercle autour de la position d'un point d'intérêt est utilisé pour calculer des gradients, sous forme de vecteurs, entre des pixels opposés. L'orientation de la portion d'image du point d'intérêt est alors définie comme étant la somme de ces vecteurs de gradient, comme illustré sur la figure 4. 315 of Figure 3. A set of sixteen pixels sampled on a circle around the position of a point of interest is used to calculate gradients, as vectors, between opposing pixels. The orientation of the image portion of the point of interest is then defined as the sum of these gradient vectors, as illustrated in FIG. 4.
A nouveau, pour améliorer la stabilité du procédé de calcul de l'orientation face aux variations d'échelle et des autres paramètres d'orientation, la portion d'image de taille PxP est, de préférence, ré-échantillonnée bilinéairement en une portion d'image de taille P/2xP/2 avant que le calcul décrit précédemment ne soit appliqué.  Again, in order to improve the stability of the method for calculating orientation with respect to scale variations and other orientation parameters, the image portion of size PxP is preferably bilinearly resampled into a portion of the image. image size P / 2xP / 2 before the calculation described above is applied.
L'ensemble des orientations possibles est échantillonné selon les mêmes valeurs que celles utilisées lors de la première phase décrite ci-dessus, par exemple, entre 0 et 31. L'orientation ainsi calculée est. de préférence, utilisée pour sélectionner un jeu de tests binaires. The set of possible orientations is sampled according to the same values as those used during the first phase described above, for example, between 0 and 31. The thus calculated orientation is. preferably, used to select a set of binary tests.
Dans une étape suivante, un signe de portion d'image est avantageusement déterminé (étape 515). Le signe est ici calculé conformément à l'étape 320 décrite en référence à la figure 3. In a next step, an image portion sign is advantageously determined (step 515). The sign is here calculated in accordance with step 320 described with reference to Figure 3.
Une signature de la portion d'image traitée est alors générée à partir des tableaux de distribution de probabilités 330 préalablement déterminés A signature of the processed image portion is then generated from the predetermined probability distribution tables 330
(étape 520). Elle est ici constituée par les distributions logarithmiques cumulées de probabilités associées à des résultats de tests binaires liés aux structures Fj utilisées. Ainsi, un ensemble de valeurs binaires VBj est obtenu à partir de l'ensemble des structures Fj auxquelles sont associés des tests binaires f,.(step 520). It is constituted by the cumulative logarithmic distributions of probabilities associated with binary test results related to the structures Fj used. Thus, a set of binary values VB j is obtained from the set of structures F j which are associated with binary tests f 1.
Comme décrit ci-dessus, les valeurs binaires VBj permettent de définir des indexes kj qui, à leur tour, permettent d'obtenir des distributions de probabilités.As described above, the binary values VBj make it possible to define indexes k j which, in turn, make it possible to obtain probability distributions.
Les distributions de probabilités ainsi obtenues sont alors combinées, par exemple par cumul, pour déterminer une signature. Il est observé ici que les tests binaires devant être utilisés, pour une structure donnée, sont identifiés selon l'orientation préalablement déterminée de la portion d'image traitée de telle sorte qu'il n'est pas nécessaire de ré-échantillonner la portion d'image traitée selon son orientation. The probability distributions thus obtained are then combined, for example by cumulation, to determine a signature. It is noted here that the binary tests to be used for a given structure, are identified according to the orientation of the predetermined image portion processed so that it is not necessary to resample the portion of processed image according to its orientation.
Une signature est ainsi générée pour chaque point d'intérêt préalablement détecté.  A signature is thus generated for each previously detected point of interest.
Chaque signature est alors mémorisée avec une référence, ou catégorie (caf), d'un point d'intérêt de l'objet correspondant à identifier (étapeEach signature is then stored with a reference, or category (CIF), a point of interest of the object corresponding to identifying (step
525). 525).
II n'est pas nécessaire, durant cette phase, de générer plusieurs portions d'image pour chaque point d'intérêt détecté. Cette phase peut donc être effectuée très rapidement même si le nombre d'objets est grand. Néanmoins, il est cependant possible, lorsque l'application le permet, de générer plusieurs portions d'image pour chaque point d'intérêt et de retenir une signature moyenne afin d'améliorer la qualité de l'apprentissage. It is not necessary, during this phase, to generate plural pieces of image for each point of interest detected. This phase can be done very quickly even if the number of objects is large. Nevertheless, it is however possible when the application allows to generate multiple image portions for each point of interest and retain an average signature to improve the quality of learning.
Une étape optionnelle d'amélioration du générateur de signatures peut intervenir ici. Elle consiste à réduire la taille des signatures générées en une taille plus petite. A ces fins, un grand nombre de signatures générées est utilisé pour évaluer ce qu'apporte chacune des classes de la signature pour l'étape de classification. Les classes de la signature qui varient le moins sur toutes les portions d'image testées sont supprimées une à une. Ce processus est ensuite répété jusqu'à l'obtention des meilleures classes tout en conservant, le cas échéant, la contrainte selon laquelle la moitié des signatures sont liées à des points d'intérêt positifs et l'autre moitié des signatures sont liées à des points d'intérêt négatifs. An optional step of improving the signature generator can take place here. It consists in reducing the size of the signatures generated in a smaller size. For these purposes, a large number of generated signatures is used to evaluate what each of the signature classes brings for the classification step. The classes of the signature that vary the least on all the image portions tested are deleted one by one. This process is then repeated until the best classes are obtained while retaining, if necessary, the constraint that half of the signatures are linked to positive points of interest and the other half of the signatures are linked to negative points of interest.
Une signature caractéristique est ainsi obtenue pour chacun des points d'intérêt de chacun des objets à reconnaître. Ces signatures sont ensuite rangées dans une structure de classification, spécifique à la tâche de classification, mémorisée ici dans la base de données 530. Des structures standards telles que des structures connues sous les noms de « kd-tree », « spill-tree », « kmean-tree » ou « vocabulary-tree » peuvent être utilisées afin de classifier chacune des signatures et de les comparer entre elles. Ces structures peuvent être stockées dans des mémoires non volatiles ou être reconstruites au lancement de l'application. A characteristic signature is obtained for each of the points of interest of each of the objects to be recognized. These signatures are then placed in a classification structure, specific to the classification task, stored here in the database 530. Standard structures such as structures known under the names of "kd-tree", "spill-tree" , "Kmean-tree" or "vocabulary-tree" can be used to classify each of the signatures and to compare them. These structures can be stored in nonvolatile memories or rebuilt when the application is launched.
Il est observé que lorsqu'un signe de portions d'image est utilisé, deux structures sont construites, l'une permettant de classer les signatures de portions d'image positives et l'autre pour classer les signatures de portions d'image négatives. It is observed that when a sign of image portions is used, two structures are built, one to classify positive image portions of signatures and the other to classify signatures negative image portions.
En outre, les coordonnées tridimensionnelles de chaque point d'intérêt détecté sont évaluées. Elles peuvent notamment être obtenues en fonction de la géométrie de l'objet et de sa position dans l'image utilisée.  In addition, the three-dimensional coordinates of each detected point of interest are evaluated. They can in particular be obtained according to the geometry of the object and its position in the image used.
Les informations considérées ici comme pertinentes, c'est-à-dire notamment les coordonnées bidimensionnelles et tridimensionnelles des points d'intérêt, les signatures des points d'intérêt, les indices des objets correspondant et les structures de classification, sont avantageusement stockées dans des mémoires non volatiles, par exemple un disque dur ou une carte mémoire, pour éviter de devoir les déterminer à nouveau ultérieurement.  The information considered relevant here, that is to say in particular the two-dimensional and three-dimensional coordinates of the points of interest, the signatures of the points of interest, the indices of the corresponding objects and the classification structures, are advantageously stored in nonvolatile memories, for example a hard disk or a memory card, to avoid having to re-determine them later.
A titre d'exemple, si la taille d'une signature est égale à cent et qu'il est nécessaire de classer environ mille objets, chaque objet étant représenté par deux cents points, l'occupation mémoire des signatures est d'environ 20Mo (1 ,000 objets x 200 points/objet x taille de la signature (100 octets) = 20Mo). L'occupation mémoire du générateur de signatures (5Mo) vient s'ajouter à l'occupation mémoire des signatures, ce qui donne au total environ 25 Mo de données nécessaires pour le fonctionnement de l'application de reconnaissance d'objets. For example, if the size of a signature is one hundred and it is necessary to classify about a thousand objects, each object being represented by two hundred points the memory usage of signatures is about 20MB (1 x 000 objects 200 points / object x size of the signature (100 bytes) = 20MB). The memory occupancy of the signature generator (5Mo) is added to the memory occupancy of the signatures, which gives a total of about 25 MB of data necessary for the operation of the object recognition application.
Lorsque l'apprentissage est terminé, il est possible d'identifier, en temps réel, des objets dans des images.  When the learning is finished, it is possible to identify, in real time, objects in images.
La figure 6 illustre un exemple d'algorithme d'identification d'objets, en temps réel, dans des images.  FIG. 6 illustrates an example of an algorithm for identifying objects, in real time, in images.
Comme indiqué précédemment cette troisième phase est réalisée en ligne afin de détecter un ou plusieurs objets dans une image courante 600.  As indicated above, this third phase is performed online in order to detect one or more objects in a current image 600.
Une première étape a pour objet de détecter des points d'intérêt (étape 605). Comme en ce qui concerne l'étape 305, décrite en référence à la figure 3, les points d'intérêt sont, par exemple, détectés avec un algorithme standard, par exemple un algorithme connu sous le nom de HARRIS ou FAST. Le nombre maximum de points d'intérêt à détecter est, de préférence, prédéterminé. Il est, par exemple, égal à cent.  A first step is to detect points of interest (step 605). As with step 305, described with reference to FIG. 3, the points of interest are, for example, detected with a standard algorithm, for example an algorithm known as HARRIS or FAST. The maximum number of points of interest to be detected is preferably predetermined. It is, for example, equal to one hundred.
Une portion d'image est à nouveau extraite autour de chaque point d'intérêt détecté, par exemple un bloc de 32x32 pixels, approximativement centré sur le point d'intérêt considéré.  An image portion is again extracted around each detected point of interest, for example a block of 32x32 pixels, approximately centered on the point of interest considered.
Après avoir extrait les portions d'image de chaque point d'intérêt détecté, dans la limité du nombre de points d'intérêt requis, une direction principale, liée à l'axe du capteur d'images (typiquement l'axe de la caméra), c'est-à-dire à l'angle φ, est déterminée pour chaque portion d'image (étape 610). Comme décrit précédemment, la détermination d'une direction principale pour chaque portion d'image permet une normalisation de ces portions d'image et, par conséquent, une réduction de la quantité de mémoire nécessaire à la mémorisation de données de référence.  After extracting the image portions of each detected point of interest, in the limited number of points of interest required, a principal direction, linked to the axis of the image sensor (typically the axis of the camera ), i.e. angle φ, is determined for each image portion (step 610). As previously described, determining a principal direction for each image portion allows normalization of these image portions and, therefore, a reduction in the amount of memory required for storing reference data.
L'orientation principale est ici déterminée conformément à l'étape The main orientation is here determined according to step
315 de la figure 3. Un ensemble de seize pixels échantillonnés sur un cercle autour de la position d'un point d'intérêt est utilisé pour calculer des gradients, sous forme de vecteurs, entre des pixels opposés. L'orientation de la portion d'image du point d'intérêt est alors définie comme étant la somme de ces vecteurs de gradient, comme illustré sur la figure 4. 315 of Figure 3. A set of sixteen pixels sampled on a circle around the position of a point of interest is used to calculate gradients, in the form of vectors, between opposite pixels. The orientation of the image portion of the point of interest is then defined as the sum of these gradient vectors, as illustrated in FIG. 4.
A nouveau, pour améliorer la stabilité du procédé de calcul de l'orientation face aux variations d'échelle et des autres paramètres d'orientation, la portion d'image de taille PxP est, de préférence, ré-échantillonnée bilinéairement en une portion d'image de taille P/2xP/2 avant que le calcul décrit précédemment ne soit appliqué. Again, to improve the stability of the calculation procedure of the orientation face of scale variations and other orientation parameters, the size of image portion PxP is preferably re-sampled in a portion of bilinearly image size P / 2xP / 2 before the calculation described above is applied.
L'ensemble des orientations possibles est échantillonné selon les mêmes valeurs que celles utilisées lors des première et seconde phases décrites ci-dessus, par exemple, entre 0 et 31. L'orientation ainsi calculée est, de préférence, utilisée pour sélectionner un jeu de tests binaires.  The set of possible orientations is sampled according to the same values as those used during the first and second phases described above, for example between 0 and 31. The orientation thus calculated is preferably used to select a set of binary tests.
Dans une étape suivante, un signe de portion d'image est avantageusement déterminé (étape 61 5). Le signe est ici calculé conformément à l'étape 320 décrite en référence à la figure 3.  In a next step, an image portion sign is advantageously determined (step 61). The sign is here calculated according to the step 320 described with reference to FIG.
Une signature de la portion d'image traitée est alors générée à partir des tableaux de distribution de probabilités 330 préalablement déterminés (étape 620). Elle est ici constituée par les distributions cumulées de probabilités associées à des résultats de tests binaires liés aux structures Fj utilisées. Ainsi, un ensemble de valeurs binaires VBj est obtenu à partir de l'ensemble des structures Fj auxquelles sont associés des tests binaires f,-. Comme décrit ci- dessus, les valeurs binaires VBj permettent de définir des indexes ks qui, à leur tour, permettent d'obtenir des distributions de probabilités. Les distributions de probabilités ainsi obtenues sont alors combinées, par exemple par cumul, pour déterminer une signature. Il est observé ici que les tests binaires devant être utilisés, pour une structure donnée, sont identifiés selon l'orientation préalablement déterminée de la portion d'image traitée de telle sorte qu'il n'est pas nécessaire de ré-échantillonner la portion d'image traitée selon son orientation. A signature of the processed image portion is then generated from the previously determined probability distribution tables 330 (step 620). It is constituted by the cumulative distributions of probabilities associated with the results of binary tests related to the structures F j used. Thus, a set of binary values VB j is obtained from the set of structures Fj which are associated with binary tests f, -. As described above, the binary values VB j make it possible to define indexes k s which, in turn, make it possible to obtain probability distributions. The probability distributions thus obtained are then combined, for example by cumulation, to determine a signature. It is noted here that the binary tests to be used for a given structure, are identified according to the orientation of the predetermined image portion processed so that it is not necessary to resample the portion of image processed according to its orientation.
Une signature est ainsi générée pour chaque point d'intérêt préalablement détecté. Ces signatures sont alors comparées (étape 625) avec des signatures préalablement classifiées dans des structures spécifiques à l'étape de classification (structure de classification mémorisée ici dans la base de données 530). Pour chaque signature générée, la signature la plus proche donne la catégorie (cat) du point d'intérêt correspondant. A signature is thus generated for each previously detected point of interest. These signatures are then compared (step 625) with signatures previously classified in specific structures at the classification stage (classification structure stored here in the database 530). For each generated signature, the closest signature gives the category (cat) of the corresponding point of interest.
A nouveau, l'utilisation du signe du point d'intérêt permet d'éviter de comparer deux points qui seraient fondamentalement différents (positif versus négatif).  Again, the use of the sign of the point of interest makes it possible to avoid comparing two points that would be fundamentally different (positive versus negative).
Dans un tel procédé, chaque point d'intérêt de l'image courante est apparié avec un point classifié en comparant les signatures des portions d'image associées à ces points. Il est possible de supprimer les appariements les moins pertinents en utilisant une distance entre les signatures associées aux deux points et un seuil de tolérance prédéterminé.  In such a method, each point of interest of the current image is matched with a classified point by comparing the signatures of the image portions associated with these points. It is possible to remove the least relevant matches by using a distance between the signatures associated with the two points and a predetermined tolerance threshold.
L'objet qui possède le plus d'appariement avec les points de l'image courante est considéré comme objet potentiellement reconnu. Une dernière étape de validation géométrique, par exemple un algorithme de type RANSAC ou PROSAC, est alors, de préférence, effectuée pour valider la cohérence des appariements trouvés. Si le nombre d'appariements validés est supérieur à un seuil prédéterminé, par exemple dix, l'indice de l'objet identifié est renvoyé par l'application. Dans le cas contraire, il est possible de tester des objets suivants dans une liste des objets potentiellement reconnus.  The object that has the most matching with the points of the current image is considered a potentially recognized object. A last geometric validation step, for example an RANSAC or PROSAC type algorithm, is then preferably performed to validate the coherence of the matches found. If the number of validated matches is greater than a predetermined threshold, for example ten, the index of the identified object is returned by the application. If not, it is possible to test the following objects in a list of potentially recognized objects.
Le procédé, dans son ensemble, permet de classifier et de reconnaître plusieurs milliers d'objets en temps réel. A titre d'illustration, il est ainsi possible, sur un téléphone mobile de type smartphone, de mémoriser des caractéristiques de mille objets pour les reconnaître en moins de cent millisecondes, selon les capacités de l'appareil. The process, as a whole, can classify and recognize several thousand objects in real time. As an illustration, it is thus possible, on a smartphone-type mobile phone, to memorize features of a thousand objects to recognize them in less than one hundred milliseconds, depending on the capabilities of the device.
Il convient de noter qu'il est possible de répéter ce procédé de reconnaissance sur plusieurs images consécutives ou proches d'un flux vidéo en séparant les signatures classifiées en plusieurs groupes. Par exemple, le premier groupe peut contenir mille objets à reconnaître et est traité à l'image 1 , le second groupe, contenant lui aussi mille objets est traité à l'image 2 et ainsi de suite. Il est ainsi possible de reconnaître sur un appareil mobile une dizaine de milliers d'objets en moins d'une seconde. Note that it is possible to repeat the recognition process over several consecutive images, or close to a video stream separating signatures sorted into groups. For example, the first group can contain a thousand objects to be recognized and is processed in image 1, the second group, which also contains a thousand objects, is processed in image 2 and thus right now. It is thus possible to recognize on a mobile device ten thousand objects in less than one second.
Il est également intéressant de noter que le principe de l'invention s'applique aussi bien à des portions d'images préalablement converties en niveau de gris (par exemple par combinaison de composantes rouge, verte et bleue) ou à des portions d'images correspondant à des points d'intérêt détectés sur une des composantes.  It is also interesting to note that the principle of the invention applies equally to portions of images previously converted to gray level (for example by combining red, green and blue components) or portions of images. corresponding to points of interest detected on one of the components.
La figure 7 illustre schématiquement la classification d'une portion d'image donnée notée PI et associée à un point d'intérêt pour permettre l'identification d'objets, en temps réel, dans une image.  Figure 7 schematically illustrates the classification of a given image portion denoted PI and associated with a point of interest to allow the identification of objects, in real time, in an image.
Une première étape consiste à déterminer des valeurs binaires à partir de structures comprenant des tests binaires prédéterminés. Ces valeurs binaires sont ensuite utilisées pour trouver, dans les tableaux déterminés durant une phase d'apprentissage (base de données 330), des distributions de probabilités, notées DistProbj, d'appartenance de la portion d'image traitée à des classes utilisées. Ces distributions de probabilités sont alors combinées entre elles, par exemple par accumulation, afin d'obtenir une signature (Signature). Il est observé ici que ni les distributions de probabilités DistProbj ni la signature Signature n'ont de sens en tant que telles. A first step is to determine binary values from structures including predetermined binary tests. These binary values are then used to find, in the tables determined during a learning phase (database 330), probability distributions, denoted DistProb j , membership of the processed image portion to classes used. These probability distributions are then combined with each other, for example by accumulation, in order to obtain a signature (Signature). It is observed here that neither probability distributions DistProb j nor signature Signature have meaning as such.
La signature obtenue de la portion d'image traitée est alors comparée à des signatures préalablement mémorisées et stockées dans une structure de classification (appartenant ici à la base de données 530) afin de trouver la signature la plus proche de la signature obtenue et ainsi associer une catégorie cat au point d'intérêt considéré.  The signature obtained from the treated image portion is then compared with signatures previously stored and stored in a classification structure (here belonging to the database 530) in order to find the signature closest to the signature obtained and thus associate a cat category at the point of interest considered.
La figure 8 illustre un exemple de dispositif de traitement d'informations pouvant être utilisé pour mettre en œuvre, au moins partiellement, l'invention, notamment les étapes décrites en référence aux figures 2, 3, 5 et 6. Le dispositif 800 est par exemple un téléphone mobile de type smartphone, un assistant numérique personnel ou un micro-ordinateur.  FIG. 8 illustrates an exemplary information processing device that can be used to implement, at least partially, the invention, in particular the steps described with reference to FIGS. 2, 3, 5 and 6. The device 800 is example a smartphone-type mobile phone, a personal digital assistant or a microcomputer.
Le dispositif 800 comporte de préférence un bus de communication The device 800 preferably comprises a communication bus
802 auquel sont reliés : - une unité centrale de traitement ou microprocesseur 804 (CPU, Central Processing Unit) ; 802 to which are connected: a central processing unit or microprocessor 804 (CPU, Central Processing Unit);
- une mémoire morte 806 (ROM, Read Only Memory) pouvant comporter le système d'exploitation et des programmes tels que "Prog" ;  a ROM 806 (Read Only Memory) which may include the operating system and programs such as "Prog";
- une mémoire vive ou mémoire cache 808 (RAM, Random Access a RAM or cache memory 808 (RAM, Random Access
Memory) comportant des registres adaptés à enregistrer des variables et paramètres créés et modifiés au cours de l'exécution des programmes précités ; Memory) having registers adapted to record variables and parameters created and modified during the execution of the aforementioned programs;
- une carte d'acquisition vidéo 810 reliée à une caméra 812 ; et, - une carte graphique 814 reliée à un écran ou à un projecteur 816. an 810 video acquisition card connected to an 812 camera; and, a graphics card 814 connected to a screen or a projector 816.
Optionnellement, le dispositif 800 peut également disposer des éléments suivants : Optionally, the device 800 can also have the following elements:
- un disque dur 820 pouvant comporter les programmes "Prog" précités et des données traitées ou à traiter selon l'invention ;  a hard disk 820 which may include the aforementioned "Prog" programs and data processed or to be processed according to the invention;
- un clavier 822 et une souris 824 ou tout autre dispositif de pointage comme un crayon optique, un écran tactile ou une télécommande permettant à l'utilisateur d'interagir avec les programmes selon l'invention, en particulier lors des phases d'installation et/ou d'initialisation ;  an 822 keyboard and an 824 mouse or any other pointing device such as an optical pencil, a touch screen or a remote control enabling the user to interact with the programs according to the invention, in particular during the installation and / or initialization;
- une interface de communication 826 reliée à un réseau de communication distribué 828, par exemple le réseau Internet, l'interface étant apte à transmettre et à recevoir des données ; et,  a communication interface 826 connected to a distributed communication network 828, for example the Internet network, the interface being able to transmit and receive data; and,
- un lecteur de cartes mémoires (non représenté) adapté à y lire ou à y écrire des données traitées ou à traiter selon l'invention.  - A memory card reader (not shown) adapted to read or write processed or processed data according to the invention.
Le bus de communication permet la communication et l'interopérabilité entre les différents éléments inclus dans le dispositif 800 ou reliés à lui. La représentation du bus n'est pas limitative et, notamment, l'unité centrale est susceptible de communiquer des instructions à tout élément du dispositif 800 directement ou par l'intermédiaire d'un autre élément du dispositif 800.  The communication bus allows communication and interoperability between the various elements included in the device 800 or connected to it. The representation of the bus is not limiting and, in particular, the central unit is able to communicate instructions to any element of the device 800 directly or via another element of the device 800.
Le code exécutable de chaque programme permettant à l'appareil programmable de mettre en œuvre les processus selon l'invention, peut être stocké, par exemple, dans le disque dur 820 ou en mémoire morte 806. Selon une variante, le code exécutable des programmes pourra être reçu par l'intermédiaire du réseau de communication 828, via l'interface 826, pour être stocké de façon identique à celle décrite précédemment. 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 820 or in the read-only memory 806. According to one variant, the executable code of the programs may be received via the communication network 828, via the interface 826, to be stored in the same manner as that described previously.
De manière plus générale, le ou les programmes pourront être chargés dans un des moyens de stockage du dispositif 800 avant d'être exécutés.  More generally, the program (s) may be loaded into one of the storage means of the device 800 before being executed.
L'unité centrale 804 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 820 ou dans la mémoire morte 806 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 820 ou la mémoire morte 806, sont transférés dans la mémoire vive 808 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.  The central unit 804 will control and direct the execution of the instructions or portions of software code of the program or programs according to the invention, instructions which are stored in the hard disk 820 or in the read-only memory 806 or else in the other elements of aforementioned storage. When powering up, the program or programs that are stored in a non-volatile memory, for example the hard disk 820 or the read-only memory 806, are transferred into the random access memory 808 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.
Il convient de noter que l'appareil de communication comportant le dispositif selon l'invention peut également être un appareil programmé. Cet appareil contient alors le code du ou des programmes informatiques par exemple figé dans un circuit intégré à application spécifique (ASIC).  It should be noted that the communication apparatus comprising the device according to the invention can also be a programmed apparatus. This device then contains the code of the computer program or programs for example frozen in a specific application integrated circuit (ASIC).
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. En particulier, si l'invention a principalement été décrite dans le cadre d'applications de réalité augmentée, elle peut être utilisée pour déclencher des actions spécifiques telles que l'ouverture de pages Internet, la lecture de fichiers de type vidéo ou son. Elle peut également être utilisée, par exemple, pour localiser un utilisateur dans un environnement réel.  Naturally, to meet specific needs, a person skilled in the field of the invention may apply modifications in the foregoing description. In particular, if the invention has mainly been described in the context of augmented reality applications, it can be used to trigger specific actions such as the opening of Internet pages, playback of video or sound type files. It can also be used, for example, to locate a user in a real environment.

Claims

REVENDICATIONS
1 . Procédé d'identification en temps réel d'au moins une forme dont une représentation au moins partielle est présente dans une image, pour un dispositif de traitement d'informations, ce procédé étant caractérisé en ce qu'il comprend les étapes suivantes, 1. A method for real-time identification of at least one form of which at least a partial representation is present in an image, for an information processing device, said method being characterized in that it comprises the following steps,
- détection (605) d'au moins un point d'intérêt dans ladite image et extraction d'au moins une portion d'image de ladite image selon la position dudit au moins un point d'intérêt ;  detecting (605) at least one point of interest in said image and extracting at least one image portion of said image according to the position of said at least one point of interest;
- détermination (610, 615) d'au moins une caractéristique de ladite au moins une portion d'image ;  determining (610, 615) at least one characteristic of said at least one image portion;
- génération (620) d'au moins une signature selon ladite au moins une portion d'image et ladite au moins une caractéristique, ladite au moins une signature étant obtenue à partir d'au moins un modèle statistique préalablement déterminé ;  generating (620) at least one signature according to said at least one image portion and said at least one characteristic, said at least one signature being obtained from at least one previously determined statistical model;
- identification (625) d'au moins une signature dans une structure de classification comprenant une pluralité de signatures, chaque signature de ladite pluralité de signatures étant associée à une catégorie, ladite au moins une signature identifiée étant identifiée en fonction de ladite au moins une signature générée, et identification d'une catégorie associée à ladite au moins une signature identifiée, ladite au moins une forme étant identifiée selon ladite catégorie identifiée.  identification (625) of at least one signature in a classification structure comprising a plurality of signatures, each signature of said plurality of signatures being associated with a category, said at least one identified signature being identified according to said at least one generated signature, and identification of a category associated with said at least one identified signature, said at least one form being identified according to said identified category.
2. Procédé selon la revendication 1 selon lequel ledit au moins un modèle statistique est un modèle à ramifications multiples basé sur des structures utilisant des tests binaires aléatoires, ladite au moins une signature étant générée en fonction d'au moins un résultat à au moins un desdits tests binaires.  The method of claim 1 wherein said at least one statistical model is a multi-branched model based on structures using random binary tests, said at least one signature being generated based on at least one at least one result. said binary tests.
3. Procédé selon la revendication 1 ou la revendication 2 selon lequel ladite étape de détermination d'au moins une caractéristique de ladite au moins une portion d'image comprend une étape de détermination (610) d'une direction principale de ladite au moins une portion d'image. 3. The method of claim 1 or claim 2 wherein said step of determining at least one characteristic of said at at least one image portion comprises a step of determining (610) a main direction of said at least one image portion.
4. Procédé selon la revendication 3, dépendante de la revendication 2, selon lequel ledit au moins un test binaire dont ledit au moins un résultat est utilisé pour générer ladite au moins une signature est déterminé en fonction de ladite direction principale.  4. Method according to claim 3, dependent on claim 2, wherein said at least one binary test of which said at least one result is used to generate said at least one signature is determined according to said main direction.
5. Procédé selon la revendication 3 ou la revendication 4 selon lequel ladite étape de détermination d'au moins une caractéristique de ladite au moins une portion d'image comprend une étape de détermination d'un signe de ladite au moins une portion d'image, ledit signe étant déterminé selon une variation d'intensité dans ladite au moins une portion d'image.  The method of claim 3 or claim 4 wherein said step of determining at least one feature of said at least one image portion comprises a step of determining a sign of said at least one image portion. said sign being determined according to a variation of intensity in said at least one image portion.
6. Procédé selon la revendication 5 selon lequel ladite variation d'intensité est estimée selon ladite direction principale.  6. The method of claim 5 wherein said intensity variation is estimated according to said main direction.
7. Procédé selon la revendication 5 ou la revendication 6 comprenant en outre une étape de sélection dudit au moins un modèle statistique selon ledit signe.  7. The method of claim 5 or claim 6 further comprising a step of selecting said at least one statistical model according to said sign.
8. Procédé selon l'une quelconque des revendications 1 à 7 selon lequel ladite structure de classification est un arbre de classification de type kd- tree, spill-tree, kmean-tree ou vocabulary-tree.  8. The method according to any of claims 1 to 7 wherein said classification structure is a classification tree of kd-tree, spill-tree, kmean-tree or vocabulary-tree type.
9. Procédé selon l'une quelconque des revendications 1 à 8 comprenant en outre une étape de validation de ladite catégorie identifiée, ladite étape de validation comprenant une étape de comparaison d'une différence desdites au moins une signature identifiée et au moins une signature générée à un seuil prédéterminé.  9. Method according to any one of claims 1 to 8 further comprising a step of validating said identified category, said validation step comprising a step of comparing a difference of said at least one identified signature and at least one generated signature. at a predetermined threshold.
10. Procédé selon l'une quelconque des revendications 1 à 8 comprenant en outre une étape de validation de ladite catégorie identifiée, ladite étape de validation comprenant une étape de reprojection d'un modèle de ladite au moins une forme identifiée selon une pose estimée de ladite au moins une forme identifiée.  10. Method according to any one of claims 1 to 8 further comprising a step of validating said identified category, said validation step comprising a step of reprojection of a model of said at least one form identified according to an estimated pose of said at least one identified form.
1 1. Procédé de construction d'un modèle statistique pour l'identification en temps réel d'au moins une forme dont une représentation au moins partielle est présente dans une image, pour un dispositif de traitement d'informations, ce procédé étant caractérisé en ce qu'il comprend les étapes suivantes, 1 1. A method of constructing a statistical model for the real-time identification of at least one form a representation of at least partially is present in an image, to a processing device information, the method being characterized in that it comprises the following steps,
- sélection d'au moins une image et détection (305) d'au moins un point d'intérêt dans ladite image sélectionnée et extraction d'au moins une portion d'image de ladite image sélectionnée selon la position dudit au moins un point d'intérêt ;  selecting at least one image and detecting (305) at least one point of interest in said selected image and extracting at least one image portion of said selected image according to the position of said at least one point of interest;
- génération (310) d'une pluralité de portions d'image par déformation de ladite au moins une portion d'image ;  generating (310) a plurality of image portions by deformation of said at least one image portion;
- détermination (315, 320) d'au moins une caractéristique de ladite au moins une portion d'image et de chaque portion d'image de ladite pluralité de portions d'image ; et,  determining (315, 320) at least one characteristic of said at least one image portion and each image portion of said plurality of image portions; and,
- construction (325) d'un modèle statistique associant des portions d'image, choisies parmi ladite au moins une portion d'image et ladite pluralité de portions d'image, à une classe associée audit au moins un point d'intérêt détecté selon des caractéristiques de ladite au moins une portion d'image et/ou de ladite pluralité de portions d'image.  constructing (325) a statistical model associating image portions, chosen from said at least one image portion and said plurality of image portions, with a class associated with said at least one detected point of interest according to features of said at least one image portion and / or said plurality of image portions.
12. Procédé selon la revendication 1 1 selon lequel ladite déformation est une déformation affine ou projective.  12. The method of claim 1 1 wherein said deformation is an affine or projective deformation.
13. Procédé selon la revendication 1 1 ou la revendication 12 selon lequel ladite étape de détermination d'au moins une caractéristique de ladite au moins une portion d'image et de chaque portion d'image de ladite pluralité de portions d'image comprend une étape de détermination (610) d'une direction principale de ladite au moins une portion d'image et de chaque portion d'image de ladite pluralité de portions d'image.  The method of claim 11 or claim 12 wherein said step of determining at least one feature of said at least one image portion and each image portion of said plurality of image portions comprises a determining step (610) of a main direction of said at least one image portion and each image portion of said plurality of image portions.
14. Procédé selon la revendication 13 selon lequel ladite étape de détermination d'au moins une caractéristique de ladite au moins une portion d'image et de chaque portion d'image de ladite pluralité de portions d'image comprend une étape de détermination d'un signe de ladite au moins une portion d'image et de chaque portion d'image de ladite pluralité de portions d'image, ledit signe étant déterminé selon une variation d'intensité dans la portion d'image correspondante. The method of claim 13 wherein said step of determining at least one feature of said at least one image portion and each image portion of said plurality of image portions comprises a step of determining a sign of said at least one portion of image and each image portion of said plurality of image portions, said sign being determined according to an intensity variation in the portion of the corresponding image.
15. Procédé selon la revendication 14 selon lequel ledit signe est déterminé selon une variation d'intensité liée à ladite direction principale. 15. The method of claim 14 wherein said sign is determined according to a variation of intensity related to said main direction.
16. Procédé selon l'une quelconque des revendications 10 à 15 comprenant en outre une étape de modification dudit modèle statistique visant la suppression de données relatives à une classe similaire à une autre classe.  The method of any of claims 10 to 15 further comprising a step of modifying said statistical model for deleting data relating to a class similar to another class.
17. Procédé de construction d'une structure de classification comprenant une pluralité de signatures, chaque signature de ladite pluralité de signatures étant associée à une catégorie, pour l'identification en temps réel d'au moins une forme dont une représentation au moins partielle est présente dans une image, pour un dispositif de traitement d'informations, ce procédé étant caractérisé en ce qu'il comprend les étapes suivantes,  A method of constructing a classification structure comprising a plurality of signatures, each signature of said plurality of signatures being associated with a category, for real-time identification of at least one form of which at least a partial representation is present in an image, for an information processing device, this method being characterized in that it comprises the following steps,
- sélection d'au moins une image comprenant une représentation au moins partielle de ladite au moins une forme, détection (505) d'au moins un point d'intérêt dans ladite au moins une image et extraction d'au moins une portion d'image de ladite au moins une image selon la position dudit au moins un point d'intérêt ;  selecting at least one image comprising at least a partial representation of said at least one form, detecting (505) at least one point of interest in said at least one image and extracting at least one portion of image of said at least one image according to the position of said at least one point of interest;
- détermination (510, 515) d'au moins une caractéristique de ladite au moins une portion d'image ;  determining (510, 515) at least one characteristic of said at least one image portion;
- génération (520) d'au moins une signature selon ladite au moins une portion d'image et ladite au moins une caractéristique, ladite au moins une signature étant obtenue à partir d'au moins un modèle statistique préalablement déterminé ; - generation (520) of at least one signature in accordance with said at least one image portion and said at least one feature, said at least one signature being obtained from at least one predetermined statistical model;
- création (525) de ladite structure de classification à partir de ladite au moins une signature et d'une catégorie associée audit au moins un point d'intérêt et à ladite au moins une forme.  creating (525) said classification structure from said at least one signature and a category associated with said at least one point of interest and said at least one form.
18. 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.  18. Computer program comprising instructions adapted to the implementation of each of the steps of the method according to any one of the preceding claims when said program is executed on a computer.
19. Dispositif comprenant des moyens adaptés à la mise en œuvre de chacune des étapes du procédé selon l'une quelconque des revendications 1 à 17.  19. Device comprising means adapted to the implementation of each of the steps of the method according to any one of claims 1 to 17.
PCT/FR2012/050290 2011-02-11 2012-02-09 Methods, device and computer programs for recognising shapes, in real time, by means of an appliance including limited resources WO2012107696A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1151129A FR2971601B1 (en) 2011-02-11 2011-02-11 METHODS, DEVICE AND COMPUTER PROGRAMS FOR RECOGNITION OF FORMS, IN REAL-TIME, USING AN APPARATUS COMPRISING LIMITED RESOURCES
FR1151129 2011-02-11

Publications (1)

Publication Number Publication Date
WO2012107696A1 true WO2012107696A1 (en) 2012-08-16

Family

ID=44532478

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2012/050290 WO2012107696A1 (en) 2011-02-11 2012-02-09 Methods, device and computer programs for recognising shapes, in real time, by means of an appliance including limited resources

Country Status (2)

Country Link
FR (1) FR2971601B1 (en)
WO (1) WO2012107696A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180032843A1 (en) * 2016-07-29 2018-02-01 Hewlett Packard Enterprise Development Lp Identifying classes associated with data

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR1059541A (en) 1952-07-07 1954-03-25 Bosch Gmbh Robert Self-repairing electric capacitor

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR1059541A (en) 1952-07-07 1954-03-25 Bosch Gmbh Robert Self-repairing electric capacitor

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
LEPETIT V ET AL: "Keypoint Recognition Using Randomized Trees", IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, IEEE SERVICE CENTER, LOS ALAMITOS, CA, US, vol. 28, no. 9, 1 September 2006 (2006-09-01), pages 1465 - 1479, XP001523383, ISSN: 0162-8828, DOI: 10.1109/TPAMI.2006.188 *
MICHAEL CALONDER ET AL: "BRIEF: Binary Robust Independent Elementary Features", 5 September 2010, COMPUTER VISION Â ECCV 2010, SPRINGER BERLIN HEIDELBERG, BERLIN, HEIDELBERG, PAGE(S) 778 - 792, ISBN: 978-3-642-15560-4, XP019150781 *
MICHAEL CALONDER ET AL: "Compact signatures for high-speed interest point description and matching", COMPUTER VISION, 2009 IEEE 12TH INTERNATIONAL CONFERENCE ON, IEEE, PISCATAWAY, NJ, USA, 29 September 2009 (2009-09-29), pages 357 - 364, XP031672602, ISBN: 978-1-4244-4420-5 *
MICHAEL CALONDER ET AL: "Keypoint Signatures for Fast Learning and Recognition", 12 October 2008, COMPUTER VISION Â ECCV 2008; [LECTURE NOTES IN COMPUTER SCIENCE], SPRINGER BERLIN HEIDELBERG, BERLIN, HEIDELBERG, PAGE(S) 58 - 71, ISBN: 978-3-540-88681-5, XP019109185 *
SIMON TAYLOR ET AL: "Multiple Target Localisation at over 100 FPS", 7 September 2009 (2009-09-07), London, UK, XP055007641, Retrieved from the Internet <URL:http://mi.eng.cam.ac.uk/~sjt59/papers/taylor_2009_multiple.pdf> [retrieved on 20110920] *

Also Published As

Publication number Publication date
FR2971601A1 (en) 2012-08-17
FR2971601B1 (en) 2013-03-22

Similar Documents

Publication Publication Date Title
EP2491532B1 (en) Method, computer program and device for real-time hybrid tracking of object representations in an image sequence
EP2455916B1 (en) Non-rigid tracking-based human-machine interface
WO2019091787A1 (en) Method for estimating the installation of a camera in the reference frame of a three-dimensional scene, device, augmented reality system and associated computer program
FR2931006A1 (en) SYSTEM AND METHOD FOR VISUAL RECOGNITION
FR2907239A1 (en) Predetermined digital image searching and recognizing method for microcomputer, involves allocating subscript to index to provide image that obtains reduced image having value chosen by function applied to pixels of reduced image
WO2010066563A1 (en) Device with datastream pipeline architecture for recognizing and locating objects in an image by detection window scanning
FR3103938A1 (en) Method of detecting at least one element of interest visible in an input image using a convolutional neural network
EP3582141B1 (en) Method for learning parameters of a convolutional neural network
CA2908210A1 (en) Identification process for a sign on a deformed image
EP2839410B1 (en) Method for recognizing a visual context of an image and corresponding device
CN112313718A (en) Image-based novelty detection of material samples
EP2441048A1 (en) Methods and devices for identifying real objects, for following up the representation of said objects and for augmented reality in an image sequence in a client-server mode
EP3311333B1 (en) Pairing of images of postal articles with descriptors of singularities of the gradient field
Fernandez et al. Active image indexing
EP2441046A2 (en) Method and device for calibrating an image sensor using a real-time system for following up objects in an image sequence
WO2018042127A1 (en) Method and system for generating a surface signature
WO2012107696A1 (en) Methods, device and computer programs for recognising shapes, in real time, by means of an appliance including limited resources
EP3929809A1 (en) Method of detection of at least one visible biometric trait on an input image by means of a convolutional neural network
WO2021123209A1 (en) Method for segmenting an input image showing a document containing structured information
EP2082336B1 (en) Method of fast searching and recognition of a digital image representative of at least one graphical pattern in a bank of digital images
FR2982057A1 (en) Method for recognition of playing card image acquired by video camera in scene, involves identifying image with reference image in event of success of search of reference vector near to signature vector in data base of memory
WO2023031305A1 (en) Method for matching a candidate image with a reference image
EP4396789A1 (en) Method for matching a candidate image with a reference image
EP4091098A1 (en) Method for processing a candidate image
FR3054057A1 (en) AUTHENTICATION METHOD INCREASED FROM A MATERIAL SUBJECT

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12708896

Country of ref document: EP

Kind code of ref document: A1