WO2008104453A1 - Method of automatically recognizing and locating entities in digital images - Google Patents

Method of automatically recognizing and locating entities in digital images Download PDF

Info

Publication number
WO2008104453A1
WO2008104453A1 PCT/EP2008/051608 EP2008051608W WO2008104453A1 WO 2008104453 A1 WO2008104453 A1 WO 2008104453A1 EP 2008051608 W EP2008051608 W EP 2008051608W WO 2008104453 A1 WO2008104453 A1 WO 2008104453A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
descriptors
recognition
entity
cascade
Prior art date
Application number
PCT/EP2008/051608
Other languages
French (fr)
Inventor
Nicolas Allezard
Original Assignee
Commissariat A L'energie Atomique
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 Commissariat A L'energie Atomique filed Critical Commissariat A L'energie Atomique
Publication of WO2008104453A1 publication Critical patent/WO2008104453A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06F18/2148Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the process organisation or structure, e.g. boosting cascade
    • 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/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/446Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering using Haar-like filters, e.g. using integral image techniques
    • 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/50Extraction of image or video features by performing operations within image blocks; by using histograms, e.g. histogram of oriented gradients [HoG]; by summing image-intensity values; Projection analysis
    • G06V10/507Summing image-intensity values; Histogram projection analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2411Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines

