La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Qu’apprend-on dans ce chapitre

Présentations similaires


Présentation au sujet: "Qu’apprend-on dans ce chapitre"— Transcription de la présentation:

1 Qu’apprend-on dans ce chapitre
Pourquoi s’intéresse-t-on aux contours sur une image ; Comment déduit-on les contours d’une image de gradient et comment calcule-t-on cette dernière ; Qu’est ce que la transformée de Hough et à quoi sert-elle ; Qu’est qu’un point d’intérêt et comment le détecteur de Harris les détecte ;

2 Détection de contours : approche générale
Objectif Délimitation des objets Détection de points d’intérêt Méthodes dérivatives À partir du gradient ( vect. 2D), norme et direction Approximation de la dérivée 2nde par le Laplacien Contour = où réside l’information (entropique) f(x) f’(x) f’’(x)

3 Principe des méthodes dérivatives
Laplacien trop bruité pour être utilisé seul Utilisation du gradient Calcul de l’image du gradient Calcul de l’image de la norme du gradient Calcul de l’image de la direction du gradient Seuillage (avec hystérésis) de l’image de la norme du gradient Elimination des non maxima locaux dans la direction du gradient Fermeture des contours Utilisation du laplacien Calcul de l’image du laplacien Calcul de l’image de la norme du gradient Calcul de l’image binaire B des passages par zéro du laplacien Application du masque binaire B à l’image de la norme du gradient Seuillage (avec hystérésis) de l’image de la norme du gradient | B Elimination des non maxima locaux dans la direction du gradient Fermeture des contours

4 par filtrage linéaire passe-haut
Gradient Sobel c=2 Prewitt c=1 Opérateur MDIF Filtres de Kirsch : 8 masques Rq : les filtres sont donnés pour des directions lignes – colonnes  cas de directions diagonales : Masque MDIF plus grand  - sensible au bruit mais localisation des contours - bonne Il existe aussi des généralisations de Sobel à des tailles (2d+1)(2d+1) La direction du gradient est l’argument du masque qui maximise la norme du gradient  à p/8 près

5 Filtre de Sobel : exemples
Image originale Norme du gradient Gradient vertical Gradient horizontal

6 par filtrage linéaire passe-haut
Laplacien 4-connexité 8-connexité 1 filtre passe haut extrait l’information ‘complémentaire’ d’un filtre passe-bas : Id = MPB+MPH Ex : Coef. généralemt omis pour amplifier le résultat Ex.:

7 par filtrage optimal (I)
Critères de Canny (i) Bonne détection, (ii) bonne localisation, (iii) faible multiplicité des maxima dus au bruit Filtre impulsionnel à réponse finie (RIF) Filtre de Deriche : RII  Gradient selon x = Imageh(x)f(y) Gradient selon y = Imageh(y)f(x) Filtre de Shen - Castan Maximiser le rapport signal à bruit Minimiser la variance de l’erreur en distance Solution de Canny : RIF y(x) = a1eaxcoswx + a2eaxsinwx + a3e-axcoswx +a4e-axsinwx Filtre de lissage puis application d’un opérateur différentiel Solution de Deriche : RII / y(x) = [Cst/w].e-a|x|.sinwx Soit m / m.w=a, alors m>>1  y(x)  h(x) = -a2.x.e-a|x| Lissage ds la dir.  celle de h par le filtre f / f’=h : f(y) = (a.|y|+1).e-a|y| (f’(y) = a.sgn(y).e-a|y|+(a.|y|+1).(-a.sgn(y)).e-a|y| = h(y)) Solution RII de Shen et Castan : f(x) = be-b|x|, f1(x) = b.e-bx.u(x), f2(x) = b.e-b(-x).u(-x)

8 par filtrage optimal (II)
Implantation du filtre de dérivation de Deriche Décomposition entre 1 partie causale et 1 anti-causale R[i]=R1[i]+ R2[i] Implantation du filtre de lissage de Deriche R1[i]=c.e-a.I[i-1]+2.e-a.R[i-1]-e-2a.R[i-2] R2[i]=-c.e-a.I[i+1]+2.e-a.R[i+1]-e-2a.R[i+2] Partie causale : h-(i)=c.i.e-ia.u(i) |z|>1, TZ[u(i)] = 1/(1-z-1) TZ[ai.x(i)] = X(z/a)  TZ[e-iau(i)] = 1/(1-e-az-1) TZ[ik.x(i)] = (z.d/dz)kX(z)  TZ[ie-iau(i)] = e-az-1/(1-e-az-1)2 Partie anti-causale : h+(i)=(-c).(-i).e(-i)(-a).u(-i) R1[i]= b.I[i]+ b.e-a.(a-1).I[i-1]+2.e-a.R[i-1]-e-2a.R[i-2]  R2[i]= b.e-a.(a+1).I[i+1]-b.e-2a.I[i+2]+2.e-a.R[i+1]-e-2a.R[i+2] Partie causale : f-(i)=b.(a.i+1).e-ia.u(i) TZ[f-(i)] = b.a.e-az-1/(1-e-az-1)2+ b/(1-e-az-1) Partie anti-causale : f+(i)=[ba.(-i).e(-i)(-a)+ b.e(-i)(-a)-bd(-i)].u(-i) TZ[f-(i)] = b.a.e-az/(1-e-az)2+ b/(1-e-az)-b

