Apprentissage par méthodes à noyaux en reconnaissance d images



Documents pareils
Introduction au Data-Mining

Introduction au Data-Mining

Programmation linéaire

Reconnaissance de gestes : approches 2D & 3D

FONCTIONS DE PLUSIEURS VARIABLES (Outils Mathématiques 4)

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.

La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1

Analyse de la vidéo. Chapitre La modélisation pour le suivi d objet. 10 mars Chapitre La modélisation d objet 1 / 57

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications

Apprentissage non paramétrique en régression

Laboratoire 4 Développement d un système intelligent

Cours d Analyse. Fonctions de plusieurs variables

Fonctions de plusieurs variables

Représentation des Nombres

La classification automatique de données quantitatives

Calcul différentiel. Chapitre Différentiabilité

Première partie. Préliminaires : noyaux itérés. MPSI B 6 juin 2015

Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007

La fonction exponentielle

La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique

CCP PSI Mathématiques 1 : un corrigé

Coup de Projecteur sur les Réseaux de Neurones

Annexe commune aux séries ES, L et S : boîtes et quantiles

Différentiabilité ; Fonctions de plusieurs variables réelles

I. Polynômes de Tchebychev


Une comparaison de méthodes de discrimination des masses de véhicules automobiles

Vérification audiovisuelle de l identité

Fonctions de plusieurs variables : dérivés partielles, diérentielle. Fonctions composées. Fonctions de classe C 1. Exemples

Résolution d équations non linéaires

Fonctions de plusieurs variables, intégrales multiples, et intégrales dépendant d un paramètre

Résolution de systèmes linéaires par des méthodes directes

Apprentissage statistique dans les graphes et les réseaux sociaux

L ANALYSE EN COMPOSANTES PRINCIPALES (A.C.P.) Pierre-Louis GONZALEZ

Optimisation, traitement d image et éclipse de Soleil

Reconnaissance de visages 2.5D par fusion des indices de texture et de profondeur ICI 12/12/12

Projet de traitement d'image - SI 381 reconstitution 3D d'intérieur à partir de photographies

Traitement bas-niveau

Équations non linéaires

Apprentissage Automatique

COURS EULER: PROGRAMME DE LA PREMIÈRE ANNÉE

Programmes des classes préparatoires aux Grandes Ecoles

CHAPITRE 5. Stratégies Mixtes

Analyse en Composantes Principales

Optimisation et programmation mathématique. Professeur Michel de Mathelin. Cours intégré : 20 h

Objectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2)

LES MÉTHODES DE POINT INTÉRIEUR 1

L analyse d images regroupe plusieurs disciplines que l on classe en deux catégories :

Exercices - Polynômes : corrigé. Opérations sur les polynômes

Polynômes à plusieurs variables. Résultant

Optimisation des fonctions de plusieurs variables

Fonctions de deux variables. Mai 2011

Méthodes de quadrature. Polytech Paris-UPMC. - p. 1/48

Business Intelligence

LA NOTATION STATISTIQUE DES EMPRUNTEURS OU «SCORING»

Théorème du point fixe - Théorème de l inversion locale

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

I - PUISSANCE D UN POINT PAR RAPPORT A UN CERCLE CERCLES ORTHOGONAUX POLES ET POLAIRES

Théorie et codage de l information

LA PHYSIQUE DES MATERIAUX. Chapitre 1 LES RESEAUX DIRECT ET RECIPROQUE

Détection des points d intérêt et Segmentation des images RGB-D. Présentée par : Bilal Tawbe. Semaine de la recherche de l UQO

Chapitre VI Fonctions de plusieurs variables

Continuité d une fonction de plusieurs variables

Utilisation des méthodes Support Vector Machine (SVM) dans l analyse des bases de données

Fonctions de plusieurs variables

Introduction au datamining

3 Approximation de solutions d équations

Filtrage stochastique non linéaire par la théorie de représentation des martingales

Plus courts chemins, programmation dynamique

Cours d analyse numérique SMI-S4

Introduction à MATLAB R

La problématique des tests. Cours V. 7 mars Comment quantifier la performance d un test? Hypothèses simples et composites

Exercices - Fonctions de plusieurs variables : corrigé. Pour commencer

AICp. Vincent Vandewalle. To cite this version: HAL Id: inria

RO04/TI07 - Optimisation non-linéaire

L informatique en BCPST

Dérivées d ordres supérieurs. Application à l étude d extrema.

Chapitre 6 Apprentissage des réseaux de neurones et régularisation

Section «Maturité fédérale» EXAMENS D'ADMISSION Session de février 2014 RÉCAPITULATIFS DES MATIÈRES EXAMINÉES. Formation visée

Théorèmes de Point Fixe et Applications 1

Chapitre 7. Récurrences

