[go: up one dir, main page]

WO2008081152A2 - Procede et systeme de reconnaissance d'un objet dans une image - Google Patents

Procede et systeme de reconnaissance d'un objet dans une image Download PDF

Info

Publication number
WO2008081152A2
WO2008081152A2 PCT/FR2007/052569 FR2007052569W WO2008081152A2 WO 2008081152 A2 WO2008081152 A2 WO 2008081152A2 FR 2007052569 W FR2007052569 W FR 2007052569W WO 2008081152 A2 WO2008081152 A2 WO 2008081152A2
Authority
WO
WIPO (PCT)
Prior art keywords
image
layer
neurons
neuron
synaptic
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/FR2007/052569
Other languages
English (en)
Other versions
WO2008081152A3 (fr
Inventor
Christophe Garcia
Stefan Duffner
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orange SA
Original Assignee
France Telecom SA
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 France Telecom SA filed Critical France Telecom SA
Publication of WO2008081152A2 publication Critical patent/WO2008081152A2/fr
Publication of WO2008081152A3 publication Critical patent/WO2008081152A3/fr
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/213Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
    • G06F18/2135Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on approximation criteria, e.g. principal component analysis
    • G06F18/21355Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on approximation criteria, e.g. principal component analysis nonlinear criteria, e.g. embedding a manifold in a Euclidean space
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0455Auto-encoder networks; Encoder-decoder networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/09Supervised learning
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/168Feature extraction; Face representation
    • G06V40/169Holistic features and representations, i.e. based on the facial image taken as a whole

Definitions

  • the present invention relates to a method and a system for recognizing an object in an image.
  • the present invention applies in particular to the identification and authentication of faces present in images or videos.
  • the fields of biometrics, advanced human machine interfaces or image and video indexing are areas in which automatic face recognition systems are typically used.
  • a face identification is to compare a face to recognize with the faces of the learning base to assign an identity, each face of the learning base being connected to an identity.
  • the identification typically applies to the indexing of images or videos according to their content, non-intrusive biometry that is to say without active participation of the person observed, or video surveillance.
  • Authentication allows, once a measure of similarity established, to confront two unknown faces in order to determine their similarity. Authentication no longer uses the learning base once the resemblance measure has been constructed. Authentication thus makes it possible from two unknown faces to determine whether it is the same person or not.
  • Authentication applications include access control and video indexing. The objective is for example to detect in a video all the sequences where we find the same person.
  • Local approaches also known as hybrid approaches, implement extractors of local image features to detect the presence or absence of certain facial features or to determine the positions of the main facial elements such as the eyes, the nose or the mouth. These methods therefore adopt an anthropomorphic approach to characterize a face. Then, models combine facial features more globally to rank the images.
  • Local approaches such as those in Perronnin or Wiskott, typically use local processing such as Gabor filters to perform spatial and frequency analysis of the information contained in an image. Then they apply a separate global treatment as a probabilistic model or a deformable grid model. Local treatments require an empirical choice of parameters, for example: the number of scales and direction for Gabor filters, as well as an empirical preselection of the areas of the images in which the filters are applied. These zones are defined in particular by a grid with constant pitch. These empirical parameters are very difficult to determine. Indeed, the quality of the results obtained by the Gabor filters is strongly related to the chosen parameters. In addition, empirically parameterized filters are very sensitive to variations in image brightness.
  • the Visani method uses a Bilinear Discriminant Analysis, or ADB, described in the document "Normalized Radial Basis Function Networks and Bilinear Discriminant Analysis for Face Recognition", following the IEEE International Conference on Advanced Video and Signal-Based Monitoring. (AVSS 2005), of Como in Italy, in September 2005.
  • ADB performs bilinear projection of data in two dimensions. This projection does not consider each pixel independently in the image but the rows and columns of pixels. Two line and column linear projection matrices are determined iteratively by the ADB method.
  • One of the main disadvantages of global statistical projections based on PCA, ADL or ADB is that these methods of treatment are particularly sensitive to variations in brightness.
  • the subject of the invention is a method of recognizing an object in an image.
  • the recognition method comprises in particular: a first cross-learning step of a non-linear reconstruction method of an output image corresponding to the object, from a known input image of the object , through a non-linear projection of the known input image of given dimension in a space of dimension smaller than said given dimension, the first learning phase being performed by a neural architecture comprising different types of artificial neural layers;
  • a second recognition phase of an unknown input image of the object the reconstruction method having been previously learned, the neural architecture extracting, by the non-linear projection of the unknown input image, a first vector of characteristics V 0 , the recognition taking place by measuring a distance between the first characteristic vector V 0 and a second characteristic vector V 3 of another image.
  • the learning phase notably uses a learning base comprising images of the object associated with an identification means of the object.
  • the learning phase includes:
  • a first step of choosing a pair of images comprising the input image and a desired image, representing the same object in the learning base;
  • the three steps previously described are renewed until the difference is for example less than a fixed threshold ⁇ .
  • the neuronal architecture has several layers of neurons connected by synaptic connections each provided with synaptic weights W ]] l ⁇ .
  • the update of the neural architecture is carried out by updating the synaptic weights W ] h ⁇ .
  • the minimization of the difference calculated during the third step of the learning phase is for example carried out by a gradient retro-propagation algorithm.
  • the minimization of the calculated difference is made for example by minimizing a cost function representing a mean square error: with:
  • N 1 representing the number of images of the learning base used during the learning phase
  • N 5 oP representing the value of a pixel of a line o and a column p of pixels of the output image
  • the method according to the invention performs, in a first variant, an identification.
  • the first characteristic vector V 0 is for example compared to a set of characteristic vectors V 1 to v N ⁇ of identified images of the learning base.
  • the method according to the invention performs an authentication.
  • the first vector of characteristics V 0 is for example compared with the vector of characteristics of an unknown image, resulting from the passage of the unknown image in the neural architecture.
  • the system for recognizing an object in an image is characterized in that it comprises a neuronal architecture (40) comprising:
  • a first set of one or more layers of neurons performing a non-linear projection of an input image in a reduced-size space with respect to the given dimension of the input image
  • a second set of layers of neurons performing a non-linear reconstruction of an output image said image of output being obtained at the output of an output layer of said second set, in a space of the same dimension as the given dimension of the input image, from the nonlinear projection of the input image into the space of reduced size with respect to the given dimension of the input image, and in that it comprises:
  • the first set of neuron layers includes:
  • An input layer of the neural architecture in the form of a matrix E of given dimension, each element E ab of the matrix representing a pixel of the input image;
  • a convolution layer comprising a number NCi of Ci k maps of neurons, each neuron of each C- ⁇ k map being connected by a first set of M 1 XM 1 synaptic connections to a set of M 1 XM 1 neighboring elements E ab of the matrix E, each element E ab being connected to one or more neurons of each card Ci k ;
  • a sub-sampling layer comprising an NS 2 number of S 2 ⁇ neural maps of reduced size with respect to the size of the cards of the convolution layer, each neuron of a S 2 ⁇ card receiving an average of the outputs of M 2 ⁇ M 2 neighboring neurons of a card C 1 k of the convolution layer, each neuron of each card Ci k being connected to a single neuron of a card S 2 ⁇ , via a second set of M 2 ⁇ M 2 synaptic connections;
  • a double convolution layer comprising a number NC 3 of C 3m cards of neurons, each neuron of a C 3m card being connected by a third set of synaptic connections to a set of M 3 ⁇ M 3 neurons neighboring two S cards 2 ⁇ of the sub layer sampling, each neuron of a card S 2 ⁇ being connected to one or more neurons of one or two cards C 3m -
  • the second set of neuron layers comprises in particular: a layer of independent neurons each of whose neurons is connected by a fourth set of synaptic connections to all the neurons of the set of C 3m cards of the double convolution layer;
  • An output layer of the recognition system comprising an N-card of neurons, the set of neurons of the N-card being connected to all the neurons of the independent neuron layer via a fifth set of connections synaptic.
  • the neurons of the convolutional layer use a first linear-type activation function
  • the sub-sampling layer neurons use a second sigmoid-type activation function
  • the neurons of the double-convolution layer use a fifth function of In sigmoid-type activation
  • the neurons of the independent neuron layer use a third sigmoid-type activation function
  • the neurons of the output layer use a fourth linear-type activation function.
  • Each synaptic connection of the neuronal architecture is associated with a synaptic weight W ]] l ⁇ :
  • the synaptic weights of each neuron of the convolutional layer are for example shared by all the neurons of the convolution layer;
  • the synaptic weights of each neuron of the subsampling layer are for example shared by all the neurons of the subsampling layer;
  • the synaptic weights of each neuron of the double convolution layer are for example shared by all the neurons of the double convolution layer;
  • Computer program comprising program code instructions for performing the recognition method from an in an image.
  • the computer program is executed by one or more processors.
  • the main advantage of the invention is that it allows a robust recognition of faces having different facial expressions, under unstressed lighting conditions and in particular with partial occlusion of the faces.
  • FIG. 1a a general block diagram of the recognition method according to the invention
  • Figure 1b an example of faces of a learning base
  • FIG. 2 a generic architecture of a multilayer perceptron neuron network
  • Figure 3a a diagram of the operations performed by an artificial neuron
  • FIG. 4a an example of a neural architecture used by the recognition system according to the invention.
  • FIG. 4b an example of a convolution carried out from a matrix to a neuron map, used in the neural architecture of the recognition system according to the invention
  • FIG. 4c an example of sub-sampling carried out from a first layer of neurons to a second layer of neurons, used in the neural architecture of the recognition system according to the invention
  • FIG. 5 a block diagram of a learning phase of the recognition method according to the invention
  • FIG. 6 a block diagram of a recognition phase of the recognition method according to the invention.
  • Figure 1a shows different phases of the automatic face recognition method according to the invention.
  • the invention can be broken down into two main phases 1, 2.
  • a first phase is a so-called learning phase 1.
  • a set of digital images of faces comprising a learning base 3 is used, an example of which is shown in FIG. .
  • the learning base 3 comprises for each person to recognize several images, framed on the face of the person, including variations including pose, illumination and facial expression.
  • the learning phase 1 uses a recognition system according to the invention comprising an array of neurons comprising at least one layer of input neurons, an intermediate layer of neurons associated with an output neuron layer.
  • the structure of the neural network is described more precisely later. This network of neurons makes it possible to learn, using an image of a face, to reconstruct globally and in a passage through the neural network another image of any one face of the same person.
  • a first image of a person is presented at the entrance of the neuron network.
  • a second image of the same person is compared to the image obtained at the output of the neural network making it possible to update the neural network according to the difference obtained between the face reconstructed by the network and the second face. This operation is repeated until an acceptable reconstruction of a face is achieved.
  • a second automatic recognition phase 2 can be implemented once the learning phase 1 is completed. To perform a recognition, it is to present at the input of the neural network an image of a face.
  • Images in which recognition is sought may contain one or more faces of varying sizes at different positions. These faces are localized and standardized before being processed by the recognition system according to the invention.
  • the normalization can be for example a resizing of the image and a reframing of the face.
  • a face detector can be used, for example the face detector described in the document: "Convolutional Face Finder: a Neural Architecture for Fast and Robust Face Detection," IEEE Transactions on Pattern Analysis and Machine Intelligence , 26 (1 1): 1408-1422, November 2004 by C. Garcia and M. Delakis.
  • This detector makes it possible to locate in a robust manner in an image faces of a minimum size of about twenty pixels by twenty pixels, bent up to about plus or minus thirty degrees and rotated to about plus or minus sixty degrees, in scenes with a complex background and under varying lighting.
  • the face detector determines a rectangle encompassing a detected face and extracts the image within the bounding rectangle to process the face.
  • the face detector reframes the detected face in the image.
  • This cropping is performed by an automatic face reframing system that corrects in particular rotations up to about thirty degrees, translations of about six pixels, and changes in scale that can range from ninety percent to one hundred and ten percent.
  • the corrected images are resized to an image of height fifty-six pixels and width forty-six pixels.
  • the images from the face detector are then correctly centered and dimensioned to be processed by the recognition system according to the invention.
  • the recognition system according to the invention therefore receives as input an unknown image of a face.
  • the recognition system then automatically reconstructs another face of the same person according to his learning.
  • the output values of the neurons of the intermediate layer of the neural network are extracted. These values form a feature vector.
  • the recognition system receives two faces consecutively as input.
  • the recognition system then produces two feature vectors. These two characteristic vectors are then compared by calculating for example a Euclidean distance between these two vectors.
  • An authentication threshold can be defined. This authentication threshold may be a minimum distance between two feature vectors beyond which the two faces are considered not belonging to the same person.
  • FIG. 2 represents a general diagram of a network of artificial neurons of the multilayer perceptron type.
  • the recognition system according to the invention implements a neuronal architecture of the multilayer perceptron type.
  • This multilayer perceptron 20 allows the recognition system according to the invention to learn a set of connection weights between the different neurons of the perceptron 20 in order to reconstruct a face.
  • the multilayer perceptron 20 is therefore an oriented array of artificial neurons organized in several layers of different types 21, 22, 23, 24.
  • the information flows in the perceptron 20 in one direction, from the input layer 21 to the layer 24.
  • the perceptron 20 is then said oriented.
  • the neural network 20 shown in FIG. 2 comprises an input layer 21, two hidden layers 22, 23 and an output layer 24.
  • the input layer 21 is a virtual neural layer associated with the input data of FIG. recognition system for example, it is therefore not actually composed of artificial neurons.
  • the following layers, 22, 23, 24 each comprise a set of artificial neurons.
  • a multilayer perceptron may comprise any number of neuron layers and a number of Neurons and neural layer inputs also any.
  • the neural network 20 comprises three inputs 21, four neurons on the first hidden layer 22, three neurons on the second hidden layer 23 and four neurons on the output layer 24.
  • the outputs 25 of the neurons of the layer output 24 correspond to the output of the recognition system for example.
  • An artificial neuron such as that shown in FIG. 3a, is a computing unit which receives as input a signal in the form of a vector X of n real values for example, n being greater than or equal to one.
  • This vector X arrives in the artificial neuron via n synaptic connections each carrying a weight that can take a real value W 1 , i being between zero and n.
  • W 1 a real value
  • i i being between zero and n.
  • an artificial neuron outputs a real value y.
  • the various operations performed by the artificial neuron are shown in Figure 3a described below.
  • the neurons of the different layers 21, 22, 23, 24 are connected to one another via weighted synaptic connections 26, 27, 28.
  • First synaptic connections 26 connect the neurons of the input layer 21 to the neurons of the first hidden layer 22
  • second synaptic connections 27 connect the neurons of the first hidden layer 22 to the neurons of the second hidden layer 23
  • third synaptic connections 28 connect the neurons of the second hidden layer 23 to the neurons of the output layer 24.
  • the weight assigned to each synaptic connection 26, 27, 28 governs the operation of the neural network 20 and thus to program an application of the space of the inputs of the neural network 20 to the space of the outputs of the neural network 20 using a non-linear transformation.
  • the creation of a multilayer perceptron in order to solve a given problem thus passes through the inference of the best possible application as defined by a set of training data consisting of pairs (X, y) of input vectors X and desired outputs y.
  • FIG. 3a represents a functional diagram of an artificial neuron 32.
  • Each of the entries X 1, i being zero to n excites one of the synaptic connections weighted by a weight w 1.
  • the weight w 0 is the weight of the synaptic connection associated with the input value x 0 .
  • the quantity w o ⁇ xo is called bias and corresponds to a threshold value for the artificial neuron 32.
  • a summation function then calculates a potential V from the values x, of the vector X received at the input:
  • the activation function ⁇ can take different forms depending on the desired applications.
  • two types of activation functions are used, for example:
  • a first linear activation function of type :
  • a second non-linear activation function called sigmoid type:
  • Figure 3b shows an example of a sigmoidal function: tanh (x) having the advantage of producing 31 bounded values between minus one and plus one.
  • FIG. 4a shows an example of architecture 40 of perceptron multilayer neural networks used by the recognition system according to the invention. This neural network architecture
  • neural architecture 40 has six layers of neurons 41, 42,
  • Each layer of neurons 41, 42, 43, 44, 45 is connected with the next neural layer 42, 43, 44, 45, 46 if it exists, via synaptic connections 47, 48, 49, 50, 51
  • a first layer 41 is connected with a second layer 42 by a first set of synaptic connections 47,
  • the second layer 42 is connected with a third layer 43 by a second set of synaptic connections 48, "the third layer 43 is connected with a fourth layer 44 by a third set of synaptic connections 49,
  • the fourth layer 44 is connected with a fifth layer 45 by a fourth set of synaptic connections 50,
  • the fifth layer 45 is connected with a sixth layer 46 by a fifth set of synaptic connections 51.
  • the set of neural layers 41, 42, 43, 44, 45, 46 of the neural architecture 40 realize, by their successive and combined actions, the extraction of primitives from an input image making it possible to reconstruct at best another image of the same face.
  • the first layer 41 is the input layer 41 of the neural architecture 40 of the recognition system according to the invention.
  • the system receives a color image of a face of size 56x46 pixels for example. This color image is for example derived from a face detector and then converted into a grayscale image by known methods.
  • Each pixel P a b of the received grayscale image can take for example values ranging from zero to two hundred and fifty-five.
  • the element E ab of the matrix E corresponding to the pixel P a b may be between minus one and plus one, the following transformation operation having for example been performed:
  • the second layer 42 is a convolution layer 42.
  • the neurons of a C- ⁇ k map use a linear type activation function ⁇ (103), as shown in FIG. 3a.
  • Each neuron of each C- ⁇ k card is connected by a first set of M 1 XM 1 synaptic connections 47 to a set of M 1 XM 1 neighboring elements E ab of the matrix E as shown in Figure 4b.
  • M- ⁇ 7.
  • FIG. 4b represents an example of convolution between the matrix E and a card C 1 k .
  • the card E has thirteen columns and fourteen lines
  • the card Ci k has ten lines and nine columns.
  • the convolution carried out in FIG. 4b is a 5 ⁇ 5 convolution, M 1 being five in this example.
  • a neuron ⁇ of the map Ci k is for example connected to all the cells of the matrix E, included in a square F centered on a square ⁇ and side M 1 .
  • the position of the neuron ⁇ on the map C 1 k is the same as that of the square ⁇ taken in the square E 'obtained by removing on each side of the matrix E a band of width (M 1 - I) II.
  • the set of synaptic weights, associated with the first set of synaptic connections 47, as well as the weight associated with the bias are shared by all the neurons of the card C 1 k , ie:
  • the operations carried out to pass from the card E to the map C 1 k are surjective convolutions specialized in the detection of certain characteristic features of a face such as corners and lines of contrasts oriented.
  • the third layer 43 is a subsampling layer 43, composed of NS 2 cards S 2 ⁇ with NS 2 equal to NCi for example, I being between 1 and NS 2 .
  • Each card S 2 ⁇ is connected to a corresponding card C-ik by a second set of synaptic connections 48.
  • Each neuron of a card S 2 ⁇ receives the average of the outputs y of M 2 ⁇ M 2 neurons neighboring the card C- ⁇ k . This average is multiplied by a synaptic weight and a bias is added to the total.
  • FIG. 4c shows an example of sub-sampling of a C-ik neuron map to an S 2
  • the card C- ⁇ k is of size 8x8 and the card S 2 ⁇ is of size 4x4.
  • the map C- ⁇ k is divided into squares of size 2x2, corresponding to the sub-sampling size.
  • Each neuron of each square resulting from the division of the map C-ik, like the square D, is connected by a synaptic connection 48 to a single neuron, like the neuron ⁇ , of the map S 2
  • Sub-sampling allows you to compress information about the essential characteristics of a face.
  • the fourth layer 44 is a double convolution layer 44.
  • the double convolution layer 44 has NC 3 cards C 3m , with m between 1 and NC 3 .
  • Each card C 3m is connected to two cards S 2 ⁇ of the subsampling layer 43.
  • Each card S 2 ⁇ is connected to a single card C 3m .
  • the neurons of each C 3m card use a sigmoid-type activation function ⁇ (104), as shown in FIG. 3b.
  • Each of the neurons of a C 3m card is connected, by a third set of M 3 ⁇ M 3 synaptic connections 49, to a set of M 3 ⁇ M 3 neighboring neurons of each of the two cards S 2
  • Each neuron of a C 3m card also receives a bias.
  • Each C 3m card is thus constructed using a double convolution M 3 ⁇ M 3 , each convolution M 3 ⁇ M 3 being performed in the same manner as that shown in Figure 4b.
  • C 3m cards are constructed by merging the essential characteristics of a face.
  • the double convolution used makes it possible to extract high-level characteristics of a face, such as two-dimensional shapes, by combining extractions of characteristics of maps S 2
  • the fifth layer 45 is a layer of independent neurons 45 having NN 4 neurons using a sigmoid function ⁇ (104) as shown in FIG. 3b.
  • the neurons of the layer 45 are not organized in a card as in the previous layers 42, 43, 44.
  • Each neurone of the independent neuron layer 45 is connected via a fourth set of synaptic connections 50 to all the neurons of all the cards. C 3m of the double convolution layer 44.
  • Each weight of each synaptic connection 50 is different.
  • Each neurone of the independent neuron layer 45 has a bias different from the other neurons of the independent neuron layer 45.
  • the set of outputs y of each neuron of the independent neuron layer 45 forms a feature vector used in order to compare with another image. This comparison is described more precisely later.
  • the sixth layer 46 of neurons is an output layer 46 of the recognition system according to the invention.
  • This layer has an N output map of NN 5 neurons using a linear type activation function.
  • NN 5 is for example HxL, ie the size of the card E.
  • Each neuron of the output card N is connected with each neuron of the independent neuron layer 45, via a fifth set of synaptic bonds 51.
  • Each synaptic weight of each synaptic connection 51 is different and each neuron of the output card N has a weight relative to its own bias.
  • This output card N presents an approximate image of the image presented at the input 41 of the architecture 40 of neural networks.
  • This architecture of neural networks 40 makes it possible initially to perform a non-linear projection of an image in a space of reduced size with respect to the dimension of the input image by means of:
  • the first convolution operation and the second subsampling operation behave as a local filter for extracting low level features from the input image.
  • this neural architecture 40 allows a global non-linear reconstruction of an image by using:
  • This architecture 40 thus makes it possible to detect the characteristic lines of a face and to compress them in order to obtain the fundamental characteristics of the face and then to reconstruct another image of the same face by combining the extracted fundamental characteristics.
  • Fig. 5 shows an example of learning using the neural architecture 40 shown in Fig. 4a.
  • the sentence is the first phase of the recognition method according to the invention.
  • a learning base 3 like that shown in Figure 1b is constructed using annotated face images. This image annotation is for example the identity of the person to whom the face represented by the image belongs.
  • the learning base 3 makes it possible to adjust by learning the weights of the different synaptic connections 47, 48, 49, 50, 51 of the neuronal architecture 40.
  • a set T of N ⁇ face images of Np different persons is constructed by manually or automatically extracting the N ⁇ images from the learning base 3.
  • Each image contains a correctly centered face, it is dimensioned at the HxL size of the input layer 41 of the neural architecture 40.
  • the identity of the person corresponding to each N ⁇ extracted images is stored, each image is then annotated.
  • the set T is hereinafter called the learning set T.
  • an automatic learning of the set of synaptic weights as well as weights related to neural biases of the neural architecture 40 is realized.
  • the different weights are initialized randomly with small values so as not to have a learning sequence repeating itself regularly.
  • Each image of the N p persons is then randomly presented to the input layer 41 of the neural architecture 40. For example, for each image 60 presented at the input layer 41 of the neural architecture 40, the match in output, one by one, the other images 61 of the same person. This allows for learning said here crossed a result image I 5 obtained at the output of the neural architecture
  • the output image 1 s is compared with a desired image Id chosen from among the other images 61 of the same person.
  • values D 5 op pixels of the desired image I d are calculated.
  • the values D 5 op comprised between minus one and plus one are calculated from the value of each pixel I d op of the desired image l d represented in gray levels with values for the pixels I d op between zero and two hundred and fifty five.
  • a desired value D 5 op is therefore:
  • the output layer 46 has an output image I s representing the response of the neural architecture 40 to the initial stimulus corresponding to the input image I ⁇ .
  • the objective sought is to obtain for the output image 1 s the values of the pixels N 5fiP as close as possible to the desired values D 5 op .
  • a cost function O to be minimized is defined such that:
  • Minimizing the cost function O is equivalent to minimizing a mean squared error between the produced values N S op is the desired values D 5 op , for all the N ⁇ annotated images of the training set T.
  • an iterative algorithm for gradient back propagation is used. This algorithm makes it possible to determine the set of optimum synaptic weights and bias weights.
  • a learning base is constituted as the learning set T.
  • ⁇ (t) ⁇ (tD _ pW ⁇ (tD J 1 0 9 )
  • V ⁇ ⁇ > ⁇ 1) is the gradient of the mean squared error ⁇ at time t - 1 with respect to the set of P weights W u of synaptic connections of the neural network and where p is a learning step.
  • V ⁇ (t ⁇ !) Is given by the following relation:
  • the implementation of this gradient descent in a neural network therefore uses an iterative algorithm for retro-propagation of the gradient.
  • the gradient retrogression algorithm works in two main steps:
  • the gradient retro-propagation algorithm uses two parameters p and ⁇ :
  • p is the learning step of the gradient retro-propagation algorithm, it is set to a very small positive value, of the order of 0.001;
  • • ⁇ is the moment of the gradient retro-propagation algorithm, it is set to a positive value between zero and one of the order of 0.1.
  • the values of synaptic weights W ] h ⁇ of the neural network are fixed at small values.
  • the algorithm for retro-propagation of the gradient comprises the following steps:
  • V lhC ⁇ w ⁇ y ⁇ (1 1 1)
  • AW 11 n AW 11 n for all dj ⁇ S UC (1 18) and update W:
  • the mean squared error ⁇ is calculated using the relation (108).
  • the following values may for example be used for the learning step:
  • the gradient retro-propagation algorithm applied to the neural architecture 40 converges to a stable solution after about one thousand iterations.
  • the persons represented by the images are selected for example in a random order and for each person two examples can be drawn also at random: a first example from the two drawn is provided at the input 41 of the neural architecture 40 and the other being for example a desired output. he There can therefore be 46 presentations of examples and thus of updating the neural architecture 40 by iteration.
  • the learning is complete.
  • the outputs of the neural architecture 40 are then sufficiently close to the desired values.
  • the last layer 46 of the neural architecture 40 is no longer considered, but only the outputs of the independent neuron layer 45 for ranking the images.
  • the results of the independent neuron layer 45 form a feature vector.
  • This feature vector is the result of a non-linear projection of an input image I ⁇ in a reduced-size space. The fact that this dimension is reduced is due to the fact that the number of neurons of the independent neuron layer 45 is smaller than the number of pixels of the input image I ⁇ .
  • This feature vector therefore contains a condensed version of the information contained in an output image l s .
  • Fig 6 shows an example of the second phase 2 of the recognition method according to the invention.
  • This second automatic recognition phase 2 may for example be applied to a face identification as shown in FIG. 6.
  • the phase of automatic recognition 2 can have several steps:
  • a first step of detecting a face 70 in an image 71 this detection step may use a face detector to locate a rectangle 72 encompassing the inside of a face.
  • the extracted image area 73 contained in the rectangle encompassing 72 is provided to the input layer 41 of the neural architecture 40;
  • a second step makes it possible to obtain a characteristic vector V 0 of the extracted image 73: after having been resized to the size HxL, the extracted image 73 is placed at the input 41 of the neural architecture 40.
  • the input layer 41 of the neural architecture 40 as well as the successive layers 42, 43, 44 up to the layer of independent neurons 45 are activated one after the other in order to process the extracted image 73.
  • a vector of characteristics V 0 having values comprised between minus one and plus one;
  • a third step uses a closest neighbor search method, for example, for classifying the obtained characteristic vector V 0 with respect to vectors of characteristics V 1 , V 2 , V 3 , V 4 , up to the vector V N ⁇ of each of the N ⁇ images of the training set T for example.
  • Each vector of characteristics V 1 , V 2 , V 3 , V 4 , up to the vector V N ⁇ may have been previously constructed by presenting at the input of the neuronal architecture 40, once the learning phase has been completed, each of the N ⁇ images of the training set T.
  • Each image of the training set T has previously been annotated with the identity of the corresponding person. For example, in FIG.
  • images 74, 75, 76, 77, 78 of training set T respectively correspond to identities A, A, B, C and D. Therefore, a vector of characteristics V dm is sought.
  • the identity of the person of the extracted image 73 is the one associated with the image corresponding to the vector V 3 . In FIG. 6, this is the identity A.
  • the face 73 received at the input 41 of the neuronal architecture 40 corresponds to the person A.
  • the method and the recognition system according to the invention can be used for purposes of recognizing not only a morphological element of a person, such as a face, but also for purposes of recognizing any object.
  • the neural architecture 40 comprises several layers of different types advantageously allowing both to automatically develop low-level detectors robust and without a priori, while learning a global nonlinear projection of a face image in one Features vector.
  • Another advantage of the method according to the invention lies in the fact that cross learning ensures that the feature vectors of all the examples of a given person are close to each other despite variations in the input images. in terms of facial expression, partial occultations and in terms of illumination.
  • the non-linearity of the recognition method according to the invention as well as the combination of local and global processing and the automatic learning of feature extractors are factors which advantageously lead to better performances compared to methods based on Linear techniques such as ACP, ADL or ADB as well as methods based on empirically parameterized filters.
  • the recognition method according to the invention therefore advantageously meets the needs of recognition and allows a robust recognition of faces with facial expressions and various illumination conditions.
  • the method according to the invention can be coupled with a face detector, in the recognition phase, making it possible to extract a face image in an image, to crop the face in the extracted image and to resize the image extracted with an image size taken into account by the method according to the invention.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Biomedical Technology (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Human Computer Interaction (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Image Analysis (AREA)

Abstract

La présente invention concerne un procédé et un système de reconnaissance d'un objet dans une image. Le procédé de reconnaissance d'un objet dans une image comporte : une première phase d'apprentissage croisé (1 ) d'un procédé de reconstruction non-linéaire d'une image de sortie (U) correspondant à l'objet, à partir d'une image d'entrée connue (U) de l'objet par l'intermédiaire d'une projection non-linéaire de l'image d'entrée connue (U) de dimension donnée dans un espace de dimension inférieure à ladite dimension donnée, ladite image de sortie étant évaluée par rapport à une image désirée connue (ld) représentant le même objet que l'image d'entrée connue (U), ladite première phase d'apprentissage (1 ) étant effectuée par une architecture neuronale (40) comportant différents types de couches (41, 42, 43, 44, 45, 46) de neurones artificiels; une deuxième phase de reconnaissance (2) d'une image d'entrée inconnue (73) de l'objet, le procédé de reconstruction ayant préalablement été appris, l'architecture neuronale (40) extrayant, par la projection non-linéaire de l'image d'entrée inconnue (73), un premier vecteur de caractéristiques V0, la reconnaissance s'effectuant en mesurant une distance entre le premier vecteur de caractéristiques V0 et un deuxième vecteur de caractéristiques V3 d'une autre image (76). La présente invention s'applique notamment à l'identification et à l'authentification de visages présents dans des images ou des vidéos.

Description

Procédé et système de reconnaissance d'un objet dans une image
La présente invention concerne un procédé et un système de reconnaissance d'un objet dans une image. La présente invention s'applique notamment à l'identification et à l'authentification de visages présents dans des images ou des vidéos.
Les domaines de la biométrie, des interfaces homme machine avancées ou encore de l'indexation d'images et de vidéos, sont notamment des domaines où sont typiquement utilisés des systèmes de reconnaissance automatique de visages.
Ces systèmes de reconnaissance automatique de visages se basent sur des méthodes d'analyse permettant de construire un espace de description dans lequel la similarité entre deux visages peut être évaluée. Les systèmes de reconnaissance automatique de visage existant utilisent, pour construire l'espace de description, une base d'images de visages communément appelée base d'apprentissage. Dans cette base d'apprentissage, un même visage peut être représenté par plusieurs images présentant des variations possibles dans l'expression faciale, la pose et l'éclairage. L'objectif des systèmes de reconnaissance automatique de visages est dans un premier temps de construire une mesure permettant de traduire le plus fidèlement possible la notion de ressemblance entre deux images d'un même visage. Une fois cette mesure établie, elle est utilisée dans un second temps afin d'effectuer une reconnaissance de visage. Cette reconnaissance de visage peut être appliquée à une authentification de visage ou à une identification de visage.
Une identification de visage consiste à comparer un visage à reconnaître avec les visages de la base d'apprentissage afin de lui assigner une identité, chaque visage de la base d'apprentissage étant relié à une identité. L'identification s'applique typiquement à l'indexation d'images ou de vidéos selon leur contenu, à la biométrie non intrusive c'est à dire sans participation active de la personne observée, ou à la vidéosurveillance.
Une authentification permet, une fois une mesure de ressemblance établie, de confronter deux visages inconnus afin de déterminer leur ressemblance. L'authentification n'utilise plus la base d'apprentissage une fois la mesure de ressemblance construite. L'authentification permet donc à partir de deux visages inconnus de déterminer s'il s'agit ou non de la même personne. Les applications de l'authentification sont notamment le contrôle d'accès et l'indexation de séquences vidéos. L'objectif est par exemple de détecter dans une vidéo toutes les séquences où l'on retrouve la même personne.
Les systèmes de reconnaissance automatique de visage devraient donc être capables de prendre en compte des variations entre deux images représentant le même visage. Cette prise en compte des variations passe par la mise en évidence des ressemblances entre deux images représentant le même visage en dépit des différentes variations pouvant affecter les images. Ces variations peuvent être de plusieurs types :
• des variations inhérentes aux changements d'expression du visage comme le sourire ;
• des occultations comme le port de lunettes ou une barbe ;
• des variations dues aux conditions d'acquisition de l'image comme la segmentation du visage, qui correspond à l'extraction et au centrage de la portion d'image contenant le visage ; • des conditions différentes de prises de vues comme la luminosité.
Les systèmes de reconnaissance automatique de visages actuels sont principalement efficaces dans le cas où les images de visages sont bien cadrées et prises dans de bonnes conditions de luminosité. Leurs performances se dégradent fortement lorsque les images de visages, utilisées pour l'apprentissage ou lors de la reconnaissance, présentent des variations importantes de luminosité.
De nombreuses approches pour la reconnaissance automatique de visages ont été proposées ces dernières années. Elle peuvent être regroupées en deux types d'approches principales : une première approche locale et une deuxième approche globale.
Les approches locales, également appelées approches hybrides, mettent en œuvre des extracteurs de caractéristiques locales d'images afin de détecter la présence ou l'absence de certaines caractéristiques faciales ou de déterminer les positions des principaux éléments faciaux comme les yeux, le nez ou la bouche. Ces méthodes adoptent donc une approche anthropomorphique pour caractériser un visage. Ensuite, des modèles combinent les caractéristiques de visage de manière plus globale afin d'effectuer un classement des images.
Une première approche est décrite par Brunelli et Poggio dans le document « Face Récognition : Features versus Templates » publié dans l'IEEE Transactions on Pattern Analysis and Machine Intelligence, 15(10), p 1042-1052, en 1993. Cette approche utilise des modèles géométriques comme la distance entre des paires de caractéristiques locales afin de classer les visages.
Une deuxième approche prenant en compte des contraintes géométriques de manière probabiliste en utilisant des Modèles de Markov Cachés, ou MMC, est décrite par Samaria dans le document "Parametrisation of a Stochastic Model for Human Face Identification", publié dans 2nd IEEE Workshop on Applications of Computer Vision, aux pages 138-142, en 1994. Dans cette approche selon Samaria, les images de visage sont découpées en plusieurs régions ou en plusieurs bandes. Les transitions entre ces régions sont, pour chaque individu, modélisées de manière probabiliste à l'aide de MMC. Les mesures de la similarité entre les différents visages sont ensuite évaluées de manière probabiliste par un décodage des différents MMC.
Une troisième approche plus récente est basée sur les travaux de Perronnin et al., publiés dans le document "A Probabilistic Model of Face Mapping with Local Transformations and Its Application to Person Récognition", de l'IEEE Transactions on Pattern Analysis and Machine Intelligence, 27(7), pages 1157-1 171 , en 2005. Cette approche utilise des MMC en deux dimensions pour apprendre à modéliser non pas des transitions entre des bandes de l'images mais des variations locales de texture et de forme dans l'image d'un visage.
Une autre approche appelée Elastic Bunch Graph Matching a été publiée par Wiskott et al. dans le document "Face Récognition by Elastic Bunch Graph Matching", de l'IEEE Transactions on Pattern Récognition and Machine Intelligence, 19(7), pages 775-779, 1997. Cette approche utilise un graphe afin de modéliser une structure de visage. Le graphe correspond à un maillage appliqué sur une image. Dans le modèle de la structure du visage, chaque nœud du graphe représente un ensemble d'apparences possibles d'un élément facial du visage. La déformation à appliquer sur chaque nœud du graphe pour faire correspondre un modèle de visage d'une personne sur une autre image de visage de la même personne permet de construire une distance entre les différents visages.
Les approches locales, comme celles de Perronnin ou de Wiskott emploient généralement des traitements locaux comme des filtres de Gabor afin d'effectuer une analyse spatiale et fréquentielle des informations contenues dans une image. Ensuite elles appliquent un traitement global séparé comme un modèle probabiliste ou un modèle de grille déformable. Les traitements locaux exigent un choix empirique de paramètres, par exemple : le nombre d'échelles et de direction pour les filtres de Gabor, ainsi qu'une présélection empirique des zones des images dans lesquelles les filtres sont appliqués. Ces zones sont notamment délimitées par une grille à pas constant. Ces paramètres empiriques sont très difficiles à déterminer. En effet la qualité des résultats obtenus par les filtres de Gabor est fortement liée aux paramètres choisis. De plus, les filtres paramétrés empiriquement sont très sensibles aux variations de luminosité des images.
Les approches globales sont notamment des approches de projection statistique. Notamment, le concept de base de l'Analyse en Composantes Principales, ou ACP, a donné naissance à tout un ensemble de méthodes d'analyse statistique de données. Ces méthodes sont des outils d'analyse statistique de données de grande dimension. Elles permettent de réduire un système complexe de corrélations de données par projection linéaire de données dans un espace de moindre dimension. Dans le cas présent des pixels d'une image sont projetés dans un espace dans lequel la reconnaissance est facilitée. Parmi ces approches, une première approche se nomme
Eigenfaces. Elle est décrite dans un document écrit par Turk et Pentland : "Face Récognition using Eigenfaces ", issue de l'International Conférence on Computer Vision and Pattern Récognition, faîte à Hawaii, Etats-Unis, pages 586-591 , en 1991 . Cette approche utilise une projection de toutes les images des visages de la base d'apprentissage dans un sous-espace linéaire par une ACP. La notion de ressemblance entre deux visages devient alors une simple notion de proximité spatiale entre les projections des images de visages dans le sous-espace linéaire de projection.
Une autre approche est la méthode dite des Fisherfaces décrite dans le document co-écht par P. N. Belhumeur, J. P. Hespanha et DJ. Kriegman : "Eigenfaces vs. Fisherfaces: Récognition Using Class Spécifie Linear Projection", extrait de l'IEEE Transactions on Pattern Analysis and Machine Intelligence, 19(7), pages 71 1 -720, publié en 1997. Cette méthode applique une analyse Discriminante Linéaire ou ADL pour projeter des images dans un sous-espace linéaire. Cette méthode ne vise pas une reconstruction optimale de visages mais une séparation des différentes représentations des images en fonction des différents individus dont l'identité est désignée par le terme classe.
D'autres variantes, reposant toutes sur des projections linéaires, ont été proposées. Par exemple, la méthode de Visani utilise une Analyse Discriminante Bilinéaire, ou ADB, décrite dans le document "Normalized Radial Basis Function Networks and Bilinear Discriminant Analysis for Face Récognition", suite à l'IEEE International Conférence on Advanced Video and Signal-Based Surveillance (AVSS 2005), de Como en Italie, en Septembre 2005. L'ADB réalise une projection bilinéaire des données en deux dimensions. Cette projection considère non pas chaque pixel indépendamment dans l'image mais les lignes et les colonnes de pixels. Deux matrices de projection linéaires en ligne et en colonne sont déterminées de manière itérative par la méthode ADB. Un des principaux inconvénients des projections statistiques globales basées sur l'ACP, l'ADL ou l'ADB est lié au fait que ces méthodes de traitement sont particulièrement sensibles aux variations de luminosité. Si ces méthodes de traitement donnent des résultats robustes en ce qui concerne des visages mal centrés ainsi que des variations d'expressions, leurs performances sont donc médiocres en ce qui concerne le traitement des conditions d'éclairage variées. Elles sont donc peu robustes pour effectuer une reconnaissance de visage automatique dans des conditions de luminosité variables. Un but de l'invention est notamment de pallier les inconvénients précités. A cet effet, l'invention a pour objet un procédé de reconnaissance d'un objet dans une image. Le procédé de reconnaissance comporte notamment : • une première phase d'apprentissage croisé d'un procédé de reconstruction non-linéaire d'une image de sortie correspondant à l'objet, à partir d'une image d'entrée connue de l'objet, par l'intermédiaire d'une projection non-linéaire de l'image d'entrée connue de dimension donnée dans un espace de dimension inférieure à ladite dimension donnée, la première phase d'apprentissage étant effectuée par une architecture neuronale comportant différents types de couches de neurones artificiels ;
• une deuxième phase de reconnaissance d'une image d'entrée inconnue de l'objet, le procédé de reconstruction ayant préalablement été appris, l'architecture neuronale extrayant, par la projection non- linéaire de l'image d'entrée inconnue, un premier vecteur de caractéristiques V0, la reconnaissance s'effectuant en mesurant une distance entre le premier vecteur de caractéristiques V0 et un deuxième vecteur de caractéristiques V3 d'une autre image. La phase d'apprentissage utilise notamment une base d'apprentissage comportant des images de l'objet associées à un moyen d'identification de l'objet.
La phase d'apprentissage comporte notamment :
• une première étape de choix d'une paire d'images comportant l'image d'entrée et une image désirée, représentant un même objet dans la base d'apprentissage ;
• une deuxième étape de calcul, par les couches successives de l'architecture neuronale, de l'image de sortie à partir de l'image d'entrée ; • une troisième étape d'évaluation d'une différence entre l'image de sortie et l'image désirée, une mise à jour de l'architecture neuronale étant effectuée en minimisant la différence entre l'image de sortie et l'image désirée.
Les trois étapes précédemment décrites sont renouvelées jusqu'à ce que la différence soit par exemple inférieure à un seuil fixé ε. L'architecture neuronale comporte plusieurs couches de neurones reliées par des connexions synaptiques pourvues chacune de poids synaptiques W]] l} . La mise à jour de l'architecture neuronale s'effectue en mettant à jour les poids synaptiques W]hυ . La minimisation de la différence calculée au cours de la troisième étape de la phase d'apprentissage est par exemple effectuée par un algorithme de retro-propagation du gradient.
La minimisation de la différence calculée est effectuée par exemple en minimisant une fonction de coût représentant une erreur quadratique moyenne :
Figure imgf000009_0001
avec :
• N1, représentant le nombre d'images de la base d'apprentissage utilisées pendant la phase d'apprentissage ; ' N 5,oP représentant la valeur d'un pixel d'une ligne o et d'une colonne p de pixels de l'image de sortie ;
• Di op représentant la valeur d'un pixel d'une ligne o et d'une colonne p de pixels de l'image désirée.
Le procédé selon l'invention effectue, selon une première variante, une identification. Le premier vecteur de caractéristiques V0 est par exemple comparé à un ensemble de vecteurs caractéristiques V1 à v d'images identifiées de la base d'apprentissage.
Le procédé selon l'invention, selon une autre variante, effectue une authentification. Le premier vecteur de caractéristiques V0 est par exemple comparé avec le vecteur de caractéristiques d'une image inconnue, issu du passage de l'image inconnue dans l'architecture neuronale.
Le système de reconnaissance d'un objet dans une image est caractérisé en ce qu'il comporte une architecture neuronale (40) comportant :
• un premier ensemble d'une ou plusieurs couches de neurones effectuant une projection non-linéaire d'une image d'entrée dans un espace de dimension réduite par rapport à la dimension donnée de l'image d'entrée ;
• un deuxième ensemble de couches de neurones effectuant une reconstruction non-linéaire d'une image de sortie, ladite image de sortie étant obtenue en sortie d'une couche de sortie dudit deuxième ensemble, dans un espace de même dimension que la dimension donnée de l'image d'entrée, à partir de la projection non-linéaire de l'image d'entrée dans l'espace de dimension réduite par rapport à la dimension donnée de l'image d'entrée, et en ce qu'il comporte :
• des moyens d'extraction, à partir d'une couche de neurones dudit deuxième ensemble, autre que ladite couche de sortie, d'un vecteur de caractéristiques d'une image appliquée à l'entrée de ladite architecture neuronale,
• et des moyens de mesure de distance entre deux vecteurs de caractéristiques obtenus par lesdits moyens d'extraction.
Le premier ensemble de couches de neurones comporte notamment :
• une couche d'entrée de l'architecture neuronale se présentant sous la forme d'une matrice E de dimension donnée, chaque élément Eab de la matrice représentant un pixel de l'image d'entrée ;
• une couche de convolution comportant un nombre NCi de cartes C-ik de neurones, chaque neurone de chaque carte C-ιk étant connecté par un premier ensemble de M1XM1 connexions synaptiques à un ensemble de M1XM1 éléments voisins Eab de la matrice E, chaque élément Eab étant connecté à un ou plusieurs neurones de chaque carte C-ik ;
• une couche de sous échantillonnage comportant un nombre NS2 de cartes de neurones S2ι de dimension réduite par rapport à la dimension des cartes de la couche de convolution, chaque neurone d'une carte S2ι recevant une moyenne des sorties de M2 χM2 neurones voisins d'une carte C1 k de la couche de convolution, chaque neurone de chaque carte C-ik étant connecté à un seul neurone d'une carte S2ι, par l'intermédiaire d'un deuxième ensemble de M2 χM2 connexions synaptiques ;
• une couche de double convolution comportant un nombre NC3 de cartes C3m de neurones, chaque neurone d'une carte C3m étant connecté par un troisième ensemble de connexions synaptiques à un ensemble de M3 χM3 neurones voisins de deux cartes S2ι de la couche de sous échantillonnage, chaque neurone d'une carte S2ι étant connecté à un ou plusieurs neurones d'une ou deux cartes C3m-
Le deuxième ensemble de couches de neurones comporte notamment : • une couche de neurones indépendants dont chaque neurone est connecté par un quatrième ensemble de connexions synaptiques à l'ensemble des neurones de l'ensemble des cartes C3m de la couche de double convolution ;
• une couche de sortie du système de reconnaissance comportant une carte N de neurones, l'ensemble des neurones de la carte N étant connecté à l'ensemble des neurones de la couche de neurones indépendants par l'intermédiaire d'un cinquième ensemble de connexions synaptiques.
Les neurones de la couche de convolution utilisent une première fonction d'activation de type linéaire, les neurones de la couche de sous échantillonnage utilisent une deuxième fonction d'activation de type sigmoïde, les neurones de la couche de double convolution utilisent une cinquième fonction d'activation de type sigmoïde, les neurones de la couche de neurones indépendants utilisent une troisième fonction d'activation de type sigmoïde et les neurones de la couche de sortie utilisent une quatrième fonction d'activation de type linéaire.
Chaque connexion synaptique de l'architecture neuronale étant associée à un poids synaptique W]] l} :
• les poids synaptiques de chaque neurone de la couche de convolution sont par exemple partagés par l'ensemble des neurones de la couche de convolution ;
• les poids synaptiques de chaque neurone de la couche de sous échantillonnage sont par exemple partagés par l'ensemble des neurones de la couche de sous échantillonnage ; • les poids synaptiques de chaque neurone de la couche de double convolution sont par exemple partagés par l'ensemble des neurones de la couche de double convolution ;
• les poids synaptiques de tous les neurones de la couche de neurones indépendants sont indépendants entre eux ; • les poids synaptiques de tous les neurones de la couche de sortie sont indépendants entre eux.
Programme informatique comprenant des instructions de code de programme pour l'exécution du procédé de reconnaissance à partir d'un dans une image. Le programme informatique est exécuté par un ou plusieurs processeurs.
L'invention a notamment pour principal avantage de permettre une reconnaissance robuste de visages ayant différentes expressions faciales, dans des conditions d'éclairages non contraintes et notamment avec une occultation partielle des visages.
D'autres caractéristiques et avantages de l'invention apparaîtront à l'aide de la description qui suit, donnée à titre illustratif et non limitatif, et faite en regard des dessins annexés qui représentent :
• la figure 1 a : un synoptique général du procédé de reconnaissance selon l'invention ;
• la figure 1 b : un exemple de visages d'une base d'apprentissage ;
• la figure 2 : une architecture générique d'un réseau de neurones de type perceptron multicouches ;
• la figure 3a : un schéma des opérations effectuées par un neurone artificiel ;
• la figure 3b : une fonction d'activation de type sigmoïde ;
• la figure 4a : un exemple d'une architecture neuronale utilisée par le système de reconnaissance selon l'invention ;
• la figure 4b : un exemple d'une convolution effectuée d'une matrice vers une carte de neurones, utilisée dans l'architecture neuronale du système de reconnaissance selon l'invention ;
• la figure 4c : un exemple de sous échantillonnage effectué d'une première couche de neurones vers une deuxième couche de neurones, utilisé dans l'architecture neuronale du système de reconnaissance selon l'invention ;
• la figure 5 : un schéma de principe d'une phase d'apprentissage du procédé de reconnaissance selon l'invention ; • la figure 6 : un schéma de principe d'une phase de reconnaissance du procédé de reconnaissance selon l'invention.
La figure 1 a représente différentes phases du procédé de reconnaissance automatique de visage selon l'invention. L'invention peut se décomposer en deux phases principales 1 , 2.
Une première phase est une phase dite d'apprentissage 1. Au cours de cette phase d'apprentissage 1 , on utilise un ensemble d'images numériques de visages composant une base d'apprentissage 3, dont un exemple est représenté sur la figure 1 b. La base d'apprentissage 3 comporte pour chaque personne à reconnaître plusieurs images, cadrés sur le visage de la personne, comportant des variations notamment de pose, d'illumination et d'expression faciale. La phase d'apprentissage 1 utilise un système de reconnaissance selon l'invention comportant un réseau de neurones comprenant au moins une couche de neurones d'entrée, une couche de neurones intermédiaire associée à une couche de neurones de sortie. La structure du réseau de neurones est décrite plus précisément par la suite. Ce réseau de neurones permet d'apprendre, à l'aide d'une image d'un visage, à reconstruire globalement et en un passage à travers le réseau de neurones une autre image quelconque d'un visage de la même personne. Pour cette phase d'apprentissage 1 , une première image d'une personne est présentée à l'entrée du réseau de neurone. Une deuxième image de la même personne est comparée à l'image obtenue en sortie du réseau de neurones permettant de mettre à jour le réseau de neurones en fonction de la différence obtenue entre le visage reconstruit par le réseau et le deuxième visage. Cette opération est renouvelée jusqu'à obtenir une reconstruction acceptable d'un visage.
Une deuxième phase de reconnaissance automatique 2 peut être mise en œuvre une fois la phase d'apprentissage 1 terminée. Pour effectuer une reconnaissance, il s'agit de présenter en entrée du réseau de neurones une image d'un visage.
Les images dans lesquelles on cherche à effectuer une reconnaissance peuvent contenir un ou plusieurs visages de tailles variées à des positions différentes. Ces visages sont localisés et normalisés avant d'être traités par le système de reconnaissance selon l'invention. La normalisation peut être par exemple un redimensionnement de l'image et un recadrage du visage.
Pour cette localisation et cette normalisation, un détecteur de visage peut être utilisé, par exemple le détecteur de visages décrit dans le document : "Convolutional Face Finder: a Neural Architecture for Fast and Robust Face Détection, " IEEE Transactions on Pattern Analysis and Machine Intelligence, 26(1 1 ): 1408-1422, Novembre 2004 rédigé par C. Garcia et M. Delakis. Ce détecteur permet notamment de localiser de manière robuste dans une image des visages d'une taille minimale d'environ vingt pixels par vingt pixels, penchés jusqu'à environ plus ou moins trente degrés et tournés jusqu'à environ plus ou moins soixante degrés, dans des scènes comportant un fond complexe et sous des éclairages variables. Le détecteur de visages détermine par exemple un rectangle englobant un visage détecté et extrait l'image à l'intérieur du rectangle englobant afin de traiter le visage. Ensuite le détecteur de visages recadre le visage détecté dans l'image. Ce recadrage est effectué par un système de recadrage automatique de visage qui corrige notamment des rotations jusqu'à environ plus ou moins trente degrés, des translations d'environ six pixels, et des changements d'échelle qui peuvent aller de quatre-vingt-dix pour-cent à cent dix pour-cent. Enfin, les images corrigées sont redimensionnées en une image de hauteur cinquante-six pixels et de largeur quarante-six pixels. Les images issues du détecteur de visage sont alors correctement centrées et dimensionnées pour être traitées par le système de reconnaissance selon l'invention. Le système de reconnaissance selon l'invention reçoit donc en entrée une image inconnue d'un visage. Le système de reconnaissance reconstruit alors automatiquement un autre visage de cette même personne d'après son apprentissage. Ensuite, les valeurs en sortie des neurones de la couche intermédiaire du réseau de neurones sont extraites. Ces valeurs forment un vecteur de caractéristiques.
Pour une identification, il s'agit de comparer le vecteur de caractéristiques obtenu aux vecteurs de caractéristiques des images de visages la base d'apprentissage 3. Cette comparaison est par exemple une mesure de distance euclidienne entre le vecteur de caractéristiques obtenu et les vecteurs de caractéristiques des images de la base d'apprentissage 3 afin de trouver le vecteur de caractéristiques des images de la base d'apprentissage 3 le plus proche du vecteur de caractéristiques obtenu. Les vecteurs de caractéristiques de la base d'apprentissage 3 étant reliés à l'identité d'une personne, ceci permet de faire correspondre le vecteur de caractéristiques obtenu à la même identité que celle reliée au vecteur de caractéristiques le plus proche de la base d'apprentissage 3. Le visage de la personne est alors identifié.
Pour une authentification, le système de reconnaissance reçoit en entrée deux visages de manière consécutive. Le système de reconnaissance produit alors deux vecteurs de caractéristiques. Ces deux vecteurs de caractéristiques sont ensuite comparés en calculant par exemple une distance euclidienne entre ces deux vecteurs. Un seuil d'authentification peut être défini. Ce seuil d'authentification peut être une distance minimale entre deux vecteurs de caractéristiques au-delà de laquelle les deux visages sont considérés comme n'appartenant pas à la même personne.
La figure 2 représente un schéma général d'un réseau de neurones artificiels 20 de type perceptron multicouches. Le système de reconnaissance selon l'invention met en œuvre une architecture neuronale de type perceptron multicouches. Ce perceptron multicouches 20 permet au système de reconnaissance selon l'invention d'apprendre un ensemble de poids de connexions entre les différents neurones du perceptron 20 afin de pouvoir reconstruire un visage.
Le perceptron multicouches 20 est donc un réseau orienté de neurones artificiels organisés en plusieurs couches de types différents 21 , 22, 23, 24. L'information circule dans le perceptron 20 dans un seul sens, de la couche d'entrée 21 vers la couche de sortie 24. Le perceptron 20 est alors dit orienté. Le réseau de neurones 20 représenté sur la figure 2 comporte une couche d'entrée 21 , deux couches cachées 22, 23 et une couche de sortie 24. La couche d'entrée 21 est une couche de neurones virtuelle associée aux données d'entrées du système de reconnaissance par exemple, elle n'est donc par réellement composée de neurones artificiels. Les couches suivantes, 22, 23, 24 comportent chacune un ensemble de neurones artificiels. Dans le cas général, un perceptron multicouches peut comporter un nombre de couches de neurones quelconque et un nombre de neurones et d'entrées par couche de neurones également quelconque. Sur la figure 2, le réseau de neurones 20 comporte trois entrées 21 , quatre neurones sur la première couche cachée 22, trois neurones sur la deuxième couche cachée 23 et quatre neurones sur la couche de sortie 24. Les sorties 25 des neurones de la couche de sortie 24 correspondent à la sortie du système de reconnaissance par exemple.
Un neurone artificiel, comme celui représenté sur la figure 3a, est une unité de calcul qui reçoit en entrée un signal sous la forme d'un vecteur X de n valeurs réelles par exemple, n étant supérieur ou égal à un. Ce vecteur X arrive dans le neurone artificiel par l'intermédiaire de n connexions synaptiques qui portent chacune un poids qui peut prendre une valeur réelle W1, i étant compris entre zéro et n. Un neurone artificiel délivre par exemple en sortie une valeur réelle y. Les différentes opérations réalisées par le neurone artificiel sont représentées sur la figure 3a décrite par la suite. Dans le perceptron multicouches 20 les neurones des différentes couches 21 , 22, 23, 24 sont reliés entre eux par l'intermédiaire de connexions synaptiques pondérées 26, 27, 28. Des premières connexions synaptiques 26 relient les neurones de la couche d'entrée 21 aux neurones de la première couche cachée 22, des deuxièmes connexions synaptiques 27 relient les neurones de la première couche cachée 22 aux neurones de la deuxième couche cachée 23 et des troisièmes connexions synaptiques 28 relient les neurones de la deuxième couche cachée 23 aux neurones de la couche de sortie 24. Le poids affecté à chaque connexion synaptique 26, 27, 28 permet de gouverner le fonctionnement du réseau de neurones 20 et donc de programmer une application de l'espace des entrées du réseau de neurones 20 vers l'espace des sorties du réseau de neurones 20 à l'aide d'une transformation non linéaire. La création d'un perceptron multicouches afin de résoudre un problème donné passe donc par l'inférence de la meilleure application possible telle que définie par un ensemble de données d'apprentissage constituées de paires (X, y) de vecteurs d'entrée X et de sorties désirées y.
La figure 3a représente un schéma fonctionnel d'un neurone artificiel 32. Le neurone artificiel 32 est donc une unité de calcul recevant en entrée un vecteur X de n valeurs réelles [x-i, X2, ... , xn], n étant supérieur ou égal à un, plus une valeur fixe notée x0 et valant xo=+1. Chacune des entrées X,, i valant zéro à n excite une des connexions synaptiques 30 pondérée par un poids w,. Le poids w0 est le poids de la connexion synaptique associée à la valeur d'entrée x0. La quantité woχxo est appelée biais et correspond à une valeur seuil pour le neurone artificiel 32.
Une fonction de sommation calcule ensuite un potentiel V à partir des valeurs x, du vecteur X reçu en entrée :
Figure imgf000017_0001
Après passage du potentiel V dans une fonction dite d'activation φ, le neurone artificiel 32 délivre une sortie est par exemple une valeur réelle y telle que : y = φ(V) = φfè xχ ] (102)
La fonction d'activation φ peut prendre différentes formes en fonction des applications voulues. Dans le cadre du système de reconnaissance selon l'invention, deux types de fonctions d'activation sont par exemple utilisés :
• une première fonction d'activation linéaire de type :
Φ(x) = x (103)
• une deuxième fonction d'activation non-linéaire dite sigmoïde de type :
Φ(x) = tanh(;t) - (e ~ 6 ^ (104)
W (ex + e-χ) La figure 3b représente un exemple de fonction sigmoïde : la fonction tanh(x) présentant l'avantage de produire des valeurs 31 bornées entre moins un et plus un.
La figure 4a représente un exemple d'architecture 40 de réseaux de neurones de type perceptron multicouches utilisé par le système de reconnaissance selon l'invention. Cette architecture de réseau de neurones
40, ou architecture neuronale 40, comporte six couches de neurones 41 , 42,
43, 44, 45, 46. Ces six couches sont de types différents. Chaque couche de neurones 41 , 42, 43, 44, 45 est connectée avec la couche de neurones suivante 42, 43, 44, 45, 46 si elle existe, par l'intermédiaire de connexions synaptiques 47, 48, 49, 50, 51. Par exemple sur la figure 4a : • une première couche 41 est connectée avec une deuxième couche 42 par un premier ensemble de connexions synaptiques 47,
• la deuxième couche 42 est connectée avec une troisième couche 43 par un deuxième ensemble de connexions synaptiques 48, « la troisième couche 43 est connectée avec une quatrième couche 44 par un troisième ensemble de connexions synaptiques 49,
• la quatrième couche 44 est connectée avec une cinquième couche 45 par un quatrième ensemble de connexions synaptiques 50,
• la cinquième couche 45 est connectée avec une sixième couche 46 par un cinquième ensemble de connexions synaptiques 51.
L'ensemble des couches de neurones 41 , 42, 43, 44, 45, 46 de l'architecture neuronale 40 réalisent par leurs actions successives et combinées l'extraction de primitives d'une image d'entrée permettant de reconstruire au mieux une autre image du même visage.
La première couche 41 est la couche d'entrée 41 de l'architecture neuronale 40 du système de reconnaissance selon l'invention. Le système reçoit une image couleur d'un visage de taille 56x46 pixels par exemple. Cette image couleur est par exemple issue d'un détecteur de visages puis convertie en une image en niveaux de gris par des procédés connus. La couche d'entrée 41 , ou entrée 41 , agit comme une rétine : c'est une matrice E comportant H lignes et L colonnes, avec H=56 et L=46 par exemple, recevant une image en niveaux de gris de dimension correspondant en nombre de pixels à la dimension de l'image couleur. On peut également traiter directement une image couleur en entrée 41 en employant par exemple trois matrices dans la couche d'entrée 41 , chaque matrice pouvant correspondre à un canal de couleur si l'image est par exemple codée dans un espace de couleurs comme l'espace RVB, ou rouge vert et bleu.
Chaque pixel Pab de l'image en niveaux de gris reçue, où a représente l'indice de la ligne du pixel Pab dans l'image en niveaux de gris et b l'indice de la colonne du pixel Pab dans l'image en niveaux de gris, peut prendre par exemple des valeurs variant de zéro à deux cent cinquante-cinq. L'élément Eab de la matrice E correspondant au pixel Pab peut être compris entre moins un et plus un, l'opération suivante de transformation ayant par exemple été effectuée :
Figure imgf000019_0001
La deuxième couche 42 est une couche de convolution 42. Cette couche de convolution 42 est composée de NCi cartes C-ιk de neurones, k étant par exemple compris entre 1 et NC-i. NCi peut prendre par exemple la valeur suivante NC-ι=30. Les neurones d'une carte C-ιk utilisent une fonction d'activation φ de type linéaire (103), comme représentée sur la figure 3a.
Chaque neurone de chaque carte C-ιk est connecté par un premier ensemble de M1XM1 connexions synaptiques 47 à un ensemble de M1XM1 éléments voisins Eab de la matrice E comme représenté sur la figure 4b. Par exemple, on peut prendre M-ι=7. Chaque carte C-ik est par exemple de taille H1XL1 neurones avec H1 = (H- M1 + !) et L1 = (L- M1 + !), M1 étant dans ce cas impair. Par exemple on peut prendre les valeurs suivantes : si Η=56, L=46 et M1 =7, alors H1 =50 et L1 =40. La figu re 4b représente un exemple de convolution entre la matrice E et une carte C1 k. Dans cet exemple la carte E comporte treize colonnes et quatorze lignes, la carte C-ik comporte dix lignes et neuf colonnes. La convolution réalisée sur la figure 4b est une convolution 5x5, M1 valant cinq dans cet exemple. Un neurone β de la carte C-ik, est donc par exemple connecté à l'ensemble des cases de la matrice E, comprises dans un carré F centré sur une case α et de côté M1. La position du neurone β sur la carte C1 k est la même que celle de la case α prise dans le carré E' obtenu en enlevant sur chaque côté de la matrice E une bande de largeur (M1 - I)Il . L'ensemble des poids synaptiques, associés au premier ensemble de connexions synaptiques 47, ainsi que le poids associé au biais sont partagés par tous les neurones de la carte C1 k, c'est à dire :
• les mêmes poids sont répétés sur les connexions synaptiques 47 entre les neurones de la carte C1 k et les cases des carrés de même type que le carré F dans la matrice E ; • le même biais est appliqué sur chaque neurone de la carte C1 k.
Les opérations réalisées pour passer de la carte E à la carte C1 k sont des convolutions surjectives spécialisées dans la détection de certains traits caractéristiques d'un visage comme des coins et des lignes de contrastes orientées. La troisième couche 43 est une couche de sous échantillonnage 43, composée de NS2 cartes S2ι avec NS2 égal à NCi par exemple, I étant compris entre 1 et NS2. Chaque carte S2ι est connectée à une carte C-ik correspondante par un deuxième ensemble de connexions synaptiques 48. Chaque neurone d'une carte S2ι reçoit la moyenne des sorties y de M2χM2 neurones voisins de la carte C-ιk. Cette moyenne est multipliée par un poids synaptique et un biais est ajouté au total. Comme pour la convolution précédemment décrite, les poids synaptiques et les poids des biais sont partagés par l'ensemble des neurones de la carte S2|. La sortie y de chaque neurone de la carte S2ι est ensuite obtenue après passage dans une fonction d'activation φ de type sigmoïde (104) comme celle représentée figure 3b. Chaque carte S2ι est de taille H2χL2 neurones avec H2=H1ZM2 et L2=LVM2, H2 représentant la hauteur de la carte S2ι et L2 la largeur de la carte S2|. On peut prendre par exemple NS2=30, chaque carte S2ι étant de taille 25x20 avec un sous échantillonnage de taille M2χM2=2χ2.
La figure 4c présente un exemple de sous échantillonnage d'une carte de neurones C-ik vers une carte de neurones S2|. Dans cet exemple, la carte C-ιk est de taille 8x8 et la carte S2ι est de taille 4x4. La carte C-ιk est divisée en carrés de taille 2x2, correspondant à la taille de sous échantillonnage. Chaque neurone de chaque carré issu de la division de la carte C-ik, comme le carré D, est relié par une connexion synaptique 48 à un seul neurone, comme le neurone δ, de la carte S2|.
Le sous échantillonnage permet d'effectuer une compression des informations concernant les caractéristiques essentielles d'un visage.
La quatrième couche 44 est une couche de double convolution 44. La couche de double convolution 44 comporte NC3 cartes C3m, avec m compris entre un et NC3. Chaque carte C3m est connectée à deux cartes S2ι de la couche de sous échantillonnage 43. Chaque carte S2ι est connectée à une seule carte C3m. Les neurones de chaque carte C3m utilisent une fonction d'activation φ de type sigmoïde (104), comme celle représentée sur la figure 3b. Chacun des neurones d'une carte C3m est connecté, par un troisième ensemble de M3χM3 connexions synaptiques 49, à un ensemble de M3χM3 neurones voisins de chacune des deux cartes S2|. Chaque neurone d'une carte C3m reçoit également un biais. Les poids des M3χM3 connexions synaptiques 49 ainsi que le poids associé au biais sont partagés par l'ensemble des neurones de chaque carte C3m- Chaque carte C3m est donc construite à l'aide d'une double convolution M3χM3, chaque convolution M3χM3 étant effectuée de la même manière que celle représentée sur la figure 4b. Chaque carte C3m est de taille H3χL3 neurones avec H3=(H2-M3+"! ) et L3=(L2-M3+"! ). Chaque carte C3m peut comporter par exemple NC3=29 cartes C3m de taille H3χL3=21 χ16. La convolution utilisée pour obtenir chaque carte C3m est par exemple de taille M3χM3=5χ5.
Les cartes C3m sont construites par une fusion des caractéristiques essentielles d'un visage. La double convolution utilisée permet en effet d'extraire des caractéristiques de haut niveau d'un visage, comme des formes en deux dimensions, en combinant des extractions de caractéristiques des cartes S2|.
La cinquième couche 45 est une couche de neurones indépendants 45 comportant NN4 neurones utilisant une fonction sigmoïde φ (104) comme celle représentée sur la figure 3b. Les neurones de la couche 45 ne sont par organisés en carte comme dans les couches précédentes 42, 43, 44. Chaque neurone de la couche de neurones indépendants 45 est connecté via un quatrième ensemble de connexions synaptiques 50 à tous les neurones de toutes les cartes C3m de la couche de double convolution 44. Chaque poids de chaque connexion synaptique 50 est différent. Chaque neurone de la couche de neurones indépendants 45 possède un biais différent des autres neurones de la couche de neurones indépendants 45. Par exemple la couche de neurones indépendants 45 peut comporter NN4=40 neurones.
L'ensemble des sorties y de chaque neurone de la couche de neurones indépendants 45 forme un vecteur de caractéristiques utilisé afin d'effectuer une comparaison avec une autre image. Cette comparaison est décrite plus précisément par la suite.
La sixième couche 46 de neurones est une couche de sortie 46 du système de reconnaissance selon l'invention. Cette couche comporte une carte de sortie N de NN5 neurones utilisant une fonction d'activation de type linéaire. NN5 vaut par exemple HxL, c'est à dire la dimension de la carte d'entrée E. Chaque neurone de la carte de sortie N est connecté avec chaque neurone de la couche de neurones indépendants 45, par l'intermédiaire d'un cinquième ensemble de liaisons synaptiques 51 . Chaque poids synaptique de chaque connexion synaptique 51 est différent et chaque neurone de la carte de sortie N possède un poids relatif au biais propre. Cette carte de sortie N présente une image approchée de l'image présentée à l'entrée 41 de l'architecture 40 de réseaux de neurones.
Cette architecture de réseaux de neurone 40 permet d'effectuer dans un premier temps une projection non-linéaire d'une image dans un espace de dimension réduite par rapport à la dimension de l'image d'entrée par l'intermédiaire :
• d'une première opération de convolution entre la matrice E et la couche de convolution 42 ; • d'une deuxième opération de sous échantillonnage entre la couche de convolution 42 et la couche de sous échantillonnage 43 ;
• d'une troisième opération de double convolution entre la couche de sous échantillonnage 43 et la couche de double convolution 44.
La première opération de convolution et la deuxième opération de sous échantillonnage se comportent comme un filtre local permettant d'extraire des caractéristiques de bas niveau de l'image d'entrée.
Dans un deuxième temps, cette architecture neuronale 40 permet une reconstruction non-linéaire globale d'une image en utilisant :
• une quatrième opération entre la couche de double convolution 44 et la couche de neurones indépendants 45 ;
• une cinquième opération entre la couche de neurones indépendants 45 et la couche de sortie 46.
Cette architecture 40 permet donc de détecter les lignes caractéristiques d'un visage et d'en effectuer une compression afin d'obtenir les caractéristiques fondamentales du visage pour ensuite reconstruire une autre image du même visage en combinant les caractéristiques fondamentales extraites.
La figu re 5 représente un exemple d'apprentissage en utilisant l'architecture neuronale 40 représentée sur la figure 4a. La phase d'apprentissage est la première phase du procédé de reconnaissance selon l'invention.
Une base d'apprentissage 3 comme celle représentée sur la figure 1 b est construite à l'aide d'images de visages annotées. Cette annotation d'image est par exemple l'identité de la personne à qui appartient le visage représenté par l'image. La base d'apprentissage 3 permet de régler par apprentissage les poids des différentes connexions synaptiques 47, 48, 49, 50, 51 de l'architecture neuronale 40.
Dans un premier temps, un ensemble T de Nτ images de visages de Np personnes différentes est construit en extrayant manuellement ou automatiquement les Nτ images de la base d'apprentissage 3. Chaque image contient un visage correctement centré, elle est dimensionnée à la taille HxL de la couche d'entrée 41 de l'architecture neuronale 40. L'identité de la personne correspondant à chacune des Nτ images extraites est mémorisée, chaque image est alors annotée. Plusieurs images d'apprentissage sont disponibles pour une même personne à reconnaître. Les différentes images d'une même personne présentent des apparences variées. L'ensemble T est appelé par la suite l'ensemble d'apprentissage T. L'ensemble d'apprentissage T peut comporter par exemple une dizaine d'images de chaque individu, pour Np=46 individus.
Dans un second temps, un apprentissage automatique de l'ensemble des poids synaptiques ainsi que des poids liés aux biais des neurones de l'architecture neuronale 40 est réalisé. Pour cela, les différents poids sont initialisés de manière aléatoire avec de petites valeurs afin de ne pas avoir de séquence d'apprentissage se répétant régulièrement. Chaque image des Np personnes est ensuite présentée de manière aléatoire à la couche d'entrée 41 de l'architecture neuronale 40. Par exemple, pour chaque image 60 présentée à la couche d'entrée 41 de l'architecture neuronale 40, on fait correspondre en sortie, une par une, les autres images 61 de la même personne. Ceci permet de réaliser un apprentissage dit ici croisé, une image résultat I5 obtenue à la sortie de l'architecture neuronale
40 étant comparée avec une image différente de celle présentée en entrée
41 mais représentant la même personne. Si par exemple, une image IΘ est présentée en entrée 41 de l'architecture neuronale 40, l'image de sortie ls est comparée avec une image désirée Id choisie parmi les autres images 61 de la même personne. Pour effectuer cette comparaison, des valeurs D5 op des pixels de l'image désirée ld sont calculées. Les valeurs D5 op , comprises entre moins un et plus un sont calculées à partir de la valeur de chaque pixel Id op de l'image désirée ld représentée en niveaux de gris avec des valeurs pour les pixels Id op comprises entre zéro et deux cent cinquante cinq. Une valeur désirée D5 op vaut donc :
D u5,oP _ - (7^ " 128 /I/i 28 / ^1 I 0 U 6 D)J
Lorsque l'on présente en entrée 41 de l'architecture neuronale 40 l'image IΘ, les différentes couches 41 , 42, 43, 44, 45, 46 de l'architecture neuronale 40 sont activées l'une après l'autre. La couche de sortie 46 présente une image de sortie ls représentant la réponse de l'architecture neuronale 40 au stimulus initial correspondant à l'image d'entrée IΘ. L'objectif recherché est d'obtenir pour l'image de sortie ls des valeurs de pixels N5fiP les plus proches possible des valeurs désirées D5 op . Afin d'atteindre cet objectif, une fonction de coût O à minimiser est définie telle que :
° = i N\ τ χ x n* x z> Σ q=ι Σ 0 =1 Σ p =ι (Ns,op - D5J (107)
Minimiser la fonction de coût O revient à minimiser une erreur moyenne quadratique entre les valeurs produites NS op est les valeurs désirées D5 op , pour l'ensemble des Nτ images annotées de l'ensemble d'apprentissage T. Afin de minimiser la fonction de coût O , un algorithme itératif de rétro- propagation du gradient est utilisé. Cet algorithme permet de déterminer l'ensemble des poids synaptiques et des poids relatifs au biais, optimaux.
L'apprentissage à l'aide d'un réseau de neurones revient donc à déterminer tous les poids des connexions synaptiques de manière à obtenir un vecteur de sorties désirées D en fonction d'un vecteur d'entrées E . Pour cela, de manière générale, une base d'apprentissage est constituée comme l'ensemble d'apprentissage T. De manière générale, une base d'apprentissage quelconque comporte une liste de K paires de vecteurs {Er : Dr). Si Yr représente les sorties d'un réseau de neurones à un instant t, pour une entrée E1. , on vise donc à minimiser une erreur quadratique moyenne θ sur la couche de sortie du réseau de neurones : θ = ±∑θr avec έH|Dr -Fr|2 (108)
Λ r=ι Pour cela, une descente de gradient est réalisée à l'aide d'un algorithme itératif : θ(t) = Θ(t-D _ pW Θ(t-D J1 09) où V θ{> ~l) est le gradient de l'erreur quadratique moyenne θ à l'instant t - 1 par rapport à l'ensemble des P poids Wu de connexions synaptiques du réseau de neurones et où p est un pas d'apprentissage. Vθ(t ~!) est donné par la relation suivante :
V6>(M) (n o)
Figure imgf000025_0001
avec u compris entre zéro et P. La mise en œuvre de cette descente de gradient dans un réseau de neurones utilise donc un algorithme itératif de retro-propagation du gradient.
De manière générale, un réseau de neurones peut être défini par les paramètres suivants : « c , l'indice d'une couche du réseau de neurones, avec c = 0 pour la couche d'entrée du réseau de neurones, c = \ à c = C - \ pour les couches cachées du réseau de neurones et c = C pour la couche de sortie du réseau de neurones ;
• ii = \ à ii = nc , l'indice des nc neurones de la couche du réseau de neurones d'indice c ;
• Su c , l'ensemble des neurones de la couche d'indice c - 1 du réseau de neurones connecté aux entrées du neurone iiàe la couche d'indice c du réseau de neurones ;
• W]] l} , le poids de la connexion synaptique du neurone d'indice jj au neurone d'indice ij .
L'algorithme de rétro-propagation du gradient fonctionne en deux étapes principales :
• une étape de propagation au cours de laquelle un signal, représenté par un vecteur d'entrée E1. , traverse le réseau de neurones et produit une réponse en sortie sous la forme d'un vecteur Yr ,
• une étape de rétro-propagation au cours de laquelle un signal représentant l'erreur θr est rétro propagé dans le réseau de neurones et permet de modifier les différents poids synaptiques afin de minimiser l'erreur θr . L'algorithme de rétro-propagation du gradient utilise notamment deux paramètres p et γ :
• p est le pas d'apprentissage de l'algorithme de rétro-propagation du gradient, il est fixé à une valeur positive très petite, de l'ordre de 0,001 ;
• γ est le moment de l'algorithme de rétro-propagation du gradient, il est fixé à une valeur positive comprise entre zéro et un de l'ordre de 0,1.
Dans un premier temps, les valeurs des poids synaptiques W]hυ du réseau de neurones sont fixées à de petites valeurs.
L'algorithme de rétro-propagation du gradient comporte les étapes suivantes :
• une première étape est le choix d'une paire de vecteurs ( E1. D1. ) ;
• une deuxième étape est l'étape de propagation, elle permet de calculer les sorties des couches de neurones successives du réseau de neurones : par exemple lorsque l'on présente un vecteur Er à la couche d'entrée 41 du réseau de neurones, on a alors F0 = E1. et on assigne à D la valeur D1. = fy,...,dn,...,dnc ]. Ensuite pour chaque couche c du réseau de neurones de la couche 1 à la couche C, et pour chaque neurone ii de la couche c, on calcule :
. le potentiel : VlhC = ∑w^ y^ (1 1 1 )
JJ^Sn c
Figure imgf000026_0001
Φ représentant la fonction d'activation du neurone ii Θt Yc = [yhc,..., ylhC,..., ynJ (1 14)
• une troisième étape de rétro-propagation au cours de laquelle les couches du réseau de neurones sont parcourues dans le sens inverse au sens de la propagation, ainsi : pour chaque couche de neurones c de la couche C à la couche 1 , et pour chaque neurone ii de la couche c :
• on calcule:
Figure imgf000026_0002
• on met à jour les poids des connexions synaptiques arrivant au neurone ii de la manière suivante : à chaque itération de l'algorithme de rétro propagation du gradient, on calcule : AW = p δII)C y]hC_x + γ AW* pour tout jj e Su>c (1 1 6) avec AW "" = 0 lors de la première itération puis W = W11 + AW pour tout jj e Sn>c (1 17) enfin, on met à jour AW °'" :
AW11 n = AW11 n pour tout jj <Ξ SU C (1 18) et on met à jour W :
W11 = W pour tout jj e S11 c (1 19)
• on calcule l'erreur quadratique moyenne θ à l'aide de la relation (108).
Ces étapes sont répétées jusqu'à ce que l'erreur quadratique moyenne θ soit suffisamment petite pour être négligeable ou qu'un nombre maximum d'itérations ait été atteint. A cette fin, on peut fixer une erreur seuil ε en dessous duquel on considère que l'erreur quadratique moyenne # est négligeable. On peut également fixer un nombre Nb d'itérations maximum.
En appliquant l'algorithme de retro-propagation du gradient à l'architecture neuronale 40, on peut par exemple utiliser pour le pas d'apprentissage les valeurs suivantes :
• 0.005 pour les neurones des couches 42, 43,
• 0.003 pour les neurones de la couche 44, • 0.001 pour les neurones de la couche 45,
• 0.0001 pour les neurones de la couche 46, et pour le moment, la valeur 0.1.
L'algorithme de retro-propagation du gradient appliqué à l'architecture neuronale 40 converge vers une solution stable après environ mille itérations. A chaque itération, les personnes représentées par les images sont sélectionnées par exemple dans un ordre aléatoire et pour chaque personne deux exemples peuvent être tirés également de manière aléatoire : un premier exemple parmi les deux tirés est fourni en entrée 41 de l'architecture neuronale 40 et l'autre étant par exemple une sortie désirée. Il peut donc y avoir 46 présentations d'exemples et donc de mise à jour de l'architecture neuronale 40 par itération.
Lorsque l'algorithme de retro-propagation du gradient a mis à jour tous les poids synaptiques de manière optimale, l'apprentissage est terminé. Les sorties de l'architecture neuronale 40 sont alors suffisamment proches des valeurs désirées. On ne considère plus la dernière couche 46 de l'architecture neuronale 40 mais uniquement les sorties de la couche de neurones indépendants 45 pour effectuer un classement des images. Les résultats de la couche de neurones indépendants 45 forment un vecteur de caractéristiques. Ce vecteur de caractéristiques est le résultat d'une projection non linéaire d'une image d'entrée IΘ dans un espace de dimension réduite. Le fait que cette dimension soit réduite est dû au fait que le nombre de neurones de la couche de neurones indépendants 45 est inférieur au nombre de pixels de l'image d'entrée IΘ. Ce vecteur de caractéristiques contient donc une version condensée de l'information contenue dans une image de sortie ls.
La figu re 6 représente un exemple de la deuxième phase 2 du procédé de reconnaissance selon l'invention. Cette deuxième phase 2 de reconnaissance automatique peut être par exemple appliquée à une identification d'un visage comme représenté sur la figure 6.
Une fois les poids synaptiques W]] l} et les poids relatifs aux biais des neurones de l'architecture neuronale 40 mis à jour lors de la première phase d'apprentissage 1 , l'architecture neuronale 40 est utilisée afin de produire des vecteurs de caractéristiques V0 à partir des résultats de la couche de neurones indépendants 45. L'image de sortie 79, résultat de la couche de sortie 46, n'est donc pas exploitée au cours de la deuxième phase de reconnaissance automatique 2. La phase de reconnaissance automatique 2 peut comporter plusieurs étapes :
• une première étape de détection 70 d'un visage dans une image 71 : cette étape de détection peut faire appel à un détecteur de visage permettant de localiser un rectangle 72 englobant l'intérieur d'un visage. La zone d'image extraite 73 contenue dans le rectangle englobant 72 est fournie à la couche d'entrée 41 de l'architecture neuronale 40 ;
• une seconde étape permet d'obtenir un vecteur de caractéristiques V0 de l'image extraite 73 : après avoir été redimensionnée à la taille HxL, l'image extraite 73 est placée en entrée 41 l'architecture neuronale 40.
La couche d'entrée 41 de l'architecture neuronale 40 ainsi que les couches successives 42, 43, 44 jusqu'à la couche de neurones indépendants 45 sont activées les unes après les autres afin de traiter l'image extraite 73. A la sortie de la couche de neurones 45, on obtient un vecteur de caractéristiques V0 comportant des valeurs comprises entre moins un et plus un ;
• une troisième étape utilise une méthode de recherche du plus proche voisin, par exemple, permettant de classer le vecteur de caractéristiques obtenu V0 par rapport à des vecteurs de caractéristiques V1, V2, V3, V4, jusqu'au vecteur V de chacune des Nτ images de l'ensemble d'apprentissage T par exemple. Chaque vecteur de caractéristiques V1, V2, V3, V4, jusqu'au vecteur V peut avoir été construit préalablement en présentant en entrée de l'architecture neuronale 40, une fois la phase d'apprentissage terminée, chacune des Nτ images de l'ensemble d'apprentissage T. Chaque image de l'ensemble d'apprentissage T a préalablement été annotée avec l'identité de la personne correspondante. Par exemple sur la figure 6, des images 74, 75, 76, 77, 78 de l'ensemble d'apprentissage T correspondent respectivement à des identités A, A, B, C et D. On cherche donc un vecteur de caractéristiques Vdmιn parmi les vecteurs de caractéristiques V1 , V2, V3, V4, jusqu'au vecteur V àe l'ensemble d'apprentissage T qui soit le plus proche par exemple au sens de la distance Euclidienne du vecteur de caractéristiques V0. Une fois trouvé le vecteur Vdmιn le plus proche du vecteur V0, par exemple sur la figure 6 il s'agit du vecteur V3, l'identité de la personne de l'image extraite 73 est celle associée à l'image correspondant au vecteur V3. Sur la figure 6, il s'agit de l'identité A. Le visage 73 reçu en entrée 41 de l'architecture neuronale 40 correspond donc à la personne A. Le procédé et le système de reconnaissance selon l'invention peuvent être utilisés à des fins de reconnaissance non seulement d'un élément morphologique d'une personne, tel un visage, mais également à des fins de reconnaissance d'un objet quelconque.
L'architecture neuronale 40 selon l'invention comporte plusieurs couches de types différents permettant avantageusement à la fois de développer automatiquement des détecteurs bas-niveau robustes et sans à priori, tout en apprenant une projection non linéaire globale d'une image de visage en un vecteur de caractéristiques.
Un autre avantage du procédé selon l'invention réside dans le fait que l'apprentissage croisé assure que les vecteurs de caractéristiques de tous les exemples d'une personne donnée sont proches l'un de l'autre malgré des variations dans les images en entrée en terme d'expression faciales, d'occultations partielles et en terme d'illumination.
La non-linéarité du procédé de reconnaissance selon l'invention ainsi que la combinaison de traitements locaux et globaux et l'apprentissage automatique d'extracteurs de caractéristiques sont des facteurs qui conduisent avantageusement à obtenir de meilleurs performances par rapport à des méthodes basées sur des techniques linéaires comme les méthodes ACP, ADL ou ADB ainsi que par rapport à des méthodes basées sur des filtres empiriquement paramétrés.
Le procédé de reconnaissance selon l'invention répond donc avantageusement aux besoins en matière de reconnaissance et permet une reconnaissance robuste des visages avec des expressions faciales ainsi que des conditions d'illuminations variées.
Avantageusement, le procédé selon l'invention peut être couplé avec un détecteur de visage, en phase de reconnaissance, permettant d'effectuer une extraction d'une image de visage dans une image, de recadrer le visage dans l'image extraite et de redimensionner l'image extraite avec une taille d'image prise en compte par le procédé selon l'invention.

