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

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

Info

Publication number
WO2008081152A2
WO2008081152A2 PCT/FR2007/052569 FR2007052569W WO2008081152A2 WO 2008081152 A2 WO2008081152 A2 WO 2008081152A2 FR 2007052569 W FR2007052569 W FR 2007052569W WO 2008081152 A2 WO2008081152 A2 WO 2008081152A2
Authority
WO
WIPO (PCT)
Prior art keywords
image
layer
neurons
neuron
synaptic
Prior art date
Application number
PCT/FR2007/052569
Other languages
English (en)
Other versions
WO2008081152A3 (fr
Inventor
Christophe Garcia
Stefan Duffner
Original Assignee
France Telecom
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by France Telecom filed Critical France Telecom
Publication of WO2008081152A2 publication Critical patent/WO2008081152A2/fr
Publication of WO2008081152A3 publication Critical patent/WO2008081152A3/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/213Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
    • G06F18/2135Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on approximation criteria, e.g. principal component analysis
    • G06F18/21355Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on approximation criteria, e.g. principal component analysis nonlinear criteria, e.g. embedding a manifold in a Euclidean space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/168Feature extraction; Face representation
    • G06V40/169Holistic features and representations, i.e. based on the facial image taken as a whole

Landscapes

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

Abstract

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

Description

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

Claims

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

Applications Claiming Priority (2)

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

Publications (2)

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

Family

ID=38222128

Family Applications (1)

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

Country Status (1)

Country Link
WO (1) WO2008081152A2 (fr)

Cited By (2)

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

Families Citing this family (1)

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

Non-Patent Citations (12)

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

Cited By (3)

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

Also Published As

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

Similar Documents

Publication Publication Date Title
Bazrafkan et al. An end to end deep neural network for iris segmentation in unconstrained scenarios
Zhao et al. Supervised segmentation of un-annotated retinal fundus images by synthesis
US9830529B2 (en) End-to-end saliency mapping via probability distribution prediction
Othmani et al. Age estimation from faces using deep learning: A comparative analysis
Babaee et al. Person identification from partial gait cycle using fully convolutional neural networks
EP1866834A2 (fr) Système et procédé de localisation de points d&#39;intérêt dans une image d&#39;objet mettant en uvre un réseau de neurones
Varkarakis et al. Deep neural network and data augmentation methodology for off-axis iris segmentation in wearable headsets
EP3707676B1 (fr) Procédé d&#39;estimation de pose d&#39;une caméra dans le référentiel d&#39;une scène tridimensionnelle, dispositif, système de réalite augmentée et programme d&#39;ordinateur associé
Prakash et al. Face recognition with convolutional neural network and transfer learning
WO2015180042A1 (fr) Représentation de visage fondée sur l&#39;apprentissage profond
EP1864242A1 (fr) Procede d&#39;identification de visages a partir d&#39;images de visage, dispositif et programme d&#39;ordinateur correspondants
Banerjee et al. Mutual variation of information on transfer-CNN for face recognition with degraded probe samples
EP3582141B1 (fr) Procédé d&#39;apprentissage de paramètres d&#39;un réseau de neurones à convolution
Ribeiro et al. Iris super‐resolution using CNNs: is photo‐realism important to iris recognition?
FR3088467A1 (fr) Procede de classification d&#39;une image d&#39;entree representative d&#39;un trait biometrique au moyen d&#39;un reseau de neurones a convolution
Gangwar et al. Deepirisnet2: Learning deep-iriscodes from scratch for segmentation-robust visible wavelength and near infrared iris recognition
Allaert et al. Optical flow techniques for facial expression analysis: Performance evaluation and improvements
CN110688966B (zh) 语义指导的行人重识别方法
Horng et al. Recognizing very small face images using convolution neural networks
Alafif et al. On detecting partially occluded faces with pose variations
Borra et al. Face recognition based on convolutional neural network
Duffner et al. A neural scheme for robust detection of transparent logos in TV programs
WO2008081152A2 (fr) Procede et systeme de reconnaissance d&#39;un objet dans une image
Dong et al. Occlusion expression recognition based on non-convex low-rank double dictionaries and occlusion error model
CN114863520A (zh) 一种基于c3d-sa的视频表情识别方法

Legal Events

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

Ref country code: DE

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

Ref document number: 07871982

Country of ref document: EP

Kind code of ref document: A2

122 Ep: pct application non-entry in european phase

Ref document number: 07871982

Country of ref document: EP

Kind code of ref document: A2