Definitions

  • the field of the invention is that of the recognition and location of entities in digital images. Digital images are ubiquitous today and many computer tools have been developed to exploit them automatically. The fields of application are very numerous. As examples,
  • an image detection method comprising a learning phase and a recognition phase.
  • This method is based on the use of Haar wavelet type single-variable descriptors, which are relatively simple shape descriptors (see black and white rectangles in Figure 1 on page 4 of this document).
  • the learning algorithm uses a small number of criteria for classifying images. It scans the image and combines the descriptors to quickly eliminate the parts of the image that do not contain the object to be recognized.
  • This document also describes the use of integral images to speed up calculations.
  • the descriptors used give fast computing times but are too basic to capture the information. A large number of them are needed to discriminate positive images containing the desired object from negative images that do not contain the desired object.
  • This classifier combined with the HOG descriptor makes it possible to reduce the false-positive rate by an order of magnitude compared to the Haar wavelets.
  • This method uses a single detector and not a cascade of classifiers. However, for some applications, this method is not sufficiently discriminating.
  • the method according to the invention makes it possible to overcome the above disadvantages. It allows to obtain high detection rates while maintaining a high calculation speed. This method makes it possible to determine the presence of previously learned objects and to locate them in the image. Thus, the method according to the invention allows the automatic understanding of the scenes observed where the indexing of the images becomes possible.
  • the method according to the invention uses a set of multi-variable descriptors to represent an entity to be recognized.
  • This set of multi-variable descriptors corresponding to a large number of components, this number of components being typically at least an order of magnitude greater than for a set of single-variable descriptors.
  • the use of such multi-variable descriptors then poses calculation and choice problems in order to obtain a good compromise between the richness of the descriptors and the speed of calculation.
  • a first step prior to recognition is the learning of the entity to search.
  • This learning consists of setting up a cascade of classifiers from a series of thumbnails of examples representative of the entity to be recognized and a series of thumbnails that do not contain the entity to be recognized.
  • the parameterization consists in defining, for each stage of the cascade, the most discriminating components among a set of local multi-variable descriptors of the image and the associated thresholds making it possible to recognize the searched entities.
  • the recognition stage consists of passing in the cascade of classifiers the parts of the image for which research must be carried out. The parts of the image that have successfully passed all stages of the cascade are declared containing the desired entity.
  • a multi-variable local descriptor of the image consists of a histogram of the orientation of the gradients and a density component of the magnitude of the gradient.
  • One aspect of the invention resides in the judicious parameterization of the cascade, which makes it possible to minimize the number of local multi-variable descriptors used and to optimize their use in the successive stages of the cascade.
  • the criterion used according to the invention at each stage of the cascade for selecting a local descriptor or a subset of local descriptors is its efficiency in statistically separating the images containing an entity to recognize thumbnails not containing them.
  • the subject of the invention is a method for recognizing and automatically locating an entity in a digital image composed of pixels each having a luminance level, said pixels forming a matrix of rows and columns, the pixels being indexed (i, j) in said matrix, said method comprising a first so-called learning step and a second so-called recognition step,
  • each multi-variable local descriptor consists on the one hand of a histogram of orientation of the intensity gradients in the image as a function of given directions comprising N components and on the other hand of the sum of the magnitude of the gradient in the image divided by the surface of said image.
  • the histogram comprises nine components whose directions vary from 0 degrees to 180 degrees.
  • the calculation of the local multi-variable descriptors comprises the following preliminary steps:
  • the computation of the histogram comprises a step of normalization of the luminance gradient in each pixel, said step being carried out in two successive substeps, said first substep consisting in calculating the standard deviation of the luminance in a sliding window, said second sub-step of multiplying the magnitude of the luminance gradient in each pixel by the ratio between the standard deviation calculated on the sliding window and a standard deviation of reference.
  • the second sub-step is deleted.
  • the components of the histogram are standardized so that their sum is equal to unity.
  • the classification algorithm is of the AdaBoost type, the classifiers being of weak type, that is to say algorithms capable of discriminating two classes of objects at least as well as chance.
  • the training of a level of the cascade can be carried out, in a first embodiment, according to the following substeps: • Calculation of all local multi-variable descriptors on previously selected images having or not including the entity to recognize;
  • the driving of a level of the cascade is carried out, in a second embodiment, according to the following substeps:
  • each stage of the cascade having a first detection rate of the entity present in a thumbnail and a second detection rate of the entity absent in a thumbnail, the number of stages is such that the overall detection rate of the entity present in a thumbnail by the cascade exceeds 97 percent and that the overall detection rate of the entity absent in a thumbnail is less than one billionth.
  • FIG. 1 represents the general principle of the method implemented in a digital image
  • FIG. 3 represents the principle of the normalization of the magnitude of the gradient of the luminance of a pixel of the image
  • FIG. 4 represents the principle of calculating the integral image of a pixel
  • FIG. 5 represents the principle of calculating the integral image of a zone of pixels
  • FIG. 6 represents the principle of calculating the histogram of intensity gradients in the image
  • Figure 7 shows the operating principle of the recognition step.
  • the process comprises two steps.
  • a set of windows is moved in the image to search for the object.
  • This set consists of windows of different sizes because the possible sizes of the object in the image are not known and vary according to the distance of the object to the camera.
  • This step is illustrated in Figure 1.
  • This figure represents a view of a street with silhouettes of people to discriminate among vehicles and homes.
  • the three rectangles surrounded by white are previously discriminated S shapes.
  • the rectangle F surrounded by white with a vertical arrow and a horizontal arrow corresponds to the moving window that can move in the horizontal and vertical directions.
  • Multi-variable local descriptors of the thumbnails contained in each window are calculated and their likelihood is tested. Globally many windows are tested and few of them contain objects of interest.
  • the first levels of the cascade eliminate the windows whose contents are little resembling the object to be sought, the following levels calculate descriptors more and more complex and closer and closer to the object to seek.
  • the number of windows decreases very quickly in the different stages of the cascade, allowing a fast course of the image.
  • the shape of the objects to be recognized is represented by a set of local multi-variable descriptors, preferably based on the direction and the density of the gradient of the light intensity.
  • a first descriptor can correspond to the whole face and descriptors secondary to more specific areas such as the nose, mouth or the eyes.
  • This type of signature has already been used in pattern recognition, for example for the recognition of hand position as described in the WT Freeman and M. Roth publication "Guidance Histograms for Hand Gesture Recognition” published in IEEE Intl. . WkShp.
  • the appearance of the objects is captured by several local multi-variable descriptors. Each of them is formed on the one hand:
  • the signature of the luminous intensity gradient is constructed after the computation of the horizontal and vertical derivatives of the image realized thanks to the recursive algorithm of computation of the derivatives proposed by Deriche in the reference documents titled "Using canny's criteria to derives a recursively implemented optimal edge detector "from The International Journal of Computer Vision, 1 (2): 167-187, May 1987 and” Fast algorithm for low-level vision ", excerpt from IEEE Transactions on Pattern Analysis and Machine Intelligence, 1 (12). ): 78-88, January 1990.
  • the magnitude of the gradient is accumulated in the component of the histogram corresponding to this direction.
  • a histogram having nine components whose directions vary from 0 to 180 degrees is preferentially used. Indeed, we notes that nine orientation directorates represent a good compromise between discrimination and speed of calculation.
  • the histogram is then standard to form a distribution, for that we calculate the sum of the components of the histogram, then we divide each of these components by this sum.
  • the orientation histogram is enriched by the sum of the magnitude of the gradient in the local area divided by the surface of the area. This additional component informs about the presence of contour in the zone regardless of its orientation. Experience shows that it is very often chosen by the classification algorithm in the first levels of the cascade. It therefore allows a rough but rapid discrimination between the background of the image and the desired patterns.
  • An integral image is defined as follows. Each pixel of coordinate (i, j) of an integral image imlnt contains the sum of the pixels of the original image im of the line 0 to i and the column 0 to j.
  • FIG. 4 The definition of an integral image is illustrated in FIG. 4.
  • the set of points represented in dashed lines corresponds to the integral image 1.1. of the pixel A.
  • the calculation of the sum of the pixels included in a rectangular zone delimited by the points A, B, C and D is always carried out as follows: imlnt (i a J 0 ) - imlnt ⁇ i h, j b) - imlnt (d i, d j) + imlnt (i c, j c)
  • the component C of a local histogram is equal to the sum of the magnitude of the pixels whose direction of the gradient corresponds to this component C.
  • N orientation images are defined in which one recopies the magnitude of the gradient according to its direction.
  • the sequence of operations above is illustrated in FIG. 6. From the orientation information O and magnitude M symbolized by diamonds, the N IO orientation images are calculated. corresponding to the N components of the histogram, then the N integral images 1.1.0. corresponding to the N orientation images as well as the integral image 1.1. M. of the magnitude. The calculation of the histogram H on any area of the image is then carried out at fixed cost by the evaluation of N sums corresponding to the N components C. The same goes for the calculation of the magnitude of the gradient on the zone local, the integral image of the magnitude is first calculated to accelerate subsequent calculations.
  • the use of the descriptor containing a histogram of nine components requires the calculation of nine orientation images followed by the calculation of ten integral images, nine corresponding to the orientation images, the last corresponding to the magnitude. .
  • the histogram being weighted by the magnitude of the gradient, the sum of the nine components is equal to the sum of the magnitude of the gradient on the area of calculation. It is not necessary to calculate the nine components to know the sum.
  • the calculation of a single component of the histogram is done first by evaluating the sum of the magnitude corresponding to this orientation and then by dividing this sum by the sum of the magnitude.
  • the number of local multi-vahangable descriptors used is arbitrarily defined for each stage.
  • the number of multi-vault local descriptors is chosen in advance for each floor or for certain floors.
  • the first floor may include a descriptor, the second one, the third three ...
  • the overall rate of good detection of the cascade is equal to the product of the detection rates of all the stages.
  • FIG 7 schematically illustrates the passage of a set of windows F representing an image in the E stages of the waterfall
  • the E stages are represented by lozenges
  • Each rhombus has one input and two outputs symbolized by arrows in Figure 7.
  • the selected windows F A pass through the horizontal outlets.
  • F R passes through the vertical outputs
  • the number of descriptors, their relative sizes and positions are chosen according to the method described above during the phase learning.
  • the number of descriptors selected depends on the minimum detection rate and the maximum false-positive rate allowed on each floor. This number increases as one progresses in the cascade because of the increasing complexity of the classification task to be performed.
  • AdaBoost is the contraction of the terms “Adaptive Boosting” that can be translated as "learning by combination of decisions or doping”.
  • the fathers of this algorithm are Yoav Freund and Robert Scapire.
  • AdaBoost is the contraction of the terms “Adaptive Boosting” that can be translated as "learning by combination of decisions or doping”.
  • the fathers of this algorithm are Yoav Freund and Robert Scapire.
  • For information on this algorithm see the publications of J. H. Friedman, T. Hastie, and R. Tibshirani entitled “Additive logistic regression: a statistical view of boosting” of the Dept. of Statistics, Stanford University Technical Report.1998 and Y. Singer and R. Schapire entitled “Improved boosting algorithms using confidence-rated predictions” from Machine Learning 37, 237-336. 1999.
  • This algorithm achieves the minimization of classification errors by progressive additions of "weak classifiers", in this case one-level decision trees, also known by their Anglo-Saxon name of "stump decision”.
  • a weak classifier is an algorithm capable of discriminating two classes of objects at least as well as chance would, that is to say, it does not err more than once in two on average.
  • the classifier provided is then weighted by the quality of its classification: the better it ranks, the more important it will be. At each learning phase is associated a weight, this weight is increased in the case where the example is misclassified, decreased otherwise.
  • the incorrectly classified examples therefore take on more importance with respect to the weak classifier during the different successive learning phases, commonly called “boosting rounds", in order to compensate for the errors made by the previous classifiers.
  • the final classifier thus consists of the weighted sum of the outputs of the weak classifiers.
  • the studied form will be classified positively, that is to say as an object to be recognized if this sum is greater than zero, negatively in the opposite case.
  • Inputs m examples x, feature vector and their classes y, belonging to the interval ⁇ -1, +1 ⁇ ;
  • T being the number of iterations to be performed;
  • h t (x) being a weak classifier chosen at the iteration t;
  • Z t is a normalization factor (chooses so that D t + i is a distribution).
  • the final classifier is given by: H (x) ⁇ signal] T ⁇ , / ⁇ , (x)
  • the weak classifiers employed are one-node decision trees conventionally called "stump decision". Each component of a descriptor is therefore associated with a tree with a node whose threshold must be determined as well as the values returned. During learning, all the components of the set of descriptors are evaluated, then the one that minimizes the classification error is chosen for the current "boosting round". The process is repeated until the number of "rounds" T is reached.
  • the algorithm evaluates all components of all descriptors.
  • a second step where we determine the origin of the components chosen by "AdaBoost". Then we restrict the possible components for the "boosting" to the only components from the list of previously chosen descriptors. The boosting is then continued on this subset until a satisfactory classification error is obtained.
  • the algorithm is not left entirely free to choose the relevant components, but this choice is restricted to components from descriptors already calculated.
  • One variation is to leave the algorithm free to select the relevant components and to use the fast calculation of an isolated component.
  • the training of a level of the cascade is then carried out as follows: • Calculation of all the components of the local descriptors on the positive and negative examples previously selected.
  • This process is repeated all along the cascade, the upper floors being used to correct the misclassification of the lower floors.
  • the training of the cascade stops when the number of false positives obtained is too low to allow satisfactory learning.
  • the implementation is carried out as follows: the signature of the stage is evaluated, and then depending on the result, the next stage is queried or the window moved. The next stage is queried if at this level the window is judged corresponding to the criteria, otherwise the window is dropped.
  • the method of the invention makes it possible to choose which multi-variable descriptors to use on each stage of a cascade of classifier, to minimize the calculations while ensuring a high recognition rate and a low false positive rate.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (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 general field of the invention is that of the recognition of entities in digital images. The method of recognition according to the invention comprises a first step of learning and a second step of recognition. The learning step consists in parameterizing a cascade composed of stages of classifiers on the basis of a series of imagettes of the entity to be recognized and of a series of imagettes not containing said entity. The recognition step consists in making the parts of the digital image for which the search is to be performed pass through the cascade of classifiers, the parts of the image that have successfully passed each stage of the cascade being declared containing the entity sought. Each of the various images analyzed by the method is represented by a set of multi-variable local descriptors, preferably consisting on the one hand of a histogram with N components of the intensity gradients in the image as a function of given directions and on the other hand of the sum of the magnitude of the gradient in the image divided by the area of said image.

Description

PROCEDE DE RECONNAISSANCE ET DE LOCALISATION AUTOMATIQUE D'ENTITES DANS DES IMAGES NUMERIQUES METHOD FOR RECOGNIZING AND AUTOMATICALLY LOCATING ENTITIES IN DIGITAL IMAGES
Le domaine de l'invention est celui de la reconnaissance et de la localisation d'entités dans des images numériques. Les images numériques sont aujourd'hui omniprésentes et de nombreux outils informatiques ont été développés permettant de les exploiter automatiquement. Les domaines d'application sont très nombreux. On citera, à titre d'exemples,The field of the invention is that of the recognition and location of entities in digital images. Digital images are ubiquitous today and many computer tools have been developed to exploit them automatically. The fields of application are very numerous. As examples,
• la vidéo-surveillance d'installations qui assure notamment la détection de présence de personnes ou de véhicules suspects,• video surveillance of installations, which notably ensures the detection of suspicious persons or vehicles,
• la vidéo-assistance dans les transports routiers comme les voitures, les camions, les engins de chantiers ou les bennes à ordures... où la vidéo-surveillance avertit le conducteur en détectant automatiquement la présence de piétons ou de véhicules,• video-assistance in road transport such as cars, trucks, construction equipment or dumpsters ... where video surveillance warns the driver by automatically detecting the presence of pedestrians or vehicles,
• l'indexation d'images en déterminant automatiquement la présence de certains objets, • l'assistance des personnes à domicile. On détecte, par exemple, les chutes par la reconnaissance de la posture debout ou assise des personnes surveillées...• the indexing of images by automatically determining the presence of certain objects, • the assistance of people at home. We detect, for example, the falls by the recognition of the standing or sitting posture of the supervised persons ...
De très nombreux travaux ont été réalisés dans ce domaine. Les méthodes les plus connues se basent, par exemple, pour la reconnaissance des personnes, sur des modèles d'intensité selon différentes attitudes. La publication de C. Curio, J. Edelbrunner et al., intitulée « Walking pedestrian récognition » et publiée dans IEEE Transactions on ITS, Vol. 1 No.3, pagesA lot of work has been done in this area. The best-known methods are based, for example, on the recognition of people, on intensity models according to different attitudes. The publication of C. Curio, J. Edelbrunner et al., Entitled "Walking pedestrian recognition" and published in IEEE Transactions on ITS, Vol. 1 No.3, pages
155-163, en Sept. 2000, décrit des modèles de ce type. Dans cette publication, les personnes sont recherchées en calculant à différentes échelles une distance avec les modèles de référence. Certaines approches proposent, dans ce même cadre, une hiérarchie d'attitudes. On citera le document de D. M. Gavrila, J. Giebel, « Shape-based pedestrian détection and tracking », publié dans Proc. of IEEE Intelligent Vehicles Symposiun, 2002. D'autres, comme le document de H. Nanda, L Davis, « Template based pedestrian détection in infrared videos », issu de Proc. of IEEE Intelligent Vehicles Symposium, 2002 définissent un modèle probabiliste pour décrire les attitudes possibles. On peut encore améliorer ces méthodes en les combinant aux approches basées sur une cascade de classifieurs également connus sous le terme anglais de classifier. Le document de P. Viola, M. Jones et al., « Robust real-time object détection », provenant du second International workshop on statistical and computational théories of vision, Vancouver, Canada, 2001 propose une approche de ce type.155-163, Sept. 2000, describes models of this type. In this publication, people are searched by calculating at different scales a distance from the reference models. Some approaches propose, within the same framework, a hierarchy of attitudes. The document by DM Gavrila, J. Giebel, "Shape-based pedestrian detection and tracking", published in Proc. IEEE Intelligent Vehicles Symposiun, 2002. Others, such as H. Nanda's document, L Davis, "Template based pedestrian detection in infrared videos", from Proc. of IEEE Intelligent Vehicles Symposium, 2002 define a probabilistic model to describe possible attitudes. These methods can be further enhanced by combining them with cascade-based approaches of classifiers also known as the classifier. The document by P. Viola, M. Jones et al., "Robust real-time object detection", from the second International workshop on statistical and computational theories of vision, Vancouver, Canada, 2001 proposes such an approach.
Dans cette dernière publication de Viola, il est décrit un procédé de détection d'images comprenant une phase d'apprentissage et une phase de reconnaissance. Ce procédé est basé sur l'utilisation de descripteurs mono-variables de type ondelettes de Haar, qui sont des descripteurs de forme relativement simples (voir les rectangles noirs et blancs de la figure 1 page 4 de ce document). L'algorithme d'apprentissage utilise un faible nombre de critères permettant de classifier les images. Il effectue un balayage de l'image et combine les descripteurs pour éliminer rapidement les parties de l'image ne contenant pas l'objet à reconnaître. Ce document décrit aussi l'utilisation d'images intégrales pour accélérer les calculs. Les descripteurs utilisés donnent des temps de calcul rapides mais sont trop élémentaires pour bien capturer l'information. Il en faut donc un grand nombre pour discriminer les images positives contenant l'objet recherché des images négatives ne contenant pas l'objet recherché.In this last publication of Viola, there is described an image detection method comprising a learning phase and a recognition phase. This method is based on the use of Haar wavelet type single-variable descriptors, which are relatively simple shape descriptors (see black and white rectangles in Figure 1 on page 4 of this document). The learning algorithm uses a small number of criteria for classifying images. It scans the image and combines the descriptors to quickly eliminate the parts of the image that do not contain the object to be recognized. This document also describes the use of integral images to speed up calculations. The descriptors used give fast computing times but are too basic to capture the information. A large number of them are needed to discriminate positive images containing the desired object from negative images that do not contain the desired object.
En résumé, la publication Viola et al. présente l'utilisation d'un ensemble de descripteurs mono-variables dans une cascade de classifieurs, où un descripteur mono-variable correspond à chaque étage de la cascade. Cette méthode a l'avantage de ne nécessiter que des calculs rudimentaires faits sur une variable à la fois, mais elle requiert des calculs sur un grand nombre de pixels, et beaucoup de ces calculs sont inutiles.In summary, the publication Viola et al. presents the use of a set of mono-variable descriptors in a cascade of classifiers, where a single-variable descriptor corresponds to each stage of the cascade. This method has the advantage of requiring only rudimentary calculations done on one variable at a time, but it requires calculations on a large number of pixels, and many of these calculations are useless.
Pour améliorer l'efficacité des descripteurs, le document de N. DaIaI and B. Triggs « Histograms of Oriented Gradients for Human Détection » issu de International Conférence on Computer Vision and Pattern Récognition, 2, 886-893, June 2005 décrit un procédé de détection basé sur un descripteur multi-variable utilisant au lieu d'ondelettes de Haar un histogramme des gradients d'orientation connu sous l'acronyme HOG, cet histogramme comportant 9 secteurs orientés de 0 degrés à 180 degrés avec normalisation locale des contrastes (voir le § 6 de ce document de N. DaIaI). Cette méthode permet d'être peu sensible aux variations d'intensité lumineuse. Ce document décrit l'utilisation d'un classifieur linéaire encore appelé SVM, acronyme de Séparatrice à Vaste Marge. Ce classifieur combiné au descripteur HOG permet de réduire Ie taux de faux positifs d'un ordre de grandeur par rapport aux ondelettes de Haar. Ce procédé utilise un seul détecteur et non pas une cascade de classifieurs. Cependant, pour certaines applications, ce procédé n'est pas suffisamment discriminant.To improve the efficiency of the descriptors, the document by N. DaIaI and B. Triggs "Histograms of Oriented Gradients for Human Detection" from International Conference on Computer Vision and Pattern Recognition, 2, 886-893, June 2005 describes a method of detection based on a multi-variable descriptor using instead of Haar wavelets a histogram of orientation gradients known by the acronym HOG, this histogram comprising 9 sectors oriented from 0 degrees to 180 degrees with local standardization of contrasts (see § 6 of this document by N. DaIaI). This method makes it possible to be insensitive to variations in light intensity. This document describes the use of a linear classifier also called SVM, an acronym for Separateur à Vande Marge. This classifier combined with the HOG descriptor makes it possible to reduce the false-positive rate by an order of magnitude compared to the Haar wavelets. This method uses a single detector and not a cascade of classifiers. However, for some applications, this method is not sufficiently discriminating.
Le procédé selon l'invention permet de pallier aux inconvénients précédents. Il permet d'obtenir des taux de détection élevés tout en conservant une rapidité de calcul importante. Ce procédé permet de déterminer la présence d'objets préalablement appris et de les localiser dans l'image. Ainsi, le procédé selon l'invention permet la compréhension automatique des scènes observées où l'indexation des images devient possible.The method according to the invention makes it possible to overcome the above disadvantages. It allows to obtain high detection rates while maintaining a high calculation speed. This method makes it possible to determine the presence of previously learned objects and to locate them in the image. Thus, the method according to the invention allows the automatic understanding of the scenes observed where the indexing of the images becomes possible.
Le procédé selon l'invention utilise un ensemble de descripteurs multi-vahables pour représenter une entité à reconnaître. Cet ensemble de descripteurs multi-variables correspondant à un grand nombre de composantes, ce nombre de composantes étant typiquement d'au moins un ordre de grandeur plus important que pour un ensemble de descripteurs mono-variable. L'utilisation de tels descripteurs multi-variable pose alors des problèmes de calcul et de choix pour obtenir un bon compromis entre la richesse des descripteurs et la vitesse de calcul.The method according to the invention uses a set of multi-variable descriptors to represent an entity to be recognized. This set of multi-variable descriptors corresponding to a large number of components, this number of components being typically at least an order of magnitude greater than for a set of single-variable descriptors. The use of such multi-variable descriptors then poses calculation and choice problems in order to obtain a good compromise between the richness of the descriptors and the speed of calculation.
II comporte principalement deux étapes. Une première étape préalable à la reconnaissance est l'apprentissage de l'entité à rechercher. Cet apprentissage consiste à paramétrer une cascade de classifieurs à partir d'une série d'imagettes d'exemples représentatifs de l'entité à reconnaître et d'une série d'imagettes ne contenant pas l'entité à reconnaître. Le paramétrage consiste à définir, pour chaque étage de la cascade, les composantes les plus discriminantes parmi un ensemble de descripteurs locaux multi-variables de l'image et les seuils associés permettant de reconnaître les entités recherchées. Enfin, l'étape de reconnaissance consiste à faire passer dans la cascade de classifieurs les parties de l'image pour lesquelles la recherche doit s'effectuer. Les parties de l'image ayant passées avec succès tous les étages de la cascade sont déclarées contenant l'entité recherchée.It consists mainly of two stages. A first step prior to recognition is the learning of the entity to search. This learning consists of setting up a cascade of classifiers from a series of thumbnails of examples representative of the entity to be recognized and a series of thumbnails that do not contain the entity to be recognized. The parameterization consists in defining, for each stage of the cascade, the most discriminating components among a set of local multi-variable descriptors of the image and the associated thresholds making it possible to recognize the searched entities. Finally, the recognition stage consists of passing in the cascade of classifiers the parts of the image for which research must be carried out. The parts of the image that have successfully passed all stages of the cascade are declared containing the desired entity.
Selon un mode de réalisation préféré de l'invention, un descripteur local multi-variable de l'image est constitué d'un histogramme de l'orientation des gradients et d'une composante de densité de la magnitude du gradient.According to a preferred embodiment of the invention, a multi-variable local descriptor of the image consists of a histogram of the orientation of the gradients and a density component of the magnitude of the gradient.
Un des aspects de l'invention réside dans le paramétrage judicieux de la cascade, qui permet de minimiser le nombre de descripteurs locaux multi-variables utilisés et à optimiser leur utilisation dans les étages successifs de la cascade. Le critère utilisé selon l'invention à chaque étage de la cascade pour sélectionner un descripteur local ou un sous-ensemble de descripteurs locaux est son efficacité à séparer statistiquement les imagettes contenant une entité à reconnaître des imagettes n'en contenant pas.One aspect of the invention resides in the judicious parameterization of the cascade, which makes it possible to minimize the number of local multi-variable descriptors used and to optimize their use in the successive stages of the cascade. The criterion used according to the invention at each stage of the cascade for selecting a local descriptor or a subset of local descriptors is its efficiency in statistically separating the images containing an entity to recognize thumbnails not containing them.
Ce procédé présente de nombreux avantages par rapport aux procédés de l'art antérieur énumérés ci-dessus :This method has many advantages over the prior art methods listed above:
• II est basé sur de nouveaux types de descripteurs multi- variables composés d'une part, d'un histogramme de direction du gradient, éventuellement pondéré par la magnitude, et d'autre part d'une composante liée à la densité de la magnitude du gradient dans la zone de calcul. Ce descripteur est calculé de manière à être invariant aux changements affines de luminosité ;• It is based on new types of multivariable descriptors composed on the one hand, a histogram of gradient direction, possibly weighted by magnitude, and on the other hand a component related to the density of the magnitude. of the gradient in the calculation area. This descriptor is calculated to be invariant to affine changes in brightness;
• L'utilisation d'images intégrales permet l'implémentation rapide du calcul du descripteur ;• The use of integral images allows the quick implementation of the descriptor calculation;
• La phase d'apprentissage est gérée de sorte qu'une recherche quasi exhaustive est faite sur le nombre et l'emplacement des descripteurs possibles ;• The learning phase is managed so that an almost exhaustive search is made on the number and location of possible descriptors;
• Un parcours rapide de l'image ligne par ligne permet de limiter les accès mémoire distants lors de la phase de reconnaissance et permet un gain de temps d'exécution notable. Plus précisément, l'invention a pour objet un procédé de reconnaissance et de localisation automatique d'une entité dans une image numérique composée de pixels ayant chacun un niveau de luminance, lesdits pixels formant une matrice de lignes et de colonnes, les pixels étant indicés (i, j) dans ladite matrice, ledit procédé comprenant une première étape dite d'apprentissage et une seconde étape dite de reconnaissance,• A quick line-by-line image allows you to limit remote memory access during the recognition phase and saves significant execution time. More specifically, the subject of the invention is a method for recognizing and automatically locating an entity in a digital image composed of pixels each having a luminance level, said pixels forming a matrix of rows and columns, the pixels being indexed (i, j) in said matrix, said method comprising a first so-called learning step and a second so-called recognition step,
• l'étape d'apprentissage consistant à paramétrer une cascade composée d'étages de classifieurs à partir d'une série d'imagettes de l'entité à reconnaître et d'une série d'imagettes ne contenant pas l'entité à reconnaître,The learning step of setting up a cascade composed of stages of classifiers from a series of images of the entity to be recognized and a series of images not containing the entity to be recognized,
• l'étape de reconnaissance consistant à faire passer dans la cascade de classifieurs les parties de l'image numérique pour lesquels la recherche doit s'effectuer, les parties de l'image ayant passé avec succès tous les étages de la cascade étant déclarées contenant l'entité recherchée, caractérisé en ce que chacune des différentes images analysées par le procédé est représentée par un ensemble de descripteurs locaux multi- variables, et en ce que le paramétrage de la cascade de classifieurs consiste à sélectionner pour chaque étage un sous-ensemble de composantes parmi l'ensemble des descripteurs locaux multi-variables en fonction de leur efficacité à séparer statistiquement les imagettes contenant ou ne contenant pas l'entité à reconnnaître.The recognition step of passing in the cascade of classifiers the parts of the digital image for which the search is to be made, the parts of the image having successfully passed all the stages of the cascade being declared containing the desired entity, characterized in that each of the different images analyzed by the method is represented by a set of multi-variable local descriptors, and in that the parameterization of the cascade of classifiers consists in selecting for each stage a subset of components among the set of multi-variable local descriptors according to their efficiency in statistically separating the images containing or not containing the entity to be recognized.
Avantageusement, chaque descripteur local multi-variable est constitué d'une part d'un histogramme d'orientation des gradients d'intensité dans l'image en fonction de directions données comprenant N composantes et d'autre part de la somme de la magnitude du gradient dans l'image divisée par la surface de ladite image.Advantageously, each multi-variable local descriptor consists on the one hand of a histogram of orientation of the intensity gradients in the image as a function of given directions comprising N components and on the other hand of the sum of the magnitude of the gradient in the image divided by the surface of said image.
Avantageusement, l'histogramme comporte neuf composantes dont les directions varient de 0 degré à 180 degrés. Avantageusement, le calcul des descripteurs locaux multi- variables comporte les étapes préalables suivantes :Advantageously, the histogram comprises nine components whose directions vary from 0 degrees to 180 degrees. Advantageously, the calculation of the local multi-variable descriptors comprises the following preliminary steps:
• Les coordonnées de l'image étant définies dans un repère orthogonal (i, j), calcul des dérivées de la luminance en i et j en chaque pixel de l'image ; • Calcul des orientations et de la magnitude du gradient de luminance en chaque pixel ;• The coordinates of the image being defined in an orthogonal coordinate system (i, j), calculation of the luminance derivatives in i and j in each pixel of the image; • Calculation of the orientations and the magnitude of the luminance gradient in each pixel;
• Calcul des N images d'orientation correspondantes aux N composantes de l'histogramme ; • Calcul des N+1 images intégrales correspondantes aux N images d'orientation et à l'image intégrale de la magnitude, l'image intégrale d'un paramètre d'un pixel de coordonnées (i, j) étant égale à la somme des mêmes paramètres pour les pixels de coordonnées (x, y) dont les coordonnées x et y sont toutes deux inférieures ou égales respectivement à i et j.• Calculation of N orientation images corresponding to the N components of the histogram; • Calculation of the N + 1 integral images corresponding to the N orientation images and the integral image of the magnitude, the integral image of a parameter of a coordinate pixel (i, j) being equal to the sum of the same parameters for the coordinate pixels (x, y) whose x and y coordinates are both less than or equal to i and j, respectively.
Avantageusement, le calcul de l'histogramme comporte une étape de normalisation du gradient de la luminance en chaque pixel, ladite étape étant réalisée en deux sous-étapes successives, ladite première sous-étape consistant à calculer l'écart-type de la luminance dans une fenêtre glissante, ladite seconde sous-étape consistant à multiplier la magnitude du gradient de luminance en chaque pixel par le rapport entre l'écart-type calculé sur la fenêtre glissante et un écart-type de référence.Advantageously, the computation of the histogram comprises a step of normalization of the luminance gradient in each pixel, said step being carried out in two successive substeps, said first substep consisting in calculating the standard deviation of the luminance in a sliding window, said second sub-step of multiplying the magnitude of the luminance gradient in each pixel by the ratio between the standard deviation calculated on the sliding window and a standard deviation of reference.
Avantageusement, lorsque l'écart-type de la luminance dans une fenêtre glissante est inférieur ou égal à une valeur minimale, la seconde sous-étape est supprimée.Advantageously, when the standard deviation of the luminance in a sliding window is less than or equal to a minimum value, the second sub-step is deleted.
Avantageusement, les composantes de l'histogramme sont normées de façon que leur somme soit égale à l'unité.Advantageously, the components of the histogram are standardized so that their sum is equal to unity.
Avantageusement, l'algorithme de classification est du type AdaBoost, les classifieurs étant de type faibles, c'est-à-dire des algorithmes capables de discriminer deux classes d'objets au moins aussi bien que le hasard.Advantageously, the classification algorithm is of the AdaBoost type, the classifiers being of weak type, that is to say algorithms capable of discriminating two classes of objects at least as well as chance.
Avantageusement, l'entraînement d'un niveau de la cascade peut être réalisé, dans un premier mode de réalisation, selon les sous-étapes suivantes : • Calcul de tous les descripteurs locaux multi-variables sur des imagettes préalablement sélectionnées comportant ou ne comportant pas l'entité à reconnaître ;Advantageously, the training of a level of the cascade can be carried out, in a first embodiment, according to the following substeps: • Calculation of all local multi-variable descriptors on previously selected images having or not including the entity to recognize;
• Lancement d'un logiciel « d'apprentissage par combinaison de décisions », plus connu sous le nom d'« AdaBoost » sur toutes les composantes de tous les descripteurs précédents ; • Calcul des descripteurs dits descripteurs choisis d'où sont extraits les composantes retenues ;• Launch of "combination learning" software, better known as "AdaBoost" on all components of all previous descriptors; • Calculation of the descriptors chosen descriptors from which are extracted the selected components;
• Second lancement du logiciel « d'apprentissage par combinaison de décisions » uniquement sur les composantes des descripteurs choisis ;• Second launch of the "combination learning" software only on the components of the chosen descriptors;
• Adaptation du seuil du classifieur final afin d'obtenir un taux de détection minimum voulu.• Adaptation of the threshold of the final classifier to obtain a desired minimum detection rate.
Avantageusement, l'entraînement d'un niveau de la cascade est réalisé, dans un second mode de réalisation, selon les sous-étapes suivantes :Advantageously, the driving of a level of the cascade is carried out, in a second embodiment, according to the following substeps:
• Calcul de tous les descripteurs locaux multi-variables sur des imagettes préalablement sélectionnées comportant ou ne comportant pas l'entité à reconnaître ;• Calculation of all multi-variable local descriptors on previously selected thumbnails with or without the entity to be recognized;
• Lancement du logiciel « d'apprentissage par combinaison de décisions » sur toutes les composantes de tous les descripteurs ;• Launch of "learning by combining decisions" software on all components of all descriptors;
• Adaptation du seuil du classifieur final afin d'obtenir le taux de détection minimum voulu.• Adaptation of the threshold of the final classifier in order to obtain the desired minimum detection rate.
De plus, chaque étage de la cascade ayant un premier taux de détection de l'entité présente dans une imagette et un second taux de détection de l'entité absente dans une imagette, le nombre d'étages est tel que le taux global de détection de l'entité présente dans une imagette par la cascade dépasse 97 pour cent et que le taux global de détection de l'entité absente dans une imagette soit inférieur à un milliardième.In addition, each stage of the cascade having a first detection rate of the entity present in a thumbnail and a second detection rate of the entity absent in a thumbnail, the number of stages is such that the overall detection rate of the entity present in a thumbnail by the cascade exceeds 97 percent and that the overall detection rate of the entity absent in a thumbnail is less than one billionth.
Enfin, le calcul des descripteurs d'un étage ainsi que le score de classification associé est effectué pour toute une ligne de l'image.Finally, the calculation of the descriptors of a stage as well as the associated classification score is made for a whole line of the image.
L'invention sera mieux comprise et d'autres avantages apparaîtront à la lecture de la description qui va suivre donnée à titre non limitatif et grâce aux figures annexées parmi lesquelles :The invention will be better understood and other advantages will become apparent on reading the description which follows given by way of non-limiting example and by virtue of the appended figures among which:
La figure 1 représente le principe général du procédé mis en œuvre dans une image numérique ;FIG. 1 represents the general principle of the method implemented in a digital image;
La figure 2 représente des imagettes de l'entité à reconnaître ; La figure 3 représente le principe de la normalisation de la magnitude du gradient de la luminance d'un pixel de l'image ;Figure 2 shows thumbnails of the entity to be recognized; FIG. 3 represents the principle of the normalization of the magnitude of the gradient of the luminance of a pixel of the image;
La figure 4 représente le principe de calcul de l'image intégrale d'un pixel ; La figure 5 représente le principe de calcul de l'image intégrale d'une zone de pixels ;FIG. 4 represents the principle of calculating the integral image of a pixel; FIG. 5 represents the principle of calculating the integral image of a zone of pixels;
La figure 6 représente le principe de calcul de l'histogramme des gradients d'intensité dans l'image ;FIG. 6 represents the principle of calculating the histogram of intensity gradients in the image;
La figure 7 représente le principe de fonctionnement de l'étape de reconnaissance.Figure 7 shows the operating principle of the recognition step.
Le procédé comprend deux étapes. Dans l'étape de reconnaissance, on déplace un ensemble de fenêtres dans l'image afin de rechercher l'objet. Cet ensemble est composé de fenêtres de différentes tailles car les tailles possibles de l'objet dans l'image ne sont pas connues et varient en fonction de la distance de l'objet à l'appareil de prise de vue. Cette étape est illustrée en figure 1. Cette figure représente une vue d'une rue comportant des silhouettes de personnes qu'il faut discriminer au milieu des véhicules et des habitations. Les trois rectangles entourés de blanc sont des silhouettes S précédemment discriminées. Le rectangle F entouré de blanc comportant une flèche verticale et une flèche horizontale correspond à la fenêtre de déplacement qui peut se déplacer dans les sens horizontal et vertical. Des descripteurs locaux multi-variables des imagettes contenues dans chaque fenêtre sont calculés et leur vraisemblance est testée. Globalement beaucoup de fenêtres sont testées et peu d'entre elles contiennent des objets d'intérêt. En utilisant une cascade de classifieurs, on ajoute progressivement des descripteurs plus complexes à chaque étage de la cascade pour devenir de plus en plus sélectif. Les premiers niveaux de la cascade éliminent les fenêtres dont le contenu est peu ressemblant à l'objet à rechercher, les niveaux suivants calculent des descripteurs de plus en plus complexes et de plus en plus proches de l'objet à rechercher. Ainsi, le nombre de fenêtres diminue très rapidement dans les différents étages de la cascade, permettant un parcours rapide de l'image.The process comprises two steps. In the recognition step, a set of windows is moved in the image to search for the object. This set consists of windows of different sizes because the possible sizes of the object in the image are not known and vary according to the distance of the object to the camera. This step is illustrated in Figure 1. This figure represents a view of a street with silhouettes of people to discriminate among vehicles and homes. The three rectangles surrounded by white are previously discriminated S shapes. The rectangle F surrounded by white with a vertical arrow and a horizontal arrow corresponds to the moving window that can move in the horizontal and vertical directions. Multi-variable local descriptors of the thumbnails contained in each window are calculated and their likelihood is tested. Globally many windows are tested and few of them contain objects of interest. Using a cascade of classifiers, more complex descriptors are gradually added to each stage of the cascade to become more and more selective. The first levels of the cascade eliminate the windows whose contents are little resembling the object to be sought, the following levels calculate descriptors more and more complex and closer and closer to the object to seek. Thus, the number of windows decreases very quickly in the different stages of the cascade, allowing a fast course of the image.
La forme des objets à reconnaître est représentée par un ensemble de descripteurs locaux multi-variables, préférentiellement basés sur la direction et la densité du gradient de l'intensité lumineuse. Sur la figure 2, on cherche à identifier un visage humain au moyen d'un ensemble de descripteurs locaux adaptés représentés par les différents rectangles blancs F de la figure 2. Comme on le voit sur cette figure, un premier descripteur peut correspondre à l'ensemble du visage et des descripteurs secondaires à des zones plus précises comme le nez, la bouche ou les yeux. Ce type de signature a déjà été utilisé en reconnaissance des formes, par exemple pour la reconnaissance de la position des mains comme il est décrit dans la publication de W. T. Freeman and M. Roth intitulée « Orientation Histograms for Hand Gesture Récognition » publiée dans IEEE Intl. Wkshp. on Automatic Face and Gesture Récognition, Zurich, June 1995 ou plus récemment la détection de formes humaines. On se reportera pour ce dernier point à la publication de N. DaIaI and B. Triggs intitulée « Histograms of Oriented Gradients for Human Détection », publiée dans International Conférence on Computer Vision and Pattern Récognition, 2, 886-893, June 2005.The shape of the objects to be recognized is represented by a set of local multi-variable descriptors, preferably based on the direction and the density of the gradient of the light intensity. In Figure 2, we seek to identify a human face by means of a set of adapted local descriptors represented by the different white rectangles F of Figure 2. As seen in this figure, a first descriptor can correspond to the whole face and descriptors secondary to more specific areas such as the nose, mouth or the eyes. This type of signature has already been used in pattern recognition, for example for the recognition of hand position as described in the WT Freeman and M. Roth publication "Guidance Histograms for Hand Gesture Recognition" published in IEEE Intl. . WkShp. on Automatic Face and Gesture Recognition, Zurich, June 1995 or more recently the detection of human forms. For this last point, see N. DaIaI and B. Triggs, "Histograms of Oriented Gradients for Human Detection," published in International Conference on Computer Vision and Pattern Recognition, 2, 886-893, June 2005.
Dans le procédé selon l'invention, l'apparence des objets est capturée par plusieurs descripteurs locaux multi-variables. Chacun d'eux est formé d'une part :In the method according to the invention, the appearance of the objects is captured by several local multi-variable descriptors. Each of them is formed on the one hand:
• d'un histogramme de la direction du gradient, éventuellement pondéré par la magnitude • ainsi que de la magnitude du gradient divisé par la surface de la zone locale.• a histogram of the direction of the gradient, possibly weighted by the magnitude • as well as the magnitude of the gradient divided by the area of the local area.
La signature du gradient d'intensité lumineuse est construite après le calcul des dérivées horizontales et verticales de l'image réalisées grâce à l'algorithme récursif de calcul des dérivées proposé par Deriche dans les documents de références intitulés « Using canny's criteria to dérive a recursively implemented optimal edge detector » extrait de The International Journal of Computer Vision, 1(2): 167-187, May 1987 et « Fast algorithme for low-level vision », extrait de IEEE Transactions on Pattern Analysis and Machine Intelligence, 1(12):78-88, January 1990.The signature of the luminous intensity gradient is constructed after the computation of the horizontal and vertical derivatives of the image realized thanks to the recursive algorithm of computation of the derivatives proposed by Deriche in the reference documents titled "Using canny's criteria to derives a recursively implemented optimal edge detector "from The International Journal of Computer Vision, 1 (2): 167-187, May 1987 and" Fast algorithm for low-level vision ", excerpt from IEEE Transactions on Pattern Analysis and Machine Intelligence, 1 (12). ): 78-88, January 1990.
Lors du calcul de la signature, la magnitude du gradient est accumulée dans la composante de l'histogramme correspondant à cette direction. On utilise préférentiellement un histogramme comportant neuf composantes dont les directions varient de 0 à 180 degrés. En effet, on constate que neuf directions d'orientation représentent un bon compromis entre discrimination et rapidité de calcul. L'histogramme est ensuite norme afin de former une distribution, pour cela on calcule la somme des composantes de l'histogramme, puis on divise chacune de ces composantes par cette somme.When calculating the signature, the magnitude of the gradient is accumulated in the component of the histogram corresponding to this direction. A histogram having nine components whose directions vary from 0 to 180 degrees is preferentially used. Indeed, we notes that nine orientation directorates represent a good compromise between discrimination and speed of calculation. The histogram is then standard to form a distribution, for that we calculate the sum of the components of the histogram, then we divide each of these components by this sum.
L'histogramme d'orientation est enrichi de la somme de la magnitude du gradient dans la zone locale divisé par la surface de la zone. Cette composante supplémentaire renseigne sur la présence de contour dans la zone indépendamment de son orientation. L'expérience montre qu'elle est très souvent choisie par l'algorithme de classification dans les premiers niveaux de la cascade. Elle permet donc une discrimination grossière mais rapide entre le fond de l'image et les motifs recherchés.The orientation histogram is enriched by the sum of the magnitude of the gradient in the local area divided by the surface of the area. This additional component informs about the presence of contour in the zone regardless of its orientation. Experience shows that it is very often chosen by the classification algorithm in the first levels of the cascade. It therefore allows a rough but rapid discrimination between the background of the image and the desired patterns.
Puis, on réalise une normalisation du gradient de la luminance, car les variations d'éclairage de la scène influencent directement les dérivées du signal. En effet, dans le cas d'une variation linéaire de la luminance l'(u,v) du type a.l(u,v)+b, la dérivée du signal est multiplié par a. Il en va de même pour l'écart-type du signal de luminance qui est multiplié par ce même facteur a. Aussi, préalablement au calcul des signatures, on calcule l'écart- type du signal de luminance dans une fenêtre glissante que l'on déplace dans l'image comme illustré en figure 3 où le carré centré sur le pixel P représente la fenêtre glissante F. G.. La magnitude du gradient du pixel situé au centre de la fenêtre glissante est ensuite multipliée par le rapport entre l'écart type calculé sur la fenêtre et un écart type de référence. Dans le cas où l'écart-type calculé sur la fenêtre est trop faible, la magnitude reste inchangée, car appliquer la normalisation dans ce cas ne fait que rehausser le bruit de l'image.Then, a normalization of the luminance gradient is realized, since the lighting variations of the scene directly influence the derivatives of the signal. Indeed, in the case of a linear variation of the luminance the (u, v) of the type a.l (u, v) + b, the derivative of the signal is multiplied by a. The same is true for the standard deviation of the luminance signal which is multiplied by the same factor a. Also, prior to the calculation of the signatures, the standard deviation of the luminance signal is calculated in a sliding window that is moved in the image as illustrated in FIG. 3 where the square centered on the pixel P represents the sliding window FG The magnitude of the pixel gradient at the center of the sliding window is then multiplied by the ratio of the standard deviation calculated on the window to a reference standard deviation. In the case where the standard deviation calculated on the window is too small, the magnitude remains unchanged, because to apply the normalization in this case only enhances the noise of the image.
Le calcul de tous les descripteurs locaux multi-variables par la méthode classique utilisée pour la construction d'un histogramme est trop long pour permettre une utilisation temps réel de cette signature. Il est préférable d'utiliser la technique des images intégrales afin d'accélérer cette étape telle qu'on la trouve décrite dans la publication de F. Porkili « Intégral Histogram: A fast way to extract histograms in cartesian spaces » issue de In Proc. IEEE Conf. on Computer Vision and Pattem Récognition (CVPR), 2005.The computation of all the local multi-variable descriptors by the classical method used for the construction of a histogram is too long to allow a real time use of this signature. It is preferable to use the technique of integral images to accelerate this step as it is described in the publication of F. Porkili "Integral Histogram: A fast way to extract histograms in cartesian spaces" from In Proc. IEEE Conf. on Computer Vision and Pattem Recognition (CVPR), 2005.
On définit une image intégrale de la façon suivante. Chaque pixel de coordonnée (i, j) d'une image intégrale imlnt contient la somme des pixels de l'image originale im de la ligne 0 à i et de la colonne 0 à j.An integral image is defined as follows. Each pixel of coordinate (i, j) of an integral image imlnt contains the sum of the pixels of the original image im of the line 0 to i and the column 0 to j.
Ainsi : imlnt{i, j) = ∑ im(x, y)So: imlnt {i, j) = Σ im (x, y)
()<x<ι,0≤y<j() <X <ι, 0≤y <j
La définition d'une image intégrale est illustrée en figure 4. L'ensemble des points représentés en pointillés correspond à l'image intégrale 1.1. du pixel A. Par ce moyen, le calcul de la somme des pixels compris dans une zone rectangulaire délimitée par les points A, B, C et D s'effectue toujours de la manière suivante : imlnt(ia J0) - imlnt {ih ,jb) - imlnt(id , jd ) + imlnt (ic , jc )The definition of an integral image is illustrated in FIG. 4. The set of points represented in dashed lines corresponds to the integral image 1.1. of the pixel A. By this means, the calculation of the sum of the pixels included in a rectangular zone delimited by the points A, B, C and D is always carried out as follows: imlnt (i a J 0 ) - imlnt { i h, j b) - imlnt (d i, d j) + imlnt (i c, j c)
Ce calcul est illustré en figure 5. Le calcul de cette somme est donc indépendant de la taille de zone sur laquelle on somme. C'est cette propriété qui est utilisée par la suite pour le calcul du descripteur.This calculation is illustrated in FIG. 5. The calculation of this sum is therefore independent of the size of the area on which one sums. It is this property which is used later for the descriptor calculation.
La composante C d'un histogramme local est égale à la somme de la magnitude des pixels dont la direction du gradient correspond à cette composante C. Ainsi, dans le cas d'un histogramme à N composantes, on définit N images d'orientation dans lesquelles on recopie la magnitude du gradient en fonction de sa direction.The component C of a local histogram is equal to the sum of the magnitude of the pixels whose direction of the gradient corresponds to this component C. Thus, in the case of an N-component histogram, N orientation images are defined in which one recopies the magnitude of the gradient according to its direction.
Préalablement à tous calculs de descripteurs, on doit donc réaliser les opérations suivantes :Prior to any descriptor calculations, the following operations must be performed:
• Les coordonnées de l'image étant définies dans un repère orthogonal (i, j), calcul des dérivées de la luminance en i et j en chaque pixel de l'image ; • Calcul des orientations et de la magnitude du gradient de luminance en chaque pixel ;• The coordinates of the image being defined in an orthogonal coordinate system (i, j), calculation of the luminance derivatives in i and j in each pixel of the image; • Calculation of the orientations and the magnitude of the luminance gradient in each pixel;
• Calcul des N images d'orientation correspondantes aux N composantes de l'histogramme ; • Calcul des N+1 images intégrales correspondantes aux N images d'orientation et à l'image intégrale de la magnitude, l'image intégrale d'un paramètre d'un pixel de coordonnées (i, j) étant égale à la somme des mêmes paramètres pour les pixels de coordonnées (x, y) dont les coordonnées x et y sont toutes deux inférieures ou égales respectivement à i et j.• Calculation of N orientation images corresponding to the N components of the histogram; • Calculation of the N + 1 integral images corresponding to the N orientation images and the integral image of the magnitude, the integral image of a parameter of a coordinate pixel (i, j) being equal to the sum of the same parameters for the coordinate pixels (x, y) whose x and y coordinates are both less than or equal to i and j, respectively.
La succession des opérations ci-dessus est illustrée en figure 6. A partir des informations d'orientation O et de magnitude M symbolisées par des losanges, on calcule les N images d'orientation I.O. correspondantes aux N composantes de l'histogramme, puis les N images intégrales 1.1.0. correspondantes aux N images d'orientation ainsi que l'image intégrale 1.1. M. de la magnitude. Le calcul de l'histogramme H sur une zone quelconque de l'image est ensuite réalisé à coût fixe par l'évaluation des N sommes correspondantes aux N composantes C. Il en va de même pour le calcul de la magnitude du gradient sur la zone locale, l'image intégrale de la magnitude est tout d'abord calculée afin d'accélérer les calculs ultérieurs.The sequence of operations above is illustrated in FIG. 6. From the orientation information O and magnitude M symbolized by diamonds, the N IO orientation images are calculated. corresponding to the N components of the histogram, then the N integral images 1.1.0. corresponding to the N orientation images as well as the integral image 1.1. M. of the magnitude. The calculation of the histogram H on any area of the image is then carried out at fixed cost by the evaluation of N sums corresponding to the N components C. The same goes for the calculation of the magnitude of the gradient on the zone local, the integral image of the magnitude is first calculated to accelerate subsequent calculations.
Ainsi, comme illustré en figure 6, l'utilisation du descripteur contenant un histogramme de neuf composantes nécessite le calcul de neuf images d'orientation suivi du calcul de dix images intégrales, neuf correspondant aux images d'orientation, la dernière correspondant à la magnitude.Thus, as illustrated in FIG. 6, the use of the descriptor containing a histogram of nine components requires the calculation of nine orientation images followed by the calculation of ten integral images, nine corresponding to the orientation images, the last corresponding to the magnitude. .
II est possible de calculer une seule composante de l'histogramme indépendamment des huit autres. En effet, l'histogramme étant pondéré par la magnitude du gradient, la somme des neuf composantes est égale à la somme de la magnitude du gradient sur la zone de calcul. Il n'est pas nécessaire de calculer les neuf composantes pour en connaître la somme. Le calcul d'une seule composante de l'histogramme est réalisé tout d'abord en évaluant la somme de la magnitude correspondant à cette orientation puis, par la division de cette somme par la somme de la magnitude.It is possible to calculate a single component of the histogram independently of the other eight. Indeed, the histogram being weighted by the magnitude of the gradient, the sum of the nine components is equal to the sum of the magnitude of the gradient on the area of calculation. It is not necessary to calculate the nine components to know the sum. The calculation of a single component of the histogram is done first by evaluating the sum of the magnitude corresponding to this orientation and then by dividing this sum by the sum of the magnitude.
Pour effectuer la recherche d'entités dans l'image, il faut au préalable avoir paramétré les différents étages de la cascade. Ce paramétrage, appelé aussi entraînement, s'effectue à partir d'une « vérité terrain », composé d'un ensemble d'imagettes contenant l'objet à rechercher que l'on note exemples positifs et d'un ensemble d'imagettes ne contenant pas un tel objet, exemples dits négatifs. Selon un mode de réalisation, le nombre de descripteurs locaux multi-vahables utilisé est défini arbitrairement pour chaque étage. Selon un autre mode de réalisation, le nombre de descripteurs locaux multi-vahables est choisi d'avance pour chaque étage ou pour certains étages. Par exemple, le premier étage peut comprendre un descripteur, le second deux, le troisième trois...To search for entities in the image, you must first have set the different stages of the cascade. This parametrization, also called training, is made from a "ground truth", consisting of a set of thumbnails containing the object to be searched for positive examples and a set of thumbnails containing not such an object, so-called negative examples. According to one embodiment, the number of local multi-vahangable descriptors used is arbitrarily defined for each stage. According to another embodiment, the number of multi-vault local descriptors is chosen in advance for each floor or for certain floors. For example, the first floor may include a descriptor, the second one, the third three ...
Chaque étage est entraîné pour détecter une très grande majorité des objets à rechercher et de manière à minimiser le taux de faux positifs, c'est-à-dire des fenêtres reconnues comme contenant l'objet à tort. Le taux global de bonne détection de la cascade est égal au produit des taux de détection de l'ensemble des étages. Il en est de même pour le taux de faux positifs. Par exemple, si la cascade comporte 30 étages ayant chacun un taux de détection de 99,9% et un taux de faux positif de 50%, alors, le taux de détection est égal à 0,99930, soit 97 % et le taux de faux positif est égal à 0,530, soit 10"9. Ainsi, 97% des objets sont détectés pour une erreur par milliard de fenêtres explorées. La figure 7 illustre de façon schématique le passage d'un ensemble de fenêtres F représentant une image dans les étages E, de la cascade. Les étages E, sont représentés par des losanges. Chaque losange a une entrée et deux sorties symbolisées par des flèches sur la figure 7. Les fenêtres sélectionnées FA passent par les sorties horizontales. Les fenêtres rejetées FR passent par les sorties verticales. En dimensionnant le nombre de descripteurs de chaque étage, il est possible de dimensionner la complexité de la tâche en fonction du nombre de sous- fenêtres restant à tester. Ainsi, comme illustré sur les deux graphes en bas de la figure 7, la complexité de la tâche augmente lorsque le nombre de sous-fenêtres diminue.Each floor is trained to detect a very large majority of the objects to be searched and in order to minimize the false-positive rate, that is to say the windows recognized as containing the object wrongly. The overall rate of good detection of the cascade is equal to the product of the detection rates of all the stages. The same is true for the false-positive rate. For example, if the cascade includes 30 stages each having a 99.9% detection rate and a false positive rate of 50%, then the detection rate is equal to 0.999 30 97% and the rate of false positive is equal to 0.5 30 , ie 10 "9. Thus, 97% of the objects are detected for an error per billion of windows explored Figure 7 schematically illustrates the passage of a set of windows F representing an image in the E stages of the waterfall The E stages are represented by lozenges Each rhombus has one input and two outputs symbolized by arrows in Figure 7. The selected windows F A pass through the horizontal outlets. F R passes through the vertical outputs By dimensioning the number of descriptors for each stage, it is possible to size the complexity of the task according to the number of sub-windows remaining to be tested, as shown on the two graphs below. of In Figure 7, the complexity of the task increases as the number of sub-windows decreases.
Si l'on suppose 50000 fenêtres par image, alors on a, en moyenne, une erreur toutes les 20000 images.If we assume 50000 windows per image, then we have, on average, an error every 20000 images.
Le nombre de descripteurs, ainsi que leurs tailles et positions relatives sont choisis selon la méthode exposée ci-dessus lors de la phase d'apprentissage. Le nombre descripteurs retenus dépend du taux de détection minimum et du taux de faux positifs maximum qu'on autorise à chaque étage. Ce nombre augmente au fur et à mesure que l'on progresse dans la cascade du fait de la complexité croissante de la tâche de classification à accomplir.The number of descriptors, their relative sizes and positions are chosen according to the method described above during the phase learning. The number of descriptors selected depends on the minimum detection rate and the maximum false-positive rate allowed on each floor. This number increases as one progresses in the cascade because of the increasing complexity of the classification task to be performed.
Lors de la phase d'apprentissage, un grand nombre de descripteurs qui peut être de plusieurs centaines ayant des tailles et des positions différentes sont calculés sur les exemples positifs et négatifs. Cette phase est mise en œuvre au moyen d'un algorithme de classification performant nommé « AdaBoost ». « AdaBoost » est la contraction des termes « Adaptive Boosting » qui peuvent être traduits par « Apprentissage par combinaison de décisions ou dopage ». Les pères de cet algorithme sont Yoav Freund et Robert Scapire. On se reportera, pour toutes informations sur cet algorithme, aux publications de J. H. Friedman, T. Hastie, and R. Tibshirani intitulée « Additive logistic régression: a statistical view of boosting » du Dept. of Statistics, Stanford University Technical Report.1998 et de Y. Singer and R. Schapire intitulée « Improved boosting algorithms using confidence-rated prédictions » de Machine Learning 37, 237-336. 1999.During the learning phase, a large number of descriptors that can be several hundred with different sizes and positions are calculated on the positive and negative examples. This phase is implemented using a powerful classification algorithm called "AdaBoost". "AdaBoost" is the contraction of the terms "Adaptive Boosting" that can be translated as "learning by combination of decisions or doping". The fathers of this algorithm are Yoav Freund and Robert Scapire. For information on this algorithm, see the publications of J. H. Friedman, T. Hastie, and R. Tibshirani entitled "Additive logistic regression: a statistical view of boosting" of the Dept. of Statistics, Stanford University Technical Report.1998 and Y. Singer and R. Schapire entitled "Improved boosting algorithms using confidence-rated predictions" from Machine Learning 37, 237-336. 1999.
Cet algorithme réalise la minimisation des erreurs de classification par ajouts progressifs de « classifieurs faibles », dans le cas présent des arbres de décision limités à un niveau, connus également sous leur dénomination anglo-saxonne de « décision stump ».This algorithm achieves the minimization of classification errors by progressive additions of "weak classifiers", in this case one-level decision trees, also known by their Anglo-Saxon name of "stump decision".
On appelle classifieur faible un algorithme capable de discriminer deux classes d'objet au moins aussi bien que le hasard le ferait, c'est-à-dire qu'il ne se trompe pas plus d'une fois sur deux en moyenne. Le classifieur fourni est ensuite pondéré par la qualité de sa classification : plus il classe bien, plus il sera important. A chaque phase d'apprentissage est associé un poids, ce poids est augmenté dans le cas où l'exemple est mal classé, diminué sinon. Les exemples incorrectement classés prennent donc plus d'importance vis à vis du classifieur faible lors des différentes phases d'apprentissage successives appelées communément « round de boosting », ceci afin de compenser les erreurs commises par les précédents classifieurs. Le classifieur final est ainsi constitué de la somme pondérée des sorties des classifieurs faibles. La forme étudiée sera classifiée positivement, c'est-à-dire comme un objet à reconnaître si cette somme est supérieure à zéro, négativement dans le cas contraire.A weak classifier is an algorithm capable of discriminating two classes of objects at least as well as chance would, that is to say, it does not err more than once in two on average. The classifier provided is then weighted by the quality of its classification: the better it ranks, the more important it will be. At each learning phase is associated a weight, this weight is increased in the case where the example is misclassified, decreased otherwise. The incorrectly classified examples therefore take on more importance with respect to the weak classifier during the different successive learning phases, commonly called "boosting rounds", in order to compensate for the errors made by the previous classifiers. The final classifier thus consists of the weighted sum of the outputs of the weak classifiers. The studied form will be classified positively, that is to say as an object to be recognized if this sum is greater than zero, negatively in the opposite case.
Les avantages de cette méthode sont multiples : outre le fait qu'elle permet d'obtenir de très bons résultats de classification, elle repose sur de solides fondations théoriques. De plus l'algorithme est robuste, rapide lors de la phase de détection et enfin, paramétrable. La procédure générale de l'algorithme est décrite ci-dessous :The advantages of this method are numerous: besides the fact that it makes it possible to obtain very good results of classification, it relies on solid theoretical foundations. Moreover the algorithm is robust, fast during the detection phase and finally, parameterizable. The general procedure of the algorithm is described below:
Phase d'initialisation :Initialization phase:
Entrées : m exemples x, vecteur de caractéristique et leurs classes y, appartenant à l'intervalle {-1 , +1} ;Inputs: m examples x, feature vector and their classes y, belonging to the interval {-1, +1};
T étant le nombre d'itérations à effectuer ; ht(x) étant un classifieur faible choisi à l'itération t ;T being the number of iterations to be performed; h t (x) being a weak classifier chosen at the iteration t;
Sortie : H(x) le classifieur final.Output: H (x) the final classifier.
Initialisation des poids des exemples Di(i) = 1 / m.Initialization of the weights of the examples Di (i) = 1 / m.
Phase d'itérations :Iterations phase:
Pour t = 1 à TFor t = 1 to T
Entraînement du classifieur faible en utilisant la distribution Dt. Choix du meilleur classifieur pour l'itération t. h, (x) : X — » % Choix de α, e iH .Training of the weak classifier using the distribution D t . Choice of the best classifier for iteration t. h, (x): X - »% Choice of α, e iH.
Mise à jour des poids des exemples: D1+1 (/) = ' — 'y' ' 'Update of the weights of the examples: D 1 + 1 (/) = '-' y '''
Où Zt est un facteur de normalisation (choisit de manière à ce que Dt+i soit une distribution).Where Z t is a normalization factor (chooses so that D t + i is a distribution).
Phase finale :Final phase :
Le classifieur final est donné par : H (x) ≈ signel ]T α,/ι, (x) Dans l'approche du procédé selon l'invention, les classifieurs faibles employés sont des arbres de décision à un nœud classiquement nommés « décision stump ». A chaque composante d'un descripteur est donc associé un arbre à un nœud dont il faut déterminer le seuil ainsi que les valeurs renvoyées. Lors de l'apprentissage, toutes les composantes de l'ensemble des descripteurs sont évaluées, puis celle minimisant l'erreur de classification est choisie pour le « round de boosting » courant. Le processus se répète jusqu'à ce que le nombre de « rounds » T soit atteint.The final classifier is given by: H (x) ≈ signal] T α, / ι, (x) In the approach of the method according to the invention, the weak classifiers employed are one-node decision trees conventionally called "stump decision". Each component of a descriptor is therefore associated with a tree with a node whose threshold must be determined as well as the values returned. During learning, all the components of the set of descriptors are evaluated, then the one that minimizes the classification error is chosen for the current "boosting round". The process is repeated until the number of "rounds" T is reached.
II faut cependant remarquer que, classiquement, le calcul d'une seule composante d'un descripteur, excepté la composante relative à la magnitude nécessite une normalisation qui impose de calculer le vecteur entier. Si ces composantes ne sont pas ensuite choisies par l'algorithme de boosting, elles auront été calculées en vain.It should be noted, however, that, conventionally, the calculation of a single component of a descriptor, except for the magnitude-related component, requires a normalization that requires calculating the entire vector. If these components are not then chosen by the boosting algorithm, they will have been calculated in vain.
Afin de rentabiliser au maximum les calculs des descripteurs, il est intéressant de mettre en place une phase d'apprentissage composée de deux étapes :In order to make the descriptor calculations as profitable as possible, it is interesting to set up a learning phase consisting of two stages:
Une première étape où le nombre de « rounds de boosting » est égal au nombre maximum de descripteurs acceptés pour cet étage de classification. Ici, l'algorithme évalue toutes les composantes de tous les descripteurs.A first step where the number of "boosting rounds" is equal to the maximum number of descriptors accepted for this classification stage. Here, the algorithm evaluates all components of all descriptors.
Une seconde étape où l'on détermine l'origine des composantes choisies par « AdaBoost ». Puis on restreint les composantes possibles pour le « boosting » aux seules composantes provenant de la liste des descripteurs choisis précédemment. Le « boosting » est ensuite poursuivi sur ce sous-ensemble jusqu'à l'obtention d'une erreur de classification satisfaisante.A second step where we determine the origin of the components chosen by "AdaBoost". Then we restrict the possible components for the "boosting" to the only components from the list of previously chosen descriptors. The boosting is then continued on this subset until a satisfactory classification error is obtained.
L'entraînement d'un niveau de la cascade est donc réalisé comme suit :The training of a level of the cascade is thus realized as follows:
• Calcul de tous les descripteurs locaux sur les exemples positifs et négatifs préalablement sélectionnés.• Calculation of all local descriptors on previously selected positive and negative examples.
• Lancement d'«AdaBoost» sur toutes les composantes de tous les descripteurs. • Calcul des descripteurs d'où sont extraits les composantes retenues. • Second lancement d'«. Adaboost ». uniquement sur les composantes des descripteurs choisis.• Launch of "AdaBoost" on all components of all descriptors. • Calculation of the descriptors from which the selected components are extracted. • Second launch of " . Adaboost " . only on the components of the chosen descriptors.
• Adaptation du seuil du classifieur final afin d'obtenir le taux de détection minimum voulu (typiquement 0.999 par étage pour un taux de faux positif de 0,5).• Adaptation of the threshold of the final classifier to obtain the desired minimum detection rate (typically 0.999 per floor for a false positive rate of 0.5).
Dans cette approche, on ne laisse pas une totale liberté à l'algorithme pour choisir les composantes pertinentes, mais on restreint ce choix aux composantes provenant de descripteurs déjà calculés. Une variante consiste à laisser toute liberté à l'algorithme pour le choix des composantes pertinentes et en utilisant le calcul rapide d'une composante isolée.In this approach, the algorithm is not left entirely free to choose the relevant components, but this choice is restricted to components from descriptors already calculated. One variation is to leave the algorithm free to select the relevant components and to use the fast calculation of an isolated component.
L'entraînement d'un niveau de la cascade est alors réalisé comme suit : • Calcul de tous les composantes des descripteurs locaux sur les exemples positifs et négatifs préalablement sélectionnés.The training of a level of the cascade is then carried out as follows: • Calculation of all the components of the local descriptors on the positive and negative examples previously selected.
• Lancement d'« AdaBoost » sur toutes les composantes de tous les descripteurs.• Launch of "AdaBoost" on all components of all descriptors.
• Adaptation du seuil du classifieur final afin d'obtenir le taux de détection minimum voulu (typiquement 0.999 par étage pour un taux de faux positif de 0,5).• Adaptation of the threshold of the final classifier to obtain the desired minimum detection rate (typically 0.999 per floor for a false positive rate of 0.5).
Cette variante est susceptible d'apporter de meilleurs résultats sur certains types d'objets à reconnaître. L'apprentissage de chaque niveau de la cascade s'effectue séquentiellement. Les motifs négatifs pour l'entraînement du premier étage sont choisis aléatoirement dans une séquence vidéo ne contenant pas de motifs positifs. Ce premier étage est ensuite testé sur la même vidéo, puis les faux positifs de cet étage sont utilisés comme exemples négatifs pour l'entraînement de l'étage suivant.This variant is likely to bring better results on certain types of objects to be recognized. Learning each level of the cascade is done sequentially. Negative patterns for training the first stage are randomly selected in a video sequence that does not contain positive patterns. This first stage is then tested on the same video, then the false positives of this stage are used as negative examples for the training of the next stage.
Ce processus est répété tout le long de la cascade, les étages supérieurs ayant pour but de corriger les erreurs de classification des étages inférieurs. L'entraînement de la cascade s'arrête lorsque le nombre de faux positifs obtenus est trop faible pour permettre un apprentissage satisfaisant.This process is repeated all along the cascade, the upper floors being used to correct the misclassification of the lower floors. The training of the cascade stops when the number of false positives obtained is too low to allow satisfactory learning.
Lors de la phase de détection, seuls les descripteurs locaux ou les composantes choisies par l'algorithme d'apprentissage sont effectivement calculés. Classiquement, l'implémentation est réalisée de la manière suivante : la signature de l'étage est évaluée, puis en fonction du résultat, l'étage suivant est interrogé ou la fenêtre déplacée. L'étage suivant est interrogé si à ce niveau la fenêtre est jugée correspondant aux critères, sinon la fenêtre est abandonnée.During the detection phase, only the local descriptors or the components chosen by the learning algorithm are actually calculated. Conventionally, the implementation is carried out as follows: the signature of the stage is evaluated, and then depending on the result, the next stage is queried or the window moved. The next stage is queried if at this level the window is judged corresponding to the criteria, otherwise the window is dropped.
La méthode classique de détection est résumée dans l'algorithme représenté ci-dessous : Boucle LignesThe classic detection method is summarized in the algorithm shown below: Loop Lines
Boucle Colonnes Boucle EtagesLoop Columns Buckle Floors
Calcul descripteurs Calcul score classification Si Score < 0 sortie Boucle Etage Fin boucle étages Fin boucle colonnesCalculation descriptors Calculation score classification Si Score <0 output Loop Stage End loop stages End loop columns
Fin boucle lignesEnd loop lines
Mais pour limiter les besoins en mémoire des ressources du processeur, le calcul des descripteurs d'un étage ainsi que le score de classification associé est effectué pour toute une ligne de l'image. En effet, le calcul d'un même étage sur la ligne assure une certaine continuité dans les accès mémoire, ce qui n'est pas le cas lors du calcul des différents étages successifs sur une position donnée. Le gain en temps de calcul est de l'ordre de 20 à 30% du temps global. La méthode proposée de détection est résumée dans l'algorithme représenté ci-dessous : Boucle LignesBut to limit the memory requirements of the processor resources, the calculation of the descriptors of a floor and the associated classification score is performed for a whole line of the image. Indeed, the calculation of the same stage on the line ensures a certain continuity in the memory accesses, which is not the case when calculating the different successive stages on a given position. The gain in computation time is of the order of 20 to 30% of the overall time. The proposed method of detection is summarized in the algorithm shown below: Loop Lines
Boucle EtagesBuckle Floors
Boucle Colonnes Si Score[Etage-1 ][c, I] > 0 Calcul descripteurs Calcul score classification Stockage Score[Etage][c, I] Fin si Fin boucle colonnesLoop Columns If Score [Level-1] [c, I]> 0 Calculation descriptors Calculation score classification Storage Score [Stage] [c, I] End if End loop columns
Fin boucle Etages Fin boucle lignesEnd Loop Floors End Loop Lines
Le procédé de l'invention permet de choisir quels descripteurs multi-variables utiliser à chaque étage d'une cascade de classifieur, pour minimiser les calculs tout en assurant un taux de reconnaissnce élevé et un taux de faux positifs bas. The method of the invention makes it possible to choose which multi-variable descriptors to use on each stage of a cascade of classifier, to minimize the calculations while ensuring a high recognition rate and a low false positive rate.

