Vous êtes sur la page 1sur 13

TD_Détection de contours

Exercice 1
Citer et expliquer les différentes étapes nécessaires à une segmentation d’image I en contours
(détection de contours) basée sur l’utilisation du lissage des approximations de la dérivée
première.
Réponse :
Les méthodes dérivatives 1 ordre et les méthodes dérivatives 2nd ordre.
Algorithme du Gradient (méthode dérivative 1er ordre)

On utilise les masques de convolution h x, h y : Sobel ou Prewitt ou Robet pour


approximer le gradient

∂f
 Calcul de la composante gradient : ≅ f ∗h x
∂x
∂f
 Calcul de la composante : ≅ f∗h y
∂y

√( ) ( )
∂f 2 ∂f 2
 Calcul du gradient en chaque point de l’image : G= +
∂x ∂y
 Création de l’image de la norme du gradient
 Extraction des maximas locaux dans la direction du gradient
 Seuillage (ici on doit donner une valeur du seuil Th:

{
G ( x , y )=1 si G ( x , y ) ≥ Th
G ( x , y )=0 sinon
Les valeurs des pixels de l’image contours seront des zéros et des 1.
Méthode dérivative 2nd ordre : calcul du laplacien de l’image :
2
∂ f
 Calcul de la composante : 2 ≅ f ∗Lx
∂x
2
∂ f
 Calcul de la composante : 2
≅ f∗L y
∂y
2 2
∂ f ∂ f
 Calcul du laplacien : ∆ f = 2 + 2
∂x ∂ y
 Extraire les passages par zéros de ∆ f
Exercice 2
Soit les deux masques L1 , L2:
0 -1 0
-1 4 -1
0 -1 0

-1 -1 -1
-1 8 -1
-1 -1 -1

Et l’image I suivante :

5 5 5 5 5 5 5

1
4 5 5 5 5 5 5
3 4 5 5 5 5 5
3 3 4 5 5 5 5
3 3 3 4 4 4 4
3 3 3 3 3 3 3
3 3 3 3 3 3 3

 Les deux masques font-ils de la détection de contours ?


 Quel masque est le plus efficace ?
 Ecrire le masque L1 sous forme de la somme de deux masques 3 ×3,
i.e L1=L11 + L12 .
 Montrer que I∗L1=I∗L11 + I ∗L12
 Que représente I∗L11 et I∗L12
 Que représente l’approximation : I∗L1
 Que représente l’approximation : I∗L2
 Calculer la nouvelle valeur du pixel (3,2) après la convolution de I avec le masque L2:
I∗L2
 Soit le masque L3
-1 0 -1
0 4 0
-1 0 -1
 Comparer L1 et L3
Réponse :
 Oui, les 2 masques font la détection de contours : calcul du la placien
 Le masque le plus efficace est L2 parce qu’il prend en considération les 8 voisins du pixel.
0 -1 0
-1 4 -1
0 -1 0
 le masque L1 sous forme de somme de deux masques 3 ×3 :
0 0 0 0 -1 0 0 -1 0
-1 2 -1 0 2 0 -1 4 -1
0 0 0 + 0 -1 0 = 0 -1 0
L11 L12

 I∗L1=I∗( L11 + L12) en utilisant la propriété distributive de la convolution, on aura :


I∗L1=I∗L11 + I ∗L12
2 2
∂ I ∂ I
 I∗L11 = 2 , I∗L12= 2
∂x ∂y
 I∗L1=∆ I (le laplacien de l’image I )
 I∗L2=∆ I
''
 I ( 3 ,2 ) =+8 × 4+5 × (−1 )+3 × (−1 )+ 3× (−1 ) +5 × (−1 )−4−5−3−4=0
 Les deux masques ont le même effet toujours avec 4 voisins sauf que l’emplacement des
voisins n’est pas le même.

Exercice 3
On considère l’image de l’exercice 2.

2
Soit les deux masques :
+ 0 -1 + + +
1 1 1 1
+ 0 -1 et 0 0 0
1 -1 -1 -1
+ 0 -1 Gy
1
Quel est le rôle de ce filtre. Comment s'utilise-t-il ?
Quel est le résultat de son application sur l’image : que donne I∗G x et I∗G y ?

Comment peut-on déterminer la direction d'un contour ?

b) Soit le filtre de Sobel :


+ 0 -1 + + +
1 1 2 1
+ 0 -2 et 0 0 0
2 -1 -2 -1
+ 0 -1 Gy
1
Quel est l'avantage de ce filtre par rapport au précédent ?
Réponse
Le role du filtre : détection de contours, méthode dérivative 1er ordre.
Pour l’utiliser, on procède par convolution, pour approximer le gradient de
l’image.

Appliquer I∗G x et appliquer I∗G y


Résultat de: I∗G x détails horizontaux

Résultat de: I∗G y détails verticaux


I ∗G y
La direction du contour est déterminée par l’angle du vecteur gradient : artg
I∗G x
Avantage du filtre de Sobel : plus robuste vis-à-vis du bruit

Exercice 4

On calcule les deux composantes :


I ( x+ 1 , y ) −I (x−1, y )
I y=
2
I ( x , y+1 )−I (x , y−1)
I x=
2
1 Que représentent ces deux composantes

2 Approximer ces deux composantes par des opérations de convolution avec deux masques
3x3, qu’il faut déterminer.

3
3 Calculer les valeurs des pixels (3,3) et le pixel (3,4) après l’application des deux masques
(considérer l’image de l’exercice 2)

4 Compléter cette procédure

Réponse
Les deux composantes :
∂I
I y=
∂y
∂I
I x=
∂x
2 I x =I∗G x ,

I y =I∗G y ,
Avec :
I ( x , y ) =I x =1/2 [ I ( x+ 1, y )−I ( x−1 , y )=I∗G x =w1 ∙ I ( x−1 , y −1 )+ w2 ∙ I ( x−1 , y )+ w3 ∙ I ( x−1 , y +1 ) +
'

[ ][ ]
w 1 w2 w3 0 −1/2 0
G y = w 4 w5 w6 = 0 0 0
w 7 w8 w9 0 1/2 0

De même, on extrait les coefficients de G y

[ ]
0 0 0
G x = −1/2 0 1/2
0 0 0
1 4−5
3 p ( 3 ,3 )=I∗G y = =−1/2
2
2 5−4
p ( 3 ,3 )=I∗G x = =1/2
2
1 5−5
p ( 3 , 4 ) =I ∗G y = =0
2
2 5−5
p ( 3 , 4 ) =I ∗G x = =0
2
Exercice
Quelle est l’opération principale à effectuer en filtrage (avec un filtre h) et en détections de
contours d’une image I M × N ? que va-t-on modifier ?
Solution :
L’opération de base est la convolution :

4
i=x+d x j= y+ dx
( I∗h )( x , y )= ∑ ∑ h(i , j)∙ I (x−i, y− j)
i=x−d x j= y−d x
-Si h est filtre passe-bas, c’est une opération de filtrage, si h est filtre passe-haut c’est une
détection de contours. La différence est donc les coefficients des filtres.

Exercice
Est-ce que les filtres suivants ont le même effet sur l’image ? et quel est le rôle de chacun des
filtres :

[ ]
1 −2 1
−2 4 −2 ,
1 −2 1

[ ]
1 2 1
1
2 4 2
16
1 2 1

[ ]
0 −1 0
−1 4 −1
0 −1 0

[ ]
−1 −1 −1
−1 8 −1
−1 −1 −1

Questions de cours :
Questions de cours :
1. Quelles sont les limitations d'un système visuel humain par rapport au système visuel artificiel ?
2. Quelle est la différence entre le traditionnel programming et le machine learning ?
3. Lorsque on décale horizontalement un histogramme, le contraste ou la luminance qui sera
modifiée?
4. Citer deux techniques pour améliorer le contraste d'une image ?
5. Citer un avantage et un inconvénient d'un filtre fréquentiel passe-haut ?
6. Quelle est la différences entre l'échantillonnage et la quantification des images numériques ?
7. Le filtre médian est un filtre non linéaire, oui non ?
8. L'opérateur LoG = filtre gaussien + la première dérivée de l'image, oui non ?
9. L'extraction d'un contour nécessite toujours l'estimation de gradient, oui non ?
10. Quel est l'effet d'un filtrage par la matrice de convolution suivante ? Un flou Un éclaircissement
Aucun effet (image inchangée)
Un flou

Un éclaircissement

5
Aucun effet (image inchangée)

0 0 0
0 1 0
0 0 0

Exercice 5

Soit l’image I à niveaux de gris (codée sur 4 bits) de taille 11×10 pixels.
1- Définir le contraste et calculer sa valeur dans cette image I ?
2- Tracer l'histogramme de l'image I ?
3- Binariser l'image I de façon à séparer l'emoji (visage souriant) du fond ? donner la valeur de
seuil S et représenter l'image binaire I b ?
4- Un bruit est ajouté à l'image I tel que: I ( 2 , 2 )=0 , I ( 10 , 10 ) =15 , I ( 8 , 4 )=0 , I (6 , 9)=15
4.1- Quel est le type de ce bruit ?
4.2- Appliquer un filtre moyenneur (équitable) et un filtre médian de taille 3 ×3 sur les pixels
bruités?
4.3- Quel filtre est plus adapté ? justifier ?
5- Maintenant, on veut corriger le contraste de l'image I par l'égalisation de l'histogramme:
5.1- Citer les 4 étapes principales pour réaliser l'égalisation de l'histogramme ?
5.2- Donner les nouvelles valeurs des pixels suivants: (2,4), (4,4), (8,8), (2,2), (11,10).

Exercice 6
Soit les trois masques de filtres suivants:

[ ] [ ] [ ]
1 2 1 1 2 1 1 1 1
h1 = X ∙ 2 4 2 , h2 = 0 0 0 , h3 = 1 −8 0
1 2 1 −1 −2 −1 1 1 1
1- Nommer ces trois filtres ? Pour h1 , quelle est la valeur appropriée de X ?
2- Lesquels parmi ces trois filtres utilisés pour la détection de contours ? Mentionner un
avantage et un inconvénient de chaqu' un ?
3- Tracer le schéma de principe de la détection de contours en utilisant le gradient ?
Solutions : questions de cours :
1. Les limitations d'un système visuel humain par rapport au système visuel artificiel sont :
 problèmes d'échelle,
 la haute résolution,
 les gammes invisibles de la lumière,
 la rapidité (plusieurs images par secondes),

6
 la continuité et la puissance de calcul. 2. La différence entre traditional programming et
Machine learning :

3. Lorsque on décale horizontalement un histogramme, la luminance qui sera modifiée.


4. Deux techniques pour améliorer le contraste d'une image : Extension linéaire et égalisation de
l'histogramme.
5. Un avantage d'un filtre fréquentiel passe-haut : Garder les hautes fréquences pour présenter les
contours,
Un inconvénient : Sensible au bruit.
6. L'échantillonnage : la discrétisation des coordonnées de l'image (la résolution spatiale qui donne la
taille de
pixel). La quantification : la discrétisation des intensités de l'image (la résolution spectrale qui donne
les
niveaux de gris).
7. Le filtre médian est un filtre non linéaire (Oui).
8. L'opérateur LoG = filtre gaussien + la première dérivée d'une image (Non).
9. L'extraction d'un contour nécessite toujours l'estimation de gradient (Non).
10.Quel est l'effet d'un filtrage par la matrice de convolution suivante ?

Un flou

Un éclaircissement

Aucun effet (image inchangée)

Exercice 5

7
8
Exercice 6

9
---------------------------------------------------------------------------------------------------------------------------
Exercice 7
Questions de cours
1) Donner l'expression de la transformée de Fourier 2D discrète d'une image monochrome de M×N
2) Définir les notions de traitement d'images suivantes : filtrage d'images, restauration d'images.
Quels
sont les principaux intérêts de ces opérations
3) Donner des exemples de filtres d'extraction de contours : spatial, fréquentiel et analytique.