Claims

REVENDICATIONS
1 . Procédé de reconnaissance d'un objet dans une image caractérisé en ce qu'il comporte :
• une première phase d'apprentissage croisé (1 ) d'un procédé de reconstruction non-linéaire d'une image de sortie (U) correspondant à l'objet, à partir d'une image d'entrée connue (U) de l'objet, par l'intermédiaire d'une projection non-linéaire de l'image d'entrée connue (U) de dimension donnée dans un espace de dimension inférieure à ladite dimension donnée, ladite première phase d'apprentissage (1 ) étant effectuée par une architecture neuronale
(40) comportant différents types de couches (41 , 42, 43, 44, 45, 46) de neurones artificiels ;
• une deuxième phase de reconnaissance (2) d'une image d'entrée inconnue (73) de l'objet, le procédé de reconstruction ayant préalablement été appris, l'architecture neuronale (40) extrayant, par la projection non-linéaire de l'image d'entrée inconnue (73), un premier vecteur de caractéristiques V0, la reconnaissance s'effectuant en mesurant une distance entre le premier vecteur de caractéristiques V0 et un deuxième vecteur de caractéristiques V3 d'une autre image (76).
2. Procédé selon la revendication 1 caractérisé en ce que la phase d'apprentissage (1 ) utilise une base d'apprentissage (3) comportant des images (60) de l'objet associées à un moyen d'identification de l'objet.
3. Procédé selon la revendication 2 caractérisé en ce que la phase d'apprentissage (1 ) comporte :
• une première étape de choix d'une paire d'images (U, U) comportant l'image d'entrée (U) et une image désirée (U), représentant un même objet dans la base d'apprentissage (3);
• une deuxième étape de calcul, par les couches successives (41 , 42, 43, 44, 45, 46) de l'architecture neuronale (40), de l'image de sortie (U) à partir de l'image d'entrée (U) ; • une troisième étape d'évaluation d'une différence entre l'image de sortie (I5) et l'image désirée (ld), une mise à jour de l'architecture neuronale (40) étant effectuée en minimisant la différence entre l'image de sortie (I5) et l'image désirée (ld), les trois étapes précédemment décrites étant renouvelées jusqu'à ce que la différence soit inférieure à un seuil fixé ε.
4. Procédé selon la revendication 3, caractérisé en ce que l'architecture neuronale (40) comportant plusieurs couches de neurones (41 , 42, 43, 44, 45, 46) reliées par des connexions synaptiques (47, 48, 49, 50, 51 ) pourvues chacune de poids synaptiques W]] l} , la mise à jour de l'architecture neuronale (40) s'effectue en mettant à jour les poids synaptiques W]]>υ .
5. Procédé selon la revendication 4, caractérisé en ce que la minimisation de la différence calculée au cours de la troisième étape de la phase d'apprentissage (1 ) est effectuée par un algorithme de retro-propagation du gradient.
6. Procédé selon la revendication 5, caractérisé en ce que la minimisation de la différence calculée est effectuée en minimisant une fonction de coût représentant une erreur
Figure imgf000032_0001
avec :
• N7, représentant le nombre d'images (60) de la base d'apprentissage (3) utilisées pendant la phase d'apprentissage (1 ) ;
' N 5 oP représentant la valeur d'un pixel d'une ligne o et d'une colonne p de pixels de l'image de sortie (ls) ;
• D5 op représentant la valeur d'un pixel d'une ligne o et d'une colonne p de pixels de l'image désirée (ld).
7. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il effectue une identification, le premier vecteur de caractéristiques V0 étant comparé à un ensemble de vecteurs caractéristiques V1 à V d'images (74, 75, 76, 77, 78) identifiées de la base d'apprentissage (3).
8. Procédé selon l'une quelconque des revendications 1 à 7, caractérisé en ce qu'il effectue une authentification, le premier vecteur de caractéristiques
V0 étant comparé avec le vecteur de caractéristiques d'une image inconnue, issu du passage de l'image inconnue dans l'architecture neuronale (40).
9. Système de reconnaissance d'un objet dans une image caractérisé en ce qu'il comporte une architecture neuronale (40) comportant :
• un premier ensemble d'une ou plusieurs couches de neurones (41 , 42, 43, 44) effectuant une projection non-linéaire d'une image d'entrée (U) dans un espace de dimension réduite par rapport à la dimension donnée de l'image d'entrée (U); « un deuxième ensemble de couches de neurones (45, 46) effectuant une reconstruction non-linéaire d'une image de sortie (U), ladite image de sortie étant obtenue en sortie d'une couche de sortie dudit deuxième ensemble, dans un espace de même dimension que la dimension donnée de l'image d'entrée (U), à partir de la projection non-linéaire de l'image d'entrée (U) dans l'espace de dimension réduite par rapport à la dimension donnée de l'image d'entrée (U), et en ce qu'il comporte :
• des moyens d'extraction, à partir d'une couche de neurones dudit deuxième ensemble, autre que ladite couche de sortie, d'un vecteur de caractéristiques d'une image appliquée à l'entrée de ladite architecture neuronale,
• et des moyens de mesure de distance entre deux vecteurs de caractéristiques obtenus par lesdits moyens d'extraction.
10. Système selon la revendication 9, caractérisé en ce que le premier ensemble de couches de neurones (41 , 42, 43, 44) comporte :
• une couche d'entrée (41 ) de l'architecture neuronale (40) se présentant sous la forme d'une matrice E de dimension donnée, chaque élément Eab de la matrice représentant un pixel de l'image d'entrée ; • une couche de convolution (42) comportant un nombre NCi de cartes de neurones C-ιk, chaque neurone de chaque carte C-ιk étant connecté par un premier ensemble de M1XM1 connexions synaptiques (47) à un ensemble de M1XM1 éléments voisins Eab de la matrice E, chaque élément Eab étant connecté à un ou plusieurs neurones de chaque carte C1 k ;
• une couche de sous échantillonnage (43) comportant un nombre NS2 de cartes de neurones S2ι de dimension réduite par rapport à la dimension des cartes de la couche de convolution (42), chaque neurone d'une carte S2ι recevant une moyenne des sorties de M2 χM2 neurones voisins d'une carte C-ik de la couche de convolution (42), chaque neurone de chaque carte C1 k étant connecté à un seul neurone d'une carte S2ι, par l'intermédiaire d'un deuxième ensemble de M2 χM2 connexions synaptiques (48) ; • une couche de double convolution (44) comportant un nombre NC3 de cartes de neurones C3m, chaque neurone d'une carte C3m étant connectée par un troisième ensemble de connexions synaptiques (49) à un ensemble de M3 χM3 neurones voisins de deux cartes S2ι de la couche de sous échantillonnage (43), chaque neurone d'une carte S2ι étant connecté à un ou plusieurs neurones d'une ou deux cartes
1 1 Système selon la revendication 10, caractérisé en ce que le deuxième ensemble de couches de neurones (45, 46) comporte : • une couche de neurones indépendants (45) dont chaque neurone est connecté par un quatrième ensemble de connexions synaptiques (50) à l'ensemble des neurones de l'ensemble des cartes C3m de la couche de double convolution (44) ;
• une couche de sortie (46) du système de reconnaissance comportant une carte N de neurones, l'ensemble des neurones de la carte N étant connecté à l'ensemble des neurones de la couche de neurones indépendants (45) par l'intermédiaire d'un cinquième ensemble de connexions synaptiques (51 ).
12. Système selon la revendication 1 1 , caractérisé en ce que : • les neurones de la couche de convolution (41 ) utilisent une première fonction d'activation de type linéaire ;
• les neurones de la couche de sous échantillonnage (43) utilisent une deuxième fonction d'activation de type sigmoïde ; • les neurones de la couche de double convolution (44) utilisent une cinquième fonction d'activation de type sigmoïde ;
• les neurones de la couche de neurones indépendants (45) utilisent une troisième fonction d'activation de type sigmoïde ;
• les neurones de la couche de sortie (46) utilisent une quatrième fonction d'activation de type linéaire.
13. Système selon les revendications 10 et 1 1 , caractérisé en ce que, chaque connexion synaptique (47, 48, 49, 50, 51 ) de l'architecture neuronale (40) étant associée à un poids synaptique W]} l} :
• les poids synaptiques de chaque neurone de la couche de convolution (42) sont partagés par l'ensemble des neurones de la couche de convolution (42) ;
• les poids synaptiques de chaque neurone de la couche de sous échantillonnage (43) sont partagés par l'ensemble des neurones de la couche de sous échantillonnage (43) ;
• les poids synaptiques de chaque neurone de la couche de double convolution (44) sont partagés par l'ensemble des neurones de la couche de double convolution (44) ; • les poids synaptiques de tous les neurones de la couche de neurones indépendants (45) sont indépendants entre eux ;
• les poids synaptiques de tous les neurones de la couche de sortie (46) sont indépendants entre eux.
14. Programme informatique comprenant des instructions de code de programme pour l'exécution du procédé de reconnaissance à partir d'un objet dans une image selon l'une quelconque des revendications 1 à 8, ledit programme informatique étant exécuté par un ou plusieurs processeurs.
PCT/FR2007/052569 2006-12-22 2007-12-19 Procede et systeme de reconnaissance d'un objet dans une image Ceased WO2008081152A2 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0655929 2006-12-22
FR0655929 2006-12-22

