Vous êtes sur la page 1sur 51

Vision par ordinateur

Détection et Reconnaissance 2D et 3D
(première partie)

Alain Boucher - IFI


Introduction
 Vous avez déjà un cours complet sur les techniques de
reconnaissance des formes

 Nous abordons des techniques spécifiques à la vision


par ordinateur pour la détection et la reconnaissance
d’objets en vision par ordinateur

 Détection ou reconnaissance d’objets basées sur


 les caractéristiques
 les modèles
 l’apparence globale
 l’apparence locale
 ...
2
Généralités de la reconnaissance des
formes dans les images

3
Apparence globale
 Les méthodes les plus classiques pour reconnaître un
objet se basent sur l’apparence globale de cet objet
mesurée à l’aide de caractéristiques

 Approche classique
(1) Segmentation de l’image
(2) Caractéristiques des objets segmentés
(3) Reconnaissance des objets de l’image

4
Exemple de reconnaissance

 Quels sont les objets présents dans cette image ?


 Y a-t-il une balle ?
 Qu'est-ce qu'une balle ?
 Rond ?
 ??

Source : Patrick Hébert, Vision numérique, Université Laval (Québec, Canada). 5


Segmentation / reconnaissance
Il faut segmenter pour pouvoir reconnaître ;
Mais il faut reconnaître pour pouvoir segmenter !

Le poisson ici est impossible à segmenter automatiquement


si on ignore ce que l’on cherche !
Source : Patrick Hébert, Vision numérique, Université Laval (Québec, Canada). 6
Comment décrire un poisson ?

Source : Patrick Hébert, Vision numérique, Université Laval (Québec, Canada). 7


Vision industrielle

Note : en industrie, les


systèmes de vision pour la
reconnaissance
fonctionnent très bien
 Forte contraintes sur
 la lumière

 le type d'objets

 la position des objets

C'est le cas général (en


recherche) qui pose
problème
Source : George Bebis, Computer Vision Review, CS491E/791E: Computer Vision (Spring 2004),
University of Nevada (USA). 8
Représentation des caractéristiques

 Mesurer des propriétés :


 couleur, texture
 géométrie : longueur, hauteur, ratios, etc.
 construire un vecteur
---> approches statistiques

 Primitives élémentaires :
 segments de droite, arcs de cercle
 regroupements perceptuels
 construire un graphe
---> approches structurelles

9
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 2 )
 Histogramme des niveaux de gris (ou couleurs)
 Conseil : utiliser un autre espace couleur que RVB pour coder
les couleurs (par exemple TSV ou LAB), cela peut donner de
meilleurs résultats

 Facteur de forme : 4 πS Droite : Ff = 0


 … Ff = 2 Cercle : Ff = 1
P
10
Exemples de caractéristiques

Axes d’inertie

Profil angulaire
Concavités

11
Méthodes de classification

 Il existe plusieurs méthodes de classification :


 Plus proche voisin
 Arbres de décision
 Réseaux de neurones
 Machines à Vecteurs de Support
 Classificateurs bayésiens
 …

 Voir le cours de reconnaissance des formes

12
Discrimination des classes
p  zèbre∣image 
p  non−zèbre∣image 
Frontière Zèbre
de décision
Non-zèbre

Source : Jana Kosecka, CS 682 Computer Vision, George Mason University (USA) 13
Classificateur bayésien
 Classificateur basé sur la loi de Bayes :
P (caractéristiques | classei ) P (classei )
P (classei | caractéristiques ) =
P (caractéristiques )
P (classei | caractéristiques ) ∝ P (caractéristiques | classei ) P (classei )
 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

14
Fonction gaussienne de probabilité
Fonction de probabilité des caractéristiques = Gaussienne
1 − x− m j 2 / 2σ2j
P  classei∣caractéristique= e P  classei 
 2 πσ j

On doit définir les moyennes, tel m1 et m2, ainsi que les écart-types,
tel σ1 et σ2, pour chaque classe
Source : Gonzalez and Woods. Digital Image Processing. chap. 12, Prentice-Hall, 2002. 15
Classificateurs statistiques - Bayes

Frontière de décision

16
Risque de la classification
Frontière de décision Frontière de décision

Risque bayésien

 Toutes les méthodes existantes de classification doivent faire un


choix entre deux ou plusieurs classes d’objets pour décider
 La classification d’un objet dans une classe se fait souvent selon la
probabilité d’appartenance à chaque classe
 Cela crée une frontière de décision entre les classes et induit une
erreur de classification inévitable
Source : Gonzalez and Woods. Digital Image Processing. chap. 12, Prentice-Hall, 2002. 17
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 setosa

Source : Jacques-André Landry, Vision robotique, ETS (Montréal, Canada) 18


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

[]

x1
X=
x2
 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

Source : Jacques-André Landry, Vision robotique, ETS (Montréal, Canada) 19


Reconnaissance des formes

Source : Gonzalez and Woods. Digital Image Processing. chap. 12, Prentice-Hall, 2002. 20
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" !

Source : Jacques-André Landry, Vision robotique, ETS (Montréal, Canada) 21


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'objets

1
m j =
N

x ∈ω
x j j = 1, 2 ,...,W
j j

Nj = nombre de vecteurs de forme dans la classe ωj

22
Classification par distance minimale

Pour un nouvel objet à reconnaître,


on cherche la classe ayant la
distance minimale avec l’objet

d1 m1 = (4.3, 1.3)T
?

d2

m2 = (1.5, 0.3)T

Source : Gonzalez and Woods. Digital Image Processing. chap. 12, Prentice-Hall, 2002. 23
Classification par distance minimale
On peut aussi définir une frontière
de décision entre les classes