Exercice 8

N
1- Tracer son histogramme 2-Calculer l'entropie H de cette image ( rappel H=−∑ Pi log 10 Pi)
i=1
applique à cette image les filtres suivants :

[ ] [ ]
1 2 1 1 0 −1
1
H 1= ∙ 2 4 2 , H 2= 1 0 −1 ,
16
1 2 1 1 0 −1
3- Quels seront les valeurs des pixels (1,2) et (5,5) après l'application du filtre H 1?
4- Quels seront les valeurs des pixels (1,2) et (5,5) après l'application du filtre H 2 ?

10
Exercice 9
On dispose de l'image suivante dont on souhaite détecter les contours internes et externes qui sont
facilement identifiables à l'œil nu.

1) Quel est le type d'imagerie médicale a été utilisé pour obtenir cette image (Bonus) ?
2) Quel type de filtrage vous proposez pour résoudre ce problème ? (justifier)

[ ]
−1 0 1
3) On se propose d'utiliser un filtre de Sobel défini par S= −2 0 2 sur la zone zoomée.
−1 0 1
-Quelle est la seule valeur possible prise par le point d'interrogation ?
-Calculer le filtrage Entrée calculé par S

Solutions exercices : 7-9


Exercice 7

L’expression de la transformée de Fourier 2D discrète d'une image monochrome de M×N :