Claims

REVENDICATIONS
1. Procédé de reconnaissance et de localisation automatique d'une entité dans une image numérique composée de pixels ayant chacun un niveau de luminance, lesdits pixels formant une matrice de lignes et de colonnes, les pixels étant indicés (i, j) dans ladite matrice, ledit procédé comprenant une première étape dite d'apprentissage et une seconde étape dite de reconnaissance,A method of recognizing and automatically locating an entity in a digital image composed of pixels each having a luminance level, said pixels forming a matrix of rows and columns, the pixels being indexed (i, j) in said matrix said method comprising a first so-called learning step and a second so-called recognition step,
• l'étape d'apprentissage consistant à paramétrer une cascade composée d'étages de classifieurs à partir d'une série d'imagettes de l'entité à reconnaître et d'une série d'imagettes ne contenant pas l'entité à reconnaître, • l'étape de reconnaissance consistant à faire passer dans la cascade de classifieurs les parties de l'image numérique pour lesquelles la recherche doit s'effectuer, les parties de l'image ayant passé avec succès tous les étages de la cascade étant déclarées contenant l'entité recherchée, caractérisé en ce que chacune des différentes images analysées par le procédé est représentée par un ensemble de descripteurs locaux multi- variables, et en ce que le paramétrage de la cascade de classifieurs consiste à sélectionner pour chaque étage un sous-ensemble de composantes parmi l'ensemble des descripteurs locaux multi-variables en fonction de leur efficacité à séparer statistiquement les imagettes contenant et ne contenant pas l'entité à reconnaître, chaque descripteur local multi-variable étant constitué d'une part d'un histogramme d'orientation des gradients d'intensité dans l'image en fonction de directions données comprenant N composantes et d'autre part de la somme de la magnitude du gradient d'intensité dans l'image divisée par la surface de ladite image.The learning step of setting up a cascade composed of stages of classifiers from a series of images of the entity to be recognized and a series of images not containing the entity to be recognized, The recognition step of passing in the cascade of classifiers the parts of the digital image for which the search is to be made, the parts of the image having successfully passed all the stages of the cascade being declared containing the desired entity, characterized in that each of the different images analyzed by the method is represented by a set of multi-variable local descriptors, and in that the parameterization of the cascade of classifiers consists in selecting for each stage a subset of components among the set of multi-variable local descriptors according to their efficiency in statistically separating the images containing and not containing the entity to be recognized, each local multi-variable descriptor consisting on the one hand of a histogram of orientation of the intensity gradients in the image as a function of given directions comprising N components and on the other hand of the sum of the magnitude of the intensity gradient in the image divided by the surface of said image.
2. Procédé de reconnaissance et de localisation selon la revendication 1 , caractérisé en ce que l'histogramme d'orientation des gradients d'intensité (ou HOG) comporte neuf composantes dont les directions varient de 0 degré à 180 degrés. 2. Recognition and location method according to claim 1, characterized in that the intensity gradients orientation histogram (or HOG) comprises nine components whose directions vary from 0 degrees to 180 degrees.
3. Procédé de reconnaissance et de localisation selon l'une des revendications 1 à 2, caractérisé en ce que le calcul des descripteurs comporte les étapes préalables suivantes : • Les coordonnées de l'image étant définies dans un repère orthogonal (i, j), calcul des dérivées de la luminance en X et Y en chaque pixel de l'image ;3. Recognition and localization method according to one of claims 1 to 2, characterized in that the calculation of the descriptors comprises the following preliminary steps: • The coordinates of the image being defined in an orthogonal coordinate system (i, j) calculating the X and Y luminance derivatives at each pixel of the image;
• Calcul des orientations et de la magnitude du gradient de luminance en chaque pixel ; • Calcul des N images d'orientation correspondantes aux N composantes de l'histogramme ;• Calculation of the orientations and the magnitude of the luminance gradient in each pixel; • Calculation of N orientation images corresponding to the N components of the histogram;
• Calcul des N+1 images intégrales correspondantes aux N images d'orientation et à l'image intégrale de la magnitude, l'image intégrale d'un paramètre d'un pixel de coordonnées (i, j) étant égale à la somme des mêmes paramètres pour les pixels de coordonnées (x, y) dont les coordonnées x et y sont toutes deux inférieures ou égales respectivement à i et j.• Calculation of the N + 1 integral images corresponding to the N orientation images and the integral image of the magnitude, the integral image of a parameter of a coordinate pixel (i, j) being equal to the sum of the same parameters for the coordinate pixels (x, y) whose x and y coordinates are both less than or equal to i and j, respectively.
4. Procédé de reconnaissance et de localisation selon la revendication 3, caractérisé en ce que le calcul de l'histogramme comporte une étape de normalisation du gradient de la luminance en chaque pixel, ladite étape étant réalisée en deux sous-étapes successives, ladite première sous-étape consistant à calculer l'écart-type de la luminance dans une fenêtre glissante, ladite seconde sous-étape consistant à multiplier la magnitude du gradient de luminance en chaque pixel par le rapport entre l'écart-type calculé sur la fenêtre glissante et un écart-type de référence.4. A method of recognition and location according to claim 3, characterized in that the calculation of the histogram comprises a step of normalizing the luminance gradient in each pixel, said step being performed in two successive sub-steps, said first sub-step of calculating the standard deviation of the luminance in a sliding window, said second substep of multiplying the magnitude of the luminance gradient in each pixel by the ratio of the calculated standard deviation on the sliding window and a standard deviation of reference.
5. Procédé de reconnaissance et de localisation selon la revendication 4, caractérisé en ce que, lorsque l'écart-type de la luminance dans une fenêtre glissante est inférieur ou égal à une valeur minimale, la seconde sous-étape est supprimée.5. A method of recognition and location according to claim 4, characterized in that, when the standard deviation of the luminance in a sliding window is less than or equal to a minimum value, the second substep is deleted.
6. Procédé de reconnaissance et de localisation selon l'une des revendications précédentes, caractérisé en ce que les composantes de l'histogramme d'orientation des gradients sont normées de façon que leur somme soit égale à l'unité.6. Recognition and localization method according to one of the preceding claims, characterized in that the components of Gradient orientation histograms are standardized so that their sum is equal to unity.
7. Procédé de reconnaissance et de localisation selon l'une des revendications précédentes, caractérisé en ce que l'algorithme de classification est du type Adaboost, les classifieurs étant de type faibles, c'est-à-dire des algorithmes capables de discriminer deux classes d'objets au moins aussi bien que le hasard.7. Recognition and localization method according to one of the preceding claims, characterized in that the classification algorithm is of the Adaboost type, the classifiers being weak type, that is to say, algorithms capable of discriminating between two classes of objects at least as well as chance.
8. Procédé de reconnaissance et de localisation selon l'une des revendications précédentes, caractérisé en ce que l'entraînement d'un niveau de la cascade est réalisé selon les sous-étapes suivantes :8. A method of recognition and location according to one of the preceding claims, characterized in that the driving of a cascade level is performed according to the following substeps:
• Calcul de tous les descripteurs locaux sur des imagettes préalablement sélectionnées comportant ou ne comportant pas l'entité à reconnaître ;• Calculation of all local descriptors on previously selected thumbnails with or without the entity to be recognized;
• Lancement d'un logiciel « d'apprentissage par combinaison de décision » sur toutes les composantes de tous les descripteurs précédents ;• Launch of "learning by decision combination" software on all components of all previous descriptors;
• Calcul des descripteurs dits descripteurs choisis d'où sont extraits les composantes retenues ;• Calculation of the descriptors chosen descriptors from which are extracted the selected components;
• Second lancement du logiciel « d'apprentissage par combinaison de décision » uniquement sur les composantes des descripteurs choisis ;• Second launch of the "learning by decision combination" software only on the components of the chosen descriptors;
• Adaptation du seuil du classifieur final afin d'obtenir un taux de détection minimum voulu.• Adaptation of the threshold of the final classifier to obtain a desired minimum detection rate.
9. Procédé de reconnaissance et de localisation selon l'une des revendications 1 à 7, caractérisé en ce que l'entraînement d'un niveau de la cascade est réalisé selon les sous-étapes suivantes :9. A method of recognition and location according to one of claims 1 to 7, characterized in that the driving of a cascade level is performed according to the following substeps:
• Calcul de tous les descripteurs locaux sur des imagettes préalablement sélectionnées comportant ou ne comportant pas l'entité à reconnaître ;• Calculation of all local descriptors on previously selected thumbnails with or without the entity to be recognized;
• Lancement du logiciel « d'apprentissage par combinaison de décision » sur toutes les composantes de tous les descripteurs ;• Launch of "learning by decision combination" software on all components of all descriptors;
• Adaptation du seuil du classifieur final afin d'obtenir le taux de détection minimum voulu. • Adaptation of the threshold of the final classifier in order to obtain the desired minimum detection rate.
10. Procédé de reconnaissance et de localisation selon l'une des revendications précédentes, caractérisé en ce que chaque étage de la cascade ayant un premier taux de détection de l'entité présente dans une imagette et un second taux de détection de l'entité absente dans une imagette, le nombre d'étages est tel que le taux global de détection de l'entité présente dans une imagette par la cascade dépasse 97 pour cent et que le taux global de détection de l'entité absente dans une imagette soit inférieur à un milliardième.10. A method of recognition and location according to one of the preceding claims, characterized in that each stage of the cascade having a first detection rate of the entity present in a thumbnail and a second detection rate of the missing entity in a thumbnail, the number of stages is such that the overall detection rate of the entity present in a thumbnail by the cascade exceeds 97 percent and the overall detection rate of the entity absent in a thumbnail is less than one billionth.
11. Procédé de reconnaissance et de localisation selon l'une des revendications précédentes, caractérisé en ce que le calcul des descripteurs d'un étage ainsi que le score de classification associé est effectué pour toute une ligne de l'image. 11. Recognition and location method according to one of the preceding claims, characterized in that the calculation of the descriptors of a stage and the associated classification score is performed for a whole line of the image.
PCT/EP2008/051608 2007-02-16 2008-02-11 Method of automatically recognizing and locating entities in digital images WO2008104453A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0701151 2007-02-16
FR0701151 2007-02-16

