Traitements d'images et Vision par ordinateur Reconnaissance des formes Alain Boucher - IFI...

Preview:

Citation preview

Traitements d'images et Vision par ordinateur

Reconnaissance des formes

Alain Boucher - IFI

aboucher@ifi.edu.vn

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

Recommended