ω1
m1 = (4.3, 1.3)T

m2 = (1.5, 0.3)T
Problème de la
dispersion des axes
ω2

Source : Gonzalez and Woods. Digital Image Processing. chap. 12, Prentice-Hall, 2002. 24
Distance de Mahalanobis
 Mieux que la distance euclidienne, il est préférable
d’utiliser la distance de Mahalanobis :
T −1
D Mahalanobis = x− x Ψ  x−x 
 Tient compte de la variance propre à chaque
caractéristique
 Ψ est la matrice de covariance des caractéristiques

1 N
Ψ= ∑ k
N i − 1 k =1
( x − x )( x k − x ) T

 La matrice de covariance est très importante


 C’est elle qui établit l’interdépendance des données

25
Distance de Mahalanobis

La distance est la
même sur les
contours elliptiques

Source : Patrick Hébert, Vision numérique, Université Laval (Québec, Canada). 26


Classificateur bayésien avec covariance

Classificateur Bayésien – Distribution Gaussienne

P (classei | caractéristiques ) ∝ P (caractéristiques | classei ) P (classei )

Ni ← Nombre d’exemples de la classe i


P (classei ) = ← Nombre total d’exemples
N

P  caractéristiques∣classe i =
1
n/ 2
 2π   det Ψ
exp −
[1
2
 x− μ T −1
Ψ  x− μ 
]
µ=x
Gaussienne multi-dimensionnelle de dimension n
1 N
Ψ= ∑
N i − 1 k =1
( x k − x )( x k − x ) T
← Matrice de covariance

27
Choix des caractéristiques

 Le principal problème est le bon choix des


caractéristiques permmettant de différencier les
différentes classes.
 voir 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)

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

29
Analyse en Composantes Principales

 Etape 1
Calculer la moyenne de chaque vecteur de caractéristiques
 Etape 2
Soustraire la moyenne de chaque vecteur de caractéristiques
 Etape 3
Calculer la matrice des covariances
 Etape 4
Calculer les valeurs et vecteurs propres de la matrice de covariance
 Etape 5
Ne conserver que les valeurs propres (+ vecteurs) les plus grandes
 Etape 6
Projeter les données dans ce nouvel espace propre

30
Analyse en Composantes Principales

 Etape 1
Calculer la moyenne de chaque vecteur de caractéristiques

Source : cis.poly.edu/cs664 31
Analyse en Composantes Principales

 Etape 2
Soustraire la moyenne de chaque vecteur de caractéristiques

 Etape 3
Calculer la matrice des covariances
1 N
Ψ= ∑ k
N i − 1 k =1
( x − x )( x k − x ) T

32
Analyse en Composantes Principales
 Etape 4
Calculer 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
33
Analyse en Composantes Principales

 Etape 5
Ne conserver que les valeurs propres (+ vecteurs) les plus grandes

 Etape 6
Projetter les données dans ce nouvel espace propre

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

35
Exemples de reconnaissance

basée sur l'apparence

36
Reconnaissance basée sur l’apparence
(appearance-based)
 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) }

Source : David Kriegman, CSE152 Introduction to Computer Vision, UC San Diego (USA), 2005. 37
Vecteurs de pixels (comparaison)

Pour une nouvelle image,


on compare aux visages
existants pour reconnaître
l’identité de la personne

Source : David Kriegman, CSE152 Introduction to Computer Vision, UC San Diego (USA), 2005. 38
Autre exemple en
reconnaissance de visages

Reconnaissance de l’expression du visage (Martinez 2002).

39
Exemple : Reconnaissance de visages

Ensemble d’images pour l’entrainement (ou


apprentissage) du système de reconnaissance.
Source : cis.poly.edu/cs664 40
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
41
Exemple : Reconnaissance de visages

Visages dans l’espace propre de l’ACP


Source : cis.poly.edu/cs664 42
Problèmes spécifiques de la
reconnaissance dans les images

43
Problèmes de la reconnaissance

(1) Position de la caméra


Translation, rotation, facteur d’échelle, étirement
Profondeur, orientation
(2) Variation dans l’éclairage, les couleurs, les ombres
Lumière différente ou réflexion (spéculaire) différente
(3) Occlusions
Une partie de l’objet peut ne pas être visible
(4) Variations dans une classe
Visages, fleurs, … tout ce qui est vivant
(5) 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 !
44
(1) Problème d’orientation

Michel-Ange 1475-1564

Source : Jana Kosecka, CS 682 Computer Vision, George Mason University (USA) 45
(2) Problème d’éclairage

Source : Jana Kosecka, CS 682 Computer Vision, George Mason University (USA) 46
slide credit: S. Ullman
(3) Problème d’occlusion

Magritte, 1957

Source : Jana Kosecka, CS 682 Computer Vision, George Mason University (USA) 47
(4) Variabilité dans une classe

Source : Jana Kosecka, CS 682 Computer Vision, George Mason University (USA) 48
(5) Problème de déformation

Xu, Beihong 1943

Source : Jana Kosecka, CS 682 Computer Vision, George Mason University (USA) 49
C’est fini pour le traitement d’images…

…la suite au prochain semestre…

cours de Vision par Ordinateur

50
Références
(voir aussi la page web du cours)

 Jana Kosecka, CS 682 Computer Vision, George Mason University (USA).


 http://cs.gmu.edu/~kosecka/cs682.html

 David Kriegman, Appearance-based recognition, CSE152 Introduction to


Computer Vision, University of California, San Diego (USA), 2005.
 http://www.cse.ucsd.edu/classes/sp05/cse152/lec19.pdf

51

Vous aimerez peut-être aussi