0% ont trouvé ce document utile (0 vote)
113 vues76 pages

Contours

Transféré par

hocine
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
113 vues76 pages

Contours

Transféré par

hocine
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

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

Vous aimerez peut-être aussi