9 Filtrage Canny-Deriche : exemples
Image originale Norme du gradient Direction du gradient

10 Exemples de et . B1 B2 || MM (B1) || MM (B2) || Prewitt || Sobel
|| MDIF D masque D MM (B1) D MM (B2) Deriche a=1 Deriche a=2 Deriche a=3 Shen b=0.5 Shen b=1

11 Détection de contours (I)
Seuillage avec hystérésis Détection des pixels de valeur ≥ sh Ajout des pixels de valeur ≥ sb et qui  1 composante connexe ayant au moins 1 pixel de valeur ≥ sh Programmation avec 1 pile gérant la composante connexe : initialisation de l’image des contours ImaCont à 0 Initialisation de la pile P avec les pixels / ≥ sh Tant que |P|>0 Extraire M(xM,yM) de la pile ImaCont(xM,yM)  1 Pour chaque k-connex (k=4 ou 8) voisin de M, noté VM : Si VM P et si ImaCont(xVM,yVM)  1 et si ≥ sb, alors ajouter VM à P

12 Seuillage hystérésis sur gradient : exemples
Image originale Seuillage hystérésis sur gradient : exemples Seuillage hystérésis par reconstruct. géodésique Norme du gradient Seuillage > 30 Seuillage >72 + élimination des bords Norme du gradient Seuillage hystérésis par reconstruct. géodésique Blanc = seuillage >50, Rouge = seuillage > 25

13 Détection de contours (II)
Détection des maxima locaux de la norme du gradient dans la direction du gradient q Cas soit A0=(i,j), A1=(i,j+1), A2(i-1,j+1) on cherche zM = a1A1+a2A2 avec a1+a2=1, (a1,a2)[0,1]2 alors a2=tanq et a1=1-tanq donc Autres cas : (i,j-1) (i,j) (i,j+1) (i+1,j-1) (i-1,j+1) A0 A1 A2 M1 M2

14 Fermeture de contours Construction d’1 « look-up table » permettant d’indexer les pixels candidats à la fermeture pour chaque configuration. Codage configuration : où xi=1 si contour, 0 sinon Ex. T[16][0]=1 ; T[136][0]=0 ; T[8][0]=1 T[16][j]={1,0,7} ; T[8][j]={0,7,6} Ex. d’algorithme de fermeture : Pour chaque extrémité trouvée lors du balayage de l’image : Construction du sous-arbre de tous les chemins possibles de longueur p et du coût associé à chaque nœud : somme des normes des gradients en chaque point du chemin Sélection du nœud de coût maximum Prolongation du contour 1 2 3 4 7 6 5 1 2 3 4 7 6 5 1 2 3 4 7 6 5 T[i][0] =1 si contour à prolonger (i[0,255]) T[i][j] avec j[1,3] donne les coordonnées relatives des 3 pixels candidats à la fermeture i.e. pixel / T[i][0] =1 3p chemins

15 Exemple Après fermeture de contours Filtre Sobel Seuillage hysérésis
Bruit gaussien s=30 Filtre Sobel Seuillage hysérésis Après fermeture de contours Itérations 1 (cyan), 2 (bleu) ; seuil sur coût (droite)

16 Algorithme « Edge drawing »
Pré-calcul de (i) l’image des gradients horizontaux Gx, (i) l’image des gradients verticaux Gy, (iii) l’image binaire des directions Q de gradient Calcul de l’image binaire des points d’ancrage J Chaque point d’ancrage est relié au suivant en maximisant la norme du gradient tout en se déplaçant selon la direction de départ (rigidité) Ex. d’instanciation (Topal et al., ICPR 2010) Gx et Gy calculées par Sobel ; Q calculée par comparaison de Gx et Gy en chaque pixel J’ calculée par seuillage hystérésis de |Gx|+|Gy| ; J calculée par sous-échantillonnage dyadique de J’ (facteur k appelé ‘detail ratio’ : k grand  contours grossiers, k petit  contours détaillés)

17 Exemples Sobel + seuillage hystérésis automatique
Affinement de contours Edge drawing k=4, l 15 Image niveaux gris

18 Transformée de Hough Utilisation d’information a priori pour reconnaître  le type d’objets recherchés et leur représentation Principe : Les objets recherchés sont décrits à l’aide de fonctions simples modélisées par leurs paramètres Ex.: segments de droites, arcs de cercles La transformée de Hough permet de passer de l’espace image à l’espace des paramètres pour rechercher dans cet espace les objets d’intérêt

