Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

A2017 Traitement Images Partie 2 Page Web

Télécharger au format ppsx, pdf ou txt
Télécharger au format ppsx, pdf ou txt
Vous êtes sur la page 1sur 84

Traitement des images

(Partie 2: segmentation de bas niveau)


Patrick Hébert, Samy Metari & Denis Laurendeau (Dernière révision : juin 2017)

Références utiles:

Sonka et al : 5.3.2 à 5.3.5, 5.3.10, 6.2, 6.2.1

1
Introduction

2
Cette partie du cours aborde les éléments suivants :

1. Définition de “caractéristiques” (“feature”) d’une image

2. Détection des arêtes

3. Détection des coins et points isolés “stables” et invariants

3
Les caractéristiques d’intérêt
dans les images

4
Définition 1:

Une “caractéristique” (“feature”) est une partie significative, locale et


détectable d’une image

Définition 2:

Les parties significatives incluent:

• les arêtes et les contours (i.e. discontinituité dans une propriété de


l’image comme l’illuminance, la texture, la couleur, l’ombre,
l’orientation de surface, etc.)
• les coins
• les régions (i.e. les zones de l’image qui partagent la même
caractéristique)

5
Exemples

Arêtes d’illuminance Arêtes de texture

Arêtes de couleurs Arêtes d’ombres

6
Détection de coins

7
Segmentation en régions
de couleurs indentiques

8
La détection des arêtes :
approches par dérivée première

9
Les étapes classiques de détection des pixels d’arêtes sont les suivantes:

1. Filtrage du bruit avant la dérivation

2. Rehaussement (i.e. détection) des arêtes par l’application d’une


dérivée sur l’image d’illuminance filtrée

3. Localisation précise des arêtes (élimination des non-maximums


et seuillage)

10
Les opérations de détection et de localisation des arêtes sont
antagonistes et il faut trouver un compromis entre les deux pour obtenir
des performances satisfaisantes:

1. une détection fiable peu affectée par le bruit résulte


généralement en une localisation imprécise

2. une localisation précise des arêtes résulte en une détection peu


fiable et très affectée par le bruit (i.e. le nombre de pixels
d’arêtes associés au bruit est élevé)

11
• Les arêtes d’illuminance résident généralement sur le contour des
“objets” dans l’image.

• Les contours correspondent aux changements d’illuminance


importants

• La définition “d’objet” n’est pas claire...

• La détection des pixels d’arêtes se fait généralement par l’application


d’un opérateur de dérivation (dérivée première ou seconde) sur
l’image

• Le calcul de la dérivée entraîne aussi une augmentation des effets du


bruit.

12
Types d’arêtes

Rampe (ramp) Ligne (line)

Toit (roof)
Echelon (step)

Tiré de Pratt

13
Exemples

Rampe (ramp) Ligne (line)

Echelon (step) Toit (roof)

Tiré de Gonzalez et Woods

14
Rehaussement (détection) des arêtes

La détection des arêtes se fait généralement par le calcul du gradient


de l’image d’illuminance E(x,y):

𝛻 𝐸(𝑥 , 𝑦 )=¿ (1)

Le gradient est une quantité vectorielle ayant une amplitude et une


orientation.

15
En pratique, comme l’image est discrète (E(i,j)), on utilise des
opérateurs de gradient discrets (horizontal (colonnes) et vertical
(lignes)) convolués avec l’image

Dérivée “horizontale” 𝐷 𝑥 =[ −1 0 1 ] (2)

[ ]
−1
Dérivée “verticale” 𝐷𝑦= 0 (3)
1

Comme la dérivée est sensible au bruit, il est recommandé de passer


un filtre gaussien avant la dérivée

16
On peut tirer profit du fait que la convolution est une opération
linéaire (que ce soit pour le filtrage gaussien ou pour la dérivation)
pour écrire que:

𝐷 ∗(𝐺 ∗ 𝐸)=(𝐷 ∗ 𝐺)∗ 𝐸 (4)