La notion de transformée de Fourier à deux dimensions est une généralisation de celle à une
dimension. Soit f (x , y ) une fonction à deux variables représentant l'intensité d'une image au point
d'abscisse x et d'ordonnée y. La transformée de Fourier de cette image permet de passer d'une
représentation spatiale à la représentation de l’image dans le domaine fréquentiel. Elle est donnée
par:
+∞ +∞
F ( u , v )= ∑ ∑ f (m , n)e− j2 πum e− j 2 πvn
m=−∞ n=−∞

11
Où F (u , v ) est la transformée de fourrier de la matrice f(m,n). Les deux variables u et v représentent
les fréquences spatiales de l'image selon les directions Ox et Oy respectivement.

Or, l’image ayant un nombre de pixels fini, l’intensité lumineuse des pixels est donc un signal à
support borné. D’où l’utilisation de la TF discrète donnée par :

M −1 N−1 u v
−j2π m − j2 π n
F ( u , v )= ∑ ∑ f (m , n)e M
e N

m=0 n=0
2-Les notions de traitement d’images :
Filtrage d’images
Le modèle d'une image X corrompue par un bruit additif b de puissance var est le suivant:

X b=X +b

Le bruit peut provenir de différentes causes :


 Environnement lors de l'acquisition,
 Qualité du capteur,
 Qualité de l'échantillonnage. En général, le bruit d’images est considéré comme un champ
