Vous êtes sur la page 1sur 19

Méthodes de catégorisation :

Réseaux bayesiens naïfs

Olivier Aycard
E-Motion group
Université Joseph Fourier

http://emotion.inrialpes.fr/aycard

e-Motion Group ©2007


Olivier.aycard@imag.fr 1

Plan du cours
• Intérêts
• Réseaux bayesiens naïfs
• Apprentissage de réseaux bayesiens naïfs
• Présentation du TP

e-Motion Group ©2007


Olivier.aycard@imag.fr 2

1
Intérêts
• On cherche à déterminer l’état d’un système ou la classe d’un objet
à partir d’un ensemble d’observations sur le système ou l’objet;
=> Problème de diagnostic ou de catégorisation
• On utilise pour cela un réseau bayesien;
• Exemple : déterminer l’état d’une voiture à partir du diagnostic du
garagiste.

e-Motion Group ©2007


Olivier.aycard@imag.fr 3

Intérêts : Modélisation du problème de diagnostic avec un réseau


bayesien naïf(1/2)

V P(V) P(D V)

V = non V=
défectueuse défectueuse
V = non 0,7 D = non 0,8 0,1
défectueuse
défectueuse
D = défectueuse 0,2 0,9
V = défectueuse 0,3

D
• D : « le diagnostic détecte la voiture comme non défectueuse »
ou « le diagnostic détecte le voiture comme défectueuse »;
• V : « la voiture est non défectueuse » ou « la voiture est
défectueuse »;
• C’est l’état réel de la voiture qui influence le résultat du
diagnostic (et pas le contraire).

e-Motion Group ©2007


Olivier.aycard@imag.fr 4

2
Intérêts : Modélisation du problème de diagnostic avec un réseau
bayesien naïf(2/2)

V P(V) P(D V)

V = non V=
défectueuse défectueuse
V = non 0,7 D = non 0,8 0,1
défectueuse
défectueuse
D = défectueuse 0,2 0,9
V = défectueuse 0,3

D
• P(D, V) = P(V) x P(D|V)
• P(D = non défectueuse | V = non défectueuse) et P(D = défectueuse | V = défectueuse)
représentent le taux de diagnostic juste;
• P(D = non défectueuse | V = défectueuse) et P(D = défectueuse | V = non défectueuse)
représentent le taux de diagnostic faux;

e-Motion Group ©2007


Olivier.aycard@imag.fr 5

Intérêts : utilisation du réseau bayesien pour faire un diagnostic


(phase d’inférence)

V P(V)
P(D V)

V = non 0,7 V = non V=


défectueuse défectueuse
défectueuse D = non 0,8 0,1
V = défectueuse 0,3 défectueuse
D = défectueuse 0,2 0,9

D
P(V ) × P( D V )
P(V D ) = = αP(V ) × P( D V )
P ( D)
P (V = défecteuse D = défectueuse) =α ' P(V = défectueuse) × P( D = défectueuse V = défectueuse) = 0.3 × 0.9α ' = 0.27α '

P (V = non défecteuse D = défectueus e) =α ' P (V = non défectueus e) × P( D = défectueus e V = non défectueus e ) = 0.7 × 0.2α ' = 0.14α '

P(V = non défecteuse D = défectueuse) + P(V = défectueuse D = défectueuse) = 0.21α '+0.14α ' = 0.41α ' = 1

1
0.41α ' = 1 ⇔ α ' =
0.41
0.27 0.14
P (V = défecteuse D = défectueuse) = ≈ 0.66 P (V = non défecteuse D = défectueus e) = ≈ 0.34
0.41 0.41

e-Motion Group ©2007


Olivier.aycard@imag.fr 6

3
Intérêts : utilisation du réseau bayesien pour faire un diagnostic
(phase d’inférence)

V P(V)
P(D V)

V = non V=
V = non 0,7 défectueuse défectueuse
D = non 0,8 0,1
défectueuse défectueuse
V = défectueuse 0,3 D = défectueuse 0,2 0,9

D
P(V ) × P( D V )
P(V D ) = = αP(V ) × P( D V )
P ( D)
P(V = défecteuse D = non défectueuse) =α ' ' P(V = défectueuse) × P( D = non défectueuse V = défectueuse) = 0.3 × 0.1α ' ' = 0.03α ' '