On peut donc filtrer l’image et appliquer la dérivée (gauche de (4) ou


appliquer la dérivée au noyau du filtre et filtrer l’image avec le noyau
résultant (droite de (4)).

17
Exemple

𝐺∗𝐸 ¿ ¿
Une fois 𝐸 𝑥et 𝐸 𝑦 calculés, on s’intéresse au module et à l’orientation du gradient à
chaque pixel:

Module 𝐸 𝑠 (𝑖 , 𝑗 )=‖ ¿ (5)

Orientation 𝐸 𝜃=arctan
[ ]
𝐸𝑦
𝐸𝑥
(6)

19
Exemple avec l’échiquier

¿ ¿ 𝐸 𝑠= √ 𝐸 +𝐸
2
𝑥
2
𝑦

Amplitude du gradient

20
Pour détecter les pixels d’arête, il suffit d’appliquer un seuil sur
l’amplitude du gradient et de ne conserver que les pixels au-dessus de ce
seuil. Le seuil peut être choisi automatiquement en construisant un
histogramme de l’amplitude du gradient.

pixels dont
l’amplitude du
gradient dépasse
un seuil

21
La détection des arêtes :
approches par dérivée seconde

22
Il est aussi possible de détecter les pixels d’arête en calculant la dérivée
seconde de l’image.

On parle dans ce cas de l’opérateur Laplacien.

2
𝛻 𝐸 (𝑥 , 𝑦 )=¿¿ (7)

Le résultat est une quantité scalaire.

23
Le Laplacien étant une dérivée seconde, son calcul est encore plus affecté par
le bruit que le gradient.

Il est donc important de filtrer l’image avec un filtre gaussien avant


d’appliquer la dérivée seconde.

Comme dans le cas du gradient, on peut tirer profit du fait que le filtrage
gaussien et le Laplacien sont des opérations linéaires. On peut écrire:

𝐺 ∗(𝛻 2 ∗ 𝐸)=(𝐺 ∗ 𝛻 2)∗ 𝐸 (8)

24
En tirant profit de l’associativité, on a que:

𝛻 2 ∗(𝐺∗ 𝐸)=(𝛻 2 ∗ 𝐺)∗ 𝐸

Laplacien d’une Gaussienne (Opérateur LoG)

Version discrète 3 x 3

[ ]
0 1 0
𝐿= 1 −4 1 (9)
0 1 0

Laplacien d’une gaussienne inversé


Tiré de Efford

25
Propriétés importantes du Laplacien de Gaussienne LoG) :

1. Opérateur à symétrie de révolution (i.e. ne fournit aucune information sur


l’orientation de l’arête)

2. Les pixels d’arête sont situés au passage par zéro du LoG

3. Produit des contours fermés

26
Illustration de la détection des pixels d’arête avec l’opérateur LoG

pixel d’arête

l’arête est située au maximum du


gradient...

ou au passage par zéro du LoG

Tiré de Nixon

27
On peut approximer le LoG en prenant la différence de deux gaussiennes
(DoG) de valeurs d’écart-type s différentes

𝐺𝜎2
𝐺𝜎1

𝐺 𝜎 1 − 𝐺𝜎 2

28
Exemple de résultats

(a) LoG avec s = 3 (b) LoG avec s = 5


Tiré de Efford

29
Pour des raisons non-évidentes et non reliées à la discrétisation de l’opérateur, le
LoG cause l’apparition d’artéfacts indésirables comme des boucles le long de
certaines arêtes et des petites bosses près des coins

Tiré de Forsyth

30
La détection des arêtes
par dérivée première : quelques
autres opérateurs discrets

31
Opérateur de Roberts (peu utilisé, mais
célèbre sur le plan historique)
𝑅 𝑥= [ 1
0
0
−1 ] 𝑅𝑦 =
[ 0
−1
1
0 ] (10)

[ ] [ ]
−1 0 1 −1 −1 −1
Opérateur de Prewitt (très utilisé à cause de 𝑃 𝑥= − 1 0 1 𝑃 𝑦= 0 0 0 (11)
−1 0 1 1 1 1
sa simplicité)