Publications (1)

Publication Number Publication Date
WO2008104453A1 true WO2008104453A1 (en) 2008-09-04

Family

ID=38477146

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2008/051608 WO2008104453A1 (en) 2007-02-16 2008-02-11 Method of automatically recognizing and locating entities in digital images

Country Status (1)

Country Link
WO (1) WO2008104453A1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2939547A1 (en) * 2008-12-09 2010-06-11 Commissariat Energie Atomique DEVICE AND METHOD FOR RECOGNIZING AND LOCATING OBJECTS IN A SCAN IMAGE OF SENSOR WINDOWS
US8170332B2 (en) 2009-10-07 2012-05-01 Seiko Epson Corporation Automatic red-eye object classification in digital images using a boosting-based framework
CN107229929A (en) * 2017-04-12 2017-10-03 西安电子科技大学 A kind of license plate locating method based on R CNN
CN110574036A (en) * 2016-12-09 2019-12-13 奥尔良大学 Detection of nerves in a series of echographic images
CN116091953A (en) * 2023-04-11 2023-05-09 耕宇牧星(北京)空间科技有限公司 Building rubbish identification method based on grouping wavelet calibration network

Non-Patent Citations (8)

* Cited by examiner, † Cited by third party
Title
DALAL N ET AL: "Histograms of Oriented Gradients for Human Detection", COMPUTER VISION AND PATTERN RECOGNITION, 2005. CVPR 2005. IEEE COMPUTER SOCIETY CONFERENCE ON SAN DIEGO, CA, USA 20-26 JUNE 2005, PISCATAWAY, NJ, USA,IEEE, 20 June 2005 (2005-06-20), pages 886 - 893, XP010817365, ISBN: 0-7695-2372-2 *
LEVI K ET AL: "Learning object detection from a small number of examples: the importance of good features", COMPUTER VISION AND PATTERN RECOGNITION, 2004. CVPR 2004. PROCEEDINGS OF THE 2004 IEEE COMPUTER SOCIETY CONFERENCE ON WASHINGTON, DC, USA 27 JUNE - 2 JULY 2004, PISCATAWAY, NJ, USA,IEEE, 27 June 2004 (2004-06-27), pages 53 - 60, XP010708844, ISBN: 0-7695-2158-4 *
MICHAEL GRABNER ET AL: "Fast Approximated SIFT", COMPUTER VISION - ACCV 2006 LECTURE NOTES IN COMPUTER SCIENCE;;LNCS, SPRINGER-VERLAG, BE, vol. 3851, 2005, pages 918 - 927, XP019027425, ISBN: 3-540-31219-6 *
PORIKLI, FATIH: "Integral Histogram: A Fast Way To Extract Histograms in Cartesian Spaces", COMPUTER VISION AND PATTERN RECOGNITION, 2005. CVPR 2005. IEEE COMPUTER SOCIETY CONFERENCE ON SAN DIEGO, CA, USA 20-26 JUNE 2005, PISCATAWAY, NJ, USA,IEEE, 20 June 2005 (2005-06-20), pages 829 - 836, XP010817358, ISBN: 0-7695-2372-2 *
QIANG ZHU ET AL: "Fast Human Detection Using a Cascade of Histograms of Oriented Gradients", COMPUTER VISION AND PATTERN RECOGNITION, 2006 IEEE COMPUTER SOCIETY CONFERENCE ON NEW YORK, NY, USA 17-22 JUNE 2006, PISCATAWAY, NJ, USA,IEEE, 17 June 2006 (2006-06-17), pages 1491 - 1498, XP010923210, ISBN: 0-7695-2597-0 *
SUARD F ET AL: "Pedestrian Detection using Infrared images and Histograms of Oriented Gradients", INTELLIGENT VEHICLES SYMPOSIUM, 2006 IEEE MEGURO-KU, JAPAN 13-15 JUNE 2006, PISCATAWAY, NJ, USA,IEEE, 13 June 2006 (2006-06-13), pages 206 - 212, XP010937014, ISBN: 4-901122-86-X *
VIOLA P ET AL: "Detecting pedestrians using patterns of motion and appearance", PROCEEDINGS OF THE EIGHT IEEE INTERNATIONAL CONFERENCE ON COMPUTER VISION. (ICCV). NICE, FRANCE, OCT. 13 - 16, 2003, INTERNATIONAL CONFERENCE ON COMPUTER VISION, LOS ALAMITOS, CA : IEEE COMP. SOC, US, vol. VOL. 2 OF 2. CONF. 9, 13 October 2003 (2003-10-13), pages 734 - 741, XP010662435, ISBN: 0-7695-1950-4 *
WEI ZHANG ET AL: "Object Class Recognition Using Multiple Layer Boosting with Heterogeneous Features", COMPUTER VISION AND PATTERN RECOGNITION, 2005. CVPR 2005. IEEE COMPUTER SOCIETY CONFERENCE ON SAN DIEGO, CA, USA 20-26 JUNE 2005, PISCATAWAY, NJ, USA,IEEE, 20 June 2005 (2005-06-20), pages 323 - 330, XP010817615, ISBN: 0-7695-2372-2 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2939547A1 (en) * 2008-12-09 2010-06-11 Commissariat Energie Atomique DEVICE AND METHOD FOR RECOGNIZING AND LOCATING OBJECTS IN A SCAN IMAGE OF SENSOR WINDOWS
WO2010066563A1 (en) * 2008-12-09 2010-06-17 Commissariat A L'energie Atomique Device with datastream pipeline architecture for recognizing and locating objects in an image by detection window scanning
US8170332B2 (en) 2009-10-07 2012-05-01 Seiko Epson Corporation Automatic red-eye object classification in digital images using a boosting-based framework
CN110574036A (en) * 2016-12-09 2019-12-13 奥尔良大学 Detection of nerves in a series of echographic images
CN107229929A (en) * 2017-04-12 2017-10-03 西安电子科技大学 A kind of license plate locating method based on R CNN
CN116091953A (en) * 2023-04-11 2023-05-09 耕宇牧星(北京)空间科技有限公司 Building rubbish identification method based on grouping wavelet calibration network
CN116091953B (en) * 2023-04-11 2023-07-14 耕宇牧星(北京)空间科技有限公司 Building rubbish identification method based on grouping wavelet calibration network

