u sujets –segmentation par seuillage (classification) –choix des seuils *par inspection de...
TRANSCRIPT
Sujets– Segmentation par seuillage (classification)
– Choix des seuils* Par inspection de l’histogramme
* Optimal
– Lectures: Note de cours Pour installer EMGU et OpenCV, voir le site
suivant:http://www.emgu.com/wiki/index.php/Download_And_Installation
MAP-6014Concepts avancés en mathématiques et informatique
appliquées
Segmentation par seuillage
Niveaux de gris (des images à niveaux de gris) Différences (détection des changements)
FIGURE 2-7 [rf. SCHOWENGERDT, p. 69]
Segmentation par seuillage binaire (des images à niveaux de gris)
Segmentation par seuillage binaire (des images à niveaux de gris)
Segmentation par seuillage binaire (des images à niveaux de gris)
134
Ex: findThresholdFaceNIR.c
Segmentation par seuillage binaire (des images à niveaux de gris)
FIGURE 2-8 [rf. SCHOWENGERDT, p. 70]
Détection des changements[soustraction d ’images]
(a) 1972.(b) 1975.
- =
Vous en souvenez-vous ?
images Landsat MSS du complexe minier cuprifère de "Twin Buttes"(au sud de Tucson en Arizona)
FIGURE 2-9 [rf. SCHOWENGERDT, p. 71]
Segmentation par seuillage binaire (détection des changements)
Figure 7.25 [rf. GONZALEZ, p. 444]
Choix des seuils (par inspection de l’histogramme)
Figure 7.27 [rf. GONZALEZ, p. 448]
Choix des seuils (optimaux : par minimisation de la probabilité d’erreur)
Choix des seuils (optimaux)
Choix des seuils (optimaux)
Supposons que nous observons deux surfaces dans une image
La probabilité p(z) d’avoir une valeur de niveau de gris z dans l’image est donnée par:
p(z) = P1 p1(z) + P2 p2(z)
où: P1: probabilité d’occurrence de la surface 1,
Fraction de l’image correspondant à la surface 1
P2: probabilité d’occurrence de la surface 2,
Fraction de l’image correspondant à la surface 2
Choix des seuils (optimaux)
où: p1(z): probabilité d’occurrence d’un pixel de
niveau de gris z dans la surface 1
p2(z): probabilité d’occurrence d’un pixel de
niveau de gris z dans la surface 2 Si nous supposons que p1(z) et p2(z) sont distri-
bués selon une loi normale nous obtenons:
22
22
21
21
2
2
2
2
1
1
2
1)(
2
1)(
z
z
ezp
ezp
Choix des seuils (optimaux)
où: 1 et 2 sont les moyennes des valeurs de niveaux de gris des surfaces 1 et 2 respectivement et 1 et 2 leur écart-type
p(z) devient alors:
22
22
21
21
2
2
22
1
1
22)(
zz
eP
eP
zp
De plus nous savons que
121 PP
Choix des seuils (optimaux)
La probabilité d’erreur
T
Choix des seuils (optimaux)
Déterminons la probabilité d’erreur de classifica-tion dans les classes 1 et 2 (surfaces 1 et 2)
Nous définissons E1 la probabilité de classer un pixel dans la classe 1 lorsqu’il appartient à la classe 2 et E2 la probabilité de classer un pixel dans la classe 2 lorsqu’il appartient à la classe 1
De plus nous voulons savoir quelle sera l’erreur causée par le choix d’un seuil donné T
Choix des seuils (optimaux)
Les probabilités d’erreur sont données par:
dzzpTE
dzzpTE
T
T
)()(
)()(
12
21
La probabilité d’erreur totale est alors donnée par:
)()()( 2112 TEPTEPTE
Choix des seuils (optimaux)
Cherchons une valeur de T qui minimise E(T)
Après simplifications nous obtenons une expression de la forme:
)()(
0)()()('
2211
2211
TpPTpP
TpPTpPTE
02 CBTAT
Choix des seuils (optimaux)
Les coefficients A B et C sont donnés par:
21
1222
21
22
21
21
22
212
221
22
21
ln2
2
P
PC
B
A
Choix des seuils (optimaux)
Lorsque les variances sont égales:
1
2
21
221
222
21
ln2 P
PT
Choix des seuils (optimaux)
Lorsque les surfaces sont équiprobables:
221
21
T
PP
imageasegmenter.rast
Exemple de segmentation
segmentation
imageasegmenter.rast
Exemple de segmentation (Détection de pupilles)
imageasegmenter.rast
Exemple de segmentation (Détection de pupilles, Histogram.h)
imageasegmenter.rast
Exemple de segmentation (Détection de pupilles, Histogram.cpp)
imageasegmenter.rast
Exemple de segmentation (Détection de pupilles, Histogram.cpp)
imageasegmenter.rast
Exemple de segmentation (Détection de pupilles, Histogram.cpp)
imageasegmenter.rast
Exemple de segmentation (Détection de pupilles, Histogram.cpp, LocateExtremum)
imageasegmenter.rast
Exemple de segmentation (Détection de pupilles, Histogram.cpp, LocateExtremum …)
imageasegmenter.rast
Exemple de segmentation (Détection de pupilles, Histogram.cpp, LocateExtremum …)
imageasegmenter.rast
Exemple de segmentation (Détection de pupilles, Histogram.cpp, ThreshHistogram)
imageasegmenter.rast
Exemple de segmentation (Détection de pupilles, Histogram.cpp, ThreshHistogram …)
imageasegmenter.rast
Exemple de segmentation (Détection de pupilles, Histogram.cpp)
Résumé
Segmentation des images par seuillage– Segmentation par seuillage
* Niveaux de gris
* Différences
– Choix des seuils* Par inspection de l’histogramme
* Optimal