[ ] [ ]
Opérateur de Sobel (donne plus −1 0 1 −1 −2 −1
d’importance aux pixels sur le 4-voisins du 𝑆 𝑥= − 2 0 2 𝑆𝑦 = 0 0 0
(12)
−1 0 1 1 2 1
pixel central du masque de convolution)

32
La détection des arêtes par dérivée première :
opérateur optimal de Canny

33
L’un des opérateurs de détection d’arêtes les plus célèbres est l’opérateur de
Canny (Canny edge détector)

Canny formule le problème de détection d’arêtes comme suit:

1. formulation mathématique d’un modèle d’arête perturbé par du bruit


blanc gaussien additif

2. introduction de critères de performance pour la détection des arêtes

3. proposition d’un filtre linéaire

4. proposition d’une méthode de détection des arêtes suite à l’application


du filtre linéaire

34
Critères de performance définis par Canny :

1. détection des pixels d’arête : le but est d’obtenir peu de fausses alarmes
et peu de fausses détections

2. localisation : le but est de positionner l’arête le plus près possible de sa


position réelle dans l’image

3. réponse de l’opérateur : la réponse de l’opérateur doit être simple dans le


voisinage de l’arête
Il faut faire un compromis entre détection et localisation

Bonne solution : opérateur dérivée de gaussienne d’une taille d’au


moins 7 x 7 à 9 x 9 pixels
35
Détecteur de Canny – Etape 1
Calculer l’amplitude 𝐸 𝑠 du gradient et son orientation 𝐸 𝜃 en chaque pixel de
l’image
Cette tâche peut être faite de deux façons :

[ ] [ ]
−1 0 1 0 −1 −1
𝐸 𝑠 −0 ∘ = −1 0 1 𝐸 𝑠 −45 ∘ = 1 0 −1
Convolution avec des opérateurs −1 0 1 1 1 0
directionnels (0°, 45°, 90°, 135°)

[ ] [ ]
−1 −1 −1 −1 −1 0
𝐸 𝑠 −90 ∘ = 0 0 0 𝐸 𝑠 −135 = − 1 ∘ 0 1
1 1 1 0 1 1

Filtrer l’image avec une gaussienne et estimer le gradient

36
Détecteur de Canny – Etape 2
Élimination des non-maximums:

• Seuls les pixels correspondant à


extremums locaux sont considérés
comme appartenant aux arêtes et sont
conservés pour l’étape suivante
• Un extremum local correspond à un
pixel où l’amplitude du gradient est
maximum dans un voisinage
correspondant à la direction du
gradient.
• Cette étape conduit à des contours
partiels

37
Détecteur de Canny – Etape 3
Seuillage d’amplitude

• parmi les pixels ayant franchi l’étape 2, on


ne garde que ceux qui “sont significatifs”
• comme l’amplitude du gradient varie
beaucoup, le choix d’un seul seuil est
difficile
• on procède donc à un seuillage par
hystérésis: un seuil haut et un seuil plus bas
• on suit d’abord les pixels dont l’amplitude
dépasse le seuil haut

38
Détecteur de Canny – Etape 3
Seuillage d’amplitude

• on continue ensuite le suivi en connectant


les pixels dont l’amplitude dépasse le seuil
haut avec ceux dont l’amplitude dépasse le
seuil bas
• les jonctions en Y, qui posent souvent
problème dans le suivi de contours, sont
éliminées à l’étape 2

39
Exemple et analyse
En pratique:
• il y a des pixels d’arête (“edgels”) Tiré de Efford
superflus causés par le bruit
• il y a des pixels d’arête non détectés à
cause du choix arbitraire des seuils
• il y a des erreurs dans la position et
l’orientation des edgels (notamment à
cause de la discrétisation)
• pour compenser ces faiblesses,il faut (a) seuil de 50 (b) seuil de 150
concevoir des algorithmes de suivi
d’arêtes de haut niveau (raisonnement
à un niveau supérieur au pixel)

40
En complément

Plusieurs améliorations ont été apportées à l’approche de Canny et aux approches


de détection d’arêtes en général:

• positionnement sub-pixel des pixels d’arêtes

