28
Master Informatique – Option Traitement d'Images 1 TI – Traitement d'Images Semaine 10 : Détection de contours (2) Olivier Losson Master Informatique : http://www.fil.univ-lille1.fr Spécialité IVI : http://master-ivi.univ-lille1.fr

TI – Traitement d'Images Semaine 10 : Détection de ...master-ivi.univ-lille1.fr/fichiers/Cours/ti-semaine-10-contours2.pdf · Master Informatique – Option Traitement d'Images

  • Upload
    others

  • View
    9

  • Download
    1

Embed Size (px)

Citation preview

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