• Nenhum resultado encontrado

Description de l’algorithme

No documento détecteurs plats à rayons X (páginas 115-119)

4.6 Détection par filtrage directionnel

4.6.2 Description de l’algorithme

Le principe général de l’algorithme est décrit par le schéma de la figure 4.16. On distingue principa- lement trois blocs de traitement, qui seront décrits ci-après : un module de calcul des filtres, un module de filtrage simple, et un module de sélection pixel à pixel des filtres retenus et à partir desquels l’image résultat sera calculée.

4.6.2.1 Calcul des filtres

Si on choisit de réaliser l’analyse selonn orientations, on calcule un banc de filtres Fk, k= 1· · ·n.

Dans la suite, les filtres sont exprimés à l’aide des coordonnées polaires (r, θ) dans Fourier. On note Fck

la transformée de Fourier de Fk. L’origine du repère pour les coordonnées polaires est la fréquence nulle dans la représentation de Fourier. On a doncFck(u, v) =Fck(rcosθ, rsinθ). Dans notre application on a pris lesFk tels que :

Fck(r, θ) =

(cos2 n2(θθk)

si min (|θθksgn(θ)π|,|θθk|)≤πn

0sinon (4.15)

4.6. Détection par filtrage directionnel 107

(a) Fonctions de transfert des filtres

(b) Défaut à détecter

(c) Images filtrées du défaut

Figure4.15 – Filtrage d’un défaut par banc de filtres directionnels

Figure4.16 – Schéma de principe : détection par filtrage fréquentiel

avecθk =πn(k−1). Pour des raisons pratiques (éliminer la composante constante des images), on prend de plusFck(0,0) = 0.

Un exemple de tels filtres est présenté dans la figure 4.15(a). On remarque de plus que, pour les filtres définis, on a :

∀(i, j)6= (0,0),

n

X

k=1

Fck(i, j) = 1 (4.16)

Ces filtres ont un profil de type sinusoïdal centré sur chacune des orientations analysées et sont à supports fréquentiels recouvrants.

4.6.2.2 Filtrage

Une fois les filtres calculés, la méthode applique chacun de ces filtres à l’image d’origineI(i, j) pour générer des images filtréesIk(i, j). Le bloc de filtrage réalise cette opération simple, générant à partir de I(i, j) et des filtresFk(i, j) les images filtréesVk(i, j) avec :

k∈[1;n], Vk(i, j) = I(i, j)∗Fk(i, j) (4.17)

= T F−1n

I(u, v)b ·Fck(u, v)o

(4.18) En pratique, l’opération de filtrage est réalisée à l’aide de l’équation 4.18.

4.6.2.3 FiltSelec : sélection des filtres à utiliser

Enfin, une dernière étape consiste à déterminer quels filtres seront conservés pour générer l’image résultat. Dans cette étape, on opère pixel à pixel.

Pour chaque pixel (i, j), on a donc un vecteur

V(i, j) =

V1(i, j) V2(i, j)

... Vn(i, j)

Ce vecteur contient deux composantes, V(i, j)+ et V(i, j) contenant respectivement uniquement les valeurs positives de V i, jet uniquement ses valeurs négatives. Ces deux composantes correspondent à la présence d’orientations présentant des structures corrélées respectivement claires ou sombres par rapport à la moyenne de l’image. Afin de former l’image de détection finale, il y a deux manières possibles de traiter cette information :

– soit on se place dans le cas général où on dispose de peu d’a priorisur les défauts à détecter, et on cherche donc à détecter dans le même temps les structures claires et sombres. Cette approche est la plus générale : elle permet de ne pas distinguer deux classes de défauts.

– Soit on cherche uniquement à détecter les structures claires ou sombres, et on ne traite qu’une composante. Cette méthode permet de réduire l’influence du bruit dans le processus de détection, au prix d’une perte de généricité de la méthode.

Dans notre cas, nous avons choisi la première méthode, afin de nous placer dans le cas le plus général possible. Néanmoins la deuxième méthode a été testée, et donne effectivement de meilleurs résultats sur les défauts ne présentant que des structures plus claires que le bruit de fond, comme c’est le cas pour tous les défauts synthétiques étudiés, sauf le défaut Oscillations.

On rappelle qu’on a prisFck(0,0) = 0 donc les images filtrées{Ik}sont de moyenne nulle. Les éléments dans chaque vecteurV(i, j)+ etV(i, j) sont alors regroupés et triés par ordre décroissant de leur valeur absolue.

4.6. Détection par filtrage directionnel 109

Figure4.17 – Nombre de filtres sélectionnées sur défaut de type Lines

On obtient le vecteurVtri(i, j) :

Vtri(i, j) =

Vk1(i, j) Vk2(i, j)

... Vkn(i, j)

avecVk1(i, j)≥Vk2(i, j)≥ · · · ≥Vkn(i, j) (4.19)

Après cette opération de classement, par souci de simplicité, on conserve la numérotation des filtres de 1 àn,F1(i, j) étant alors le filtre à la réponse maximale au pixel (i, j) considéré.

La dernière étape consiste à déterminer quelles orientations garder dans l’image finale. On détermine ainsiα tel que6:

α= arg max

α

 Pα

k=1

Vktri(i, j) q

Pα

k=1kFkk2

(4.21) Cette étape revient à choisir si la puissance récupérée par filtrage au point (i, j) est plus importante lorsqu’on utilise un filtre, ou la somme de plusieurs filtres. La normalisation par l’énergie du filtre ou de la combinaison de filtres utilisés est impérative pour pouvoir comparer de manière cohérente les réponses du ou des filtres en (i, j). Cette étape de sélection de filtres revient à chercher s’il y a une direction locale privilégiée autour du pixel (i, j). Si en ce point, il faut deux ou plusieurs filtres de base pour approcher la direction présente, ou si il y a effectivement deux ou plusieurs directions présentes, il faudra utiliser plusieurs filtres pour les récupérer. Ceci est illustré par la figure 4.17. Sur cette image, on a représenté en chaque point le nombre de filtres sélectionnés par la procédure décrite auparavant et appliquée au défaut constitué d’une ligne horizontale et d’une ligne verticale. Pour les pixels se situant sur l’une ou l’autre des deux lignes, un seul filtre a été à chaque fois sélectionné : le filtre correspondant à l’orientation verticale ou horizontale. L’exception est le point de croisement des deux lignes, où deux filtres ont été sectionnés : le filtre horizontal et vertical, ce qui traduit bien la présence de deux structures corrélées horizontalement et verticalement en ce point. Dans les zones de bruit, le nombre de filtres choisis est aléatoire.

Notons que lorsqu’on parle de direction privilégiée, il s’agit de direction sur laquelle les pixels ont une valeur relativement constante et plus ou moins élevée par rapport à la moyenne de l’image. En effet, les filtres utilisés réalisent une opération de moyennage selon plusieurs directions, et ne peuvent donc pas

6. Cette formule s’applique directement dans le cas d’un bruit blanc. Dans le cas d’un bruit non blanc, il convient d’adapter la normalisation à la distribution particulière en énergie du bruit selon les canaux fréquentiels. Pour un bruit B, on aurait alors

α= arg max

α

( Pα k=1

Vktri(i, j) pPα

k=1kFkBk2

)

(4.20)

(a) Images d’origine

(b) Images en sortie du détecteur par filtrage directionnel

(c) Images seuillées du détecteur par filtrage directionnel, à un taux de fausse alarme nul

Figure4.18 – Résultats et images seuillées du détecteur par filtrage directionnel

détecter de fluctuations haute fréquence selon une direction.

No documento détecteurs plats à rayons X (páginas 115-119)