aléatoire caractérisé par sa densité de probabilité f et sa fonction de répartition F . La nature plus ou
moins impulsionnelle du bruit peut être décrite à l’aide de densité de probabilités de la forme
[Cocquerez 95]:
f ( a )=C ∙ exp ( −K|a| )
α

Plusieurs filtres sont utilisés pour la réduction de bruit, ils sont divisés en deux
catégories :
 Filtres linéaires stationnaires ,
 Filtres non linéaires stationnaires.
La première catégorie comprend tous les opérateurs pouvant exprimer leur résultat
comme une combinaison linéaire des niveaux de gris d'un voisinage de l'image. Ces filtres
possèdent des caractéristiques spectrales, on parle ainsi de filtre passe-bas (l'image devient
floue) ou de filtre passe-haut (les contours ressortent).
Voici quelques exemples de filtres réducteurs de bruit :
 Filtre moyenneur
 Filtre gaussien
 Filtre exponentiel de Shen
Le principal inconvénient des filtres linéaire est que la réduction de bruit s’accompagne
d’un étalement des transitions entre régions. Ce problème peut être surmonté par l’utilisation
des filtres non linéaires.
Le domaine de filtrage non linéaire est extrêmement vaste. Les opérateurs les plus
courants en pré-traitement d’images sont :
 Les filtres d’ordre,
 Les filtres homomorphique,
 Les filtres morphologique.

On rappelle que l’opération de base :


i=x+d x j= y+ dx
( I∗h )( x , y )= ∑ ∑ h(i , j)∙ I (x−i, y− j)
i=x−d x j= y−d x

Avec h et I le filtre et l’image à traiter respectivement.

12
…..

13

Vous aimerez peut-être aussi