• Aucun résultat trouvé

3.1 Analyse locale des structures

3.1.2 Approche « signal » du tenseur

Nous étudions ici l’approche « signal » vers une détection optimale des contours, qui a été proposée en 1982 dans la thèse de H. Knutsson [82], et qui a donné naissance à la notion d’invariance par changement de phase. Cette propriété permet de détecter également les bords et les lignes dans une procédure unifiée, sans avoir recours à des dérivées d’ordre supérieur. La méthode a ensuite été étendue dans un formalisme de tenseur [61].

Il existe depuis la fin des années 70 une définition assez répandue des filtres « en quadrature 2D » : il s’agit des filtres dont la réponse fréquentielle est nulle dans un demi-plan. La partie imaginaire de ces filtres est donc la transformée de Hilbert partielle de la partie réelle (voir section 1.3.1) dans une certaine direction. Les décompositions type Gabor 2D classiques [60, 34] que nous avons vues à la section 1.3.2 sont implicitement construites sur cette définition. L’avantage de ces filtres est que l’amplitude de leurs sorties est invariante par changement de phase du signal, c’est-à-dire que le modèle pourra s’adapter aux bords aussi bien qu’aux lignes (voir la correspondance entre la phase et les structures 1D à la table 1.1).

Afin d’étudier l’orientation locale de l’image, on s’intéresse à des filtres g dont la réponse fréquentielle est séparable en coordonnées polaires, et dont on considère les rotations gθ0 d’angle quelconque θ0 :

0(x)

F

←→ r(kωk) d(arg{ω1+ jω2} − θ0) (3.12)

où r est la réponse dite radiale, qui déterminera le gabarit fréquentiel du filtre, et d la réponse

angulaire (fonction périodique), qui indiquera la sélectivité du filtre en termes d’orientation.

L’idée est de remarquer que le filtrage par gθ0 d’un signal simple s(x) = f1D(x cos α + y sin α)

fournit une sortie qui ne dépend de θ0 que par un facteur constant. Plus précisément, on a :

(s∗ gθ0)(x) = (s∗ gθ1)(x)

d(α− θ0)

d(α− θ1)

(3.13)

Ceci est dû au fait que le support du spectre d’un signal simple est réduit à une ligne orientée vers α. En se fixant une réponse angulaire d et plusieurs directions de filtrage, on peut donc retrouver exactement α. L’analyse est toujours valable si le signal est localement simple en tout point, et donnera une orientation variable α(x). La partie radiale r contrôle indépendamment l’échelle d’analyse.

Prenons maintenant le cas particulier :

d(θ) =

