EP1866834A2 - Système et procédé de localisation de points d'intérêt dans une image d'objet mettant en uvre un réseau de neurones - Google Patents
Système et procédé de localisation de points d'intérêt dans une image d'objet mettant en uvre un réseau de neuronesInfo
- Publication number
- EP1866834A2 EP1866834A2 EP06725370A EP06725370A EP1866834A2 EP 1866834 A2 EP1866834 A2 EP 1866834A2 EP 06725370 A EP06725370 A EP 06725370A EP 06725370 A EP06725370 A EP 06725370A EP 1866834 A2 EP1866834 A2 EP 1866834A2
- Authority
- EP
- European Patent Office
- Prior art keywords
- neurons
- interest
- object image
- image
- points
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local 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/443—Local 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/168—Feature extraction; Face representation
- G06V40/171—Local features and components; Facial parts ; Occluding parts, e.g. glasses; Geometrical relationships
Definitions
- a system and method for locating points of interest in an object image implementing a neural network is disclosed.
- the field of the invention is that of digital processing of still or moving images. More specifically, the invention relates to a technique for locating one or more point (s) of interest in an object represented on a digital image.
- the invention finds in particular, but not exclusively, an application in the field of the detection of physical characteristics in the faces present on a digital or digitized image, such as the pupil of the eye, the corner of the eyes, the tip of the nose , mouth, eyebrows, etc.
- a digital or digitized image such as the pupil of the eye, the corner of the eyes, the tip of the nose , mouth, eyebrows, etc.
- the automatic detection of points of interest in face images is a major issue in the field of facial analysis.
- the detectors used are based on an analysis of the chrominance of the face: the pixels of the face are labeled as belonging to the skin or to the facial elements according to their color. Other detectors use contrast variations. For this, a contour detector is applied, based on the analysis of the light gradient. We then try to identify the facial elements from the shape of the different contours detected.
- Some known techniques implement a second phase of applying a geometric face model to all candidate positions determined in the first phase of independent detection of each element.
- the elements detected in the initial phase form constellations of candidate positions and the geometric model that can be deformable makes it possible to select the best constellation.
- a recent method allows to get rid of the classic two-step schema (independent search of facial elements followed by the application of geometric rules).
- This method is based on the use of Active Models of Appearance (AAMs) and is described in particular by D. Chrisce and T. Cootes, in "A comparison of shape constrained facial feature detectors" (Proceedings of the 6 * International Conference on Automatic Face and Gesture Recognition 2004, Seoul, Korea, pages 375-380, 2004). It consists in predicting the position of the facial elements by trying to match an active face model on the face in the image, by adapting the parameters of a linear model combining form and texture.
- AAMs Active Models of Appearance
- detectors designed specifically for the detection of different facial elements do not withstand the extreme conditions of illumination of images, such as over-lighting or under lighting, side lighting, from below. They are also not very robust vis-à-vis the variations in image quality, especially in the case of low resolution images from video streams (acquired for example by means of a "webcam") or previously compressed.
- Methods based on chrominance analysis are also sensitive to lighting conditions. In addition, they can not be applied to grayscale images.
- the statistical models used being linear, created by ACP, they are not robust to the overall variations of the image, in particular the variations of lighting. They are also not very robust with regard to partial occlusions of the face.
- the invention particularly aims to overcome these disadvantages of the prior art.
- an object of the invention is to provide a technique for locating several points of interest in an image representative of an object that does not require long and tedious development of filters specific to each point of interest that the we want to be able to locate, and to each type of object.
- Another object of the invention is to propose such a localization technique that is particularly robust to all noises that can affect the image, such as illumination conditions, chromatic variations, partial occlusions, etc.
- the invention also aims to provide such a technique that takes into account occultations partially affecting the images, and that allows the inference of the position of the occulted points.
- the invention also aims to propose such a technique that is simple to implement and inexpensive to implement.
- Another object of the invention is to provide such a technique which is particularly well suited to the detection of facial elements in face images.
- a system for locating at least two points of interest in an object image which implements an artificial neural network and has a layered architecture comprising: an input layer receiving said object image; at least one intermediate layer, called the first intermediate layer, comprising a plurality of neurons making it possible to generate at least two saliency maps each associated with a predefined distinct point of interest of said object image; at least one output layer comprising said saliency maps, which themselves comprise a plurality of neurons each connected to all the neurons of said first intermediate layer.
- Said points of interest are localized, in said object image, by the position of a single global maximum on each of said saliency maps.
- the invention is based on a completely new and inventive approach to the detection of several points of interest in a representative image of an object, since it proposes to use a layered neural architecture, which makes it possible to generate at the output several saliency cards allowing a direct detection of the points of interest to locate, by simple search of maximum.
- the invention therefore proposes a global search, on the whole of the object image, of the various points of interest by the neural network, which makes it possible in particular to take account of the relative positions of these points, and also allows to overcome the problems related to their total or partial occultation.
- the output layer comprises at least two saliency maps each associated with a predefined distinct point of interest.
- Such a neural architecture is also more robust than techniques prior to possible problems of lighting images of objects. It is specified that here is meant by "predefined point of interest" a remarkable element of an object, such as for example an eye, a nose, a mouth, etc., in a face image.
- the invention therefore does not consist of searching for any contour in an image, but rather a predefined identified element.
- said object image is a face image.
- the points of interest sought are then permanent physical traits, such as eyes, nose, mouth, eyebrows, etc.
- such a location system also comprises at least a second intermediate convolution layer comprising a plurality of neurons.
- a layer may specialize in the detection of low level elements, such as contrast lines, in the object image.
- such a location system also comprises at least a third subsampling intermediate layer comprising a plurality of neurons.
- a locating system comprises, between said input layer and said first layer intermediate: a second intermediate convolution layer comprising a plurality of neurons and for detecting at least one line-like elementary form in said object image, said second intermediate layer delivering a convolved object image; a third subsampling intermediate layer comprising a plurality of neurons and for reducing the size of said convoluted object image, said third intermediate layer providing a reduced convolved object image; a fourth convolutional intermediate layer comprising a plurality of neurons and for detecting at least one wedge type complex shape in said reduced convolved object image.
- the invention also relates to a method of learning a neural network of a system for locating at least two points of interest in an object image as described above.
- Each of said neurons has at least one weighted input by a synaptic weight, and a bias.
- Such a learning method comprises steps of: constructing a learning base comprising a plurality of object images annotated according to said points of interest to be located; initialization of said synaptic weights and / or said biases; for each of said annotated images of said learning base: preparing said at least two desired saliency maps output from said at least two predefined points of interest annotated on said image; presenting said image at the input of said location system and determining said at least two saliency maps delivered at the output; minimizing a difference between said desired saliency maps and outputted to all of said annotated images of said learning base, so as to determine said synaptic weights and / or said optimal biases.
- the neural network thus learns, based on examples manually annotated by a user, to recognize certain points of interest on the object images. He will then be able to locate them in any image provided at the input of the network.
- said minimization is a minimization of a mean squared error between said desired saliency maps and output and implements an iterative gradient retropropagation algorithm. This algorithm is described in detail in Appendix 2 of this document, and allows a fast convergence towards the optimal values of the different synaptic biases and weights of the network.
- the invention also relates to a method for locating at least two points of interest in an object image, which comprises steps of: presenting said object image at the input of a layered architecture implementing a artificial neural network; sequentially activating at least one intermediate layer, called the first intermediate layer, comprising a plurality of neurons and making it possible to generate at least two saliency maps each associated with a predefined distinct point of interest of said object image, and at least one output layer comprising said saliency maps, said saliency maps comprising a plurality of neurons each connected to all the neurons of said first intermediate layer; locating said points of interest in said object image by searching, in said saliency maps, for a position of a single global maximum on each of said maps.
- such a locating method comprises preliminary steps of: detecting, in any image, a zone encompassing said object, and constituting said object image; resizing said object image.
- This detection can be done from a conventional detector well known to those skilled in the art, for example a face detector which makes it possible to determine a box encompassing a face in a complex image. Resizing can be carried out automatically by the detector, or independently by dedicated means: it provides input to the neural network images all having the same size.
- the invention further relates to a computer program comprising program code instructions for executing the method of learning a neural network described above when said program is executed by a processor, as well as a program of computer comprising program code instructions for executing the method of locating at least two points of interest in an object image previously described when said program is executed by a processor.
- Such programs can be downloaded from a communication network (eg the global Internet network) and / or stored in a computer readable data medium.
- a communication network eg the global Internet network
- FIG. 1 presents a synoptic of the neural architecture of the location system of points of interest in an object image of the invention
- Figure 2 more specifically illustrates a convolution map, followed by a subsampling map, in the neural architecture of Figure 1
- Figures 3a and 3b show some examples of face images of the learning base
- FIG. 4 describes the main steps of the method for locating facial elements in a face image according to the invention
- Figure 5 shows a simplified block diagram of the locating system of the invention
- FIG. 6 shows an example of a network of artificial neurons of the perceptron multi-layer type
- Figure 7 illustrates more precisely the structure of an artificial neuron
- Figure 8 shows the characteristic of the hyperbolic tangent function used as a transfer function for sigmoidal neurons. 7. Description of an embodiment of the invention
- the general principle of the invention is based on the use of a neural architecture to be able to automatically detect several points of interest in object images (more particularly of semi-rigid objects), and in particular in images faces (detection of permanent features such as eyes, nose or mouth). More precisely, the principle of the invention consists in constructing a neural network making it possible to learn how to transform, in one pass, an object image into several saliency maps whose positions of the maxima correspond to the positions of points of interest. selected by the user in the input object image.
- This neural architecture is composed of several heterogeneous layers, which make it possible to automatically develop robust low-level detectors, while learning rules allowing to regulate the plausible relative dispositions of the detected elements and to take into account naturally all information available to locate possible hidden elements.
- All neuron connection weights are set during a learning phase, from a set of images of pre-segmented objects, and positions of points of interest in these images.
- the neural architecture then acts as a cascade of filters making it possible to transform an image zone containing an object, previously detected in a larger image or in a video sequence, into a set of digital maps, of the size of the input image, whose elements are between -1 and 1.
- Each map corresponds to a particular point of interest whose position is identified by a simple search of the position of the element whose value is maximum.
- the method of the invention allows a robust detection of facial elements in faces, in various poses (orientations, semi-front), with various facial expressions, which can contain occulting elements, and appearing in images that exhibit significant variability in terms of resolution, contrast and illumination. 7.1 Neural architecture
- the architecture of the artificial neural network of the point of interest localization system of the invention is presented.
- the operating principle of such artificial neurons, as well as their structure, is recalled in Appendix 1, which forms an integral part of the present description.
- Such a neural network is for example a multi-layer perceptron network, also described in appendix 1.
- Such a neural network is composed of six interconnected heterogeneous layers referenced E, C 1 , S 2 , C 3 , N 4 and R 5 , which contain a series of cards resulting from a succession of convolution and subtraction operations. sampling.
- E interconnected heterogeneous layers referenced E, C 1 , S 2 , C 3 , N 4 and R 5 , which contain a series of cards resulting from a succession of convolution and subtraction operations. sampling.
- the proposed architecture includes: - an input layer E: it is a retina, which is a large image matrix
- H x L where H is the number of lines and L is the number of columns.
- the input layer E receives the elements of an image zone of the same size H x L.
- E 1J (P 1J - 128) / 128, of value between -1 and 1.
- HxL is also the size of the faces images of the learning base used for the parameterization of the neural network, and face images in which it is desired to detect one or more facial elements. This size can be that obtained directly at the output of the face detector that extracts face images, larger images or video sequences.
- a first convolution layer C 1 consisting of NC 1 cards referenced C 11 .
- Each card C 11 is connected 1O 1 to the input card E, and comprises a plurality of linear neurons (as presented in Appendix 1).
- Each of these neurons is connected by synapses to a set of M 1 x M 1 neighboring elements in the E-card (receptive fields) as described in more detail in Figure 2.
- Each of these neurons further receives bias.
- These M 1 x M 1 synapses, plus the bias, are shared by all the C 11 neurons.
- Each card C 11 thus corresponds to the result of a convolution by a core M 1 x M 1 11 augmented by a bias, in the input card E.
- This convolution specializes in a detector of certain low-level shapes in the card input such as oriented contrast lines of the image.
- Each card S 2j is connected 12 to a corresponding card C 11 .
- Each neuron of a map S 2j receives the average of M 2 ⁇ M 2 neighboring elements 13 in the map C 11 (receptive fields), as illustrated in more detail in FIG. 2.
- Each neuron multiplies this average by a synaptic weight, and adds a bias.
- Synaptic weight and bias whose optimal values are determined during a learning phase, are shared by the set of neurons of each card S 2j .
- the output of each neuron is obtained after passing through a sigmoid function.
- Each card C 3k is connected 14 k to each of the cards S 2j of the subsampling layer
- the neurons of a C 3k map are linear, and each of these neurons is connected by synapses to a set of M 3 ⁇ M 3 neighboring elements 15 in each of the maps S 2j . He also receives a bias.
- the M 3 x M 3 synapses per card, plus the bias, are shared by all the neurons of the C 3k cards.
- the cards C 3k correspond to the result of the sum of NC 3 convolutions by M 3 x M 3 15 nuclei, increased by a bias.
- Each neuron of the N layer 4 is connected 1O 1 to all the neurons of the layer C 3 , and receives a bias.
- N 41 neurons make it possible to learn how to generate the R 5m output cards by maximizing the responses on the positions of the points of interest in each of these cards, while taking into account the overallity of the C 3 cards, which makes it possible to detect a particular point of interest taking into account the detection of others.
- NN 4 100 neurons are chosen, and the hyperbolic tangent function (denoted th or tanh) for the transfer function of sigmoidal neurons; a layer R 5 of cards, consisting of NR 5 R 5m cards, one for each point of interest chosen by the user (right eye, left eye, nose, mouth, etc.).
- Each R 5m card is connected to all the neurons of the N layer 4 .
- the neurons of an R 5m map are sigmoidal, and each is connected to all neurons in the N 4 layer.
- Each card R 5m is of size Hx L, which is the size of the input layer E.
- NR 5 4 cards of size 56 x 46 are chosen.
- each R 5m card having a maximum output in each R 5m card corresponds to the position of the corresponding facial element in the image presented at the input of the network.
- the layer R 5 has only one saliency map on which all the points of interest that one wishes to locate in the image.
- FIG. 2 illustrates an example of a 5 ⁇ 5 11 convolution card C 11 followed by a 2 ⁇ 2 subsampling card S 2j .
- the convolution performed does not take into account the pixels located on the edges of the card C 11 , to avoid edge effects.
- a set T of face images is first manually extracted from a corpus of large images.
- Each face image is resized to the size H x L of the input layer E of the neural architecture, preferably respecting the natural proportions of the faces.
- the positions of the eyes, nose and center of the mouth are manually marked, as shown in Figure 3a: thus obtaining a set of annotated images based on the points of interest that the neural network will have to learn to locate.
- These points of interest to locate in the images can be chosen freely by the user.
- a training database of approximately 2500 manually annotated face images can be used depending on the position of the center of the left eye, the right eye, the nose and the mouth. After applying geometric modifications to these annotated images (translations, rotations, zooms, etc.), we obtain about 32,000 examples of annotated faces with significant variability.
- each point corresponds to the point of value +1, whose position corresponds to that of a facial element to be located (right eye, left eye, nose or center of the mouth).
- N 4 and R 5 of the neural network are activated one after the other.
- the response of the neural network to image I is then obtained.
- the goal is to obtain cards R 5m identical to the desired cards D 5m .
- the following parameters can be used in the gradient retropropagation algorithm: a learning step of 0.005 for the neurons of the C 1 , S 2 , C 3 layers; a learning step of 0.001 for neurons of layer N 4 ; a learning step of 0.0005 for the neurons of the layer R 5 ; a momentum of 0.2 for all the neurons of the architecture.
- the gradient retropropagation algorithm then converges to a stable solution after 25 iterations, if we consider that an iteration of the algorithm corresponds to the presentation of all the images of the training set T.
- the neural network of FIG. 1 is ready to process any digital face image, in order to extract annotated points of interest from the images of the set of images. learning T.
- FIG. 4 It is now possible to use the neural network of FIG. 1, set during the learning phase, for searching the facial elements in a face image.
- the method implemented to achieve such a location is shown in FIG. 4.
- the faces 44 and 45 present in the image 46 are detected using a face detector.
- the latter locates the box enclosing the inside of each face 44, 45.
- the image zones contained in each bounding box are extracted 41 and constitute the images of faces 47, 48 in which the search of the facial elements must be carried out.
- Each face image extracted I 47, 48 is resized 41 at the waist
- H x L is placed at the input E of the neural architecture of FIG. 1.
- the input layer E, the intermediate layers C 1 , S 2 , C 3 , N 4 , and the output layer R 5 are activated one after the other, so as to perform a filter 42 of the image I 47, 48 by the neural architecture.
- the response of the neural network to image I 47, 48 is obtained in the form of four saliency maps R 5m for each of images 1 47, 48.
- the faces are detected in the images 46 by the CFF face detector presented by C. Garcia and M. Delakis, in “Convolutional Face Finder: a Neural Architecture for Fast and Robust Face”. Detection, "IEEE Transactions on Pattern Analysis and Machine
- Such a face detector can in fact robustly detect faces of minimum size 20x20, tilted up to ⁇ 25 degrees and rotated up to ⁇ 60 degrees, in scenes with complex background, and under variable lighting.
- FIG. 4 a simplified block diagram of a system or device for locating points of interest in an object image.
- a system or device for locating points of interest in an object image comprises a memory M 51, and a processing unit 50 equipped with a ⁇ P processor, which is controlled by the computer program Pg 52.
- the processing unit 50 receives as input a set T of learning face images, annotated according to the points of interest that the system must be able to locate in an image, from which the microprocessor ⁇ P performs, according to the instructions of the program Pg 52, the implementation of a gradient retropropagation algorithm for optimizing the synaptic bias and weight values of the neural network. These optimum values 54 are then stored in the memory M 51.
- the optimal values of the synaptic bias and weight are loaded from the memory M 51.
- the processing unit 50 receives as input an object image I, from which the microprocessor ⁇ P performs, according to the instructions of the program Pg 52, a filtering by the neural network and a maxima search in the saliency cards obtained at the output. At the output of the processing unit 50, the coordinates 53 of each of the points of interest sought in the image I are obtained.
- APPENDIX 1 Artificial neurons and multi-layer perceptron neuron networks 1.
- the multi-layered perceptron is a structured network of artificial neurons organized in layers, in which the information travels in one direction, from the input layer to the output layer.
- FIG. 6 shows the example of a network containing an input layer 60, two hidden layers 61 and 62 and an output layer 63.
- the input layer 60 always represents a virtual layer associated with the inputs of the system. It does not contain any neurons.
- the following layers 61 to 63 are layers of neurons.
- a multi-layer perceptron may have any number of layers and a number of neurons (or inputs) per layer of any kind.
- the neural network has 3 inputs, 4 neurons on the first hidden layer 61, three neurons on the second 62 and four neurons on the output layer 63.
- the outputs of the neurons of the last layer 63 correspond to the outputs of the system.
- An artificial neuron is a computing unit that receives an input signal (X, vector of real values), through synaptic connections carrying weights
- FIG. 7 shows the structure of such an artificial neuron, the operation of which is described in paragraph ⁇ 2 below.
- the neurons of the network of FIG. 6 are connected together, from layer to layer, by the weighted synaptic connections. It is the weights of these connections that govern the operation of the network and "program" an application of the space of the inputs to the space of the outputs by means of a nonlinear transformation.
- the creation of a multi-layer perceptron 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 desired input and output vector pairs. 2.
- Each of the entries x is excites a weighted synapse W 1 .
- a summing function 70 calculates a potential V, which, after passing through an activation function ⁇ , delivers a real value output y.
- the quantity w o x o is called bias and corresponds to a threshold value for the neuron.
- ⁇ can take different forms depending on the intended applications.
- APPENDIX 2 Gradient Retropropagation Algorithm
- neural network learning consists in determining all the weights of the synaptic connections, so as to obtain a vector of desired outputs D as a function of a vector of neurons.
- input X For this, a learning base is constituted, which consists of a list of K input / output pairs (X k , D k ) corresponding.
- Sj c is the set of neurons of the index layer c-1 connected to the inputs of neuron i of the layer of index c;
- W j j is the weight of the synaptic connection extending from neuron j to neuron i.
- the gradient backpropagation algorithm operates in two successive passes, which are direct propagation and backpropagation passes: during the propagation pass, the input signal X k crosses the neural network and activates a response Y k in exit ; during the backpropagation, the error signal E k is backpropagated in the network, which makes it possible to modify the synaptic weights to minimize the error E k .
- such an algorithm comprises the following steps: Set the learning step p to a sufficiently small positive value (of the order of 0.001) Set the momentum ⁇ to a positive value between 0 and 1 (of the order of 0.2) Randomly initialize the synaptic weights of the network at small values Repeat choose an example pair (X k , D k ): propagation: calculate in the order of the layers the outputs of the neurons:
- V 1 c " V w ] r y ⁇ c _ ⁇ and the output
- Aw Z P ⁇ , c y j, cx + ⁇ Aw Z> Y / e s ,, c
- p is the learning step and ⁇ the momentum
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)
- Oral & Maxillofacial Surgery (AREA)
- Biomedical Technology (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Multimedia (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Human Computer Interaction (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
L'invention concerne un système de localisation d'au moins deux points d'intérêt dans une image d'objet. Selon l'invention, un tel système met en œuvre un réseau de neurones artificiels et présente une architecture en couches comprenant: une couche d'entrée (E) recevant ladite image d'objet; au moins une couche intermédiaire (N4), appelée première couche intermédiaire, comprenant une pluralité de neurones (N41) permettant de générer au moins deux cartes de saillance (R5m) associées chacune à un point d'intérêt distinct prédéfini de ladite image d'objet; au moins une couche de sortie (R5) comprenant lesdites cartes de saillance (R5m) lesdites cartes de saillance comprenant une pluralité de neurones connectés chacun à tous les neurones de ladite première couche intermédiaire, lesdits points d'intérêt étant localisés, dans ladite image d'objet, par la position (171, 172, 173, 174) d'un maximum global unique sur chacune desdites cartes de saillance.
Description
Système et procédé de localisation de points d'intérêt dans une image d'objet mettant en œuvre un réseau de neurones.
1. Domaine de l'invention
Le domaine de l'invention est celui du traitement numérique des images fixes ou animées. Plus précisément, l'invention concerne une technique de localisation d'un ou plusieurs point(s) d'intérêt dans un objet représenté sur une image numérique.
L'invention trouve notamment, mais non exclusivement, une application dans le domaine de la détection de caractéristiques physiques dans les visages présents sur une image numérique ou numérisée, telles que la pupille de l'œil, le coin des yeux, le bout du nez, la bouche, les sourcils, etc. En effet, la détection automatique de points d'intérêt dans des images de visages est un enjeu majeur dans le domaine de l'analyse faciale.
2. Solutions de l'art antérieur
Dans ce domaine, on connaît plusieurs techniques qui consistent, pour la plupart, à rechercher et détecter de manière indépendante chaque élément facial particulier, au moyen de filtres dédiés et spécialisés.
La plupart des détecteurs utilisés reposent sur une analyse de la chrominance du visage : les pixels du visage sont étiquetés comme appartenant à la peau ou à des éléments faciaux en fonction de leur couleur. D'autres détecteurs utilisent les variations du contraste. Pour cela, un détecteur de contour est appliqué, reposant sur l'analyse du gradient lumineux. On tente alors d'identifier les éléments faciaux à partir de la forme des différents contours détectés.
D'autres approches mettent en œuvre une recherche par corrélation en utilisant des modèles statistiques de chaque élément. Ces modèles sont généralement construits à partir d'une analyse en composantes principales (ACP) à partir d'exemples d'imagettes de chacun des éléments à rechercher ("eigenfeatures").
Certaines techniques connues mettent en oeuvre une seconde phase consistant à appliquer un modèle géométrique de visage à l'ensemble des positions candidates déterminées dans la première phase de détection indépendante de chaque élément. Les éléments détectés en phase initiale forment des constellations de positions candidates et le modèle géométrique pouvant être déformable permet de sélectionner la meilleure
constellation.
Une méthode récente permet de s'affranchir du schéma classique à deux étapes (recherches indépendantes des éléments faciaux suivies par l'application de règles géométriques). Cette méthode repose sur l'utilisation de Modèles Actifs d'Apparence (AAMs) et est décrite notamment par D. Cristinacce et T. Cootes, dans "A comparison of shape constrained facial feature detectors" (Proceedings of the 6* International Conférence on Automatic Face and Gesture Récognition 2004, Séoul, Corée, pages 375-380, 2004). Elle consiste à prédire la position des éléments faciaux en essayant de faire correspondre un modèle de visage actif sur le visage dans l'image, en adaptant les paramètres d'un modèle linéaire combinant forme et texture. Ce modèle de visage actif est appris à partir de visages sur lesquels les points d'intérêt sont annotés, à partir d'une analyse en composantes principales (ACP) sur les vecteurs encodant la position des points d'intérêt et les textures lumineuses des visages associés. 3. Inconvénients de l'art antérieur Ces différentes techniques connues présentent toutes pour inconvénient principal d'être peu robustes face aux bruits affectant les images de visage, et plus généralement les images d'objets.
En effet, les détecteurs conçus spécifiquement pour la détection des différents éléments faciaux ne résistent pas aux conditions extrêmes d'illumination des images, telles que le sur-éclairage ou le sous éclairage, l'éclairage de coté, de dessous. Ils sont également peu robustes vis-à-vis des variations de qualité de l'image, notamment dans le cas des images de basse résolution issues de flux vidéo (acquises par exemple au moyen d'une "webcam") ou préalablement compressées.
Les méthodes reposant sur l'analyse de la chrominance (qui mettent en œuvre un filtrage de la teinte chair) sont également sensibles aux conditions d'éclairage. En outre, elles ne peuvent pas être appliquées aux images en niveaux de gris.
Un autre inconvénient de ces techniques connues, reposant sur la détection indépendante de différents points d'intérêt, est qu'elles sont totalement inefficaces lorsque ces points d'intérêt sont occultés, ce qui est le cas par exemple pour les yeux dans le cas du port de lunettes noires, pour la bouche en présence de barbe, ou lorsqu'une main vient la cacher, et plus généralement en cas de fortes dégradations
locales de l'image.
L'échec dans la détection de plusieurs éléments ou même d'un seul n'est généralement pas corrigé par l'utilisation postérieure d'un modèle de visage géométrique. Ce dernier n'est utilisé que lorsque il s'agit de choisir entre plusieurs positions candidates, qui doivent impérativement avoir été détectées dans l'étape précédente.
Ces différents inconvénients sont partiellement compensés dans les méthodes reposant sur des visages actifs, qui permettent une recherche globale des éléments en utilisant conjointement les informations de forme et de texture. Cependant, ces dernières ont pour autre inconvénient de reposer sur un processus d'optimisation lent et instable, qui dépend de centaines de paramètres qu'il s'agit de déterminer itérativement durant la recherche, ce qui est particulièrement long et fastidieux.
De plus, les modèles statistiques utilisés étant linéaires, créés par ACP, ils sont peu robustes aux variations globales de l'image, notamment aux variations d'éclairage. Ils sont de plus peu robustes vis-à-vis d'occultations partielles du visage.
4. Objectifs de l'invention
L'invention a notamment pour objectif de pallier ces inconvénients de l'art antérieur.
Plus précisément, un objectif de l'invention est de fournir une technique de localisation de plusieurs points d'intérêt dans une image représentative d'un objet qui ne nécessite pas de développement long et fastidieux de filtres spécifiques à chaque point d'intérêt que l'on veut pouvoir localiser, et à chaque type d'objet.
Un autre objectif de l'invention est de proposer une telle technique de localisation qui soit particulièrement robuste à tous les bruits pouvant affecter l'image, tels que les conditions d'illumination, les variations chromatiques, les occultations partielles, etc.
L'invention a encore pour objectif de fournir une telle technique qui prenne en compte les occultations affectant partiellement les images, et qui permette l'inférence de la position des points occultés. L'invention a également pour objectif de proposer une telle technique qui soit simple à mettre en œuvre et peu coûteuse à implémenter.
Un autre objectif de l'invention est de fournir une telle technique qui soit particulièrement bien adaptée à la détection d'éléments faciaux dans des images de visages.
5. Caractéristiques essentielles de l'invention Ces objectifs, ainsi que d'autres qui apparaîtront par la suite, sont atteints à l'aide d'un système de localisation d'au moins deux points d'intérêt dans une image d'objet, qui met en œuvre un réseau de neurones artificiels et présente une architecture en couches comprenant : une couche d'entrée recevant ladite image d'objet ; - au moins une couche intermédiaire, appelée première couche intermédiaire, comprenant une pluralité de neurones permettant de générer au moins deux cartes de saillance associées chacune à un point d'intérêt distinct prédéfini de ladite image d'objet ; au moins une couche de sortie comprenant lesdites cartes de saillance, qui comprennent elles-même une pluralité de neurones connectés chacun à tous les neurones de ladite première couche intermédiaire.
Lesdits points d'intérêt sont localisés, dans ladite image d'objet, par la position d'un maximum global unique sur chacune desdites cartes de saillance.
Ainsi, l'invention repose sur une approche tout à fait nouvelle et inventive de la détection de plusieurs points d'intérêt dans une image représentative d'un objet, puisqu'elle propose d'utiliser une architecture neuronale en couches, qui permet de générer en sortie plusieurs cartes de saillance permettant une détection directe des points d'intérêt à localiser, par simple recherche de maximum.
L'invention propose donc une recherche globale, sur l'ensemble de l'image d'objet, des différents points d'intérêt par le réseau de neurones, ce qui permet notamment de tenir compte des positions relatives de ces points, et permet également de s'affranchir des problèmes liés à leur occultation totale ou partielle.
La couche de sortie comprend au moins deux cartes de saillance associées chacune à un point d'intérêt distinct prédéfini. On peut ainsi rechercher simultanément plusieurs points d'intérêt sur une même image, en dédiant chaque carte de saillance à un point d'intérêt particulier : la localisation de ce point se fait alors par recherche d'un
unique maximum sur chaque carte, ce qui est plus facile à mettre en œuvre qu'une recherche simultanée de plusieurs maxima locaux sur une carte de saillance globale, associée à tous les points d'intérêt.
On peut ainsi rechercher simultanément plusieurs points d'intérêt sur une même image, en dédiant chaque carte de saillance à un point d'intérêt particulier : la localisation de ce point se fait alors par recherche d'un unique maximum sur chaque carte, ce qui est plus facile à mettre en œuvre qu'une recherche simultanée de plusieurs maxima locaux sur une carte de saillance globale, associée à tous les points d'intérêt.
Il n'est en outre plus nécessaire de concevoir et développer des filtres dédiés à la détection des différents points d'intérêt, ces derniers étant localisés automatiquement par le réseau de neurones après achèvement d'une phase préliminaire d'apprentissage.
Une telle architecture neuronale s'avère en outre plus robuste que les techniques antérieures aux éventuels problèmes d'éclairage des images d'objets. On précise qu'on entend ici par « point d'intérêt prédéfini » un élément remarquable d'un objet, tel que par exemple un œil, un nez, une bouche, etc, dans une image de visage.
L'invention ne consiste donc pas à chercher un contour quelconque dans une image, mais bien un élément identifié prédéfini. Selon une caractéristique avantageuse, ladite image d'objet est une image de visage. Les points d'intérêt recherchés sont alors des traits physiques permanents, tels que les yeux, le nez, la bouche, les sourcils, etc.
Avantageusement, un tel système de localisation comprend également au moins une deuxième couche intermédiaire de convolution comprenant une pluralité de neurones. Une telle couche peut se spécialiser dans la détection d'éléments de bas niveaux, tels que des lignes de contraste, dans l'image d'objet.
De manière préférentielle, un tel système de localisation comprend également au moins une troisième couche intermédiaire de sous-échantillonnage comprenant une pluralité de neurones. On réduit ainsi la dimension de l'image sur laquelle on travaille. Dans un mode de réalisation préférentiel de l'invention, un tel système de localisation comprend, entre ladite couche d'entrée et ladite première couche
intermédiaire : une deuxième couche intermédiaire de convolution comprenant une pluralité de neurones et permettant de détecter au moins une forme élémentaire de type ligne dans ladite image d'objet, ladite deuxième couche intermédiaire délivrant une image d'objet convoluée ; une troisième couche intermédiaire de sous-échantillonnage comprenant une pluralité de neurones et permettant de réduire la dimension de ladite image d'objet convoluée, ladite troisième couche intermédiaire délivrant une image d'objet convoluée réduite ; - une quatrième couche intermédiaire de convolution comprenant une pluralité de neurones et permettant de détecter au moins une forme complexe de type coin dans ladite image d'objet convoluée réduite.
L'invention concerne aussi un procédé d'apprentissage d'un réseau de neurones d'un système de localisation d'au moins deux points d'intérêt dans une image d'objet tel que décrit précédemment. Chacun desdits neurones présente au moins une entrée pondérée par un poids synaptique, et un biais. Un tel procédé d'apprentissage comprend des étapes de : construction d'une base d'apprentissage comprenant une pluralité d'images d'objet annotées en fonction desdits points d'intérêt à localiser ; - initialisation desdits poids synaptiques et/ou desdits biais ; pour chacune desdites images annotées de ladite base d'apprentissage : préparation desdites au moins deux cartes de saillance désirées en sortie à partir desdits au moins deux points d'intérêt prédéfinis annotés sur ladite image ; - présentation de ladite image en entrée dudit système de localisation et détermination desdites au moins deux cartes de saillance délivrées en sortie ; minimisation d'une différence entre lesdites cartes de saillance désirées et délivrées en sortie sur l'ensemble desdites images annotées de ladite base d'apprentissage, de façon à déterminer lesdits poids synaptiques et/ou lesdits biais optimaux.
Le réseau de neurones apprend ainsi, en fonction d'exemples annotés manuellement par un utilisateur, à reconnaître certains points d'intérêt sur les images d'objet. Il sera ensuite capable de les localiser dans une image quelconque fournie en entrée du réseau. Avantageusement, ladite minimisation est une minimisation d'une erreur quadratique moyenne entre lesdites cartes de saillance désirées et délivrées en sortie et met en œuvre un algorithme itératif de rétropropagation du gradient. Cet algorithme est décrit en détail en annexe 2 du présent document, et permet une convergence rapide vers les valeurs optimales des différents biais et poids synaptiques du réseau. L'invention concerne aussi un procédé de localisation d'au moins deux points d'intérêt dans une image d'objet, qui comprend des étapes de : présentation de ladite image d'objet en entrée d'une architecture en couches mettant en œuvre un réseau de neurones artificiels ; activation successive d'au moins une couche intermédiaire, appelée première couche intermédiaire, comprenant une pluralité de neurones et permettant de générer au moins deux cartes de saillance associées chacune à un point d'intérêt distinct prédéfini de ladite image d'objet, et d'au moins une couche de sortie comprenant lesdites cartes de saillance, lesdites cartes de saillance comprenant une pluralité de neurones connectés chacun à tous les neurones de ladite première couche intermédiaire ; localisation desdits points d'intérêt dans ladite image d'objet par recherche, dans lesdites cartes de saillance, d'une position d'un maximum global unique sur chacune desdites cartes.
Selon une caractéristique avantageuse de l'invention, un tel procédé de localisation comprend des étapes préalables de : détection, dans une image quelconque, d'une zone englobant ledit objet, et constituant ladite image d'objet ; redimensionnement de ladite image d'objet.
Cette détection peut se faire à partir d'un détecteur classique bien connu de l'Homme du Métier, par exemple un détecteur de visages qui permet de déterminer une boîte englobant un visage dans une image complexe. Le redimensionnement peut
être effectué automatiquement par le détecteur, ou indépendamment par des moyens dédiés : il permet de fournir en entrée du réseau de neurones des images présentant toutes la même taille.
L'invention concerne encore un programme d'ordinateur comprenant des instructions de code de programme pour l'exécution du procédé d'apprentissage d'un réseau de neurones décrit précédemment lorsque ledit programme est exécuté par un processeur, ainsi qu'un programme d'ordinateur comprenant des instructions de code de programme pour l'exécution du procédé de localisation d'au moins deux points d'intérêt dans une image d'objet décrit précédemment lorsque ledit programme est exécuté par un processeur.
De tels programmes peuvent être téléchargés depuis un réseau de communication (par exemple le réseau mondial Internet) et/ou stockés dans un support de données lisible par ordinateur.
6. Liste des figures D'autres caractéristiques et avantages de l'invention apparaîtront plus clairement à la lecture de la description suivante d'un mode de réalisation préférentiel, donné à titre de simple exemple illustratif et non limitatif, et des dessins annexés, parmi lesquels : la figure 1 présente un synoptique de l'architecture neuronale du système de localisation de points d'intérêt dans une image d'objet de l'invention ; la figure 2 illustre plus précisément une carte de convolution, suivie d'une carte de sous-échantillonnage, dans l'architecture neuronale de la figure 1 ; les figures 3a et 3b présentent quelques exemples d'images de visage de la base d'apprentissage ; - la figure 4 décrit les grandes étapes du procédé de localisation d'éléments faciaux dans une image de visage selon l'invention ; la figure 5 présente un schéma synoptique simplifié du système de localisation de l'invention ; la figure 6 présente un exemple de réseau de neurones artificiels de type perceptron multi-couches ; la figure 7 illustre plus précisément la structure d'un neurone artificiel ;
la figure 8 présente la caractéristique de la fonction tangente hyperbolique utilisée comme fonction de transfert pour les neurones sigmoïdes. 7. Description d'un mode de réalisation de l'invention
Le principe général de l'invention repose sur l'utilisation d'une architecture neuronale pour pouvoir détecter de manière automatique plusieurs points d'intérêt dans des images d'objet (plus particulièrement d'objets semi-rigides), et notamment dans des images de visages (détection de traits permanents tels que les yeux, le nez ou la bouche). Plus précisément, le principe de l'invention consiste à construire un réseau de neurones permettant d'apprendre à transformer, en une passe, une image d'objet en plusieurs cartes de saillance dont les positions des maxima correspondent aux positions de points d'intérêts sélectionnés par l'utilisateur dans l'image d'objet fournie en entrée.
Cette architecture neuronale est composée de plusieurs couches hétérogènes, qui permettent de développer automatiquement des détecteurs bas-niveau robustes, tout en apprenant des règles permettant de régir les dispositions relatives plausibles des éléments détectés et de prendre en compte naturellement toute information disponible pour localiser d'éventuels éléments occultés.
Tous les poids de connexions des neurones sont réglés au cours d'une phase d'apprentissage, à partir d'un ensemble d'images d'objets pré-segmentées, et des positions des points d'intérêt dans ces images.
L'architecture neuronale agit par la suite comme une cascade de filtres permettant de transformer une zone d'image contenant un objet, préalablement détectée dans une image de plus grande taille ou dans une séquence vidéo, en un ensemble de cartes numériques, de la taille de l'image en entrée, dont les éléments sont compris entre -1 et 1. Chaque carte correspond à un point d'intérêt particulier dont la position est repérée par une simple recherche de la position de l'élément dont la valeur est maximale.
On s'attache, dans toute la suite de ce document, à décrire plus particulièrement un exemple de réalisation de l'invention dans le cadre de la détection de plusieurs éléments faciaux sur une image de visage. L'invention s'applique cependant bien sûr aussi à la détection de points d'intérêt quelconques dans une image
représentative d'un objet, comme par exemple la détection d'éléments de la carrosserie d'un véhicule automobile, ou de caractéristiques architecturales d'un ensemble d'immeubles.
Dans ce contexte de la détection de caractéristiques physiques dans des images de visage, le procédé de l'invention permet une détection robuste des éléments faciaux dans des visages, en poses variées (orientations, semi-frontalité), avec des expressions faciales variées, pouvant contenir des éléments occultants, et apparaissant dans des images qui présentent une variabilité importante en termes de résolution, de contraste et d'illumination. 7.1 Architecture neuronale
On présente, en relation avec la figure 1, l'architecture du réseau de neurones artificiels du système de localisation de points d'intérêt de l'invention. Le principe de fonctionnement de tels neurones artificiels, ainsi que leur structure, est rappelé en annexe 1, qui fait partie intégrante de la présente description. Un tel réseau de neurones est par exemple un réseau de type perceptron multi-couches, également décrit en annexe 1.
Un tel réseau de neurones est constitué de six couches hétérogènes interconnectées référencées E, C1, S2, C3, N4 et R5, qui contiennent une série de cartes issues d'une succession d'opérations de convolution et de sous-échantillonnage. Ces différentes couches réalisent, par leurs actions successives et combinées, l'extraction de primitives dans l'image présentée en entrée pour conduire à la production de cartes de sorties R5m, d'où les positions des points d'intérêt peuvent être facilement déterminées.
Plus précisément, l'architecture proposée comprend : - une couche d'entrée E : il s'agit d'une rétine, qui est une matrice image de taille
H x L où H est le nombre de lignes et L, le nombre de colonnes. La couche d'entrée E reçoit les éléments d'une zone d'image de même taille H x L. Pour chaque pixel P^ de l'image présentée en entrée du réseau de neurones, en niveaux de gris (P^ variant de 0 à 255), l'élément correspondant de la matrice E est E1J = (P1J- 128)/ 128, de valeur comprise entre -1 et 1. On choisit par exemple H=56 et L=46. HxL est donc aussi la taille des images de visages de
la base d'apprentissage utilisée pour le paramétrage du réseau de neurones, et des images de visage dans lesquelles on souhaite détecter un ou plusieurs éléments faciaux. Cette taille peut être celle obtenue directement en sortie du détecteur de visage qui extrait les images de visage, d'images de plus grande dimension ou de séquences vidéo. Il peut aussi s'agir de la taille à laquelle sont redimensionnées les images de visage après extraction par le détecteur de visages. De préférence, un tel redimensionnement respecte les proportions naturelles des visages ; une première couche de convolution C1, constituée de NC1 cartes référencées C11. Chaque carte C11 est connectée 1O1 à la carte d'entrée E, et comprend une pluralité de neurones linéaires (tels que présentés en annexe 1). Chacun de ces neurones est connecté par des synapses à un ensemble de M1 x M1 éléments voisins dans la carte E (champs réceptif) comme décrit plus en détail sur la figure 2. Chacun de ces neurones reçoit en outre un biais. Ces M1 x M1 synapses, plus le biais, sont partagées par l'ensemble des neurones de C11.
Chaque carte C11 correspond donc au résultat d'une convolution par un noyau M1 x M1 11 augmentée d'un biais, dans la carte d'entrée E. Cette convolution se spécialise en un détecteur de certaines formes bas niveaux dans la carte d'entrée comme par exemple des lignes de contraste orientées de l'image. Chaque carte C11 est donc de taille H1 x L1 où H1 = (H - M1+ 1) et L1 = (L -
M1 + 1), pour empêcher les effets de bord de la convolution. Par exemple, la couche C1 contient NQ=4 cartes de taille 50 x 41 avec des noyaux de convolution de taille NN1 x NN1 = 7 x 7 ; une couche de sous-échantillonnage S2, constituée de NS2 cartes S2j. Chaque carte S2j est connectée 12, à une carte correspondante C11. Chaque neurone d'une carte S2j reçoit la moyenne de M2 x M2 éléments voisins 13 dans la carte C11 (champs réceptif), comme illustré plus en détail sur la figure 2. Chaque neurone multiplie cette moyenne par un poids synaptique, et y ajoute un biais. Poids synaptique et biais, dont les valeurs optimales sont déterminées lors d'une phase d'apprentissage, sont partagés par l'ensemble des neurones de chaque carte S2j. La sortie de chaque neurone est obtenue après passage dans
une fonction sigmoïde. Chaque carte S2j est de taille H2 x L2 où H2 = H1M2 et L2 = L1ZM2. Par exemple, la couche S2 contient NS2=4 cartes de taille 25 x 20 avec un sous-échantillonage de 1 pour NN2 x NN2 = 2 x 2 ; une couche de convolution C3, constituée de NC3 cartes C3k. Chaque carte C3k est connectée 14k à chacune des cartes S2j de la couche de sous-échantillonnage
S2. Les neurones d'une carte C3k sont linéaires, et chacun de ces neurones est connecté par des synapses à un ensemble de M3 x M3 éléments voisins 15 dans chacune des cartes S2j. Il reçoit en outre un biais. Les M3 x M3 synapses par carte, plus le biais, sont partagés par l'ensemble des neurones des cartes C3k. Les cartes C3k correspondent au résultat de la somme de NC3 convolutions par des noyaux M3 x M3 15, augmentées d'un biais. Ces convolutions permettent d'extraire des caractéristiques de plus haut niveau, telles que des coins, en combinant des extractions sur les cartes de convolution C11 en entrée. Chaque carte C3k est de taille H3 x L3 où H3 = (H2 - M3 + 1) et L3 = (L2 - M3 + 1). Par exemple, la couche C3 contient NC3=4 cartes de taille 21 x 16 avec un noyau de convolution de taille NN3 x NN3 = 5 x 5 ; une couche N4 de NN4 neurones sigmoïdes N41. Chaque neurone de la couche N4 est connecté 1O1 à tous les neurones de la couche C3, et reçoit un biais. Ces neurones N41 permettent d'apprendre à générer les cartes de sortie R5m en maximisant les réponses sur les positions des points d'intérêt dans chacune de ces cartes, tout en prenant en compte la globalité des cartes C3, ce qui permet de détecter un point d'intérêt particulier en tenant compte de la détection des autres. On choisit par exemple NN4=IOO neurones, et la fonction tangente hyperbolique (notée th ou tanh) pour la fonction de transfert des neurones sigmoïdes ; une couche R5 de cartes, constituée de NR5 cartes R5m, une pour chaque point d'intérêt choisi par l'utilisateur (œil droit, œil gauche, nez, bouche, etc.). Chaque carte R5m est connectée à tous les neurones de la couche N4. Les neurones d'une carte R5m sont sigmoïdes, et chacun est connecté à tous les neurones de la couche N4. Chaque carte R5m est de taille Hx L, qui est la taille de la couche d'entrée E. On choisit par exemple NR5=4 cartes de taille 56 x 46.
Après activation du réseau de neurones, la position du neurone 17ls 172, 173,
174 présentant une sortie maximale dans chaque carte R5m correspond à la position de l'élément facial correspondant dans l'image présentée en entrée du réseau. On notera que, dans une variante de réalisation de l'invention, la couche R5 ne compte qu'une unique carte de saillance sur laquelle figurent tous les points d'intérêt que l'on souhaite localiser dans l'image.
La figure 2 illustre un exemple d'une carte C11 de convolution 5 x 5 11 suivie d'une carte S2j de sous-échantillonnage 2 x 2 13. Comme on le notera, la convolution effectuée ne tient pas compte des pixels situés sur les bords de la carte C11, afin d'éviter les effets de bord.
Afin de pouvoir détecter les points d'intérêt sur des images de visage, il est nécessaire de paramétrer le réseau de neurones de la figure 1 lors d'une phase d'apprentissage décrite ci-après. 7.2 Apprentissage à partir d'une base d'images Après construction de l'architecture neuronale en couches décrite ci-dessus, on constitue donc une base d'apprentissage d'images annotées, de façon à régler par apprentissage les poids des synapses de tous les neurones de l'architecture.
Pour ce faire, on procède comme décrit ci-dessous.
On extrait tout d'abord manuellement un ensemble T d'images de visages d'un corpus d'images de taille importante. Chaque image de visage est redimensionnée à la taille H x L de la couche d'entrée E de l'architecture neuronale, de préférence en respectant les proportions naturelles des visages. On veille à extraire des images de visages d'apparences variées.
Dans un mode particulier de réalisation, dans lequel on s'intéresse à la détection de quatre points d'intérêt dans le visage ( à savoir œil droit, œil gauche, nez et bouche), les positions des yeux, du nez et du centre de la bouche sont repérées manuellement, comme illustré sur la figure 3a : on obtient ainsi un ensemble d'images annotées en fonction des points d'intérêt que le réseau de neurones va devoir apprendre à localiser. Ces points d'intérêt à localiser dans les images peuvent être choisis librement par l'utilisateur.
De manière à générer automatiquement des exemples plus variés, on applique
un ensemble de transformations à ces images, ainsi qu'aux positions annotées, telles que des translations selon les colonnes et selon les lignes (par exemple jusqu'à 6 pixels à gauche, à droite, en haut, en bas), des rotations par rapport au centre de l'image par des angles variant de -25 à +25 degrés, des zooms arrière et avant de 0.8 à 1.2 fois la taille du visage. A partir d'une image donnée, on obtient ainsi une pluralité d'images transformées, comme illustré par la figure 3b. Les variations appliquées aux images de visages permettent de prendre en compte en phase d'apprentissage, non seulement les apparences possibles des visages, mais aussi des erreurs possibles de centrage lors de la détection automatique des visages. L'ensemble T est appelé l'ensemble d'apprentissage.
A titre d'exemple, on peut utiliser une base d'apprentissage d'environ 2500 images de visages annotées manuellement en fonction de la position du centre de l'œil gauche, de l'œil droit, du nez et de la bouche. Après application de modifications géométriques sur ces images annotées (translations, rotations, zooms, etc.), on obtient environ 32000 exemples de visages annotés présentant une variabilité importante.
On procède ensuite à l'apprentissage automatique de l'ensemble des poids synaptiques et des biais de l'architecture neuronale. Pour cela, on initialise tout d'abord les biais et poids synaptiques de l'ensemble des neurones de manière aléatoire, à de petites valeurs. Les Nx images I de l'ensemble T sont ensuite présentées dans un ordre quelconque en couche d'entrée E du réseau de neurones. Pour chaque image I présentée, on prépare les cartes de sorties D5m que le réseau de neurones devrait délivrer dans la couche R5 si son fonctionnement était optimal : ces cartes D5m sont appelées cartes désirées.
Sur chacune de ces cartes D5m, on fixe la valeur de l'ensemble des points à -1, à l'exception du point dont la position correspond à celle de l'élément facial que la carte D5m doit permettre de localiser, et dont la valeur désirée est de 1. Ces cartes D5m sont illustrées en figure 3a, sur laquelle chaque point correspond au point de valeur +1, dont la position correspond à celle d'un élément facial à localiser (œil droit, œil gauche, nez ou centre de la bouche). Une fois les cartes D5m préparées, la couche d'entrée E et les couches C1, S2, C3,
N4, et R5 du réseau de neurones sont activées l'une après l'autre.
En couche R5, on obtient alors la réponse du réseau de neurones à l'image I. Le but est d'obtenir des cartes R5m identiques aux cartes désirées D5m. On définit donc une fonction objectif à minimiser pour atteindre ce but :
1 Nτ NR* I i ) > \2
O = Y Y yiRr " - D(' " ) où (i,j) correspond à l'élément en
T 5 k=l m=l(ι, j)E.HxL ligne i et colonne j de chaque carte R5m. Il s'agit donc de minimiser l'erreur moyenne quadratique entre les cartes produites R5m et désirées D5m sur l'ensemble des images annotées de l'ensemble d'apprentissage T.
Pour minimiser la fonction objectif O, on utilise l'algorithme itératif de rétropropagation du gradient, dont le principe est rappelé en annexe 2, qui fait partie intégrante de la présente description. Un tel algorithme de rétropropagation du gradient va ainsi permettre de déterminer l'ensemble des poids synaptiques et biais optimaux de l'ensemble des neurones du réseau.
A titre d'exemple, on peut utiliser les paramètres suivants dans l'algorithme de rétropropagation du gradient : - un pas d'apprentissage de 0.005 pour les neurones des couches C1, S2, C3 ; un pas d'apprentissage de 0.001 pour les neurones de la couche N4 ; un pas d'apprentissage de 0.0005 pour les neurones de la couche R5 ; un momentum de 0.2 pour tous les neurones de l'architecture. L'algorithme de rétropropagation du gradient converge alors vers une solution stable après 25 itérations, si l'on considère qu'une itération de l'algorithme correspond à la présentation de toutes les images de l'ensemble d'apprentissage T.
Une fois les valeurs optimales des biais et poids synaptiques déterminées, le réseau de neurones de la figure 1 est prêt à traiter une image de visage numérique quelconque, afin d'en extraire les points d'intérêt annotés sur les images de l'ensemble d'apprentissage T.
7.3 Recherche des points d'intérêt dans une image
On peut désormais utiliser le réseau de neurones de la figure 1, réglé en phase d'apprentissage, pour la recherche des éléments faciaux dans une image de visage. Le procédé mis en œuvre pour réaliser une telle localisation est présenté en figure 4. On détecte 40 les visages 44 et 45 présents dans l'image 46 en utilisant un
détecteur de visage. Ce dernier localise la boîte englobant l'intérieur de chaque visage 44, 45. Les zones d'images contenues dans chaque boîte englobante sont extraites 41 et constituent les images de visages 47, 48 dans lesquelles doit s'effectuer la recherche des éléments faciaux. Chaque image de visage extraite I 47, 48 est redimensionnée 41 à la taille
H x L et est placée en entrée E de l'architecture neuronale de la figure 1. La couche d'entrée E, les couches intermédiaires C1, S2, C3, N4, et la couche de sortie R5 sont activées l'une après l'autre, de façon à réaliser un filtrage 42 de l'image I 47, 48 par l'architecture neuronale. En couche R5, on obtient la réponse du réseau de neurones à l'image I 47, 48, sous la forme de quatre cartes de saillance R5m pour chacune des images 1 47, 48.
On localise alors 43 les points d'intérêt dans les images de visage I 47, 48 par recherche des maxima dans chaque carte de saillance R5m. Plus précisément, dans chacune des cartes R5m, on recherche la position \im ,jm j telle que ( Vi m mmax , -"/' «max )/ = arg ° (l| mJ)eaHxxL /?!'" pour m 6Ξ NR,. Cette position correspond à la position recherchée du point d'intérêt (par exemple l'œil droit) correspondant à cette carte.
Dans un mode de réalisation préférentiel de l'invention, les visages sont détectés 40 dans les images 46 par le détecteur de visage CFF présenté par C. Garcia et M. Delakis, dans "Convolutional Face Finder: a Neural Architecture for Fast and Robust Face Détection, " IEEE Transactions on Pattern Analysis and Machine
Intelligence, 26(11): 1408-1422, Novembre 2004.
Un tel détecteur de visages permet en effet de détecter de manière robuste des visages de taille minimale 20x20, penchés jusqu'à ±25 degrés et tournés jusqu'à ±60 degrés, dans des scènes à fond complexe, et sous des éclairages variables. Le détecteur CFF détermine 40 la boîte englobante des visages détectés 47, 48 et l'intérieur de la boîte est extrait, puis redimensionné 41 à la taille H=56 et L=46. Chaque image est ensuite présentée en entrée du réseau de neurones de la figure 1.
Le procédé de localisation de la figure 4 présente une particulièrement grande robustesse face à la grande variabilité des visages présents dans les images. On présente désormais succinctement, en relation avec la figure 5, un schéma synoptique simplifié d'un système ou dispositif de localisation de points d'intérêt dans
une image d'objet. Un tel système comprend une mémoire M 51, et une unité de traitement 50 équipée d'un processeur μP, qui est piloté par le programme d'ordinateur Pg 52.
Dans une première phase d'apprentissage, l'unité de traitement 50 reçoit en entrée un ensemble T d'images de visage d'apprentissage, annotées en fonction des points d'intérêt que le système doit pouvoir localiser dans une image, à partir duquel le microprocesseur μP réalise, selon les instructions du programme Pg 52, la mise en œuvre d'un algorithme de rétropropagation du gradient permettant d'optimiser les valeurs des biais et poids synaptiques du réseau de neurones. Ces valeurs optimales 54 sont alors stockées dans la mémoire M 51.
Dans une deuxième phase de recherche de points d'intérêt, les valeurs optimales des biais et poids synaptiques sont chargées depuis la mémoire M 51. L'unité de traitement 50 reçoit en entrée une image d'objet I, à partir de laquelle le microprocesseur μP réalise, selon les instructions du programme Pg 52, un filtrage par le réseau de neurones et une recherche de maxima dans les cartes de saillance obtenues en sortie. En sortie de l'unité de traitement 50, on obtient les coordonnées 53 de chacun des points d'intérêt recherchés dans l'image I.
A partir des positions des points d'intérêt détectés grâce à la présente invention, de nombreuses applications deviennent possibles, comme le codage de visages par modèles, l'animation synthétique d'images de visages fixes par déformations locales du visage (en anglais "morphing"), les méthodes de reconnaissance de visages ou d'émotions basées sur une analyse locale de traits caractéristiques (yeux, nez, bouche) et plus généralement les interactions homme-machine utilisant la vision artificielle (suivi de la direction du regard de l'utilisateur, lecture labiale, etc...).
ANNEXE 1 : Neurones artificiels et réseaux de neurones perceptron multi- couches 1. Généralités
Le perceptron multi-couches est un réseau orienté de neurones artificiels organisé en couches, dans lequel l'information voyage dans un seul sens, de la couche d'entrée vers la couche de sortie. La figure 6 présente l'exemple d'un réseau contenant une couche d'entrée 60, deux couches cachées 61 et 62 et une couche de sortie 63. La couche d'entrée 60 représente toujours une couche virtuelle associée aux entrées du système. Elle ne contient aucun neurone. Les couches suivantes 61 à 63 sont des couches de neurones. Dans le cas général, un perceptron multi-couches peut posséder un nombre de couches quelconque et un nombre de neurones (ou d'entrées) par couche également quelconque.
Dans l'exemple présenté en figure 6, le réseau de neurones compte 3 entrées, 4 neurones sur la première couche cachée 61, trois neurones sur la deuxième 62 et quatre neurones sur la couche de sortie 63. Les sorties des neurones de la dernière couche 63 correspondent aux sorties du système.
Un neurone artificiel est une unité de calcul qui reçoit un signal d'entrée (X, vecteur de valeurs réelles), au travers de connexions synaptiques qui portent des poids
(valeurs réelles w,), et délivrent une sortie à valeur réelle y. La figure 7 présente la structure d'un tel neurone artificiel, dont le fonctionnement est décrit dans le paragraphe §2 ci-après.
Les neurones du réseau de la figure 6 sont reliés entre eux, de couche à couche, par les connexions synaptiques pondérées. Ce sont les poids de ces connexions qui gouvernent le fonctionnement du réseau et "programment" une application de l'espace des entrées vers l'espace des sorties à l'aide d'une transformation non linéaire. La création d'un perceptron multi-couches pour 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 de vecteurs d'entrées et de sorties désirées. 2. Le neurone artificiel
Comme indiqué ci-dessus, un neurone artificiel est une unité de calcul qui
reçoit un vecteur X, vecteur de n valeurs réelles [xlv., X1 ,..,Xn], ainsi qu'une valeur fixe valant X0=+ 1.
Chacune des entrées xis excite une synapse pondérée par W1. Une fonction de sommation 70 calcule un potentiel V, qui, après passage dans une fonction d'activation Φ, délivre une sortie à valeur réelle y. n
Le potentiel V s'exprime de la manière suivante : V = V W1X1 z=0
La quantité woxo est appelée biais et correspond à une valeur de seuil pour le neurone.
/ n
La sortie y s'exprime sous la forme : y = Φψ )= Φ ( V W1X1
La fonction Φ peut prendre différentes formes en fonction des applications visées. Dans le cadre du procédé de localisation de points d'intérêt de l'invention, deux types de fonctions d'activation sont utilisés: pour les neurones à fonction d'activation linéaire, on a : Φ(x)= x . C'est le cas par exemple des neurones des couches C1 et C3 du réseau de la figure 1 ; pour les neurones à fonction d'activation non-linéaire sigmoïde, on choisit par exemple la fonction tangente hyperbolique, dont la courbe caractéristique est illustrée en figure 8 : Φ(x) = tanh(x) = — — à valeurs réelles entre -1 et 1.
C'est le cas par exemple des neurones des couches S2, N4 et R5 du réseau de la figure 1.
ANNEXE 2 : Algorithme de rétropropagation du gradient Comme décrit précédemment dans ce document, l'apprentissage du réseau de neurones consiste à déterminer tous les poids des connexions synaptiques, de façon à obtenir un vecteur de sorties désirées D en fonction d'un vecteur d'entrée X. Pour cela, une base d'apprentissage est constituée, qui consiste en une liste de K paires d'entrée/sortie (Xk, Dk) correspondantes.
En notant Yk les sorties du réseau obtenues à un instant t pour des entrées Xk, on cherche donc à minimiser l'erreur quadratique moyenne sur la couche de sortie :
l'erreur quadratique moyenne à l'instant (t-1) par rapport à l'ensemble des P poids de connexions synaptiques du réseau, et où p est le pas d'apprentissage.
La mise en œuvre de ce processus de descente de gradient dans un réseau de neurones passe par l'algorithme de rétropropagation du gradient.
Soit un réseau de neurones où: c=0 est l'indice de la couche d'entrée ; c= L. C-I sont les indices des couches intermédiaires ; c=C est l'indice de la couche de sortie ; - i=l à nc sont les indices des neurones de la couche d'indice c ;
Sj c est l'ensemble des neurones de la couche d'indice c-1 connectés aux entrées du neurone i de la couche d'indice c ;
Wj j est le poids de la connexion synaptique s'étendant du neurone j au neurone i. L'algorithme de rétropropagation du gradient fonctionne en deux passes successives, qui sont des passes de propagation directe et de rétropropagation : lors de la passe de propagation, le signal d'entrée Xk traverse le réseau de neurones et active une réponse Yk en sortie ; lors de la rétropropagation, le signal d'erreur Ek est rétropropagé dans le réseau, ce qui permet de modifier les poids synaptiques pour minimiser l'erreur Ek.
Plus précisément, un tel algorithme comprend les étapes suivantes : Fixer le pas d'apprentissage p à une valeur positive suffisamment petite (de l'ordre de 0.001) Fixer le momentum α à une valeur positive entre 0 et 1 (de l'ordre de 0.2) Initialiser aléatoirement les poids synaptiques du réseau à de petites valeurs Répéter choisir une paire exemple (Xk, Dk): propagation : calculer dans l'ordre des couches les sorties des neurones :
Charger l'exemple Xk dans la couche d'entrée : Y0 = Xk et assigner D = Dk 44,...,4,...,^J Pour les couches c de 1 à C
Pour chaque neurone i de la couche c (i de 1 à nc)
- Calculer le potentiel : V1 c = "V w] r y} c_λ et la sortie
rétropropagation : calculer dans l'ordre inverse des couches : Pour les couches c de C à 1
Pour chaque neurone i de la couche c (i de 1 à nc)
- Calculer :
(d, ~ Λc)
si c = C (couche de sortie)
<\c =
, W,,k δk,c+X Φ'(VIι,Cc) > si c ≠ C
& tels que /ESA c+1 où Φ' (x) = l - tanh2(x) - mettre à jour les poids des synapses arrivant au neurone i :
Aw Z = P δ,c y j,c-x + α Aw Z > Y/ e s,, c où p est le pas d'apprentissage et α le momentum
(Aw = 0 lors de la première itération) w = w + Aw V/ (Ξ S Aw°" = Aw"" V/e Λ1
- calculer l'erreur quadratique moyenne E (cf. équation 1) Jusqu'à E < ε ou si un nombre maximum d'itérations a été atteint.
Claims
1. Système de localisation d'au moins deux points d'intérêt dans une image d'objet, caractérisé en ce qu'il met en œuvre un réseau de neurones artificiels et présente une architecture en couches comprenant : une couche d'entrée (E) recevant ladite image d'objet ; au moins une couche intermédiaire (N4), appelée première couche intermédiaire, comprenant une pluralité de neurones (N41) permettant de générer au moins deux cartes de saillance (R5m) associées chacune à un point d'intérêt distinct prédéfini de ladite image d'objet ; au moins une couche de sortie (R5) comprenant lesdites cartes de saillance
lesdites cartes de saillance comprenant une pluralité de neurones connectés chacun à tous les neurones de ladite première couche intermédiaire, lesdits points d'intérêt étant localisés, dans ladite image d'objet, par la position
(17ls 172, 173, 174) d'un maximum global unique sur chacune desdites cartes de saillance.
2. Système de localisation selon la revendication 1, caractérisé en ce que ladite image d'objet est une image de visage.
3. Système de localisation selon l'une quelconque des revendications 1 et 2, caractérisé en ce qu'il comprend également au moins une deuxième couche intermédiaire de convolution (C1, C3) comprenant une pluralité de neurones (C11, C3k).
4. Système de localisation selon l'une quelconque des revendications 1 à 3, caractérisé en ce qu'il comprend également au moins une troisième couche intermédiaire de sous-échantillonnage (S2) comprenant une pluralité de neurones (S2j).
5. Système de localisation selon l'une quelconque des revendications 1 et 2, caractérisé en ce qu'il comprend, entre ladite couche d'entrée (E) et ladite première couche intermédiaire (N4) : une deuxième couche intermédiaire de convolution (C1) comprenant une pluralité de neurones (C11) et permettant de détecter au moins une forme élémentaire de type ligne dans ladite image d'objet, ladite deuxième couche intermédiaire délivrant une image d'objet convoluée ; une troisième couche intermédiaire de sous-échantillonnage (S2) comprenant une pluralité de neurones (S2j) et permettant de réduire la dimension de ladite image d'objet convoluée, ladite troisième couche intermédiaire délivrant une image d'objet convoluée réduite ; une quatrième couche intermédiaire de convolution (C3) comprenant une pluralité de neurones (C3k) et permettant de détecter au moins une forme complexe de type coin dans ladite image d'objet convoluée réduite.
6. Procédé d'apprentissage d'un réseau de neurones d'un système de localisation d'au moins deux points d'intérêt dans une image d'objet selon la revendication 1, chacun desdits neurones présentant au moins une entrée pondérée par un poids synaptique (wrwn), et un biais (x0, W0), caractérisé en ce qu'il comprend des étapes de : construction d'une base d'apprentissage comprenant une pluralité d'images d'objet annotées en fonction desdits au moins deux points d'intérêt à localiser ; initialisation desdits poids synaptiques et/ou desdits biais ; pour chacune desdites images annotées de ladite base d'apprentissage : préparation desdites au moins deux cartes de saillance désirées en sortie (D5m) à partir desdits au moins deux points d'intérêt prédéfinis annotés sur ladite image ; présentation de ladite image en entrée dudit système de localisation et détermination desdites au moins deux cartes de saillance délivrées en sortie (R5J ; minimisation d'une différence entre lesdites cartes de saillance désirées (D5m) et délivrées (R5m) en sortie sur l'ensemble desdites images annotées de ladite base d'apprentissage, de façon à déterminer lesdits poids synaptiques (wrwn) et/ou lesdits biais (w0) optimaux.
7. Procédé d'apprentissage selon la revendication 6, caractérisé en ce que ladite minimisation est une minimisation d'une erreur quadratique moyenne entre lesdites cartes de saillance désirées (D5m) et délivrées (R5m) en sortie et met en œuvre un algorithme itératif de rétropropagation du gradient.
8. Procédé de localisation d'au moins deux points d'intérêt dans une image d'objet, caractérisé en ce qu'il comprend des étapes de : présentation de ladite image d'objet en entrée d'une architecture en couches mettant en œuvre un réseau de neurones artificiels ; - activation successive d'au moins une couche intermédiaire (N4), appelée première couche intermédiaire, comprenant une pluralité de neurones (N41) et permettant de générer au moins deux cartes de saillance (R5m) associées chacune à un point d'intérêt distinct prédéfini de ladite image d'objet, et d'au moins une couche de sortie (R5) comprenant lesdites cartes de saillance (R51n), lesdites cartes de saillance comprenant une pluralité de neurones connectés chacun à tous les neurones de ladite première couche intermédiaire (N4) ; localisation desdits points d'intérêt dans ladite image d'objet par recherche, dans lesdites cartes de saillance (R5m), d'une position (17r174) d'un maximum global unique sur chacune desdites cartes.
9. Procédé de localisation selon la revendication 8, caractérisé en ce qu'il comprend des étapes préalables de : détection (40), dans une image quelconque (46), d'une zone englobant ledit objet, et constituant ladite image d'objet (44, 45) ; redimensionnement (41) de ladite image d'objet.
10. Programme d'ordinateur comprenant des instructions de code de programme pour l'exécution du procédé d'apprentissage d'un réseau de neurones selon l'une quelconque des revendications 6 et 7 lorsque ledit programme est exécuté par un processeur.
11. Programme d'ordinateur comprenant des instructions de code de programme pour l'exécution du procédé de localisation d'au moins deux points d'intérêt dans une image d'objet selon l'une quelconque des revendications 8 et 9 lorsque ledit programme est exécuté par un processeur.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0503177A FR2884008A1 (fr) | 2005-03-31 | 2005-03-31 | Systeme et procede de localisation de points d'interet dans une image d'objet mettant en oeuvre un reseau de neurones |
PCT/EP2006/061110 WO2006103241A2 (fr) | 2005-03-31 | 2006-03-28 | Système et procédé de localisation de points d'intérêt dans une image d'objet mettant en œuvre un réseau de neurones |
Publications (1)
Publication Number | Publication Date |
---|---|
EP1866834A2 true EP1866834A2 (fr) | 2007-12-19 |
Family
ID=35748862
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP06725370A Withdrawn EP1866834A2 (fr) | 2005-03-31 | 2006-03-28 | Système et procédé de localisation de points d'intérêt dans une image d'objet mettant en uvre un réseau de neurones |
Country Status (6)
Country | Link |
---|---|
US (1) | US20080201282A1 (fr) |
EP (1) | EP1866834A2 (fr) |
JP (1) | JP2008536211A (fr) |
CN (1) | CN101171598A (fr) |
FR (1) | FR2884008A1 (fr) |
WO (1) | WO2006103241A2 (fr) |
Families Citing this family (74)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009155415A2 (fr) * | 2008-06-20 | 2009-12-23 | Research Triangle Institute | Système d'entraînement et de réadaptation, et procédé et programme informatique associés |
US8374436B2 (en) * | 2008-06-30 | 2013-02-12 | Thomson Licensing | Method for detecting layout areas in a video image and method for generating an image of reduced size using the detection method |
US8160354B2 (en) * | 2008-12-26 | 2012-04-17 | Five Apes, Inc. | Multi-stage image pattern recognizer |
US8290250B2 (en) | 2008-12-26 | 2012-10-16 | Five Apes, Inc. | Method and apparatus for creating a pattern recognizer |
US8229209B2 (en) * | 2008-12-26 | 2012-07-24 | Five Apes, Inc. | Neural network based pattern recognizer |
KR101558553B1 (ko) * | 2009-02-18 | 2015-10-08 | 삼성전자 주식회사 | 아바타 얼굴 표정 제어장치 |
CN101639937B (zh) * | 2009-09-03 | 2011-12-14 | 复旦大学 | 一种基于人工神经网络的超分辨率方法 |
US9405975B2 (en) | 2010-03-26 | 2016-08-02 | Brain Corporation | Apparatus and methods for pulse-code invariant object recognition |
US9906838B2 (en) | 2010-07-12 | 2018-02-27 | Time Warner Cable Enterprises Llc | Apparatus and methods for content delivery and message exchange across multiple content delivery networks |
US10424342B2 (en) | 2010-07-28 | 2019-09-24 | International Business Machines Corporation | Facilitating people search in video surveillance |
US8515127B2 (en) | 2010-07-28 | 2013-08-20 | International Business Machines Corporation | Multispectral detection of personal attributes for video surveillance |
US9134399B2 (en) | 2010-07-28 | 2015-09-15 | International Business Machines Corporation | Attribute-based person tracking across multiple cameras |
US8532390B2 (en) | 2010-07-28 | 2013-09-10 | International Business Machines Corporation | Semantic parsing of objects in video |
CN102567397B (zh) * | 2010-12-30 | 2014-08-06 | 高德软件有限公司 | 兴趣点、连锁店分店兴趣点关联标记的方法与装置 |
US9224090B2 (en) | 2012-05-07 | 2015-12-29 | Brain Corporation | Sensory input processing apparatus in a spiking neural network |
US9412041B1 (en) | 2012-06-29 | 2016-08-09 | Brain Corporation | Retinal apparatus and methods |
US9186793B1 (en) | 2012-08-31 | 2015-11-17 | Brain Corporation | Apparatus and methods for controlling attention of a robot |
US9311594B1 (en) | 2012-09-20 | 2016-04-12 | Brain Corporation | Spiking neuron network apparatus and methods for encoding of sensory data |
US9183493B2 (en) | 2012-10-25 | 2015-11-10 | Brain Corporation | Adaptive plasticity apparatus and methods for spiking neuron network |
US9218563B2 (en) * | 2012-10-25 | 2015-12-22 | Brain Corporation | Spiking neuron sensory processing apparatus and methods for saliency detection |
US9111226B2 (en) | 2012-10-25 | 2015-08-18 | Brain Corporation | Modulated plasticity apparatus and methods for spiking neuron network |
US9275326B2 (en) | 2012-11-30 | 2016-03-01 | Brain Corporation | Rate stabilization through plasticity in spiking neuron network |
US9239985B2 (en) | 2013-06-19 | 2016-01-19 | Brain Corporation | Apparatus and methods for processing inputs in an artificial neuron network |
US9436909B2 (en) | 2013-06-19 | 2016-09-06 | Brain Corporation | Increased dynamic range artificial neuron network apparatus and methods |
US9552546B1 (en) | 2013-07-30 | 2017-01-24 | Brain Corporation | Apparatus and methods for efficacy balancing in a spiking neuron network |
CN103489107B (zh) * | 2013-08-16 | 2015-11-25 | 北京京东尚科信息技术有限公司 | 一种制作虚拟试衣模特图像的方法和装置 |
US10198689B2 (en) | 2014-01-30 | 2019-02-05 | Hrl Laboratories, Llc | Method for object detection in digital image and video using spiking neural networks |
US9984326B1 (en) * | 2015-04-06 | 2018-05-29 | Hrl Laboratories, Llc | Spiking neural network simulator for image and video processing |
US9987743B2 (en) | 2014-03-13 | 2018-06-05 | Brain Corporation | Trainable modular robotic apparatus and methods |
US9533413B2 (en) | 2014-03-13 | 2017-01-03 | Brain Corporation | Trainable modular robotic apparatus and methods |
US9195903B2 (en) | 2014-04-29 | 2015-11-24 | International Business Machines Corporation | Extracting salient features from video using a neurosynaptic system |
CN103955718A (zh) * | 2014-05-15 | 2014-07-30 | 厦门美图之家科技有限公司 | 一种图像主体对象的识别方法 |
KR101563569B1 (ko) * | 2014-05-28 | 2015-10-28 | 한국과학기술원 | 학습형 다이내믹 시각 이미지 패턴 인식 시스템 및 방법 |
US9373058B2 (en) | 2014-05-29 | 2016-06-21 | International Business Machines Corporation | Scene understanding using a neurosynaptic system |
US9400922B2 (en) * | 2014-05-29 | 2016-07-26 | Beijing Kuangshi Technology Co., Ltd. | Facial landmark localization using coarse-to-fine cascaded neural networks |
US9798972B2 (en) | 2014-07-02 | 2017-10-24 | International Business Machines Corporation | Feature extraction using a neurosynaptic system for object classification |
US10115054B2 (en) | 2014-07-02 | 2018-10-30 | International Business Machines Corporation | Classifying features using a neurosynaptic system |
US9881349B1 (en) | 2014-10-24 | 2018-01-30 | Gopro, Inc. | Apparatus and methods for computerized object identification |
KR102288280B1 (ko) | 2014-11-05 | 2021-08-10 | 삼성전자주식회사 | 영상 학습 모델을 이용한 영상 생성 방법 및 장치 |
US10650508B2 (en) | 2014-12-03 | 2020-05-12 | Kla-Tencor Corporation | Automatic defect classification without sampling and feature selection |
CN106033594B (zh) * | 2015-03-11 | 2018-11-13 | 日本电气株式会社 | 基于卷积神经网络所获得特征的空间信息恢复方法及装置 |
EP3271872A4 (fr) * | 2015-03-18 | 2018-12-05 | Hrl Laboratories, Llc | Système et procédé pour décoder des réservoirs impulsionnels à plasticité synaptique continue |
US9934437B1 (en) | 2015-04-06 | 2018-04-03 | Hrl Laboratories, Llc | System and method for real-time collision detection |
US9933264B2 (en) | 2015-04-06 | 2018-04-03 | Hrl Laboratories, Llc | System and method for achieving fast and reliable time-to-contact estimation using vision and range sensor data for autonomous navigation |
US9840003B2 (en) | 2015-06-24 | 2017-12-12 | Brain Corporation | Apparatus and methods for safe navigation of robotic devices |
WO2017015887A1 (fr) * | 2015-07-29 | 2017-02-02 | Nokia Technologies Oy | Détection d'objets avec un réseau neuronal |
CN105260776B (zh) * | 2015-09-10 | 2018-03-27 | 华为技术有限公司 | 神经网络处理器和卷积神经网络处理器 |
JP2017059207A (ja) * | 2015-09-18 | 2017-03-23 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | 画像認識方法 |
CN105205504B (zh) * | 2015-10-04 | 2018-09-18 | 北京航空航天大学 | 一种基于数据驱动的图像关注区域质量评价指标学习方法 |
US20170124409A1 (en) * | 2015-11-04 | 2017-05-04 | Nec Laboratories America, Inc. | Cascaded neural network with scale dependent pooling for object detection |
KR102554149B1 (ko) * | 2015-11-16 | 2023-07-12 | 삼성전자주식회사 | 오브젝트 인식 방법 및 장치, 인식 모델 학습 방법 및 장치 |
US10860887B2 (en) * | 2015-11-16 | 2020-12-08 | Samsung Electronics Co., Ltd. | Method and apparatus for recognizing object, and method and apparatus for training recognition model |
US10055652B2 (en) * | 2016-03-21 | 2018-08-21 | Ford Global Technologies, Llc | Pedestrian detection and motion prediction with rear-facing camera |
CN111860811B (zh) * | 2016-04-27 | 2024-01-16 | 中科寒武纪科技股份有限公司 | 一种用于执行人工神经网络全连接层正向运算的装置和方法 |
US20190228268A1 (en) * | 2016-09-14 | 2019-07-25 | Konica Minolta Laboratory U.S.A., Inc. | Method and system for cell image segmentation using multi-stage convolutional neural networks |
KR101804840B1 (ko) | 2016-09-29 | 2017-12-05 | 연세대학교 산학협력단 | 컨벌루션 신경망 기반의 표면 영상 처리 방법 및 장치 |
KR101944536B1 (ko) * | 2016-12-11 | 2019-02-01 | 주식회사 딥바이오 | 뉴럴 네트워크를 이용한 질병의 진단 시스템 및 그 방법 |
CN106778751B (zh) * | 2017-02-20 | 2020-08-21 | 迈吉客科技(北京)有限公司 | 一种非面部roi识别方法及装置 |
JP6214073B2 (ja) * | 2017-03-16 | 2017-10-18 | ヤフー株式会社 | 生成装置、生成方法、及び生成プログラム |
CN108259496B (zh) | 2018-01-19 | 2021-06-04 | 北京市商汤科技开发有限公司 | 特效程序文件包的生成及特效生成方法与装置、电子设备 |
CN108388434B (zh) | 2018-02-08 | 2021-03-02 | 北京市商汤科技开发有限公司 | 特效程序文件包的生成及特效生成方法与装置、电子设备 |
JP6757349B2 (ja) | 2018-03-12 | 2020-09-16 | 株式会社東芝 | 固定小数点を用いて認識処理を行う多層の畳み込みニューラルネットワーク回路を実現する演算処理装置 |
US20190286988A1 (en) * | 2018-03-15 | 2019-09-19 | Ants Technology (Hk) Limited | Feature-based selective control of a neural network |
JP7035912B2 (ja) * | 2018-08-31 | 2022-03-15 | オムロン株式会社 | 検出器生成装置、モニタリング装置、検出器生成方法及び検出器生成プログラム |
JP6996455B2 (ja) * | 2018-08-31 | 2022-01-17 | オムロン株式会社 | 検出器生成装置、モニタリング装置、検出器生成方法及び検出器生成プログラム |
US11430084B2 (en) | 2018-09-05 | 2022-08-30 | Toyota Research Institute, Inc. | Systems and methods for saliency-based sampling layer for neural networks |
CN109491704A (zh) * | 2018-11-08 | 2019-03-19 | 北京字节跳动网络技术有限公司 | 用于处理信息的方法和装置 |
CN109744996B (zh) * | 2019-01-11 | 2021-06-15 | 中南大学 | Oct图像的bmo位置定位方法 |
US11080884B2 (en) * | 2019-05-15 | 2021-08-03 | Matterport, Inc. | Point tracking using a trained network |
CN112825115A (zh) * | 2019-11-20 | 2021-05-21 | 北京眼神智能科技有限公司 | 基于单目图像的眼镜检测方法、装置、存储介质及设备 |
US11687778B2 (en) | 2020-01-06 | 2023-06-27 | The Research Foundation For The State University Of New York | Fakecatcher: detection of synthetic portrait videos using biological signals |
US20230298753A1 (en) * | 2020-07-23 | 2023-09-21 | Deep Bio Inc. | Method for annotating pathogenic site of disease by means of semi- supervised learning, and diagnosis system for performing same |
US11532147B2 (en) * | 2020-09-25 | 2022-12-20 | Microsoft Technology Licensing, Llc | Diagnostic tool for deep learning similarity models |
KR20240056112A (ko) * | 2022-10-21 | 2024-04-30 | 삼성전자주식회사 | 이미지에서 관심 영역을 식별하기 위한 전자 장치 및 그 제어 방법 |
-
2005
- 2005-03-31 FR FR0503177A patent/FR2884008A1/fr active Pending
-
2006
- 2006-03-28 CN CNA2006800149363A patent/CN101171598A/zh active Pending
- 2006-03-28 US US11/910,159 patent/US20080201282A1/en not_active Abandoned
- 2006-03-28 WO PCT/EP2006/061110 patent/WO2006103241A2/fr active Application Filing
- 2006-03-28 EP EP06725370A patent/EP1866834A2/fr not_active Withdrawn
- 2006-03-28 JP JP2008503506A patent/JP2008536211A/ja active Pending
Non-Patent Citations (1)
Title |
---|
See references of WO2006103241A2 * |
Also Published As
Publication number | Publication date |
---|---|
US20080201282A1 (en) | 2008-08-21 |
FR2884008A1 (fr) | 2006-10-06 |
WO2006103241A2 (fr) | 2006-10-05 |
CN101171598A (zh) | 2008-04-30 |
JP2008536211A (ja) | 2008-09-04 |
WO2006103241A3 (fr) | 2007-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1866834A2 (fr) | Système et procédé de localisation de points d'intérêt dans une image d'objet mettant en uvre un réseau de neurones | |
EP3707676B1 (fr) | Procédé d'estimation de pose d'une caméra dans le référentiel d'une scène tridimensionnelle, dispositif, système de réalite augmentée et programme d'ordinateur associé | |
US11494616B2 (en) | Decoupling category-wise independence and relevance with self-attention for multi-label image classification | |
EP3640843B1 (fr) | Procédé d'extraction de caractéristiques d'une empreinte digitale représentée par une image d'entrée | |
Ozcan et al. | Lip reading using convolutional neural networks with and without pre-trained models | |
FR2884007A1 (fr) | Procede d'identification de visages a partir d'images de visage, dispositif et programme d'ordinateur correspondants | |
EP2491532A1 (fr) | Procede, programme d'ordinateur et dispositif de suivi hybride de representations d'objets, en temps reel, dans une sequence d'images | |
EP3582141B1 (fr) | Procédé d'apprentissage de paramètres d'un réseau de neurones à convolution | |
EP0681270A1 (fr) | Procédé de trajectographie d'objets et dispositif de mise en oeuvre de ce procédé | |
CA2709180C (fr) | Procedes de mise a jour et d'apprentissage d'une carte auto-organisatrice | |
WO2008081152A2 (fr) | Procede et systeme de reconnaissance d'un objet dans une image | |
CN115346091A (zh) | 一种Mura缺陷图像数据集的生成方法和生成装置 | |
EP3966739B1 (fr) | Procédé d'analyse automatique d'images pour reconnaître automatiquement au moins une caractéristique rare | |
EP3929809A1 (fr) | Procédé de détection d'au moins un trait biométrique visible sur une image d entrée au moyen d'un réseau de neurones à convolution | |
EP3491582B1 (fr) | Procédé de comparaison d'objets disposés au voisinage les uns des autres, et dispositif associé | |
de Carvalho | Deep depth from defocus: Neural networks for monocular depth estimation | |
WO2008031978A1 (fr) | Procede de cadrage d'un objet dans une image et dispositif correspondant | |
Dassiè | Machine Learning and Computer Vision in the Humanities | |
Fricker | Modeling visual information processing during locomotion using bio-inspired spiking neural networks | |
Krishan | Evaluation of Convolutional Neural Networks Against Deepfakes Using Transfer Learning | |
Moreira et al. | Improving Real Age Estimation from Apparent Age Data | |
WO2023118768A1 (fr) | Dispositif et procédé de traitement de données d'images de visages d'êtres humains | |
EP4453896A1 (fr) | Dispositif et procédé de traitement de données d'images de visages d'êtres humains | |
WO2012107696A1 (fr) | Procédés, dispositif et programmes d'ordinateur pour la reconnaissance de formes, en temps réel, à l'aide d'un appareil comprenant des ressources limitées | |
FR3114423A1 (fr) | Diffusion de connaissances avec preservation des relations semantiques pour une conversion d'image a image |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
17P | Request for examination filed |
Effective date: 20071008 |
|
AK | Designated contracting states |
Kind code of ref document: A2 Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC NL PL PT RO SE SI SK TR |
|
RIN1 | Information on inventor provided before grant (corrected) |
Inventor name: GARCIA, CHRISTOPHE Inventor name: DUFFNER, STEFAN |
|
DAX | Request for extension of the european patent (deleted) | ||
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |
|
18D | Application deemed to be withdrawn |
Effective date: 20121002 |