P(V = non défecteuse D = non défectueuse) =α ' ' P(V = non défectueuse) × P( D = non défectueuse V = non défectueuse) = 0.7 × 0.8α ' ' = 0.56α ' '

P(V = non défecteuse D = non défectueuse) + P(V = défectueuse D = non défectueuse) = 0.56α ' '+0.03α ' ' = 0.59α ' ' = 1

1
0.59α ' = 1 ⇔ α ' =
0.59
0.03 0.56
P (V = défecteuse D = non défectueuse) = ≈ 0.05 P (V = non défecteuse D = non défectueus e) = ≈ 0.95
0.59 0.59

e-Motion Group ©2007


Olivier.aycard@imag.fr 7

Plan du cours
• Intérêts
• Réseaux bayesiens naïfs
– Avec une observation;
– Avec plusieurs observations;
• Apprentissage de réseaux bayesiens naïfs
• Présentation du TP

e-Motion Group ©2007


Olivier.aycard@imag.fr 8

4
Réseaux bayesiens naïfs avec une observation :
modélisation(1/2)
• On cherche à déterminer l’état d’un système ou la classe d’un objet
à partir d’une observation sur le système ou l’objet;
• On utilise pour cela un réseau bayesien;

C
P(C , O) = P (C ) × P (O C )

O
• C : « l’objet appartient à la classe c1» ou « l’objet appartient à la
classe c2 »;
• O : « on observe que l’objet appartient à la classe c1 » ou « on
observe que l’objet appartient à la classe c2 »;

e-Motion Group ©2007


Olivier.aycard@imag.fr 9

Réseaux bayesiens naïfs avec une observation :


modélisation (2/2)

C
P(C , O) = P (C ) × P (O C )

O
• P(O = c1 | C = c1) et P(O = c2 | C = c2) représentent le taux de
« bonne » classification;
• P(O = c1 | C = c2) et P(O = c2 | C = c1) représentent le taux de
« mauvaise » classification;

e-Motion Group ©2007


Olivier.aycard@imag.fr 10

5
Réseaux bayesiens naïfs avec une observation : inférence

C
P(C, O) = P(C ) × P(O C )

O
• A partir d’une observation sur l’objet, on cherche la classe
d’appartenance de notre objet :
P(C O ) = αP(C ) × P(O C ) P (C = c1 O = c1 ) = αP (C = c1 ) × P (O = c1 C = c1 )

P (C = c2 O = c1 ) = αP (C = c2 ) × P(O = c1 C = c2 )

 P(C = c1 O = c2 ) = αP (C = c1 ) × P(O = c2 C = c1 )

 P(C = c2 O = c2 ) = αP(C = c2 ) × P(O = c2 C = c2 )

e-Motion Group ©2007


Olivier.aycard@imag.fr 11

Réseaux bayesiens naïfs avec plusieurs observations :


modélisation(1/3)
• On cherche à déterminer l’état d’un système ou la classe d’un objet
à partir de plusieurs observations sur le système ou l’objet;
• On utilise pour cela un réseau bayesien;
P (C , O1 ,..., ON ) = P (C ) × P (O1 ,..., ON C )

• On suppose que les observations sont indépendantes les unes des


autres
N
P (C , O1 ,..., ON ) = P (C ) × P (O1 C ) × P(O2 C ) × ...× P (ON C ) = P (C ) × ∏ P(Oi C )
i =1

• Cette hypothèse est généralement fausse (hypothèse naïve),


mais en pratique les réseaux bayesiens naïfs donnent de très bons
résultats pour des problèmes de classification

e-Motion Group ©2007


Olivier.aycard@imag.fr 12

6
Réseaux bayesiens naïfs avec plusieurs observations :
modélisation(2/3)
• De plus, cette solution est très facile à mettre en œuvre et les tables
de probabilités sont « petites »
P (C , O1 ,..., ON ) = P (C ) × P (O1 ,..., ON C )

• Si C et chaque Oi sont booléens, alors on aura 2Nx2 probabilités


pour P(O1,…,ON|C) et 2 pour P(C)
N
P (C , O1 ,..., ON ) = P (C ) × P (O1 C ) × P(O2 C ) × ...× P (ON C ) = P (C ) × ∏ P(Oi C )
i =1

• Si C et chaque Oi sont booléens, alors on aura 4 probabilités