Les algorithmes de base du graphisme

Chapitre 1 I:\ Soyez courageux!

NOTATIONS PRÉLIMINAIRES

Chapitre 2 Le problème de l unicité des solutions

Cours de Mécanique du point matériel

Eteindre. les. lumières MATH EN JEAN Mme BACHOC. Elèves de seconde, première et terminale scientifiques :

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar

Définition 0,752 = 0,7 + 0,05 + 0,002 SYSTÈMES DE NUMÉRATION POSITIONNELS =

Cours 9. Régimes du transistor MOS

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

Développements limités. Notion de développement limité

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

Optimisation Discrète

Logiciel XLSTAT version rue Damrémont PARIS

Fonctions de plusieurs variables et applications pour l ingénieur


NON-LINEARITE ET RESEAUX NEURONAUX

4.2 Unités d enseignement du M1

Approximations variationelles des EDP Notes du Cours de M2

Transcription:

Apprentissage par méthodes à noyaux en reconnaissance d images Alberto Bietti Table des matières Introduction 2 1 Apprentissage par méthodes à noyaux 2 1.1 Position du problème et motivation.......................... 2 1.2 Méthodes à noyaux................................... 3 1.3 Résolution........................................ 4 2 Application à la reconnaissance d images 4 2.1 Noyaux pour images.................................. 4 2.1.1 Noyaux d histogrammes............................ 4 2.1.2 Noyaux de features............................... 5 2.1.3 Noyaux sur des graphes de segmentation................... 5 2.2 Exemples et résultats.................................. 5 Conclusion 6 1