Publications (2)

Publication Number Publication Date
WO2008081152A2 true WO2008081152A2 (fr) 2008-07-10
WO2008081152A3 WO2008081152A3 (fr) 2008-09-18

Family

ID=38222128

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2007/052569 Ceased WO2008081152A2 (fr) 2006-12-22 2007-12-19 Procede et systeme de reconnaissance d'un objet dans une image

Country Status (1)

Country Link
WO (1) WO2008081152A2 (fr)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010105535A1 (fr) * 2009-03-17 2010-09-23 腾讯科技(深圳)有限公司 Procédé et appareil d'authentification vidéo d'un utilisateur
CN110287818A (zh) * 2019-06-05 2019-09-27 广州市森锐科技股份有限公司 基于分层矢量化的人脸特征向量优化方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104408405B (zh) * 2014-11-03 2018-06-15 北京畅景立达软件技术有限公司 人脸表示和相似度计算方法

Non-Patent Citations (12)

* Cited by examiner, † Cited by third party
Title
"Robust face analysis using convolutional neural networks - Beat Fasel IDIAP-RR 01-48" INTERNET CITATION, [Online] décembre 2001 (2001-12), XP007902637 Extrait de l'Internet: URL:http://www.idiap.ch/ftp/reports/2001/rr01-48.ps.gz> [extrait le 2007-07-13] *
BOURLARD H ET AL: "AUTO-ASSOCIATION BY MULTILAYER PERCEPTRONS AND SINGULAR VALUE DECOMPOSITION" BIOLOGICAL CYBERNETICS, SPRINGER VERLAG, BERLIN, DE, vol. 59, no. 4/5, 1988, pages 291-294, XP000861877 ISSN: 0340-1200 *
CHOISY C ET AL: "APPRENTISSAGE CROISE EN RECONNAISSANCE ANALYTIQUE DE L'ECRITURE MANUSCRITE" COLLOQUE INTERNATIONAL FRANCOPHONE SUR L'ECRIT ET LE DOCUMENT, XX, XX, juillet 2000 (2000-07), pages 1-8, XP001114800 *
CHOISY C ET AL: "Cross-learning in analytic word recognition without segmentation" INTERNATIONAL JOURNAL ON DOCUMENT ANALYSIS AND RECOGNITION, SPRINGER, BERLIN,, DE, vol. 4, no. 4, mai 2002 (2002-05), pages 281-289, XP008081167 ISSN: 1433-2833 *
COTTRELL G W ET AL: "Principal components analysis of images via back propagation" PROCEEDINGS OF THE SPIE, SPIE, BELLINGHAM, VA, US, vol. 1001, 9 novembre 1988 (1988-11-09), pages 1070-1077, XP008081206 ISSN: 0277-786X *
FLEMING M K ET C W COTTRELL: "CATEGORIZATION OF FACES USING UNSUPERVISED FEATURE EXTRACTION" INTERNATIONAL JOINT CONFERENCE ON NEURAL NETWORKS (IJCNN). SAN DIEGO, JUNE 17 - 21, 1990, NEW YORK, IEEE, US, vol. VOL. 2, 17 juin 1990 (1990-06-17), pages 65-70, XP000144325 *
GARCIA C ET AL: "CONVOLUTIONAL FACE FINDER: A NEURAL ARCHITECTURE FOR FAST AND ROBUST FACE DETECTION" IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, IEEE SERVICE CENTER, LOS ALAMITOS, CA, US, vol. 26, no. 11, novembre 2004 (2004-11), pages 1408-1423, XP008039814 ISSN: 0162-8828 cité dans la demande *
LECUN Y ET AL: "CONVOLUTIONAL NETWORKS FOR IMAGES, SPEECH, AND TIME SERIES" HANDBOOK OF BRAIN THEORY AND NEURAL NETWORK, XX, XX, 1995, pages 255-258, XP008060061 *
LECUN Y ET AL: "GRADIENT-BASED LEARNING APPLIED TO DOCUMENT RECOGNITION" PROCEEDINGS OF THE IEEE, IEEE. NEW YORK, US, vol. 86, no. 11, novembre 1998 (1998-11), pages 2278-2323, XP000875095 ISSN: 0018-9219 *
STAN Z. LI & ANIL K. JAIN: "Handbook of Face Recognition" 2005, SPRINGER , XP002442795 page 153 - page 156 page 166 - page 168 *
STEVE LAWRENCE ET AL: "Face Recognition: A Convolutional Neural-Network Approach" IEEE TRANSACTIONS ON NEURAL NETWORKS, IEEE SERVICE CENTER, PISCATAWAY, NJ, US, vol. 8, no. 1, janvier 1997 (1997-01), XP011039940 ISSN: 1045-9227 *
Y.H. HU: "Handbook of NEURAL NETWORK SIGNAL PROCESSING" 2002, CRC , XP002442796 page 210 - page 247 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010105535A1 (fr) * 2009-03-17 2010-09-23 腾讯科技(深圳)有限公司 Procédé et appareil d'authentification vidéo d'un utilisateur
CN110287818A (zh) * 2019-06-05 2019-09-27 广州市森锐科技股份有限公司 基于分层矢量化的人脸特征向量优化方法
CN110287818B (zh) * 2019-06-05 2024-01-16 广州市森锐科技股份有限公司 基于分层矢量化的人脸特征向量优化方法