pour chaque P(Oi | C) donc 4xN probabilités pour le produit et 2
pour P(C)

e-Motion Group ©2007


Olivier.aycard@imag.fr 13

Réseaux bayesiens naïfs avec plusieurs observations :


modélisation(3/3)

C
N
P(C , O1 ,..., ON ) = P(C ) × ∏ P(Oi C )
i =1

O1 … ON

e-Motion Group ©2007


Olivier.aycard@imag.fr 14

7
Réseaux bayesiens naïfs avec plusieurs observations :
inférence

C
N
P(C , O1 ,..., ON ) = P (C ) × ∏ P(Oi C )
i =1

O1 … ON
A partir de plusieurs observations sur l’objet, on cherche la classe
d’appartenance de notre objet :
N
P(C O1 ,..., ON ) = αP (C ) × ∏ P(Oi C )
i =1

e-Motion Group ©2007


Olivier.aycard@imag.fr 15

Plan du cours
• Intérêts
• Réseaux bayesiens naïfs
• Apprentissage de réseaux bayesiens naïfs
– à partir de données complètes
– Evaluation de l’apprentissage
– Sélection des variables
– Amélioration de la structure d’un réseau
bayesien naïf
• Présentation du TP
e-Motion Group ©2007
Olivier.aycard@imag.fr 16

8
Apprentissage de réseaux bayesiens naïfs

C
N
P(C , O1 ,..., ON ) = P(C ) × ∏ P(Oi C )
i =1

O1 … ON
La structure d’un réseau bayesien naïf est toujours la même,
donc on cherche à estimer les tables de probabilités à partir de
données;
Pour chaque ensemble d’observations, un expert nous donne la
classe correspondante de l’objet
=> On parle d’apprentissage supervisé ou catégorisation

e-Motion Group ©2007


Olivier.aycard@imag.fr 17

Exemple : cas d’une observation (le diagnostic de voiture)

V
P(V = défectueuse)= 3/10
P(V = non défectueuse) = 7/10

D P(D = défectueuse | V = défectueuse) = 2/3


P(D = défectueuse | V = non défectueuse) = 2/7
D V
défectueuse défectueuse
non défectueuse défectueuse
non défectueuse non défectueuse
défectueuse non défectueuse
défectueuse non défectueuse
Il suffit de compter
non défectueuse non défectueuse
non défectueuse non défectueuse
défectueuse défectueuse
non défectueuse non défectueuse
non défectueuse non défectueuse

e-Motion Group ©2007


Olivier.aycard@imag.fr 18

9
Exemple : cas de deux observations : un ensemble de points dans
le plan(1/2)

C
P (C , X , Y ) = P (C ) × P ( X C ) × P (Y C )

X Y
• On a 10 points qu’on veut classer
en 2 classes;
• On utilise un réseau bayesien naïf;
• On approxime P(X|C) et P(Y|C)
par des gaussiennes.

e-Motion Group ©2007


Olivier.aycard@imag.fr 19

Exemple : cas de deux observations : un ensemble de points dans


le plan(2/2)
P(C = c1) = 4/10
C P(C = c2) = 6/10
µ X|c1 = 4 σX|c1 = 1.83
µ Y|c1 = 7,25 σY|c1 = 0,96

X Y
X Y C
2 7 1
3 6 1
5 8 1
6 8 1
5 4 2
8 4 2
6 5 2
9 5 2
7 6 2
9 6 2

e-Motion Group ©2007


Olivier.aycard@imag.fr 20

10
Exemple : cas de deux observations : évaluation de l’apprentissage
• On prend d’autres points dans le plan
(dont on connaît la classe), et on compare
avec la classification faite par le réseau
bayesien naïf;

c1 c2
c1 2 0
c2 0 2
taux 100% 100%

• Le choix de distributions gaussiennes pour


P(X|C) et P(Y|C) et l’apprentissage des
paramètres des gaussiennes nous permet de
classer de nouveaux points;
=> généralisation
• On évalue toujours la qualité de
l’apprentissage et on représente les résultats
sous forme d’une table de confusion.
e-Motion Group ©2007
Olivier.aycard@imag.fr 21

Sélection de variables

C
N
P(C , O1 ,..., ON ) = P(C ) × ∏ P(Oi C )
i =1