Introduction Aujourd hui, les nouveaux médias nous donnent accès à une énorme quantité d images. Il est usuel d avoir des milliers de photos sur son ordinateur, et le nombre d images sur Internet est quasiment infini. L un des problèmes qui surgit est la difficulté qui apparaît dans l organisation et la recherche de ces images. Contrairement à la recherche de texte, qui est désormais performante, la recherche et la compréhension des images reste un défi. Néanmoins, les algorithmes actuels les plus performants commencent à reconnaître des scènes ou des objets avec une précision acceptable. Pour reconnaître un objet précis dans une image c est ce qu on appelle la reconnaissance d instances, il existe aujourd hui des méthodes de programmation performantes qui cherchent à identifier l objet cherché en analysant l image et en trouvant des éléments d intérêt. Mais ces méthodes ne sont pas adaptées à la reconnaissance de classes, qui cherche plutôt à reconnaître et à distinguer des catégories d images (par exemple classer un ensemble d image selon qu elles contiennent un visage, un paysage, une chaise ou autre chose). Il s agit d un problème de classification. Pour ce problème-ci, les techniques d apprentissage sont plus adaptées : le programme va alors apprendre à classer de nouvelles images à partir d un grand nombre d exemples d images fourni. Il peut s agir d apprentissage supervisé, lorsque les images d entrée sont étiquetées par leur classe, ou non supervisé lorsque le programme trouve lui-même ces catégories. Dans mon TIPE, je me suis intéressé plus particulièrement à l apprentissage par méthodes à noyaux, très utilisé en reconnaissance d images, et notamment pour la classification. J ai alors implémenté un programme C++ de reconnaissance d images en utilisant l intersection d histogrammes comme noyau, à l aide de la bibliothèque de vision OpenCV. 1 Apprentissage par méthodes à noyaux 1.1 Position du problème et motivation On se place dans le contexte de l apprentissage supervisé, en particulier les problèmes de classification binaire (deux classes) et de régression (trouver une courbe qui passe par certains points). On se donne des observations (x i, y i ) i=1,...,n (X Y) n, où X est l ensemble de départ (dans le cas de la reconnaissance d images, c est les images) et Y l ensemble des résultats (Y = {±1} pour la classification binaire, Y = R pour la régression), et on veut prévoir y Y à partir de x X de façon cohérente avec les observations, à l aide d une fonction f : X Y. On veut alors que f minimise n l(y i, f(x i )) i=0 } {{ } erreur sur les données + λ 2 f 2 } {{ } régularisation où l(y, f(x)) est une fonction de perte qui mesure l erreur entre y et f(x) et qu on prendra égale à la perte quadratique 1 2 (y f(x))2 pour faciliter les calculs d optimisation qui vont suivre (d autres normes se révèlent être plus efficaces mais compliquent l optimisation), et. est une norme qu on prendra égale à la norme 2 (norme euclidienne) dans le cadre des méthodes à noyaux. Le paramètre λ > 0 dirige le compromis biais-variance (voir la figure 1), dont les cas extrêmes donnent une fonction trop régularisée qui généralise trop (λ grand, à gauche) ou une fonction trop proche des observations, incapable de généraliser (λ 0, à droite). Pour la classification binaire, on peut prendre aussi Y = R (la classe sera donnée par le signe de y Y), et on est ramenés à la même situation que pour la régression. 2

Figure 1 Compromis biais-variance Le cas linéaire Avec X = R p, on cherche f de la forme f(x) = w x, avec w R p. Il suffit alors de trouver w qui minimise J(w) := 1 2 y Xw 2, où y R n est le vecteur des y i et X R n p la matrice dont les lignes sont les x i, ce qui est aisé car la fonction est convexe différentiable et il suffit de chercher un point de gradient nul : on obtient w = (X X) 1 X y. Motivation A ce stade, on aimerait franchir la barre de la linéarité pour faire de l apprentissage non-linéaire, en partant d objets autres que des vecteurs (par exemple, des images). C est là qu interviennent les noyaux, qui permettent de ramener le problème étudié aux ressemblances entre deux objets de X donnés, sans recourir à l objet lui-même. 1.2 Méthodes à noyaux Plutôt qu apprendre à partir de l objet-même, ce qui serait peu pratique et pas très efficace dans l exemple d une image, on effectue l apprentissage à partir de certaines caractéristiques de l objet, appelées features, données par un feature map φ : X F. φ(x) peut être un vecteur (F = R p ) contenant, par exemple, des puissances de x pour représenter des polynômes, ou des caractéristiques intéressantes de l objet x si X est arbitraire (pour les images, voir 2.1). On cherche alors f linéaire sur les features, de la forme f(x) = w φ(x), et le problème d optimisation devient le suivant : min w R p n l(y i, w φ(x i )) + λ 2 w 2 i=1 Le théorème du représentant assure que la solution doit être de la forme w = n i=1 α iφ(x i ). En notant K la matrice [k(x i, x j )] i,j R n n (matrice du noyau), où k(x i, x j ) = φ(x i ) φ(x j ) = φ(x i ), φ(x j ) F, le problème équivaut à résoudre : min α R n n l(y i, (Kα) i ) + λ 2 α Kα i=1 Sous cette nouvelle forme, on voit que le feature map φ n apparaît plus, et que seule la matrice K est utilisée. Seuls interviennent alors les termes k(x i, x j ) qui correspondent à un produit scalaire d éléments de F et en ce sens mesurent la ressemblance entre x i et x j. De fait, les k(x i, x j ) sont habituellement calculés directement à partir de noyaux connus, sans l intervention de φ : c est l astuce du noyau ( kernel trick ). L espace F peut alors être de dimension infinie sans que cela ne pose de problème, et on effectue implicitement de l apprentissage non-linéaire. 3

Figure 2 Régression à l aide de noyaux Des exemples de noyaux couramment utilisés sont le noyau polynomial k(x, y) = (1 + x y) d (F : polynômes) ou le noyau gaussien k(x, y) = e α x y 2 (F : fonctions C ). Des exemples de noyaux pour images sont présentés dans la partie 2.1. 1.3 Résolution Dans le cas de la perte quadratique, on est amenés à résoudre le problème suivant : trouver α R n qui minimise J(α) := 1 2 y Kα 2 + λ 2 α Kα La fonction J est différentiable, et J(α) = K (Kα y)+λkα. En supposant que k est un noyau défini positif, donc que K est symétrique positive (par définition), la solution est α = (K+λI) 1 y (à un élément du noyau de K près, qui ne modifie pas f) et on a alors f( ) = n i=1 α ik(, x i ). A titre d exemple, j ai implémenté un programme de régression ou génération de surface en Matlab/Octave qui crée une fonction passant par certains points fixés, avec un noyau gaussien (figure 2, à gauche) ou polynomial (figure 2, au centre). L image de droite de la figure 2 montre une régression similaire, mais pour une courbe à une dimension, avec différents paramètres de régularisation λ. 2 Application à la reconnaissance d images 2.1 Noyaux pour images Il existe plusieurs types de noyaux pour la reconnaissance d images. J en présente trois. 2.1.1 Noyaux d histogrammes Les noyaux d histogrammes reposent sur la notion d intersection d histogrammes d images. Il s agit ici d histogrammes représentant la distribution des couleurs d une image : à chaque couleur (ou intervalle de couleurs) i (i = 1,..., D) on associe le nombre de pixels de cette couleur, h x (i) (pour une image x). Certains les dénomment bags of pixels ( sacs de pixels ), ce qui indique ce regroupement de pixels. L intersection de deux histogrammes est donnée par I(h x, h y ) = D min(h x (i), h y (i)) et on définit alors le noyau suivant, dont on peut montrer qu il est défini positif : i=1 k(x, y) = I(h x, h y ) 4

Figure 3 Pyramide d histogrammes (source : [3]) 2.1.2 Noyaux de features On peut construire des noyaux d intersection sur d autres structures que des histogrammes de couleurs. Un exemple est de prendre des bags of features à la place des bags of pixels. Le terme feature désigne un élément d intérêt ou un point saillant d une image. Les features sont en général obtenues par des algorithmes de traitement d image (feature extraction). Les plus célèbres sont les descripteurs SIFT ([5]), très performants en reconnaissance d instances. En classant les features obtenues sur une image par ressemblance dans des sacs de features, on obtient des histogrammes de features et on peut utiliser un noyau d intersection comme celui du paragraphe précédent. D autres approches consistent, comme dans [3], à effectuer ces mêmes opérations d intersection, mais sur différentes grilles de résolutions différentes (avec des facteurs différents) pour obtenir un pyramid match kernel (voir figure 3). Ceci permet de mieux tenir compte de la position des features les unes par rapport aux autres. 2.1.3 Noyaux sur des graphes de segmentation Une autre façon de procéder est de partir d une segmentation de l image, par exemple à l aide de l algorithme watershed (ligne de partage des eaux), comme dans [2]. Une fois l image divisée en plusieurs segments de même couleur, on peut construire un graphe de segmentation (voir figure 4) et utiliser ensuite des noyaux sur ces graphes, que je ne vais pas étudier en détail (on peut construire des noyaux sur un graphe à partir de chemins 1, de marches 2 ou de sous-arbres, voir [2]). 2.2 Exemples et résultats J ai implémenté en C++ un programme de reconnaissance d image utilisant le noyau d intersection d histogrammes de la partie 2.1.1. Le programme crée la matrice du noyau K à partir des observations (images et classe ±1) lues sur un fichier texte, et prend en paramètre une nouvelle image x dont il renvoye la valeur f(x). Le signe de cette valeur en indique la classe. La figure 6 page 8 donne quelques résultats pour une classification de scènes intérieures/extérieures, à partir d une quarantaine d observations (voir figure 5). 1. suite de sommets voisins distincts 2. suite de sommets voisins 5

Figure 4 Ligne de partage des eaux et graphe de segmentation (source : [2]) Conclusion Les méthodes à noyaux se révèlent donc très adaptées aux problèmes d apprentissage relatifs à la classification en reconnaissance d images, avec de nombreuses qualités tels que la non-linéarité et la très grande dimension de l espace. Mais elles ne sont pas sans inconvénients. Problèmes des méthodes présentées L interprétation des résultats est souvent difficile à cause de la grande dimension. Il est difficile de tenir compte de la structure d une image et de la position des objets analysés dans la construction d un noyau pour images. Enfin, si la classification binaire se fait bien, la classification multi-classe reste un défi (on passe en général par plusieurs classificateurs binaires un contre tous ). Etat actuel de la recherche Les méthodes à noyaux sont très répandues aujourd hui, dans de nombreux domaines dont la reconnaissance d images, la bio-informatique ou l intelligence artificielle. Elles sont utilisées surtout pour les machines à vecteur de support (SVM), qui utilisent des fonctions de perte plus efficaces pour des problèmes d optimisation plus compliqués. J ai rencontré Francis Bach, chercheur de l INRIA et du Laboratoire d Informatique de l École Normale Supérieure (Willow project), qui m a parlé des recherches actuelles dans le domaine, s appuyant sur les normes `1 plutôt que sur les normes `2 des méthodes à noyaux. Celles-ci entraînent l apparition de valeurs nulles (c est pourquoi on les appelle méthodes parcimonieuses), ce qui présente certains avantages tels qu une meilleure visualisation et interprétation des résultats et des variables d intérêt, mais d autres difficultés apparaissent, notamment au niveau de l optimisation non-différentiable. 6

Références [1] F. Bach, Méthodes à noyaux en apprentissage statistique, Colloque RASMA, 2008. [2] Z. Harchaoui, F. Bach, Image classification with segmentation graph kernels, Proceedings of the Conference on Computer Vision and Pattern Recognition (CVPR), 2007. [3] S. Lazebnik, C. Schmid, J. Ponce, Beyond bags of features : spatial pyramid matching for recognizing natural scene categories, CVPR, 2006. [4] B. Schölkopf, A. J. Smola, Learning with Kernels, MIT Press, 2002. [5] D. G. Lowe, Object recognition from local scale-invariant features, International Conference on Computer Vision, 1999. 7

Figure 5 Quelques images d entrée pour une classification intérieur/extérieur. Première ligne : classe +1 (intérieur). Deuxième ligne : classe 1 (extérieur) 1.102 0.892 0.995 0.568 0.346 0.591 1.26 0.110 Figure 6 Quelques résultats. Il y a tout de même une erreur : la dernière image donne un résultat négatif, alors que c est une scène d intérieur. 8