ti – traitement d'images semaine 10 : détection de...
Post on 12-Mar-2020
9 Views
Preview:
TRANSCRIPT
Master Informatique – Option Traitement d'Images 1
TI – Traitement d'ImagesSemaine 10 : Détection de contours (2)
Olivier Losson
Master Informatique : http://www.fil.univ-lille1.frSpécialité IVI : http://master-ivi.univ-lille1.fr
Master Informatique – Option Traitement d'Images 2
Plan du cours
1 – Approches par dérivées secondes
Justification de l'approche par dérivées secondesDérivée seconde directionnelle et LaplacienApproximations discrètes
2 – Utilisation du Laplacien
Réduction de la sensibilité au bruitComparaison des approches de 1er et 2ème ordreDétection de contours multi-échelles
3 – Post-traitements sur les contours
GénéralitésFermeture de contourCodage
Sélection de références
Approches par dérivées secondes Utilisation du Laplacien Post-traitements
Master Informatique – Option Traitement d'Images 3
Justification de l'approche par dérivées secondes
Critique des approches par dérivées premières
Nécessitent une détection des maxima dans la direction du gradient, car l'épaisseur du « contour » dépend de la largeur de transition.Difficulté de localiser le contour avec précision.
Utilisation de la dérivée seconde
La dérivée seconde d'une fonction mesure sa courbure locale.Utilisation dans la détection des contours :
Aux points contours, la dérivée seconde est nulle.Plus précisément, les points contourssont caractérisés par un passage par zéro(ang. « zero crossing ») de la dérivée seconde.
Approches par dérivées secondes Utilisation du Laplacien Post-traitements
Master Informatique – Option Traitement d'Images 4
Dérivée seconde directionnelle et Laplacien (1/4)
Calcul de la dérivée seconde directionnelle
Dérivée première directionnelle dans la direction (rappel) :
Dérivée seconde directionnelle dans la direction :
Or, en appliquant la formule de Taylor,
D'où
f 'α :=dfdα≈cosα
∂ f∂ x+ sinα
∂ f∂ y=α⃗ . ∇⃗ f
f ' 'α(x , y):=d 2 f
d α2(x , y ):=lim
h→ 0
f 'α( x+ hcosα , y+ hsinα)− f 'α(x , y)h
f ' α(x+ hcosα , y+ h sinα)= f 'α(x , y )+ hcosα∂ f ' α∂ x(x , y )+ h sinα ∂ f ' α
∂ y(x , y )+O (h2)
d 2 f
dα2 ≈ cosα ∂∂ x(cosα ∂ f∂ x + sinα ∂ f∂ y )+ sinα ∂∂ y (cosα ∂ f∂ x + sinα ∂ f∂ y )
≈ cos2α∂2 f
∂ x2+ 2cosα sinα ∂
2 f∂ x ∂ y
+ sin2α ∂2 f
∂ y2
Approches par dérivées secondes Utilisation du Laplacien Post-traitements
Master Informatique – Option Traitement d'Images 5
Détection des points contours
On cherche les passages par zéro de la dérivée seconde directionnelle, soit 0 tel que :
Définition du Laplacien
Pour simplifier l'évaluation de la concavité locale de la fonction image f, exprimée par sa dérivée seconde, on fait appel à l'opérateur Laplacien, défini par :
où et sont 2 directions orthogonales quelconques.
Remarque : le Laplacien est un opérateur scalaire et isotrope (invariant par rotation)
Δ f :=∂2 f
∂α2+ ∂
2 f
∂α⊥2
cos20∂2 f∂ x22cos0 sin0
∂2 f∂ x∂ y
sin20∂2 f∂ y2=0
Dérivée seconde directionnelle et Laplacien (2/4)
Approches par dérivées secondes Utilisation du Laplacien Post-traitements
Master Informatique – Option Traitement d'Images 6
Utilisation du Laplacien pour la détection des points contours
Les passages par zéro de la dérivée seconde directionnelle f'' coïncident
généralement avec ceux du Laplacien ( f = 0).
En particulier, avec Ox et Oy : P (x0 , y
0) est point contour si
Correspondance avec le gradient :
Cas particulier où , direction du gradient (normale au contour) et (tangente).
Dans les zones de faible courbure, .
Un passage par zéro du Laplacien correspond donc à une dérivée seconde directionnelle nulle dans la direction du gradient.
f :=∂2 f∂2 ∂
2 f∂ ⊥
2
P
f x0, y0:=∂2 f∂ x2x0, y0
∂2 f∂ y2x0, y0=0
∂2 f∂⊥
2≈0
Dérivée seconde directionnelle et Laplacien (3/4)
Approches par dérivées secondes Utilisation du Laplacien Post-traitements
Master Informatique – Option Traitement d'Images 7
Interprétation du Laplacien.
Pour Ox et Oy, le Laplacien s'écrit
Sauf dans le cas d'un « point de selle », le Laplacien représente fidèlement la concavité de la surface au point considéré :
∂2 f∂ x2> 0 , ∂
2 f
∂ y2> 0 ∂2 f
∂ x2< 0 , ∂
2 f
∂ y2< 0
∂2 f∂ x2< 0 , ∂
2 f
∂ y2> 0
∂2 f∂ x2> 0 , ∂
2 f
∂ y2< 0
∂2 f∂ x2=∂
2 f
∂ y2=0
concavité positive concavité négative point de selle surface plane
source : P. Bonnet
Dérivée seconde directionnelle et Laplacien (4/4)
Δ f =∇⃗ f ⋅⃗∇ f =∂2 f
∂ x2+ ∂
2 f
∂ y2
Approches par dérivées secondes Utilisation du Laplacien Post-traitements
Master Informatique – Option Traitement d'Images 8
Dérivées premières discrètes (rappel)
Masques de Roberts
Masques de Roberts2
Dérivées secondes discrètes
Meilleure approximation au centre : appliquer , puis
Masque associé à la dérivée seconde selon x :
ᄇApproximations discrètes (1/2)
+1 -1∂ f∂ xx0, y0 ≈ f x01, y0− f x0, y0
ou ≈ f x0, y0− f x0−1, y0
∂ f∂ xx0, y0≈
f x01, y0− f x0−1, y02
+1 -1
+1 0 -112
∂2 f∂ x2( x0 , y0) ≈
∂ f∂ x(x0+1 , y0)−
∂ f∂ x( x0 , y0)
≈ [ f ( x0+1 , y0)− f ( x0 , y0)]−[ f ( x0 , y0)− f ( x0−1 , y0)]≈ f ( x0+1 , y0)−2 f ( x0 , y0)+ f (x0−1 , y0)
+1 -1 +1 -1
+1 -2 +1
Approches par dérivées secondes Utilisation du Laplacien Post-traitements
Master Informatique – Option Traitement d'Images 9
Dérivées secondes discrètes (suite)
De même,
D'où l'approximation discrète du Laplacien :
masque de convolution :
Autres approximations possibles du Laplacien :
Approximations discrètes (2/2)
∂2 f∂ y2(x0, y0)≈ f (x0, y0+ 1)−2 f (x0, y0)+ f (x0, y0−1)
Δ f (x0, y0)≈ f (x0+ 1, y0)+ f (x0−1, y0)+ f (x0, y0+ 1)+ f (x0, y0−1)−4 f (x0, y0)
+1
-2
+1
0 +1 0
+1 -4 +1
0 +1 0
+1 0 +1
0 -4 0
+1 0 +1
+1 +1 +1
+1 -8 +1
+1 +1 +1
+1 +2 +1
+2 -12 +2
+1 +2 +1
+1 +4 +1
+4 -20 +4
+1 +4 +1
Approches par dérivées secondes Utilisation du Laplacien Post-traitements
Master Informatique – Option Traitement d'Images 10
Prérequis pour l'utilisation du Laplacien
Les points contours correspondent aux passages par 0 de f.
Problème : l'approximation de f est fortement bruitée (cf. diapos suivantes).On va donc :
détecter les points où f change de signe plutôt que ceux où f(x,y)=0 ;imposer un seuilet/ou pré-lisser l'image pour en réduire le bruit avant de calculer le Laplacien.
Exemple d'algorithme
Principe : seuil sur les valeurs locales minimum et maximum du Laplacien
Paramètres d'entrée : Laplacien de l'image f , seuil S .
En chaque pixel, considérer un voisinage (ex. 3x3) centré ;calculer m := min(f ) et M := max(f ) dans ce voisinage ;le pixel est considéré comme point contour si m < -S et M > S .
Autre critère possible : m < 0 et M > 0 et M-m > S .
Introduction
Approches par dérivées secondes Utilisation du Laplacien Post-traitements
Master Informatique – Option Traitement d'Images 11
Effet de la dérivation sur le bruit
Réduction de la sensibilité au bruit (1/4)
signalidéal f
signal réelf = f b
où b bruitgaussien
dérivéedfdx
Solution : pré-filtrage
noyaugaussien
g
f g
d f g dx
=1,4
=5
Approches par dérivées secondes Utilisation du Laplacien Post-traitements
Master Informatique – Option Traitement d'Images 12
Opérateur LoG (Laplacian of Gaussian)
Du fait de la double dérivation, le Laplacien est très sensible au bruit.Nécessité de lisser l'image en la pré-filtrant avec un noyau gaussien
avant d'utiliser le Laplacien pour détecter les points contours.Possibilité de réaliser ces deux opérations en une seule :
Justification :
Réduction de la sensibilité au bruit (2/4)
g x , y :=1
2 2exp− x2 y22 2
Δ [( gσ f )]= (Δ g σ )⏟LoGσ
f
∂∂ x(h f )( x , y) = ∂
∂ x∬V h ( x−u , y−v) f (u , v)du dv
= ∬V
∂ h∂ x( x−u , y−v) f (u ,v )du dv
= (∂ h∂ x f )( x , y)
Approches par dérivées secondes Utilisation du Laplacien Post-traitements
Master Informatique – Option Traitement d'Images 13
Expression et masque de l'opérateur LoG
d'où
Approx.discrètede taille 9x9pour =1,4
Réduction de la sensibilité au bruit (3/4)
∂ g ∂ x x , y = − x
24exp−x2 y222
∂2 g∂ x2x , y = − 1
24 1− x 2
2exp− x2 y22 2 LoG x , y:= g x , y=−
1
4 1− x2 y222 exp− x2 y22 2 0 +1 +1 +2 +2 +2 +1 +1 0
+1 +2 +4 +5 +5 +5 +4 +2 +1
+1 +4 +5 +3 0 +3 +5 +4 +1
+2 +5 +3 -12 -24 -12 +3 +5 +2
+2 +5 0 -24 -40 -24 0 +5 +2
+2 +5 +3 -12 -24 -12 +3 +5 +2
+1 +4 +5 +3 0 +3 +5 +4 +1
+1 +2 +4 +5 +5 +5 +4 +2 +1
0 +1 +1 +2 +2 +2 +1 +1 0
Approches par dérivées secondes Utilisation du Laplacien Post-traitements
Master Informatique – Option Traitement d'Images 14
Approximation de LoG par différence de gaussiennes (DoG)
Le filtre LoG peut être approché par la différence de deux gaussiennes d'écarts-types proches :
Démonstration en 1D :
Réduction de la sensibilité au bruit (4/4)
LoG 1x , y≈DoG 1 , 2
x , y :=g 2x , y−g 1x , y avec 2=1 , ≪1
Alors DoGσ1 ,σ2( x ) = g σ1+δ( x )−g σ1 ( x) = f x(σ1+δ)− f x(σ1)
≈ δd f xd σ(σ1) = δ
√2π(− 1
σ12−
1σ1⋅(− x2σ1
3))exp(− x 2
2σ12)
≈− δσ1
2√2π(1− x2
σ12 )exp(− x2
2σ12) = δσ1d
2 gσ 1dx2
( x )
Considérons f x(σ)=1σ√2π
exp(− x2
2σ2)dont le développement de Taylor en 1est f x 1= f x 1
d f xd1O
2
Approches par dérivées secondes Utilisation du Laplacien Post-traitements
Master Informatique – Option Traitement d'Images 15
Détecteur de contours de Marr-Hildreth
Principe : localiser les contours aux passages par 0 de LoG f .
JustificationsNécessité de lisser l'image avant d'appliquer le Laplacien.Le lissage gaussien réalise le meilleur compromis entre détection et localisation.
AlgorithmeConvolution de l'image avec LoG (approché par un masque de taille n x n).
Autre possibilité : utiliser DoG1,2 (avantage : filtres gaussiens séparables).
Détection des passages par 0 de l'image résultante.(Éventuellement :) Seuillage des passages par 0.
Avantage : prise en compte des seuls passages par 0 significatifs.
Inconvénient : on perd la propriété de fermeture présentée par les lignes de passages par 0 du Laplacien.
Limites :pour élevé, localisation médiocre et points d'intérêt saillants « perdus ».
Utilisation de l'opérateur LoG
Approches par dérivées secondes Utilisation du Laplacien Post-traitements
Master Informatique – Option Traitement d'Images 16
Principe : Détecter des contours plus ou moins significatifs, en pré-lissant plus ou moins fortement l'image grâce au filtre gaussien ( est l'« échelle »).
Laplacien (32 bits) Polarité Passages par 0
= 1,4
= 2,2 On obtient différentsniveaux de détailspour les objets
= 3,0
Approche multi-échelles (1/2)
Approches par dérivées secondes Utilisation du Laplacien Post-traitements
Master Informatique – Option Traitement d'Images 17
Avantages et limites de l'approche
deux contours peuvent « fusionner » lorsque augmente
un contour ne peut pas être divisé lorsque augmente
s'applique aussi avec le gradient ( détecteur de Canny)
la position du contour peut varier lorsque augmente (médiocre localisation)
Approche multi-échelles (2/2)
Approches par dérivées secondes Utilisation du Laplacien Post-traitements
Source : S. Seitz
croissants
Signal filtré (g f ) pour divers Maxima locaux de (g f )'Signal f original
Master Informatique – Option Traitement d'Images 18
Résumé des approches vues pour la détection des points contours
Gradient (ex. Canny)Calcul des dérivées partielles (lissées)Calcul de la norme et de la direction du gradientSuppression des non-maxima locaux dela norme du gradient dans sa directionSeuillage par hystérésis des maximalocaux de la norme du gradient
Approches combinées Laplacien-gradient
Principe : utilisation de || G || pour seuiller les passages par 0 de f. Calcul du Laplacien (après lissage)Calcul de la norme du gradientDétection des passages par 0 de ( masque I
z) à partir de l'image de polarité I
p
Application du masque binaire Iz à l'image de la norme du gradient
Seuillage de l'image résultante (simple, par hystérésis, ...)
Comparaison Gradient / Laplacien (1/3)
Approches par dérivées secondes Utilisation du Laplacien Post-traitements
Laplacien(lissage de l'image)Calcul du LaplacienDétection des passages par 0du LaplacienSeuillage des passages par 0du Laplacien
LoG, DoG
Master Informatique – Option Traitement d'Images 19
Gradient
Avantages Fournit l'orientation du contourBonne localisation malgré le lissageLa suppression des non-maximalocaux fournit des contours fins
Inconvénients Assez sensible au bruit nécessite un lissageLe seuillage fournit des contours non fermés.
Les deux approches
nécessitent l'ajustement de paramètres ( et S , Sb et S
h)
permettent une interpolation subpixellique
Comparaison Gradient / Laplacien (2/3)
Approches par dérivées secondes Utilisation du Laplacien Post-traitements
Laplacien
Avantages Proche du système visuel humainLa détection des passages par 0fournit des réseaux de lignes fermées
Inconvénients Grande sensibilité au bruit nécessite un lissage fort affecte la localisationPas d'info sur l'orientation du contourLe seuillage des passages par 0 crée deslacunes (« ouvertures ») dans les contours
Master Informatique – Option Traitement d'Images 20
Exemples de détection des points contours
Conclusion Canny Marr-Hildreth ( =2)
Pas d'opérateur parfait pour détecter les contoursOn obtient en pratique des contours incomplets (ouverts)
détection incorrecte : pixels superflus, pixels manquantslocalisation incorrecte : erreurs dans la position des points contours, l'orientation
La détection des points contours n'est que la première étape dans la chaîne de segmentation
Approches par dérivées secondes Utilisation du Laplacien Post-traitements
Comparaison Gradient / Laplacien (3/3)
Master Informatique – Option Traitement d'Images 21
Généralités sur les post-traitements (1/2)
La détection des points contours fournit
une carte binaire des points contours ;souvent, des contours ouverts (composantes de l'image non séparéesen objets topologiquement distincts).Causes :
bruitfaible contrasteoccultations
Nécessité de fermer les contours
Pour obtenir des régions fermées définies comme des composantes connexes maximales n'incluant pas de points contours ;interprétables comme projections des objets de la scène.
Très important pour l'exploitation en segmentation d'image.
Approches par dérivées secondes Utilisation du Laplacien Post-traitements
Master Informatique – Option Traitement d'Images 22
Généralités sur les post-traitements (2/2)
Fermeture des contourspar extrapolation
Ajout de points non détectés
Suppression des contoursnon fermés / non significatifs
Suppression des « branchespendantes » des contours fermés(ébarbulage)
Rejet de points détectés par erreur
Codage ou chaînage des contours
Approches par dérivées secondes Utilisation du Laplacien Post-traitements
Master Informatique – Option Traitement d'Images 23
Fermeture des contours (1/4)
Principe
Prolonger les extrémités des chaînes de points contours vers d'autres chaînes de points contours.
Techniques d'exploration de graphes
Principe : exploration de l'espace des chemins solutions,chaque pixel étant un nœud du graphe,chaque connexion d'un pixel à l'un de ses voisins étant un arc du graphe.
Avantage : méthodes aux bases solides, fournissant les meilleurs résultats.Inconvénient : coût élevé (explosion combinatoire)
Approches par dérivées secondes Utilisation du Laplacien Post-traitements
Point contour
Chemin solutionpour la fermeture
Point contourde fermeture
Master Informatique – Option Traitement d'Images 24
Fermeture des contours (2/4)
Exploration de graphes : détails (1/2)
Approche généralerecherche des extrémités des composantes connexes de points contourssélection de points candidats à la prolongation du contour (X)
prolongation suivant critère (minimum d'une fonction de coût)Implémentation simpliste
fonction de coût : inverse de la norme du gradientmais la sélection sur un niveau atteint rapidement ses limites : utiliser plusieurs niveaux, ex. 2 :le coût sur n niveaux est la sommedu coût en chaque pixel candidat.
Approches par dérivées secondes Utilisation du Laplacien Post-traitements
Master Informatique – Option Traitement d'Images 25
Fermeture des contours (3/4)
Exploration de graphes : détails (2/2)
Implémentation avec retour sur trace (ang. « backtracking »)Utilise un arbre de recherche dont les nœuds sont les bifurcations possibles dans la chaîne de fermeture, et dont les branches sont les points contours candidats.À chaque itération (niveau), on garde tous les candidats auxquels la norme du gradient est supérieure à un seuil, et on les classe par coût croissant.Échec d'un chemin si
aucun candidat de norme > au seuil (Es)
création d'une chaîne bouclée (Eb)
remontée au nœud précédentFin de recherche si
rencontre d'un point contour (succès S)tous les chemins mènent à un échec (fermeture impossible)
(nombre max. d'itérations atteint)
Approches par dérivées secondes Utilisation du Laplacien Post-traitements
Source : J. Desachy
Master Informatique – Option Traitement d'Images 26
Fermeture des contours (4/4)
Autres méthodes
Dilatation D / Réduction topologique R
Contraintes de R : préserve la topologie et les points contour initiaux
cf. détails sur http://dpt-info.u-strasbg.fr/~cronse/TIDOC/ATG/fermcont.htmlMéthodes neuromimétiques (réseaux de neurones)
Les contours actifs (ang. « snakes ») évitent l'étape de fermeture
Courbe 2D déformable qui épouse progressivement les contours des objetscf. http://bigwww.epfl.ch/jacob/software/SplineSnake/
Approches par dérivées secondes Utilisation du Laplacien Post-traitements
D R
Master Informatique – Option Traitement d'Images 27
Principe
Décrire un contour au moyen d'une structure de donnée.
Exemple simple : codage de Freeman
On code les changements de directiond'un pixel de contour à son voisin.La séquence des codes locaux constituele codage du contour. Ex. à partir de P :{ 6, 0, 7, 0, 2, 0, 1, 1, 2, 2, 4, 2, 4, 5, 6, 4, 6, 4, 5 }
Réduction de la chaîne de contour
Autres approches possibles
Approches globales : recherche des contours complets seulement points.Exemple : transformée de Hough (détection de contours continus en classes de formes : lignes, mais aussi cercles et ellipses).
cf. cours de Reconnaissance de Formes !
Codage/chaînage des contours
Approches par dérivées secondes Utilisation du Laplacien Post-traitements
Master Informatique – Option Traitement d'Images 28
Sélection de références
Livre
W. Burger, M.J. Burge, Digital Image Processing – An Algorithmic Introduction Using Java, Springer 2008.
Sites web
Cours de J.-H. Thomas (Université du Maine)http://www.optique-ingenieur.org/fr/cours/
OPI_fr_M04_C05/co/Grain_OPI_fr_M04_C05.htmlImage Processing Learning ressources – Explore with Java
Ex. filtre LoG : http://homepages.inf.ed.ac.uk/rbf/HIPR2/log.htmUsing Laplacian for Edge Detection (R. Wang)
http://fourier.eng.hmc.edu/e161/lectures/gradient/node9.htmlImage Filtering & Edge Detection (N. Vasconcelos)
http://www.svcl.ucsd.edu/courses/ece161c/handouts/EdgesAndInterpolation.pdf
Références
top related