Also Published As

Publication number Publication date
WO2008081152A3 (fr) 2008-09-18

Similar Documents

Publication Publication Date Title
EP3707676B1 (fr) Procédé d&#39;estimation de pose d&#39;une caméra dans le référentiel d&#39;une scène tridimensionnelle, dispositif, système de réalite augmentée et programme d&#39;ordinateur associé
CN112580458B (zh) 人脸表情识别方法、装置、设备及存储介质
Zhao et al. Supervised segmentation of un-annotated retinal fundus images by synthesis
Prakash et al. Face recognition with convolutional neural network and transfer learning
Babaee et al. Person identification from partial gait cycle using fully convolutional neural networks
US9830529B2 (en) End-to-end saliency mapping via probability distribution prediction
EP1866834A2 (fr) Système et procédé de localisation de points d&#39;intérêt dans une image d&#39;objet mettant en uvre un réseau de neurones
WO2015180042A1 (fr) Représentation de visage fondée sur l&#39;apprentissage profond
EP3582141B1 (fr) Procédé d&#39;apprentissage de paramètres d&#39;un réseau de neurones à convolution
FR3088467A1 (fr) Procede de classification d&#39;une image d&#39;entree representative d&#39;un trait biometrique au moyen d&#39;un reseau de neurones a convolution
EP1864242A1 (fr) Procede d&#39;identification de visages a partir d&#39;images de visage, dispositif et programme d&#39;ordinateur correspondants
Yang et al. A robust iris segmentation using fully convolutional network with dilated convolutions
Gangwar et al. Deepirisnet2: Learning deep-iriscodes from scratch for segmentation-robust visible wavelength and near infrared iris recognition
CN110688966B (zh) 语义指导的行人重识别方法
CN118609061A (zh) 基于ai识别的安检设备控制方法、装置、设备及存储介质
Horng et al. Recognizing very small face images using convolution neural networks
Alafif et al. On detecting partially occluded faces with pose variations
Duffner et al. A neural scheme for robust detection of transparent logos in TV programs
WO2008081152A2 (fr) Procede et systeme de reconnaissance d&#39;un objet dans une image
CN114863520A (zh) 一种基于c3d-sa的视频表情识别方法
El-gabri et al. Dlra-net: Deep local residual attention network with contextual refinement for spectral super-resolution
CN119274213A (zh) 基于跨模态可靠主观特征的素描行人重识别方法及设备
Shirindi et al. Face Recognition using PCA and constrained images
CN111666819B (zh) 一种融合多元信息的高精度视频异常事件检测方法
Al-Azzawi et al. Localized deep-CNN structure for face recognition

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE

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

Ref document number: 07871982

Country of ref document: EP

Kind code of ref document: A2

122 Ep: pct application non-entry in european phase

Ref document number: 07871982

Country of ref document: EP

Kind code of ref document: A2