O1 … ON
On cherche à savoir parmi les variables O1,…ON celles qui influencent le plus
la classe C lors de l’inférence P(C|O1,…,ON). Pour cela, on mesure le niveau
de dépendance entre C et chaque Oi.
On calcule l’information mutuelle entre C et chaque Oi :
 P (C , Oi ) 
I (C , Oi ) = ∑ P (C , Oi ) × log 
C ,Oi  P (C ) P (Oi ) 

Plus la dépendance entre C et Oi est grande, plus l’information mutuelle entre


C et Oi est grande.

e-Motion Group ©2007


Olivier.aycard@imag.fr 22

11
Sélection de variables : exemple du diagnostic de voiture

P (V , D1 , D2 ) = P (V ) × P ( D1 V ) × P ( D2 V )

D1 D2
J’ai maintenant 2 garagistes. Je cherche à savoir lequel me donne le meilleur
diagnostic.
P(D2 V)
P(V)
P(D1 V)
V = non V=
V = non V= défectueuse défectueuse
V = non 0,7 défectueuse défectueuse D2 = non 0,6 0,4
défectueuse D1 = non 0,8 0,1 défectueuse
V = défectueuse 0,3 défectueuse D2 = défectueuse 0,4 0,6
D1 = défectueuse 0,2 0,9

e-Motion Group ©2007


Olivier.aycard@imag.fr 23

Sélection de variables : exemple du diagnostic de


voiture(1/2) P(V)

V V = non
défectueuse
0,7

V = défectueuse 0,3

P(D1 V)
P(D2 V)

V = non V= V = non V=
défectueuse défectueuse défectueuse défectueuse
D1 D2 D1 = non
défectueuse
D1 = défectueuse
0,8

0,2
0,1

0,9
D2 = non
défectueuse
0,6 0,4

D2 = défectueuse 0,4 0,6

P (V , D1 , D2 ) = P (V ) × P ( D1 V ) × P ( D2 V )

Calculons l’information mutuelle entre V et Di avec i={1,2}.


 
 P(V , Di )   P( Di V )   P ( Di V ) 
I (V , Di ) = ∑ P(V , D ) × log P(V ) P( D )  = ∑ P(V ) × P( D V ) × log  = ∑ P(V ) × P( Di V ) × log
 
 ∑ P (V ) ×P( Di V ) 
i i
V , Di  i  V , Di  P ( Di )  V , Di
 V 
I (V , D1 ) ≈ 0.1
Le diagnostic du 1er garagiste me donne plus d’informations
I (V , D2 ) ≈ 0.01 sur l’état de la voiture que le diagnostic du 2ème garagiste.

e-Motion Group ©2007


Olivier.aycard@imag.fr 24

12
Sélection de variables : exemple du diagnostic de
voiture(2/2) P(V)

V V = non
défectueuse
0,7

V = défectueuse 0,3

P(D1 V)
P(D2 V)

V = non V= V = non V=
défectueuse défectueuse défectueuse défectueuse
D1 D2 D1 = non
défectueuse
D1 = défectueuse
0,8

0,2
0,1

0,9
D2 = non
défectueuse
0,6 0,4

D2 = défectueuse 0,4 0,6

P (V , D1 , D2 ) = P (V ) × P ( D1 V ) × P ( D2 V )

Calculons l’information mutuelle entre V et Di avec i={1,2}.


 
 P(V , Di )   P( Di V )   P ( Di V ) 
I (V , Di ) = ∑ P(V , D ) × log P(V ) P( D )  = ∑ P(V ) × P( D V ) × log  = ∑ P(V ) × P( Di V ) × log
 
∑
i i
V , Di  i  V , Di  P ( Di )  V , Di P (V ) ×P ( Di V ) 
 V 
I (V , D1 ) ≈ 0.1
Le diagnostic du 1er garagiste me donne plus d’informations
I (V , D2 ) ≈ 0.01 sur l’état de la voiture que le diagnostic du 2ème garagiste.

e-Motion Group ©2007


Olivier.aycard@imag.fr 25

Amélioration de la structure du réseau bayesien naïf :


passage à un Tree Augmented Naive bayes(1/2)

C L’hypothèse d’indépendance
entre les observations est
généralement fausse (hypothèse
naïve)

O1 O2 … O3 O4

C
En identifiant les dépendances
entre les observations, on peut
créer un arbre entre les
observations
O1 O2… O3 O4

e-Motion Group ©2007