• accélération du traitement pour les applications en temps réel

• traitement multi-échelles

• traitement spécifique pour les jonctions entre arêtes (jonctions en “L”, jonctions
en “T”, jonctions en “Y”

41
Détection des coins et points isolés
“stables” et invariants

42
Constat sur les pixels d’arête: les détecteurs se comportent moins bien près
des coins car le gradient est mal défini (ou discontinu) en ces endroits de
l’image.

Moyen de résoudre ce problème: détecter pixels où le gradient est fort dans


plus d’une direction – ce sont les pixels situés sur les coins

Exemples d’opérateurs pour la


détection des coins:

• détecteur de Harris

• détecteur de Förstner

43
Détection de coins de Harris

44
Etapes de la méthode de Harris

Etape 1: Calculer les images de gradient 𝐸 𝑥 et 𝐸 𝑦

Etape 2: pour tous les points de l’image de gradient, calculer la matrice de


covariance du gradient (dans une fenêtre 2N+1 x 2N+1) et en extraire les valeurs
propres 𝜆1 et 𝜆2 (avec 𝜆2 ≤ 𝜆1 )

Pour visualiser cette étape, on peut prendre un pixel (x,y) et un


voisinage (Dx,Dy)

45
La fonction d’autocorrélation de l’image en (x,y) est donnée par:

𝐶 ( 𝑥 , 𝑦 )= ∑ ¿ ¿ ¿ (13)
𝑤
( 𝑥𝑖 , 𝑦 𝑖 ¿ 𝑠𝑜𝑛𝑡 𝑙𝑒𝑠 𝑝𝑖𝑥𝑒𝑙𝑠 𝑑𝑎𝑛𝑠 𝑤

Si on approxime ¿ par sa série de Taylor, en se limitant aux 2


premiers termes, on obtient:

𝐼 (𝑥 𝑖 +𝛥 𝑥 , 𝑦 𝑖 +𝛥 𝑦 )=𝐼 (𝑥𝑖 , 𝑦 𝑖)+¿ (14)

46
En replaçant (14) dans (13), on a:

𝐶 ( 𝑥 , 𝑦 )= ∑ ¿ ¿ ¿ (15)
𝑤

qu’on peut simplifier comme:

[ ∑𝑥 ∑ 𝐼𝑥 𝐼𝑦
]
2

[ ]
𝐼 𝛥𝑥
𝐶(𝑥, 𝑦)= [ 𝛥 𝑥 𝛥 𝑦 ] 𝑤 𝑤 (16)
𝛥𝑦
∑ 𝐼 𝑦 𝐼𝑥 ∑ 𝐼𝑦 2

𝑤 𝑤

47
La matrice:

[ ∑𝑥 ∑ 𝐼𝑥 𝐼𝑦
]
2
𝐼
𝑤 𝑤 (17)
∑ 𝐼𝑦 𝐼𝑥 ∑ 𝐼𝑦 2

𝑤 𝑤

illustre la structure du gradient de l’image dans un voisinage du pixel (x,y).

Ses valeurs propres 𝜆1 et 𝜆2 décrivent l’étalement des valeurs du gradient dans deux
directions orthogonales (et peuvent être associées aux “courbures” principales de la
fonction d’autocorrélation).

48
On calcule la valeur R (la réponse de l’opérateur) définie comme:

𝑅=𝑑𝑒𝑡 (𝐶 ( 𝑥 , 𝑦 )) −𝑘 ¿ (18)

où det(C(x,y)) est le déterminant de C(x,y) qui est égal à l1l2

et trace(C(x,y)) est la trace de C(x,y) qui vaut l1+l2. On a donc


pour (18) (en assumant que l1>l2 ):

2
𝑅=𝜆1 𝜆2 −𝑘 ( 𝜆1 + 𝜆2 ) (19)

avec 0.4 ≤ 𝑘 ≤ 0.6

49
L’analyse des iso-contours de R fournit l’interprétation suivante.

Tiré de “A COMBINED CORNER AND EDGE DETECTOR”, Chris Harris & Mike Stephens, Plessey Research, 1988

50
Pour repérer les coins significatifs dans l’image, on procède
comme suit:

1. on repère les pixels où R est grand


2. on observe les pixels voisins et on élimine ceux pour lesquels
R est plus faible
3. après ce tri, on ne conserve que les pixels étant des
maximums locaux de R

51
Résultats

Tiré de Trucco
52
Détection de points isolés stables
Détecteur SIFT
(Scale-Invariant Feature Transform)

53
Objectif de l’algorithme SIFT

Détecter et identifier les éléments similaires entre des images numériques


avec une invariance:
• à l’échelle;
• au cadrage;
• à l’angle d’observation et
• à la luminosité.

Cette détection peut avoir plusieurs utilités en vision artificielle:


• recherche d’images dans des bases de données d’images;
• suivi (tracking) d’objets dans une séquence vidéo;
• appariement stéréoscopique pour la reconstruction 3D (prochain
chapitre);
• etc.

54
Exemple

Dessin

Point “invariant” stable

Image du dessin observé sur un écran


d’ordinateur avec une orientation, une
luminosité et une échelle différentes de
celles du du dessin original

55
La stratégie consiste à trouver un descripteur (le descripteur SIFT)
pour des pixels qui soit stable en fonction de l’échelle de l’image

Ce descripteur doit être robuste aux changements d’orientation, à la


luminosité et au cadrage

Seuls les points ayant un descripteur stable sont conservés.

56
Cette approche a été proposée par David Lowe (professeur à UBC) dans l’article suivant:

David G. Lowe, "Distinctive Image Features from Scale-Invariant Keypoints", International Journal of
Computer Vision, November 2004, Volume 60, Issue 2, pp 91–110

Cette méthode a connu plusieurs variantes et améliorations. Elle demeure un fondement de la vision
artificielle.

57
Les étapes de la méthode SIFT sont les suivantes:

1. Détection des extrémums (maximums et minimums) de différence


des gaussiennes dans l’espace des échelles (éléments traités dans ce qui suit)
2. Localisation précise de ces extrémums dans l’image et dans l’espace
des échelles
a. amélioration de la précision de localisation par interpolation
b. Élimination des pixels de faible contraste
c. Élimination des pixels situés sur les arêtes
3. Assignation d’une orientation préférentielle aux extrémums
4. Construction du descripteur de pixels d’intérêt (“feature points”)

58
ETAPE 1 : Construction de la pyramide d’images filtrées par des gaussiennes.

Construire l’espace d’échelles L(x,y,s) de l’image en


• Filtrant l’image d’origine avec un filtre gaussien d’écart-type (échelle) s

• Générant chaque nouvelle échelle comme un facteur constant de l’échelle précédente


(i.e. s2 = k s1)

• Plus l’échelle augmente, plus les détails fins (plus petits que s) s’estompent

¿ (20)

59
On construit une pyramide en soustrayant
les images de deux échelles voisines
(différences de gaussiennes DoG D(x,y,s))

On effectue cette opération sur plusieurs


octaves (i.e. un octave est situé à 2s de
l’échelle précédente)

60
Les paramètres utilisés pour construire la pyramide sont les suivants:

1. octave : multiplication par un facteur 2 de l’écart type d’une échelle. On a donc les
octaves s, 2s, 4s, 8s
2. s : nombre d’intervalles dans un octave
3. ne : nombre d’échelles dans un octave
4. k : facteur multiplicatif de l’écart-type d’une échelle pour obtenir l’écart-type de l’échelle
suivante
D’après les analyses expérimentales menées par Lowe, les paramètres optimaux de l’approche
pyramidale sont les suivants:

1. nombre d’octaves : 4
2. nombre d’échelles par octave ne = 5
3. nombre d’intervalles dans un octave s = 2
4. nombre d’images par octave ni = s + 3 = 5
5. facteur multiplicatif de l’écart-type d’une échelle k = 2 1/s, donc 𝑘= √2
Les diagrammes qui suivent illustrent comment l’espace d’échelles est construit.

61
Diagramme illustrant la construction de l’espace d’échelles et le calcul des DoG
À l’octave 1, 5 images filtrées
L(x,y,s) sont générées avec le s
de l’échelle 2 = k s, etc.

5 échelles dans l’octave


permettent de calculer 4 DoG
et de générer deux images DoG
ayant au moins une image au-
dessus et une image en dessous
pour permettre de détecter des
extrémums (voir la suite).

À l’octave 2, on récupère
l’image “au centre” de l’octave
1, on la décime par 2 sur les
lignes et les colonnes et on
filtre.

On procède ainsi pour les


octaves 3 et 4
62
Résultat de la construction de la pyramide de
différences de gaussiennes
Octave 4

Octave 3

Octave 2
Octave 1
Tiré de : http://aishack.in/tutorials/sift-scale-invariant-feature-transform-scale-space/ 63
ETAPE 2 : Détection des extrémums de différences de gaussiennes dans l’espace
des échelles

Un pixel d’intérêt “candidat” de coordonnées (x,y,s) est un pixel où la différences de gaussiennes


(DoG) est un extrémum (maximum ou minimum) par rapport à ses 26 voisins immédiats

{ 𝐷(𝑥+𝜕𝑥 , 𝑦+𝜕𝑦 , 𝑠𝜎 ),𝜕𝑥 ∈ { −1,0,1 } ,𝜕𝑦 ∈ { −1,0,1 } ,𝑠∈ { 𝑘−1,0 ,𝑘 } }


(21)

64
Exemple de résultat de pixels d’intérêt potentiels

On remarque que plusieurs pixels d’intérêt


potentiels sont dans des régions de l’images qui
sont peu significatives (le ciel par exemple) et
sont par conséquent peu stables. Ils doivent
être éliminés

On souhaite également que la localisation des


pixels d’intérêt potentiels soit précise (sub-
pixel, sub-échelle). Par conséquent, on cherche
à interpoler leur position.

65
Approche d’interpolation de la position des pixels d’intérêt potentiels:

Développement en série de Taylor d’ordre 2 de la fonction D(x,y,s) en


prenant comme origine les coordonnées du pixel candidat

𝛿 𝐷𝑇 1 𝑇 𝜕2 𝐷
𝐷(𝑥)=𝐷+ 𝑥+ 𝑥 2
𝑥 (22)
𝛿𝑥 2 𝜕𝑥
Les dérivées sont estimées numériquement

Dans (22), “x” est un delta par rapport aux


coordonnées du pixel candidat

66
La position interpolée ^𝑥 de l’extrémum est calculée en égalant la dérivée de (22)
à zéro

¿¿ (23)

qui donne:
𝜕2 𝐷 −1 𝛿 𝐷
^𝑥 =− 2 (24)
𝜕𝑥 𝛿𝑥

67
Preuve de (24) en 1 dimension
′ 1 ″ 2
𝑓 ( 𝑥)= 𝑓 + 𝑓 𝑥+ 𝑓 𝑥 (25)
2

𝛿𝑓 ″ ′ 1 ‴ 2 2 ″
=0+ 𝑓 𝑥+ 𝑓 + 𝑓 𝑥 + 𝑓 𝑥 (26)
𝛿𝑥 2 2
En simplifiant et en négligeant f’’’ on obtient:

2 𝑓 ″ 𝑥+ 𝑓 ′ =0 (27)

d’où la solution pour x :


𝑓′
𝑥=− ″ (28)
𝑓

(on laisse tomber le facteur ½ car il ne sert à rien)


68
En revenant à (24), on a que si ^𝑥 >0.5 dans l’une des trois dimensions, cela
signifie que le pixel est plus près d’un des voisins dans l’espace discret. Dans ce
cas, le pixel d’intérêt candidat est mis à jour et l’interpolation est réalisée à partir
de ces nouvelles coordonnées. Autrement, le delta est ajouté aux coordonnées
du pixel candidat et sa localisation gagne en précision.

69
ETAPE 3 : Élimination des pixels d’intérêt de faible contraste
Un seuillage absolu appliqué sur les pixels d’intérêt candidats pour lesquels

¿ 𝐷 ( ^𝑥 ) ∨¿ 0.03 (29)

permet d’éliminer ceux qui sont instable et situés dans les zones de faible
contraste

Avant le seuillage Après le seuillage


70
ETAPE 4 : Élimination des pixels d’intérêt situés sur les arêtes d’illuminance

Les pixels d’intérêt situés près des arêtes d’illuminance sont instables car
leur apparence dépend beaucoup du point de vue. Il sont aussi instables
car ils peuvent disparaître selon selon certaines conditions d’éclairage.

Pour éliminer ces pixels d’intérêt près des arêtes, on procède de façon
similaire à l’approche de détection de coins de Harris, soit par l’analyse
d’une matrice construite dans le voisinage de ces pixels.

La matrice d’intérêt est la Hessienne de la fonction DoG D(x,y,s)

Cette matrice permet d’étudier les courbures principales de D(x,y,s)

71
La matrice Hessienne H au pixel d’intérêt (x,y,s) est définie comme suit:

𝐻=
[ 𝐷 𝑥𝑥
𝐷 𝑦𝑥
𝐷 𝑥𝑦
𝐷 𝑦𝑦 ] (30)

Les valeurs propres de H sont proportionnelles aux courbures principales de


D(x,y,s)

Nous porterons attention au rapport des courbures (ou des valeurs propres) de H

𝑟 < 𝑠𝑒𝑢𝑖𝑙 𝑂𝐾
(31)
𝑟 > 𝑠𝑒𝑢𝑖𝑙 𝑎𝑟 ê 𝑡𝑒

72
Soit a la plus grande valeur propre de H et b la plus petite. On peut calculer la
trace de H notée Tr(H) et le déterminant de H noté Det(H) :

𝑇𝑟 (𝐻 )=𝐷 𝑥𝑥 +𝐷 𝑦𝑦 =𝛼+𝛽 (32)

𝐷𝑒𝑡 (𝐻)=𝐷 𝑥𝑥 𝐷 𝑦𝑦 − 𝐷 2𝑥𝑦 =𝛼 𝛽 (33)

Le rapport r entre les valeurs propres est donné par:

𝛼 (34)
𝑟=
𝛽

73
En utilisant (34) et en calculant le rapport entre Tr2(H) et Det(h) on a:

𝑇𝑟 ( 𝐻 ) 2 (35)
¿ ¿
2
On remarque que le rapport 𝑇𝑟 ( 𝐻 ) ne dépend que du rapport des valeurs
propres de H ¿¿
(r+1)^2/r
25
2
(𝑟 +1 ) est minimum pour r = 1. 20

𝑟 15

(r+1)^2/r
10

0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
r

74
Les analyses sur un grand nombre d’images de natures diverses ont permis de
choisir r = 10 comme seuil. Par conséquent, si
2
𝑇𝑟 ( 𝐻 ) (36)
¿¿
on choisit de conserver le pixel d’intérêt.

Pour
𝑇𝑟 ( 𝐻 )2 (37)
¿¿

le point d’intérêt est éliminé.

75
Résultat
Certains pixels ont la vie dure

Pixels d’intérêt Pixels d’intérêt après l’élimination Pixels d’intérêt après l’élimination
des pixels à faible contraste des pixels à faible contraste et des
pixels d’arête

76
ETAPE 5 : Assignation d’orientation privilégiée aux pixels d’intérêt

En assignant une orientation dominante à un pixel d’intérêt, il est par la suite


possible de définir un descripteur pour le pixel qui soit exprimé relativement à
cette orientation, ce qui rend le descripteur robuste aux changements
d’orientation dans les images.

Pour un pixel d’intérêt localisé en (x,y,sp), on choisit l’image filtrée L(s) d’échelle
s la plus près de sp de manière à rendre les traitements subséquents invariants à
l’échelle.

77
ETAPE 5 : Assignation d’orientation privilégiée aux pixels d’intérêt

En assignant une orientation dominante à un pixel d’intérêt, il est par la suite


possible de définir un descripteur pour le pixel qui soit exprimé relativement à
cette orientation, ce qui rend le descripteur robuste aux changements
d’orientation dans les images.

Pour un pixel d’intérêt localisé en (x,y,sp), on choisit l’image filtrée L(s) d’échelle
s la plus près de sp de manière à rendre les traitements subséquents invariants à
l’échelle.

78
Pour chaque pixel (x,y) de L(x,y,s), on calcule l’amplitude m(x,y) du gradient:

𝑚 ( 𝑥 , 𝑦 )= √ ¿ ¿ (38)

et l’orientation q(x,y) du gradient:

−1
𝜃 ( 𝑥 , 𝑦 )=tan ¿ (39)

79
Un histogramme d’orientations est construit à partir des orientations du
gradient des pixels voisins d’un pixel d’intérêt.

L’histogramme d’orientations comporte 36 alvéoles (“bins”) couvrant la plage


complète des 360° d’orientations possibles au pixel d’intérêt

Chaque échantillon ajouté à l’histogramme (dans l’alvéole correspondant à


l’orientation du gradient) est pondéré par l’amplitude du gradient m(x,y) et par
un poids d’une fenêtre circulaire de s égal à 1.5 fois l’échelle du pixel d’intérêt

80
Les maximums de l’histogramme correspondent à des orientations
dominantes au point d’intérêt. Le maximum absolu de
l’histogramme est détecté. L’orientation de ce maximum est
assignée au pixel d’intérêt.

Les maximums secondaires dont l’amplitude a une valeur de 80%


de celle du maximum absolu sont aussi détectés. Pour chaque
maximum secondaire, un pixel d’intérêt est aussi créé aux mêmes
coordonnées (et à la même échelle) que le pixel d’intérêt
L’histogramme est construit pour une région de correspondant au maximum.
16 x 16 autour du pixel d’intérêt
En général, seulement 15% des points se voient assigner plusieurs
orientations. Cependant, ils contribuent significativement à la
robustesse de l’approche.
81
ETAPE 6 : Construction du descripteur SIFT
Dans les étapes précédentes, des points d’intérêt ont été repérés. Ces points se
sont vu assigner:

1. une position (x,y)


2. une échelle s
3. une orientation dominante entre 0 et 360°.

Ces paramètres imposent un système de coordonnées 2D par rapport auquel on peut


décrire l’image localement et fournir une invariance par rapport à ceux-ci.

Ces points d’intérêt décrivent une région de l’image (dans l’espace des échelles) de
manière stable et invariante par rapport aux paramètres de localisation, d’échelle et
d’orientation.
82
Le descripteur du point d’intérêt est construit avec des sous-régions 4 x 4 du
voisinage 16 x 16 du point d’intérêt.

Un histogramme d’orientations (8 alvéoles) est construit


pour chaque sous-région 4 x 4. Dans le schéma de gauche,
la longueur d’une flèche est proportionnelle à la somme
de l’amplitude des gradients dans l’alvéole correspondant
à sa direction (référée à l’orientation privilégiée).

Comme la région 16 x 16 est centrée sur le point d’intérêt,


les éléments de la région tombent entre les pixels. On
interpole les valeurs de gradients par une interpolation
bilinéraire pour construire les histogrammes.

Le descripteur est formé en concaténant les entrées des 8


alvéoles des 4 x 4 sous-regions pour former un vecteur de
4 x 4 x 8 = 128 éléments

83
De plus, pour réduire les effets de changement d’éclairage, le vecteur de 128
éléments est normalisé pour le rendre unitaire (i.e. module de 1).

Finalement, pour réduire les effets de la saturation de certaines zones de l’image


et pour réduire les effets non-linéaires du changement d’éclairage produisant des
valeurs de gradient élevées, un seuil de 0.2 est appliqué aux éléments du vecteur
normalisé. Les alvéoles dépassant ce seuil sont mises à zéro et le vecteur résultant
est renormalisé pour avoir une norme unitaire.

Le seuil de 0.2 a été déterminé expérimentalement en étudiant un grand nombre


d’images.

84

Vous aimerez peut-être aussi