Traitements d'images et Vision par ordinateur Reconnaissance des formes Alain Boucher - IFI...
-
Upload
ludivine-honore -
Category
Documents
-
view
126 -
download
7
Transcript of Traitements d'images et Vision par ordinateur Reconnaissance des formes Alain Boucher - IFI...
Traitements d'images et Vision par ordinateur
Reconnaissance des formes
Alain Boucher - IFI
Reconnaissance des formes
Vision par ordinateur - Alain Boucher 3
Reconnaissance des formes
On dispose d’une banque de modèles spécifiques d’objets.
On se servira de cette banque de modèles pour apprendre à reconnaître de nouveaux objets.
On cherche à identifier lesquels parmi ces objets sont dans l’image et dans chacun des cas, quelle est la pose (position + orientation) par rapport à caméra.
Il existe La reconnaissance générique
exemple : rechercher une humain dans une image La reconnaissance spécifique
exemple : rechercher Alain Boucher dans une image.
Vision par ordinateur - Alain Boucher 4
Reconnaissance des formes
Une forme peut être considérée comme un arrangement de descripteurs.
Un descripteur peut être une caractéristique, un codage du contour, une signature, le spectre de Fourier, une mesure statistique dans le domaine spatial ou fréquentiel, le squelette de l'objet, etc.
Une caractéristique peut être :Intensité, histogramme, couleur, texture, surface, périmètre, centre de masse, centre d'énergie, longueur des axes majeur et mineur, angles des axes majeur et mineur, circularité, etc.
Vision par ordinateur - Alain Boucher 5
Reconnaissance des formes
Les objets (ou formes) peuvent être identifiés par un descripteur unique, ou par un ensemble de descripteurs.
Cet ensemble de descripteurs (unique ou multiple) peut être considéré comme
un vecteur une chaîne de caractères un arbre
Vision par ordinateur - Alain Boucher 6
Reconnaissance des formes
Les vecteurs de formes à une dimension se présente comme une matrice en colonne ou sa transposée :
x
x
x
x n
1
2
x x x x n
T
1 2, , ,
Vision par ordinateur - Alain Boucher 7
Reconnaissance des formes
Plusieurs formes peuvent partager des descripteurs communs
Une classe de formes peut être définie pour permettre le regroupement de ces formes aux caractéristiques communes
Les classes de formes sont dénotées par 1, 2, …, W où W est le nombre total de classes
Vision par ordinateur - Alain Boucher 8
Caractéristiques d’une forme
Centre de gravité Cx et Cy. Surface [S] (en pixels) Périmètre [P] : mesuré comme la somme des
distances entre pixels (somme de 1 et )
Moyenne des niveaux de gris (ou couleurs) Variance des niveaux de gris (ou couleurs)
Conseil : utiliser un autre espace couleur que RGB pour coder les couleurs (par exemple HLS), car celui-ci est non-linéaire fausse les résultats.
Facteur de forme : …
2
24
P
πSFf Droite : Ff = 0
Cercle : Ff = 1
Vision par ordinateur - Alain Boucher 9
Exemple : Reconnaissance d’Iris
Exemple : 3 variétés d'Iris sont classifiées par la longueur et la largeur de leurs pétales
virginica versicolor setosaSource : www.gpa.etsmtl.ca/cours/gpa669
Vision par ordinateur - Alain Boucher 10
Reconnaissance des formes
Nous avons donc trois classes Iris virginica, Iris versicolor, Iris setosa 1, 2 et 3
Chaque fleur est évaluée par deux descripteurs Longueur des pétales, largeur des pétales
Il y a des différences entre les longueurs et largeurs des pétales des différentes variétés d'Iris.
Il y a aussi de la variabilité dans une même variété d'Iris.
x
x
x1
2
Vision par ordinateur - Alain Boucher 11
Reconnaissance des formes
Vision par ordinateur - Alain Boucher 12
Reconnaissance des formes
La variété setosa est bien différenciée des deux autres variétés.
Il est difficile de différencier les deux autres variétés sans erreur.
Il s'agit d'un problème avec la sélection des caractéristiques pour décrire la forme.
Importance de la sélection de descripteurs "descriptifs" !
Vision par ordinateur - Alain Boucher 13
Méthodes de reconnaissance
Méthodes basées sur une décision théorique Basées sur des fonctions de décision ou des fonctions
discriminantes Nous devons définir des fonctions de décisions pour
tester l'appartenance à chacune des classes de formes à l'étude
Classificateurs par correspondances (matching) Distance minimum Corrélation
Classificateurs statistiques Bayes
Réseaux de neurones, logique floue, automate cellulaire, algorithme génétique, …
Vision par ordinateur - Alain Boucher 14
Classification par distance minimale
Calcul de la distance entre le vecteur de forme de l'objet inconnu et le vecteur de forme de l'objet de référence.
La distance minimum est calculée selon la distance Euclidienne.
Quel est le vecteur de forme de l'objet de référence ?
Peut être le vecteur de forme d'un objet de référence unique
Peut être le vecteur moyen d'un ensemble d'objetsm x
xj
jjN
j W 1
1 2 j
, , . . . ,
Nj = nombre de vecteurs de forme dans la classe j
Vision par ordinateur - Alain Boucher 15
Classification par distance minimale
m1 = (4.3, 1.3)T
m2 = (1.5, 0.3)T
d1
d2
Pour un nouvel objet à reconnaître, on cherche la classe ayant la distance minimale avec l’objet.
?
Vision par ordinateur - Alain Boucher 16
Classification par distance minimale
m1 = (4.3, 1.3)T
m2 = (1.5, 0.3)T
1
2
On peut aussi définir une frontière de décision entre les classes.
Vision par ordinateur - Alain Boucher 17
Distance de Mahalanobis
Mieux que la distance euclidienne, il est préférable d’utiliser la distance de Mahalanobis :
Tient compte de la variance propre à chaque caractéristique.
est la matrice de covariance des
caractéristiques.
La matrice de covariance est très importante. C’est elle qui établit l’interdépendance des données.
N
k
Tkk
i
xxxxN 1
))((1
1
)()( xxxxD TsMahalanobi
Vision par ordinateur - Alain Boucher 18
Distance de Mahalanobis
La distance est la même sur les contours elliptiques.
Source : 19263.gel.ulaval.ca
Vision par ordinateur - Alain Boucher 19
Classification par corrélation
Comparaison de la corrélation entre une sous-image w(x,y) et une image f(x,y)
w(x,y) est de dimension J x K f(x,y) est de dimension M x N J M et K N
La corrélation entre f(x,y) et w(x,y) est :
c x y f s t w x s y tts
( , ) ( , ) ( , )
Vision par ordinateur - Alain Boucher 20
Classification par corrélation
c x y f s t w x s y tts
( , ) ( , ) ( , )
Vision par ordinateur - Alain Boucher 21
Classification par corrélation
On recherche la corrélation maximale dans l’image.
Vision par ordinateur - Alain Boucher 22
Classification par corrélation
Problème de la rotation Soit on doit "tourner" l'objet, si certaines informations
permettent de connaître l'orientation Soit on doit "tourner" w(x,y) par petits incréments et
tester toutes l'image plusieurs fois (360 fois ?)
Problème du facteur d’échelle Soit on a un indice quand à la taille de l’objet Soit on doit essayer de correler l’objet à différentes
échelles
Vision par ordinateur - Alain Boucher 23
Classificateurs statistiques - Bayes
Classificateur basé sur la loi de Bayes :
Connaissant les caractéristiques d’une forme, quelle est la probabilité qu’elle appartienne à la classe i [P(classei|caractéristiques)] ?
Pour cela, nous devons connaître la fonction de probabilité des caractéristiques pour la classe i
[P(caractéristiques|classei)]. la probabilité de la classe i [P(classei)] : permet de donner une
probabilité différente selon les classe (sinon par défaut même probabilité pour toutes).
la probabilité du vecteur de caractéristiques [P(caractéristiques)] est la même pour toutes les classes : on peut l’éliminer du problème.
)()|()|(
)(
)()|()|(
iii
iii
classePclassetiquescaractérisPtiquescaractérisclasseP
tiquescaractérisP
classePclassetiquescaractérisPtiquescaractérisclasseP
Vision par ordinateur - Alain Boucher 24
Classificateurs statistiques - Bayes
Fonction de probabilité des caractéristiques = Gaussienne.
On doit définir les moyennes, tel m1 et m2, ainsi
que les écart-types, tel 1 et 2, pour chaque
classe.
)(2
1)|(
22 2)(i
mx
j
i classePetiquecaractérisclasseP jj
Vision par ordinateur - Alain Boucher 25
Classificateurs statistiques - Bayes
)()(
2
1exp
det)2(
1)|( 1
2
xxclassetiquescaractérisP T
ni
N
k
Tkk
i
xxxxN 1
))((1
1
x
N
NclasseP i
i )(
)()|()|( iii classePclassetiquescaractérisPtiquescaractérisclasseP
Classificateur Bayésien – Distribution Gaussienne
Nombre d’exemples de la classe i Nombre total d’exemples
Gaussienne multi-dimensionnelle de dimension n
Matrice de covariance
Vision par ordinateur - Alain Boucher 26
Classificateurs statistiques - Bayes
Frontière de décision
Vision par ordinateur - Alain Boucher 27
Choix des caractéristiques
Le principal problème est le bon choix des caractéristiques permmettant de différencier les différentes classes.
cf l’exemple avec les trois classe d’Iris
Les caractéristiques identifiées par les experts d’un domaine (exemple : botanistes) ne sont pas forcément celles qui sont reconnaissables dans les images.
Une méthode qui permet d’identifier les caractéristiques importantes est l’Analyse en Composantes Principales (ACP).
Vision par ordinateur - Alain Boucher 28
Analyse en Composantes Principales
A partir d’un nombre élevé de caractéristiques, le but de cette méthode est de réduire les calculs à un petit nombre significatif de caractéristiques.
Elimine la redondance entre les caractéristiques et les caractéristiques non-significatives.
Vision par ordinateur - Alain Boucher 29
Analyse en Composantes Principales
Etape 1Calculer la moyenne de chaque vecteur de caractéristiques.
Etape 2Soustraire la moyenne de chaque vecteur de caractéristiques.
Etape 3Calculer la matrice des covariances.
Etape 4Calculer les valeurs et vecteurs propres de la matrice de
covariance. Etape 5
Ne conserver que les valeurs propres (+ vecteurs) les plus grandes.
Etape 6Projeter les données dans ce nouvel espace propre.
Vision par ordinateur - Alain Boucher 30
Analyse en Composantes Principales
Etape 1Calculer la moyenne de chaque vecteur de caractéristiques.
Source : cis.poly.edu/cs664
Vision par ordinateur - Alain Boucher 31
Analyse en Composantes Principales
Etape 2Soustraire la moyenne de chaque vecteur de caractéristiques.
N
k
Tkk
i
xxxxN 1
))((1
1
Etape 3Calculer la matrice des covariances.
Vision par ordinateur - Alain Boucher 32
Analyse en Composantes Principales
Etape 4Calculer les valeurs et vecteurs propres de la matrice de covariance.
Les vecteurs propres de la matrice de covariance représentent une base orthonormée d'axes principaux (significatifs) de l’ensemble des données.
Chaque valeur propre exprime l’importance du vecteur propre associé
Plus la grande valeur propre est grande, plus le vecteur propre associé est significatif.
Vision par ordinateur - Alain Boucher 33
Analyse en Composantes Principales
Etape 5Ne conserver que les valeurs propres (+ vecteurs) les plus grandes.
Etape 6Projetter les données dans ce nouvel espace propre.
Vision par ordinateur - Alain Boucher 34
Analyse en Composantes Principales
L’Analyse en Composantes Principales sert à optimiser les caractéristiques utilisées pour la reconnaissance.
Une fois l’entraînement (ou apprentissage) des données terminé, pour une nouvelle forme à reconnaître :
On calcule les caractéristiques de cette forme On projette les caractéristiques dans le nouvel espace
propre (espace de l’ACP) On calcule la distance avec chacune des classes
possibles pour trouver la bonne classe d’appartenance.
Vision par ordinateur - Alain Boucher 35
Exemple : Reconnaissance de visages
Ensemble d’images pour l’entrainement (ou apprentissage) du système de
reconnaissance.Source : cis.poly.edu/cs664
Vision par ordinateur - Alain Boucher 36
Exemple : Reconnaissance de visages
La valeur de chaque pixel peut être considéré comme une caractéristique d’un vecteur.
Pour une taille d’image NxM :
X= { img(0,0), img(0,1), … img(0,M), img(1,0), … img(N,M) }
Pour chaque image de l’ensemble initial, on calcule une image dans l’espace de l’ACP.
Cet espace propre identifie les caractéristiques importantes des visages.
Pour une nouvelle image d’une personne, on le compare aux visages existants pour reconnaître l’identité de cette personne.
Vision par ordinateur - Alain Boucher 37
Exemple : Reconnaissance de visages
Visages dans l’espace propre de l’ACP.
Vision par ordinateur - Alain Boucher 38
Remarques
Il est bien (voire essentiel) de prévoir une classe rejet dans le système de reconnaissance.
Si un objet non-identifié ou autre est présent dans l’image, on veut éviter de l’assimiler.
Exemple : classer une orchidée comme une classe d’Iris dans un exemple précédent.
Rien n’empêche d’ajouter des caractéristiques qui ne sont pas dans l’image pour améliorer la reconnaissance.
Exemple : Connaissant la date d’acquisition de l’image, on utilise l’information d’un calendrier de floraison des différentes fleurs pour reconnaître une fleur particulière.
Vision par ordinateur - Alain Boucher 39
Erreurs de reconnaissance
Il existe deux catégories d’erreurs possibles : Faux positifs (ou fausse alarme) : erreur lorsqu’on
classe à tort un objet dans une classe. Faux négatifs (ou manque) : erreur lorsqu’on oublie un
objet dans une classe.
Selon les applications, une erreur aura plus d’importance que l’autre (fonction de coût d’une décision).
Vision par ordinateur - Alain Boucher 40
Problèmes de la reconnaissance
Position de la caméra (2D) Translation, rotation, facteur d’échelle, étirement
Position de la caméra (3D) Profondeur, orientation
Variation dans l’éclairage, les couleurs, les ombres
Occlusions Une partie de l’objet peut ne pas être visible
Variations dans une classe Visages, fleurs, … tout ce qui est vivant
Mouvement non-rigide Corps humain, mains, …
La reconnaissance est avant tout basée sur l’apparence des objets, et non pas sur leur sémantique !
Vision par ordinateur - Alain Boucher 41
Problèmes de la reconnaissance
Problème d’illumination Problème d’orientation
Source : cis.poly.edu/cs664