Plan Modélisation Filtrage Approches continues Post-Traitements
Bases du traitement des images
I Détection de contours J
[email protected]
Contributions: N. Thome, D. Béréziat, S. Dubuisson
Octobre 2016
Bases du traitement des images
1 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Introduction
Rôle primordial de la détection de contours en vision
1 Réduction d’information
• Information de toute l’image résumée dans le contours des différents
objets.
• Contours : parties les plus informatives d’une image.
• On a longtemps cru que l’ensemble de la tâche de vision pouvait
être résolue uniquement à partir des contours.
2 Préalable nécessaire à l’extraction d’autres primitives (droites,
segments, cercles)
3 Les données biologiques confortent l’importance des contours dans
le système de vision
• Les premières couches des systèmes de vision des mammifères
effectuent des traitements de détection de contours.
Bases du traitement des images
2 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Introduction
Détection de contours : applications
1 Reconnaissance d’objets, de formes, classifications de scènes
2 Mise en correspondance : calibration, reconstruction 3D
3 Compression
Bases du traitement des images
3 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Introduction
applications : mise en correspondance ⇒ Reconstruction
Bases du traitement des images
4 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Introduction
applications : mise en correspondance ⇒ Classification
Bases du traitement des images
5 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Introduction
applications : Description des formes ⇒ Reconnaissance
d’objets
Bases du traitement des images
6 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Plan du cours
1 Modélisation des contours - formulation du problème de détection
2 Résolution : Approches basées filtrage (différences finies)
• Filtrage du premier ordre
• Filtrage second ordre
3 Résolution : Approches continues (filtrage optimal)
4 Post-traitement : de l’image dérivée aux contours
• seuillage et chaînage.
Bases du traitement des images
7 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Modèle de contour
I Plusieurs modèles de contour
Bases du traitement des images
8 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Modèle de contour
I Modèle le plus courant : Marche d’escalier. En 1D :
• I (x) fonction de Heaviside (marche d’escalier)
• Dérivée première : pic de Dirac I 0 (x) = δ(x)
I 0 (x) maximale sur le contour
• Dérivée seconde : I 00 (x) = δ 0 (x)
δ 0 (x) : "doublet"
I 00 (x) nulle sur le contour
Bases du traitement des images
9 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Modèle de contour
I Image f (x, y ). Contour : lieu des fortes variations de f
I Gradient de f :
−→ → −
∂f ∂f
T
∇f = G = ∂x ∂y (1)
I Module du gradient de f :
s
−→
∂f 2 ∂f 2
G =
∇f
= + (2)
∂x ∂y
I Direction du gradient de f :
−→
→
− ∇f
g =
−→
(3)
∇f
Bases du traitement des images
10 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Modèle de contour
Définition du contour
I Lieu des maxima du gradient dans la direction →
−
g du gradient
∂f ∂2f
est un extrema et =0 (4)
∂→
−
g ∂→
−
g2
→
−
avec ∂
∂→
−g
=→
−
g ·∇
I L’équation obtenue est complexe et non linéaire :
s s
∂f ∂ ∂f 2 ∂f 2 ∂f ∂ ∂f 2 ∂f 2
+ + + =0 (5)
∂x ∂x ∂x ∂y ∂y ∂y ∂x ∂y
Bases du traitement des images
11 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Modèle de contour
Définition du contour
I Lieu des maxima du gradient dans la direction →
−
g du gradient
I →
−
g normal à la surface définie par f (x, y )
Bases du traitement des images
12 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Modèle de contour
Définition du contour
I Lieu des maxima du gradient dans la direction →
−
g du gradient
Contour vertical
Bases du traitement des images
13 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Modèle de contour
Définition du contour
I Lieu des maxima du gradient dans la direction →
−
g du gradient
Contour horizontal
Bases du traitement des images
14 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Modèle de contour
Définition du contour
I Lieu des maxima du gradient dans la direction →
−
g du gradient
Contour oblique
Bases du traitement des images
15 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Plan du cours
1 Modélisation des contours - formulation du problème de détection
2 Résolution : Approches basées filtrage (différences finies)
• Filtrage du premier ordre
• Filtrage second ordre
3 Résolution : Approches continues (filtrage optimal)
4 Post-traitement : de l’image dérivée aux contours
• seuillage et chaînage.
Bases du traitement des images
16 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Résolution du problème : Approches basées
filtrage
Approches discrètes : approximations par différences finies
1 Approches du 1er ordre ⇐⇒ approximations du gradient
2 Approches du 2nd ordre ⇐⇒ approximations du laplacien
Bases du traitement des images
17 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Approximations discrètes du gradient
1 Approximations discrète du gradient par différences finies
• filtres de convolution (masques)
2 Calcul de la norme
q
∂f 2 ∂f 2 ∂f ∂f
• L2 : ∂x
+ ∂y , L1 : | ∂x | + | ∂y |, etc
• Maxima locaux dans la direction du gradient
3 Suppression de non maxima
4 Seuillage
5 Chaînage
Bases du traitement des images
18 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Approximations discrètes du gradient
−→ T
approximation du gradient ∇f = ∂x f ∂y f
I ∂x f ≈ f (x, y ) − f (x − 1, y ) (∂y f ≈ f (x, y ) − f (x, y − 1))
I ∂x f ≈ f (x + 1, y ) − f (x − 1, y )
I Roberts (gradients à π4 ) : ∂1 f ≈ f (x + 1, y + 1) − f (x, y )
( ∂2 f ≈ f (x, y + 1) − f (x + 1, y ) )
I Autre masques : Prewitt, Sobel, etc.
+1 0 −1 +1 0 −1
+1 0
+1 −1 +1 0 −1 +2 0 −2
0 −1
+1 0 −1 +1 0 −1
gradient Roberts Prewitt Sobel
Bases du traitement des images
19 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Approximations discrètes du gradient
Fonctions de transfert des filtres du premier ordre
Filtre gradient (noyau et spectres)
Bases du traitement des images
20 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Approximations discrètes du gradient
Fonctions de transfert des filtres du premier ordre
Filtre Roberts (noyau et spectres)
Bases du traitement des images
21 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Approximations discrètes du gradient
Fonctions de transfert des filtres du premier ordre
Filtre Prewitt (noyau et spectres)
Bases du traitement des images
22 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Approximations discrètes du gradient
Fonctions de transfert des filtres du premier ordre
Filtre Sobel (noyau et spectres)
Bases du traitement des images
23 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Approximations discrètes du gradient
Quelques précisions sur Sobel et Prewitt
1 0 −1 1
I 2 0 −2 = 1 0 −1 ? 2
1 0 −1 1
1 0 −1 1
I 1 0 −1 = 1 0 −1 ? 1
1 0 −1 1
I 1 0 −1 filtre dériveur similaire à Roberts : il est orienté
horizontalement
T
I 1 1 1 est le filtre moyenneur
T
I 1 2 1 est le filtre qui approche au mieux une gaussienne
échantillonnée sur 3 points
Bases du traitement des images
24 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Approximation discrètes du gradient
Quelques précisions sur Sobel et Prewitt
Filtre dériveur 1 0 −1 – noyau et spectres.
Bases du traitement des images
25 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Approximation discrètes du gradient
Quelques précisions sur Sobel et Prewitt
Filtre moyenneur 1 1 1 – noyau et spectres.
Bases du traitement des images
26 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Approximation discrètes du gradient
Quelques précisions sur Sobel et Prewitt
Filtre gaussien 1 2 1 – noyau et spectres.
Bases du traitement des images
27 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Approximations discrètes du gradient
De nombreux autres masques : Kirsch
I Gradient retenu : maxi {|Hi ? I |}, i ∈ {0; 7}
π
I Orientation retenue : 4 arg maxi {|Hi ? I |}, i ∈ {0; 7}
Bases du traitement des images
28 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Approximations discrètes du gradient
Sobel : masque le plus couramment utilisé
1 Gradient avec Sobel
1 0 −1 1 2 1
2 Gx = 2 0 −2 et Gy = 0 0 0
1 0 −1 −1 −2 −1
q
3 Module du gradient ||G || = Gx2 + Gy2
G
4 Orientation du gradient de : θ = arctan ( Gyx )
source ||G || θ
Bases du traitement des images
29 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Approximations discrètes du gradient
Obtention d’une carte binaire des contours
q
∂f 2 ∂f 2 ∂f ∂f
I Calcul norme L2 : ∂x + ∂y ou L1 : | ∂x | + | ∂y |
I Post-traitement (voir partie consacrée)
• Maxima locaux dans la direction du gradient
• Seuillage
Bases du traitement des images
30 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Approximations discrètes du gradient
Carte binaire des contours : exemple avec Sobel
I Seuil bas : contours pertinents détectés, mais beaucoup de bruit
• Contours épais
I Seuil haut : peu de bruit, mais de nombreuses détections manquées
I Solution ?
Bases du traitement des images
31 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Approximations discrètes du gradient
Combiner lissage et différentiation
I Les masques locaux de convolution sont sensibles au bruit, e.g. faux
positifs dans les zones texturées
I Idée : Lissage puis différentiation ⇒ variations locales filtrées,
contours dominants restent
• Filtres linéaire pour les bruits de moyenne nulle (par exemple bruit
blanc Gaussien, filtre Gaussien).
• Filtrage non-linéaire pour les bruits impulsionnels (filtre médian par
exemple).
Bases du traitement des images
32 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Approximations discrètes du gradient
σ = 1.0
σ = 2.0
σ = 4.0
σ = 6.0 Bases du traitement des images
33 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Approximations discrètes du gradient
Combiner lissage et différentiation
I Fort lissage : robustesse au bruit, mais contours épais (mauvaise
localisation)
I Faible lissage : sensibilité au bruit, mais bonne localisation
I Seuil : difficile d’avoir un seuil optimal pour toute l’image
• variations d’illumination, de contraste
• Lien avec suppression de non-maxima (voir partie consacrée)
Bases du traitement des images
34 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Digression : la texture dans les images
Qu’est-ce que la texture ?
I Au sens commun (vulgarisation) :
• Mode d’entrecroisement des fils dans un tissu (tissage).
• Composition, consistance d’une substance : la texture d’une crème
solaire.
• Constitution générale d’un matériau solide : la texture de l’acier
(structure).
• Arrangement, disposition des parties d’une œuvre : la texture d’un
récit (trame).
Bases du traitement des images
35 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Digression : la texture dans les images
Qu’est-ce que la texture ?
I Un peu plus en lien avec le traitement
d’images :
• Une texture représente, à une échelle
donnée, le même aspect quelle que soit
la zone observée.
Répétition spatiale d’un même motif
dans différentes directions de l’espace
I Plus formellement :
• On considère l’image comme la
réalisation d’un processus stochastique
local et stationnaire.
Caractérisation du voisinage de
chaque pixel identique (même modèle
statistique) pour tous les pixels de
l’image.
Bases du traitement des images
36 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Digression : la texture dans les images
Qu’est-ce que la texture ?
I Des images valent mieux qu’un long discours
• fourrure (zébrures, tigrures, poils, ...)
• murs (briques, marbre, ...)
• nappe, éponge, vâtements, etc
Bases du traitement des images
37 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Digression : la texture dans les images
Texture et détection de contours
I La texture correspond à des variations rapides du signal ⇒ hautes
fréquences
I Les filtres passe-haut détecteur de contours vont répondre sur la
texture
I En général on cherche le contour d’objets sémantiques
(géométriques) : la texture correspond à une fausse détection
I ⇒ Combinaison lissage + dérivation pour filtrer les hautes
fréquences des textures tout en conservant celles des contours
d’objets
Bases du traitement des images
38 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Plan du cours
1 Modélisation des contours - formulation du problème de détection
2 Résolution : Approches basées filtrage (différences finies)
• Filtrage du premier ordre
• Filtrage second ordre
3 Résolution : Approches continues (filtrage optimal)
4 Post-traitement : de l’image dérivée aux contours
• seuillage et chaînage.
Bases du traitement des images
39 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Résolution du problème : Approches du
second ordre
∂2f
I Second ordre : dérivées secondes dans la direction du gradient : ∂→
−
g2
∂2f ∂2f ∂2f ∂2f
I Opérateur laplacien : ∆f = ∂→
−
g2
+ →
−
∂t 2
= ∂x 2 + ∂y 2
∂2f ∂2f 2 ∂2f 2 ∂2f
= 0 ⇐⇒ cos Φ + sin Φ + 2 cos Φ sin Φ = 0
∂→
−
g2 ∂x 2 ∂y 2 ∂x∂y
Bases du traitement des images
40 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Résolution du problème : Approches du
second ordre
∂2f
I Contour : on cherche les passages par zéro de ∂→
−
g2
∂2f 2
∂2f ∂2f
I Laplacien : ∆f = ∂→
−
g2
+ ∂∂→
−2
t
f
= ∂x 2 + ∂y 2 . Approximation :
∂2f 2
∂ f 2
∂ f
∆f ≈ ∂→
−
g2
≈ ∂x 2 + ∂y 2
2
• On néglige la composante tangentielle ( ∂→ f
− = 0)
∂ t 2
• Valide dans les zones de faible courbure
Bases du traitement des images
41 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Approches discrètes du second ordre
Approximations du laplacien par différences finies
∆f ≈ [f (x + 1, y ) + f (x − 1, y ) + f (x, y + 1) + f (x, y − 1)] − 4f (x, y )
≈ f ? ∆dis
ou
∆f ≈ [f (x + 1, y ) + f (x − 1, y ) + f (x, y + 1) + f (x, y − 1) +
f (x + 1, y + 1) + f (x − 1, y − 1) + f (x − 1, y + 1) +
f (x + 1, y − 1)] − 8f (x, y ) ≈ f ? ∆0dis
avec :
0 1 0 1 1 1
∆dis = 1 −4 1 ∆0dis = 1 −8 1
0 1 0 1 1 1
Bases du traitement des images
42 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Approximations discrètes du laplacien
Fonctions de transfert des filtres du second ordre
Laplacien 1 (noyau et spectres)
Bases du traitement des images
43 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Approximations discrètes du laplacien
Fonctions de transfert des filtres du second ordre
Laplacien 2 : h(n, m) rect inversé, H(f , g ) sinus cardinal inversé
Bases du traitement des images
44 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Approches discrètes du second ordre
Du laplacien aux images des dérivées
I Détection des passages par zéro du laplacien
I En pratique :
• Prendre une fenêtre centrée 3 × 3 sur le pixel (i, j), et calculer
max(IL ) et min(IL ).
• Le passage par O sera détecté si max(IL ) > 0, min(IL ) < 0 et
max(IL ) − min(IL ) > S.
Bases du traitement des images
45 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Approches discrètes du second ordre
Laplacien : exemples d’images
source laplacien
I Image du laplacien : contours ⇐⇒ transitions entre valeurs positives
(blanc) et négatives (noir)
• Avec un seuil sur l’amplitude
Bases du traitement des images
46 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Approches discrètes du second ordre
Laplacien : exemples d’images
source Seuil bas Seuil moyen Seuil haut
I Passage par zéro du laplacien : seuiller l’amplitude des variations
Bases du traitement des images
47 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Approches discrètes du second ordre
Comparaison Gradient / laplacien
⊕ Contours fermés
⊕ Un seul paramètre, pas de seuil sur l’amplitude
⊕ Possibilité d’interpolation subpixellique
Pas d’orientation des contours v.s ⊕ invariance en rotation
Moins bonne localisation des contours / filtres premier ordre
Dérivées secondes : grande sensibilité au bruit
⇒ Nécessité de lissage par filtrage passe-bas
Bases du traitement des images
48 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Approches discrètes du second ordre
Pré-traitement : lissage passe-bas : I ? g
1 Convolution de l’image avec un masque laplacien : I ? g ? ∆
x 2 +y 2
2 Cas d’un masque gaussien : g (x, y , σ) = √ 1 e− 2σ 2
2πσ
I ? g ? ∆ = I ? (∆ ? g ) = I ? ∆g (6)
Remarque : les opérateurs différentiels linéaires commutent avec la
convolution. On peut utiliser directement :
2 2 x 2 +y 2
∆ ? g = ∆g = √ 4 ( x +y
2πσ 2σ 2 − 1)e − 2σ 2
plutôt que de discrétiser le gaussien et d’appliquer un masque
laplacien.
3 On convolue directement I avec le masque défini par ∆g : Laplacian
of Gaussian (LoG)
Bases du traitement des images
49 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Approches discrètes du second ordre
Lissage passe-bas + laplacien : I ? ∆g
2 2 x 2 +y 2
∆ ? g = ∆g = √ 4 ( x +y
2πσ 2σ 2
− 1)e − 2σ 2
Bases du traitement des images
50 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Approches discrètes du second ordre
Laplacian of Gaussian (LoG)
I LoG : filtre du système de vision humain
I LoG peut être approximé par DoG : Difference of Gaussians
( σσ12 = 1.6)
DoG (x, y , σ1 , σ2 ) = g (x, y , σ1 ) − g (x, y , σ2 ) (7)
I Utilisé dans le cadre de la multi-résolution (pyramides)
Bases du traitement des images
51 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Approches du premier et du second ordre
Pyramide multi-résolution : construction (taille image 2k )
I On part de l’image originale I0 qu’on filtre avec un masque gaussien
gσ : I00 = I0 ? gσ
I L’image du second niveau I1 est sous-échantillonnée (facteur 2) à
partir de I00 : I1 = (I0 ? gσ ) ↓ 2
I processus récursif : Ik+1 est sous-échantillonnée (facteur 2) à partir
de Ik0 : Ik+1 = (Ik ? gσ ) ↓ 2
I jusqu’à avoir une image de taille 1
Bases du traitement des images
52 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Approches du premier et du second ordre
Pyramide multi-résolution et détection de contours
I Le filtrage à σ fixé va détecter des contours à un certain niveau de
granularité
I σ faible, on détecte les contours fins (bruit), bonne localisation
I σ grand, on détecte les structures principales de l’image, mais on
perd les détails
I Pyramide : σ varie, on détecte les contours à différentes échelles
I Fusion multi-échelle : utiliser les contours à grande échelle, et affiner
la localisation en utilisant les résultats à plus faible échelle
Bases du traitement des images
53 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Approches du premier et du second ordre
Pyramide multi-résolution et détection de contours
Bases du traitement des images
54 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Approches du premier et du second ordre
Pyramide multi-résolution et détection de contours : niveau 0
Bases du traitement des images
55 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Approches du premier et du second ordre
Pyramide multi-résolution et détection de contours : niveau 1
Bases du traitement des images
56 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Approches du premier et du second ordre
Pyramide multi-résolution et détection de contours : niveau 2
Bases du traitement des images
57 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Approches du premier et du second ordre
Pyramide multi-résolution et détection de contours : niveau 3
Bases du traitement des images
58 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Plan du cours
1 Modélisation des contours - formulation du problème de détection
2 Résolution : Approches basées filtrage (différences finies)
• Filtrage du premier ordre
• Filtrage second ordre
3 Résolution : Approches continues (filtrage optimal)
4 Post-traitement : de l’image dérivée aux contours
• seuillage et chaînage.
Bases du traitement des images
59 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Résolution du problème : Approches
continues
Filtrage optimal : Canny (1986)
I En 1D : modélisation du contour par une marche
I Avec du bruit : C (x) = AΘ(x) + n(x), n bruit blanc gaussien.
I On cherche le filtre f dérivateur tel que :
f ?C =Θ (8)
Bases du traitement des images
60 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Résolution du problème : Approches
continues
Canny : critères d’optimalité pour le filtrage
1 Bonne détection : critère Σ
2 Bonne localisation : critère Λ
3 Unicité de la réponse
⇒ On cherche f dérivateur qui maximise Σ et Λ sous la contrainte
d’unicité de la réponse
Bases du traitement des images
61 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Approches continues
Canny : solution du filtrage filtre RIF
I Canny : solution par filtre Réponse Impulsionnelle Finie (RIF)
x x −x −x
f (x) = a1 e σ sin(wx)+a2 e σ cos(wx)+a3 e σ sin(wx)+a4 e σ cos(wx)
−x 2
I Peut être approximé par une dérivée de Gaussienne : f (x) ≈ −xe 2σ2
I Passage en 2D : action de 2 filtres croisés :
−x 2 −y 2
fx (x, y ) = −xe 2σ2 e 2σ2 et
−x 2 −y 2
fy (x, y ) = −ye 2σ2 e 2σ2
Bases du traitement des images
62 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Approches continues
Canny : approximation par une dérivée de Gaussienne
Bases du traitement des images
63 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Approches continues
Canny : exemple de résultat
Bases du traitement des images
64 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Approches continues
Optimisation du problème de Canny : Deriche
I Modèle du filtre avec Réponse Impulsionnelle Infinie (RII)
I Forme du filtre RII maximisant Σ et Λ sous la contrainte d’unicité
de la réponse
f (x) = −ce −α|x| sin(wx) (9)
avec c = (1 − e −α )2 /e −α
I Peut s’implémenter efficacement de manière récursive
Bases du traitement des images
65 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Approches continues
Canny-Deriche : forme des filtres 2D
R
I on définit k = f , alors le filtre 2D s’écrit :
fx (x, y ) = f (x)k(y ) et fy (x, y ) = f (y )k(x)
Bases du traitement des images
66 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Approches continues
Canny-Deriche : résultats
I Influence de α ⇐⇒ facteur d’échelle
I Faible α : peu de robustesse au bruit, bonne localisation
I Fort α : bonne robustesse au bruit, mauvaise localisation
I Adapter α au rapport Signal/Bruit de l’image
Bases du traitement des images
67 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Approches continues : conclusion
Autres optimisation analytiques
I Schéma général de construction d’un filtre :
1 produit d’une fonction passe-bas, symétrique, paramétrée par α
⇐⇒ bruit et taille entre 2 contours
2 produit d’une fonction passe-haut, anti-symétrique
I Ex : Canny-Deriche Gaussienne et dérivée de Gaussienne
I Shen-Castan f (x) = c sign(x)e −α|x|
I De nombreux autres filtres proposés : Spacek, Petrou, etc
Bases du traitement des images
68 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Plan du cours
1 Modélisation des contours - formulation du problème de détection
2 Résolution : Approches basées filtrage (différences finies)
• Filtrage du premier ordre
• Filtrage second ordre
3 Résolution : Approches continues (filtrage optimal)
4 Post-traitement : de l’image dérivée aux contours
• seuillage et chaînage.
Bases du traitement des images
69 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Post-Traitements
De l’image des dérivées aux contours
I Image des dérivées : Probabilité/vraissemblance d’appartenance au
contour
1 premier ordre : valeurs fortes indiquent présence contour
2 second ordre : valeurs proches de 0 indiquent présence contour
I Pour extraire les contours de l’image :
1 Suppression de non maxima dans la direction du gradient
2 Seuillage
3 Chaînage des contours
Bases du traitement des images
70 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Post-Traitements
Suppression de non-maxima
I Rappel : on recherche les maximas locaux dans la direction du
gradient
1 Déterminer, pour un pixel p donné, les valeurs du gradient sur la
droite passant p et de direction celle de son gradient.
2 Vérifier que le gradient en p est bien localement maximal sur cette
droite.
Bases du traitement des images
71 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Post-Traitements
Suppression de non-maxima
I Rappel : on recherche les maximas locaux dans la direction du
gradient
−−−→ −−−→
I P est un maximum local ⇐⇒ ||G (P)|| > ||G (P1 )|| et
−−−→ −−−→
||G (P)|| > ||G (P2 )||
Bases du traitement des images
72 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Post-Traitements
Suppresion de non-maxima : application pratique
1 Discrétisation de la direction
• On arrondit la direction à π4 (8 voisins)
• on cherche les 2 pixels voisins dans la direction du gradient
2 Interpolation
• On calcule la valeur subpixels des deux voisins
• On interpole la valeur de la norme du gradient en ces points
(1) (2)
−−−→
3 Suppresson de P si ||G (P)|| non maximale
Bases du traitement des images
73 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Post-Traitements
Suppresion de non-maxima : application pratique
I Assure d’avoir des contours d’épaisseur 1
→
−
source || G || NMS Contours fins
Bases du traitement des images
74 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Post-Traitements
Seuillage
1 Seuillage simple : on garde les pixels pour lesquels
−−−−→
||G (x, y )|| > Seuil
• Difficile d’avoir un seuil unique pour toute l’image
• Variations de contraste, d’illumination, etc
2 Seuillage par hystérésis
• Seuil haut : sélection d’un ensemble initial de points de contour
• Seuil bas : à partir de ces points, on chaîne récursivement les points
−−−−→
connexes tels que ||G (x, y )|| > Seuil_bas
Bases du traitement des images
75 / 76
Plan Modélisation Filtrage Approches continues Post-Traitements
Post-Traitements
Chaînage des contours
I Nécessaire pour beaucoup d’applications, avoir un ensemble de
composantes connexes
I Pour extraire droites, cercles, formes géométriques et
représentations plus complexes
I Différentes stratégies :
1 Étiquetage en composantes connexes
2 Recherche dans les graphes (programmation dynamique)
3 Approches multi-échelles
4 Automates
5 etc
I Hors du cadre du cours d’aujourd’hui
Bases du traitement des images
76 / 76