{

cos2(θ) si |θ| < π/2

0 sinon (3.14)

Le filtre correspondant est orienté, et en quadrature. Il est montré dans [82] que pour couvrir toutes les orientations possibles du signal dans ce cas particulier, au moins trois filtrages doivent être utilisés. En prenant quatre filtres orientés vers θ0 ∈ {0, π/4, π/2, 3π/4} (choix qui simplifie les expressions et l’implantation), on peut considérer l’amplitude des signaux de sortie :

s1 =|(s ∗ g0)(x)| s2=|(s ∗ gπ

4)(x)| s3 =|(s ∗ g

π

2)(x)| s4 =|(s ∗ g3π4 )(x)|

(3.15) et vérifier par identités trigonométriques que :

α = 1

74 3.1. Analyse locale des structures s(ω) λ+(x) χ(x) θ+(x) 0 max 0 1 −π2 0 π2 |ˆhx1|(ω) |ˆhx2|(ω) ˆg0(ω) gˆ π 4(ω) gˆ π 2(ω) ˆg 4 (ω)

Figure 3.1 – Analyse par tenseur de structure de l’image s. Méthode par gradient (1ère ligne), méthode

par filtres en quadrature séparables en coordonnées polaires (2ème ligne), et gains fréquentiels des filtres utilisés (3ème ligne).

Cette technique a été étendue à la construction complète de tenseur de structure dans [61]. Toujours dans le cas de nos quatre filtres, on peut construire le tenseur suivant :

T = 1 4 [ 3s1+ s2− s3+ s4 2s2− 2s4 2s2− 2s4 −s1+ s2+ 3s3+ s4 ] (3.17)

et montrer que ses valeurs/vecteurs propres portent le même type d’information que celles du tenseur basé gradient. Nous proposons d’analyser les différences entre les deux approches par un exemple.

Calcul d’un exemple

Afin de discuter les propriétés du tenseur de structure en comparant les deux méthodes présentées, nous avons illustré un exemple sur la figure 3.1.

Pour la méthode par estimation de gradient (première ligne de la figure 3.1), nous avons utilisé les filtres de R. Dériche [42], qui font référence dans ce domaine car ils optimisent le critère de J. Canny sur la détection des bords. Nous avons fixé le paramètre d’échelle « α » [42] de façon à ce que les filtres aient une réponse maximum à la pulsation 8×

N (où N est le nombre de lignes/colonnes de l’image)3. Nous désignons ces filtres par hx1 et hx2, dont le module des

spectres |ˆhx1(ω)| et |ˆhx2(ω)| est illustré sur la troisième ligne de la figure 3.1. La fenêtre de

lissage du tenseur est une gaussienne de taille σ = 1.

Pour la méthode par filtres en quadrature séparables en coordonnées polaires, nous avons utilisé une réponse radiale définie par le spectre d’une différence de noyaux de Poisson ajustée en octaves :

r(kωk) = e−N log(2)kωk2π2k − e−

N log(2)kωk

2π2k−1 (3.18)

de façon à ce que les filtres aient une réponse maximum à la pulsation 8×

N, comme précédem- ment, en fixant le numéro d’octave k = 3. Les modules des spectres des filtres g0, gπ

4, g

π

2 et g3π4

(voir equation (3.12)) sont illustrés sur la troisième ligne de la figure 3.1.

Pour chaque méthode, nous illustrons la plus grande valeur propre λ+, qui indique la force

de variation, la mesure de cohérence (équation (3.11)), qui discrimine les structures « i2D » (plus complexes que le modèle linéaire), et la direction θ+ du vecteurs propre associé à λ+, qui indique l’orientation principale. L’affichage de θ+ se fait par l’encodage de cette valeur dans la

teinte (« hue ») de l’illustration générée par le sytème de couleur HSV. L’intensité est fixée à 1

et la saturation est encodée par λ+. Ainsi, la valeurs de θ+ non significatives, c’est-à-dire pour

lesquelles λ+ est faible, sont « blanchies » et donc moins visibles. Celà permet de n’observer que les données pertinentes.

Observations comparatives

L’observation de la figure 3.1 montre que la détection de contours effectuée par λ+ varie

significativement entre les deux méthodes, ainsi que la mesure de cohérence.

Une première raison est celle de la différence des gabarits fréquentiels des filtres utilisés. Bien que dans notre cas, nous ayons pris soin de minimiser cette différence en « synchronisant » nos filtres, des différences persistent nécessairement entre la réponse radiale r des filtres en quadrature et le gain des filtres de Dériche. De plus, l’utilisation d’un lissage du tenseur dans la méthode par gradient « élargit » la réponse λ+ en attenuant les oscillations autour des bords.

Une deuxième raison est celle du modèle de contour sous-jacent. La première méthode est op- timisée pour détecter les variations de type bord. En conséquence une ligne sera détectée comme deux bords alignés côte-à-côte, et traduite par une « double-réponse », visible ici au niveau de la bouche ou des cheveux du personnage. La seconde méthode est construite sur l’amplitude de la sortie de filtres en quadrature, qui est théoriquement invariante par changement de phase du signal (ceci est toutefois limité aux structures alignées avec le filtre utilisé). La contrepartie de cette propriété intéressante est qu’un nombre plus important de filtres est nécessaire pour construire le tenseur (au moins 3 filtres complexes, donc 6 filtres réels [61]).

On constate que les lignes que nous venons d’évoquer sont mieux détectées avec la deuxième méthode. Il s’agit de la bouche et des cheveux, qui produisent une réponse simple, et correctement centrée sur ces lignes. Les fortes valeurs de cohérence χ au niveau de ces lignes confirment que le signal concorde bien au modèle. Notons que celà n’est plus vrai aux extrémités de ces lignes (cheveux et bouche), ainsi qu’aux jonctions (racines des cheveux), et sur les structures isotropes (yeux). Dans ces cas particuliers, la cohérence χ indique des valeurs faibles traduisant une faible concordance au modèle orienté.

Globalement, l’orientation estimée sur l’ensemble des structures est cohérente avec notre perception. Il faut toutefois noter que les cheveux ne présentent pas d’orientation claire avec la méthode gradient, ce qui est dû à un passage par zero du gradient au centre de la ligne, entraînant une instabilité du calcul de l’orientation locale. Avec la méthode par filtres en quadrature, l’orientation des cheveux est légèrement plus cohérente, en particulier sur la « crète » de la ligne. Notons que malgré l’utilisation de filtres en quadrature, cette méthode ne permet pas d’extraire explicitement la phase locale de s. En effet, il faudrait utiliser un filtre en quadrature spécifique en chaque point, dont la direction de filtrage serait celle de l’orientation estimée, ce qui n’est pas optimal car la complexité de l’algorithme serait en N2. Voyons maintenant comment

76 3.1. Analyse locale des structures