07/05/2024
Solution avec seuillage
1) Seuillage global, vue précédemment
2) Seuillage global par histogramme
◦ Seuil S déterminé en tenant compte de l'histogramme de l'image
◦ Sélectionner un pourcentage des contours les plus significatifs.
◦ Exemple, désirer garder 20% des contours les plus forts. En
déterminant l'histogramme cumulé du module du gradient, le choix
d'un pourcentage de pixels et donc des contours les plus significatifs
conduit a la valeur du seuil S
93
Solution avec seuillage
3) Amincissement séquentiel
◦ Amincir les contours. La définition d'un contour dépend des voisins. Dans une
zone ou les valeurs de plusieurs pixels sont supérieures au seuil (𝐺(𝑥, 𝑦) > 𝑆),
seul le maximum de ces pixels pour une direction donnée du gradient est
conservé.
◦ Est contour horizontal 𝐺 𝑥 − 1, 𝑦 ≤ 𝐺 𝑥, 𝑦 ∧ 𝐺 𝑥, 𝑦 > 𝐺 𝑥 + 1, 𝑦
◦ Est contour vertical 𝐺 𝑥, 𝑦 − 1 ≤ 𝐺 𝑥, 𝑦 ∧ 𝐺 𝑥, 𝑦 > 𝐺 𝑥, 𝑦 + 1
94
1
07/05/2024
Solution avec seuillage
3) Amincissement séquentiel
◦ Une opération visant à retirer - sauf en certains points caractéristiques - une couche de
pixels autour de l'image.
◦ La squelettisation d'une image est obtenue par réalisation itérative d'amincissements
séquentiels jusqu'à idempotence (i.e. plus de modifications).
◦ Un squelette d'une image X peut être obtenu par itération d'amincissements
séquentiels
Soble amincissement, seuil à 80%
95
Solution avec seuillage
4) Seuillage local par hystérésis
◦ On s’intéresse aux pixels avoisinant les contours les plus significatifs de l'image.
◦ Garder les contours les plus forts de l'image mais en essayant d'assurer leur
continuité.
◦ Deux seuils : un seuil haut Sh et un seuil bas Sb. Le seuil bas permet de mettre en
évidence des contours moins forts de l'image. Ces contours sont conserves s'ils
sont situes dans le voisinage des contours les plus significatifs
Algorithme
◦ Inférieur au seuil bas, le point est rejeté ;
◦ Supérieur au seuil haut, le point est accepté comme formant un contour ;
◦ Entre le seuil bas et haut, le point est accepté s'il est connecté à un point déjà
accepté.
◦ difficulté du choix des seuils Sb et Sh. Imposer une relation afin de diminuer le
nombre de degrés de liberté (par exemple Sb=0.4 Sh).
96
2
07/05/2024
Solution avec seuillage
5) Seuillage local par extraction des maxima du gradient
dans une direction (Détecteur de bords de Canny)
◦ Conserver uniquement les maxima locaux dans une direction du
gradient.
◦ Comparer la norme du gradient en tout point 𝑚 de l'image avec
celles de ses deux voisins 𝑚1 et 𝑚2 situes dans la direction du
gradient a une distance unitaire de part et d'autre de 𝑚.
97
Solution avec seuillage
5) Seuillage local par extraction des maxima du gradient dans une
direction (Détecteur de bords de Canny)
◦ On lisse l’image avec une filtre gaussien pour retirer les petits détails, le bruit. On
obtient Is
◦ On calcul Ix et Iy , les dérivées en x et y de l’image lissée
98
3
07/05/2024
Solution avec seuillage
5) Seuillage local par extraction des maxima du gradient dans une
direction (Détecteur de bords de Canny)
◦ On calcule l’image 𝐺 correspond à la norme du gradient de l’image lissée
99
Solution avec seuillage
5) Seuillage local par extraction des maxima du gradient dans une
direction (Détecteur de bords de Canny)
◦ Seuiller 𝐺 ne suffit pas car l’on obtient des bords trop gros
◦ Chercher les points maximums locaux de la norme du gradient lorsque l’on considère
leurs voisins dans le segment orienté dans la direction du gradient
𝑘𝜋
◦ On va arrondir la direction du gradient en 8 direction possibles { |𝑘 ∈ 𝑍}
4
◦ On compare l’amplitude du gradient au centre avec celle aux 2 voisins dans la direction
discrétisée et celle opposée
100
4
07/05/2024
Solution avec seuillage
5) Seuillage local par extraction des maxima du gradient dans une
direction (Détecteur de bords de Canny)
𝛻𝐼
◦ Calcule le champs de vecteurs 𝐷(𝑥, 𝑦) = correspondant au gradient
|𝛻𝐼|
normalisé (orientations) et on calcule l’angle 𝜃(𝑥, 𝑦) qu’il forme avec le vecteur
(1, 0)
𝐷(𝑥, 𝑦) 𝜃(𝑥, 𝑦)
101
Solution avec seuillage
5) Seuillage local par extraction des maxima du gradient dans une
direction (Détecteur de bords de Canny)
◦ On arrondi l’angle 𝜃(𝑥, 𝑦) avec la valeur la plus proche dans {𝑘𝜋/4|𝑘 ∈ 𝑍} pour
෨ 𝑦). On obtient ensuite de directions arrondies 𝐷
obtenir 𝜃(𝑥, ෩ (𝑥, 𝑦) =
[𝑟𝑜𝑢𝑛𝑑(cos(𝜃(𝑥,෨ 𝑦))), 𝑟𝑜𝑢𝑛𝑑(sin(𝜃(𝑥, ෨ 𝑦)))]
𝐷(𝑥, 𝑦) 𝜃(𝑥, 𝑦)
102
5
07/05/2024
Solution avec seuillage
5) Seuillage local par extraction des maxima du gradient dans une
direction (Détecteur de bords de Canny)
◦ On obtient l’ensemble M des maximum locaux comme l’ensemble des points
de l’image vérifiant les deux conditions
◦ 𝐺 𝑥, 𝑦 > 𝐺(𝑥 + 𝐷 ෩𝑥 𝑥, 𝑦 , 𝑦 + 𝐷
෩𝑦 𝑥, 𝑦 )
෩𝑥 𝑥, 𝑦 , 𝑦 − 𝐷
◦ 𝐺 𝑥, 𝑦 > 𝐺(𝑥 − 𝐷 ෩𝑦 𝑥, 𝑦 )
103
Solution avec seuillage
5) Seuillage local par extraction des maxima du gradient dans une
direction (Détecteur de bords de Canny)
Appliquer seuillage local par hystérésis
Sb Sh bords
104
6
07/05/2024
Résolution du problème :
Approches du second ordre
•Dérivée seconde selon 𝒙:
𝜕𝐼
𝑥, 𝑦 ≈ 𝐼 𝑥, 𝑦 − 𝐼 𝑥 − 1, 𝑦 (approximation)
𝜕𝑥
𝜕2 𝐼 𝜕𝐼 𝜕𝐼
𝑥, 𝑦 ≈ 𝑥, 𝑦
𝜕2 𝑥 𝜕𝑥 𝜕𝑥
𝜕2 𝐼
𝑥, 𝑦 ≈ 𝐼 𝑥 + 1, 𝑦 − 2𝐼 𝑥, 𝑦 + 𝐼 𝑥 − 1, 𝑦
𝜕2 𝑥
Filtre 𝑊 = [1, −2,1]
𝜕2 𝐼 𝜕2 𝐼
𝑥, 𝑦 + 𝑥, 𝑦 ≈ 𝐼 𝑥 + 1, 𝑦 + 𝐼 𝑥 − 1, 𝑦 +𝐼 𝑥, 𝑦 + 1 + 𝐼 𝑥, 𝑦 − 1 − 4𝐼 𝑥, 𝑦
𝜕2 𝑥 𝜕2 𝑦
𝜕2 𝐼 𝜕2 𝐼
𝑥, 𝑦 + 𝑥, 𝑦 ≈ ∆𝐼 le Laplace
𝜕2 𝑥 𝜕2 𝑦
105
Approches du second ordre
𝜕2 𝐼 𝜕2 𝐼
𝑥, 𝑦 + 𝑥, 𝑦 ≈ 𝐼 𝑥 + 1, 𝑦 + 𝐼 𝑥 − 1, 𝑦 +𝐼 𝑥, 𝑦 + 1 + 𝐼 𝑥, 𝑦 − 1 − 4𝐼 𝑥, 𝑦
𝜕2 𝑥 𝜕2 𝑦
𝜕2 𝐼 𝜕2 𝐼
𝑥, 𝑦 + 𝑥, 𝑦 ≈ ∆𝐼 le Laplace
𝜕2 𝑥 𝜕2 𝑦
D'autres masques
106
7
07/05/2024
Approches du second ordre
Détection des passages par zéro du Laplacien
En pratique : Prendre une fenêtre centrée 3 × 3 sur le pixel (𝑖 ; 𝑗), et
calculer max(𝐼𝐿 ) 𝑒𝑡 min(𝐼𝐿 ). Le passage par 0 sera détecté si
max 𝐼𝐿 > 0, min 𝐼𝐿 < 0, 𝑒𝑡 max 𝐼𝐿 − min(𝐼𝐿 ) > 𝑆.
Image Laplacien : les contours correspondent aux transitions entre
valeurs positives (blanc) et négatives (noir), avec un seuil sur l'amplitude
107
Approches du second ordre
Laplacien d’une image avec Seuil = 0.1
108
8
07/05/2024
Approches du second ordre
Pré-traitement : lissage passe-bas : 𝐼 ∗ 𝑔
𝑥2 +𝑦2
1 −
Cas d'un masque Gaussien 𝑔 𝑥, 𝑦 = 𝑒 2𝜎2
√2𝜋𝜎
∆(𝐼 ∗ 𝑔) = 𝐼 ∗ ∆𝑔
On convolue directement I avec le masque déni par ∆𝑔 : Laplacian of
Gaussian (LoG)
4 𝑥 2 + 𝑦2 𝑥 2 +𝑦 2
−
∆𝑔 𝑥, 𝑦 = ( − 1)𝑒 2𝜎 2
√2𝜋𝜎 2𝜎 2
110
Approches du second ordre
Laplacian of Gaussian (LoG)
111
9
07/05/2024
Approches du second ordre
LoG : filtre du système de vision humain
LoG peut être approximé par DoG : Difference of Gaussians
𝐷𝑜𝐺 𝑥, 𝑦, 𝜎1 , 𝜎2 = 𝑔 𝑥, 𝑦, 𝜎1 − 𝑔 𝑥, 𝑦, 𝜎2
𝜎1
Avec = 1.6
𝜎2
112
10