Similar Documents

Publication Publication Date Title
US8948454B2 (en) Boosting object detection performance in videos
Zeggada et al. A deep learning approach to UAV image multilabeling
Xie et al. Multilevel cloud detection in remote sensing images based on deep learning
CN108304873B (en) Target detection method and system based on high-resolution optical satellite remote sensing image
US9443320B1 (en) Multi-object tracking with generic object proposals
Chen et al. Accurate and efficient traffic sign detection using discriminative adaboost and support vector regression
CA2953394C (en) System and method for visual event description and event analysis
Chandrakar et al. Enhanced the moving object detection and object tracking for traffic surveillance using RBF-FDLNN and CBF algorithm
Wang et al. Scene-specific pedestrian detection for static video surveillance
US9053367B2 (en) Detector evolution with multi-order contextual co-occurrence
FR2974434A1 (en) PREDICTING THE AESTHETIC VALUE OF AN IMAGE
Pezzementi et al. Putting image manipulations in context: robustness testing for safe perception
US20240037610A1 (en) Computer Vision Systems and Methods for Automatically Detecting, Classifying, and Pricing Objects Captured in Images or Videos
Athira et al. Recent trends on object detection and image classification: A review
WO2008104453A1 (en) Method of automatically recognizing and locating entities in digital images
Chavate et al. A comparative analysis of video shot boundary detection using different approaches
Rio-Alvarez et al. Effects of Challenging Weather and Illumination on Learning‐Based License Plate Detection in Noncontrolled Environments
Singh et al. Animal localization in camera-trap images with complex backgrounds
Fu et al. A case study of utilizing YOLOT based quantitative detection algorithm for marine benthos
Mazzeo et al. Dense descriptor for visual tracking and robust update model strategy
Krithika et al. MAFONN-EP: A minimal angular feature oriented neural network based emotion prediction system in image processing
Khattak et al. AMF-MSPF: A retrospective analysis with online object tracking algorithms
Sari et al. Text extraction from historical document images by the combination of several thresholding techniques
Takhar et al. Comparative analysis of background subtraction techniques and applications
Feris et al. Boosting object detection performance in crowded surveillance videos

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

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

Country of ref document: EP

Kind code of ref document: A1