Olivier.aycard@imag.fr 26

13
Amélioration de la structure du réseau bayesien naïf :
passage à un Tree Augmented Naive Bayes(2/2)

Algorithme de passage à « Tree Augmented Naive Bayes » :


1. Calculer I(Oi, Ok | C) pour chaque couple d’observations (Oi, Ok) avec i ≠ k;
2. Construire un graphe complet et non orienté entre les observations;
3. Pondérer I(Oi, Ok | C) sur l’arc (Oi, Ok);
4. Transformer le graphe en un arbre dont la somme des arcs est maximum;
5. Choisir un nœud comme racine de l’arbre et le transformer en un arbre
orienté;
6. Ajouter le nœud C et un arc de C vers chaque Oi;

• Encore une fois, l’apprentissage se fait par comptage;


• L’inférence est un peu plus complexe que dans un réseau bayesien naïf.

• Un « TAN » donne généralement de très bons résultats en classification.

e-Motion Group ©2007


Olivier.aycard@imag.fr 27

Plan du cours
• Intérêts
• Réseaux bayesiens naïfs
• Apprentissage de réseaux bayesiens naïfs
• Présentation du TP

e-Motion Group ©2007


Olivier.aycard@imag.fr 28

14
Apprendre à reconnaître un visage dans une image
Utilisation d’un réseau bayesien naïf pour reconnaître un visage dans une
image, à partir de la couleur de sa peau
1. Modélisation : on va utiliser un réseau bayesien naïf qui va définir
le lien entre les points du visage (et ceux qui n’appartiennent pas
au visage) et la distribution de probabilités sur les couleurs de ces
points;
2. Apprentissage : à partir d’un ensemble d’images, on estime les
tables de probabilités;
3. Inférence : on se sert du réseau bayesien naïf pour déterminer pour
chaque point sa probabilité d’appartenir au visage ou pas (sachant
les informations sur la couleur du point)

e-Motion Group ©2007


Olivier.aycard@imag.fr 29

Définition d’une image


• Une image (format jpeg ou gif) est un tableau de
points;
• Chaque point est défini par l’intensité/nuance de 3
composantes: rouge, vert & bleu;
• Chaque intensité/nuance varie de 0 à 255;
• Par exemple :
– Un point dont les composantes RVB sont (0, 0, 0) est de
couleur noire;
– Un point dont les composantes RVB sont (255, 255, 255)
est de couleur blanche;
– Un point dont les composantes RVB sont (255, 0, 0) est de
couleur rouge.
e-Motion Group ©2007
Olivier.aycard@imag.fr 30

15
Réseau bayésien naïf modélisant le problème

P
P( P, R, V , B) = P( P) × P( R P) × P(V P) × P( B P)

R V B
• P : le point appartient au visage ou pas (variable booléenne);
• On va travailler avec des composantes RVB normalisées;
R V B
R= V= B=
R +V + B R +V + B R +V + B
• R : le pourcentage de rouge dans le point (variable entière entre 0 et 100);
• V : le pourcentage de vert dans le point (variable entière entre 0 et 100);
• B : le pourcentage de bleu dans le point (variable entière entre 0 et 100);
e-Motion Group ©2007
Olivier.aycard@imag.fr 31

Apprentissage du réseau bayésien naïf(1/2)

• On dispose d’un ensemble d’images pour lesquels on


connaît les points qui appartiennent au visage et ceux qui
n’y appartiennent pas, ainsi que l’intensité des
composantes RVB : images étiquetées;
• Pour chaque point, on dispose d’un quadruplet (P, R, V,
B);

e-Motion Group ©2007


Olivier.aycard@imag.fr 32

16
Apprentissage du réseau bayesien naïf(2/2)

P
Il suffit de compter

R V B
P R V B
P(P = vrai)= 2/10
1 250 10 20 P(P = faux) = 8/10
1 248 12 25
0 150 50 12 P(R = 250 | P = vrai) = ½
0 23 50 89 P(R = 248 | P =vrai) =1/2
0 56 50 46
P(V = 50 | P = faux) = 3/8
0 89 70 35
0 5 56 98
0 200 149 233
0 200 235 57
0 150 56 34

e-Motion Group ©2007


Olivier.aycard@imag.fr 33

Utilisation du réseau bayesien naïf pour la reconnaissance d’une