19 Transformée de Hough : cas de la recherche de droites (I)
Hors cas x = Constante Représentation d’une droite : y = ax + b Dans l’espace image I, x et y sont les variables (colonne et ligne) et (a,b) est un couple de paramètres fixes pour une droite donnée Dans l’espace des paramètres P, a et b sont les variables et (x,y) est un couple de paramètres fixes pour un pixel donné Par un point de I passe une infinité de droites, représentées par une droite dans P (b=-ax+y), et A chaque point de P correspond une droite de I Algorithme : calculer, pour chaque point du contour dans I, la droite lui correspondant dans P ; Incrémenter les valeurs le long de cette droite ; déterminer le ‘point d’accumulation’ dans P P Q x y I DP DQ a b P

20 Transformée de Hough : cas de la recherche de droites (II)
Représentation d’une droite : x.cosj +y.sinj = r0 avec 0 < r0 < diagonale de l’image, et 0 < j < 2p Espace des paramètres (r0,j) A chaque point de I correspond une courbe dans P, et une intersection de courbes dans P correspond à une droite dans I r0/r = |cos (j-q)| (droite perpendiculaire en M0(r0,j) à la droite radiale q=j  pente j-p/2) Droite de paramètres (r0,j) d’éq. r = r0.sec(q-j)  r0 = r.cos(q).cos(j)+ r.sin(q).sin(j)  r0 = x.cos(j)+ y.sin(j) r0 p-j M(r,q) r q j-q M0(r0,j) j-p/2

21 Transformée de Hough : exemple
Image originale Détection de contours Maxima régionaux de la transformée de Hough Droites reconstruites

22 Transformée de Hough : exemple 2
Maxima régionaux de la transformée de Hough Image originale + contours superposés Droites reconstruites

23 Transformée de Hough : cas de la recherche de cercles
Représentation d’un cercle : (x–a)2 + (y-b)2 = r 2 A un point de I correspond une surface dans P , et P représenté sous forme d’un tableau 3D (a,b,r) Si on se donne un rayon (en pixels) et un % de pixels devant appartenir à la circonférence du cercle, on peut en déduire le seuil dans P (en nombre de pixels ayant voté pour un cercle (a,b,r) ) a b r = r2 r3 r2 r1 Intensité fct du % d’intersection de l’ellipse et du cercle de rayon r

24 Attention à la base utilisée !
Points d’intérêt Pixels de l’image les plus riches en information Caractérisent le contenu sémantique d’une image Critère principal pour leur définition : stabilité et reproductibilité Coins : Pixel présentant des gradients élevés selon deux directions Attention à la base utilisée !

25 Détecteur de Harris & Stephens: principe
En chaque pixel s, calcul de la matrice d’auto- corrélation Avec I l’image d’origine, Ix et Iy ses dérivées resp. selon les dir. x et y G(s) le filtre passe-bas gaussien de paramètre s l1 l2 Région homogène Contour Coin l1 et l2 grands Les valeurs propres l1 et l2 de Ms caractérisent le pixel s

26 Détecteur de Harris : calcul (I)
Eviter le calcul des valeurs propres en calculant la trace et le déterminant de Ms : Trace(Ms)= l1 + l2 = M1,1 +M2,2 Déterminant(Ms)= l1l2 = M1,1M2,2 -M1,2M2,1 Le paramètre R permet l’identification des coins R=Déterminant(Ms)-k[Trace(Ms)]2 Les coins correspondent à k et t paramètres : k=0.04 (par défaut) et t relié à la ‘taille’ du coin R max local R>0 Trace(Ms)>t

27 Détecteur de Harris : calcul (II)
Filtrage linéaire gaussien de l’image d’origine Calcul des images Ix et Iy des gradients selon les directions x et y respectivement, p.e. par différences finies Calcul des images des termes de la matrice de covariance Ix2, Iy2 et IxIy Filtrer les images Ix2, Iy2 et IxIy par filtrage linéaire Gaussien  , et Calcul de l’image du critère R : en chaque pixel Création de l’image des points d’intérêt = maxima locaux de R supérieurs au seuil

28 Détecteur de Harris : exemples
Composition RGB des 3 composantes Ix2, Iy2 et IxIy après filtrage gaussien Image du critère R (k=0.04) Points détectés (V) sur image d’origine (R)

29 Détecteur de Harris : exemples
Points sur ‘imagetest_synthetic’ tournée de + 30 degrés Points détectés sur ‘imagetest_synthetic’ Points détectés aux échelles s=5 (R), s=1 (V), s=3 (B) Autres exemples


Télécharger ppt "Qu’apprend-on dans ce chapitre"

Présentations similaires


Annonces Google