personne
Pour chaque point d’une nouvelle image, on calcule sa probabilité
d’appartenir au visage ou pas;
P( P = vrai R = r , V = v, B = b) = α × P( P = vrai ) × P( R = r P = vrai) × P(V = v P = vrai) × P( B = b P = vrai)
P( P = faux R = r ,V = v, B = b) = α × P( P = faux) × P( R = r P = faux) × P(V = v P = faux) × P( B = b P = faux)

On détermine ensuite α et on normalise;


On calcule la position du visage dans l’image;

∑ P(P
x, y
x, y = vrai Rx , y = r , Vx , y = v, Bx , y = b) × x ∑ P( P
x, y
x, y = vrai Rx , y = r , Vx, y = v, Bx , y = b) × y
X= Y=
∑ P(P x, y = vrai Rx, y = r , Vx , y = v, Bx , y = b) ∑ P( P
x, y
x, y = vrai Rx , y = r , Vx , y = v, Bx , y = b)
x, y

e-Motion Group ©2007


Olivier.aycard@imag.fr 34

17
Utilisation du réseau bayesien naïf pour la reconnaissance d’une
personne
Pour chaque point d’une nouvelle image, on calcule sa probabilité
d’appartenir au visage ou pas;
P( P = vrai R = r , V = v, B = b) = α × P( P = vrai ) × P( R = r P = vrai) × P(V = v P = vrai) × P( B = b P = vrai)
P( P = faux R = r ,V = v, B = b) = α × P( P = faux) × P( R = r P = faux) × P(V = v P = faux) × P( B = b P = faux)

On détermine ensuite α et on normalise;


On calcule la position du visage dans l’image;

∑ P(P
x, y
x, y = vrai Rx , y = r , Vx , y = v, Bx , y = b) × x ∑ P( P
x, y
x, y = vrai Rx , y = r , Vx, y = v, Bx , y = b) × y
X= Y=
∑ P(P x, y = vrai Rx, y = r , Vx , y = v, Bx , y = b) ∑ P( P
x, y
x, y = vrai Rx , y = r , Vx , y = v, Bx , y = b)
x, y

e-Motion Group ©2007


Olivier.aycard@imag.fr 35

Utilisation du réseau bayesien naïf pour la reconnaissance d’une


personne
Pour chaque point d’une nouvelle image, on calcule sa probabilité
d’appartenir au visage ou pas;
P( P = vrai R = r , V = v, B = b) = α × P( P = vrai ) × P( R = r P = vrai) × P(V = v P = vrai) × P( B = b P = vrai)
P( P = faux R = r ,V = v, B = b) = α × P( P = faux) × P( R = r P = faux) × P(V = v P = faux) × P( B = b P = faux)

On détermine ensuite α et on normalise;


On calcule la position du visage dans l’image;

∑ P(P
x, y
x, y = vrai Rx , y = r , Vx , y = v, Bx , y = b) × x ∑ P( P
x, y
x, y = vrai Rx , y = r , Vx, y = v, Bx , y = b) × y
X= Y=
∑ P(P x, y = vrai Rx, y = r , Vx , y = v, Bx , y = b) ∑ P( P
x, y
x, y = vrai Rx , y = r , Vx , y = v, Bx , y = b)
x, y

Il faut évaluer la qualité de l’apprentissage.

e-Motion Group ©2007


Olivier.aycard@imag.fr 36

18
Eléments de programmation pour le TP
• Le TP se fait en C sous linux à l’aide de la librairie OpenCV
(http://opencvlibrary.sourceforge.net/);
• Cette librairie nous sert à lire une image au format « jpg » ou
« gif » et à stocker ses composantes RVB dans un tableau;
• Elle nous sert aussi à créer une image à partir d’un tableau
contenant les composantes RVB.

e-Motion Group ©2007


Olivier.aycard@imag.fr 37

Conclusion
• Les réseaux bayesiens naïfs sont une méthode
de catégorisation;
• L’apprentissage est supervisé : besoin de données étiquetées;
• Bien que l’hypothèse d’indépendance des
observations soit généralement fausse, les réseaux donnent de
bons résultats;
• On peut augmenter la qualité du modèle : TAN;
• Applications : reconnaissance et suivi de visage avec une
webcam, anti SPAM, …

e-Motion Group ©2007


Olivier.aycard@imag.fr 38

19

Vous aimerez peut-être aussi