Pré-traitement des images couleur

Transcription

Pré-traitement des images couleur
Pré-traitement des images couleur
P. Lambert 1
P. Montesinos 2
1 Laboratoire
d'Informatique, Systèmes, Traitement de l’Information et de la Connaissance
LISTIC - Université de Savoie - BP 806- F.74016 ANNECY cedex (France)
2 LGI2P
/ EMA
Parc Scientifique Georges Besse 30035 Nimes (France)
[email protected], [email protected]
Résumé
Les objectifs de base du pré-traitement des images couleur
sont fondamentalement les mêmes que ceux qui guident le
filtrage des images mono-composantes. Cependant, la
nature multi-composante des images couleur et les propriétés particulières de la couleur font apparaître certaines spécificités et certaines difficultés. Cette présentation
comprendra deux parties principales :
- dans une première partie, (partie A), après une présentation des différentes stratégies de pré-traitement envisageables, l’accent sera mis sur les méthodologies de filtrage,
linéaires d’abord, puis non-linéaires. On s’intéressera plus
particulièrement aux filtres d’ordre et à l’extension de la
morphologie mathématique à la couleur.
-la deuxième partie, (partie B), sera consacrée à la présentation des bases de la géométrie différentielle couleur et
leur application à la segmentation et la restauration
d’images couleur. Nous présenterons tout d’abord les opérateurs différentiels permettant d’obtenir des contours puis
des coins. Nous présenterons ensuite leur application dans
le cadre de la théorie des EDP couleur pour la segmentation et la restauration d’images couleur.
PARTIE A
1 Introduction
Les objectifs de base du pré-traitement des images multicomposantes sont fondamentalement les mêmes que ceux
qui guident le filtrage des images mono-composantes. Il
s’agit de mettre en relief l’information “utile” contenue
dans l’image et d’atténuer, voire éliminer, l’information
“inutile” [1]. Le but poursuivi peut être une simple amélio-
ration visuelle de l’image. Par exemple, une image médicale est plus facilement analysée par le praticien si elle a été
au préalable mise en forme et débarrassée des perturbations
provoquées par le système d’acquisition. Mais, plus fréquemment, le pré-traitement apparaît comme une étape préliminaire dont le rôle est de faciliter les étapes ultérieures du
traitement. Dans ce cours, nous nous limiterons à des méthodes utilisant des opérateurs locaux, excluant ainsi toutes
les approches de type filtrage inverse, reposant souvent sur
un modèle de la formation de l'image.
Cette première partie sera organisée de la manière suivante.
Nous donnerons d’abord quelques généralités sur le prétraitement des images couleur, en pointant les spécificités
liées au contexte de la couleur. Puis nous nous intéresserons
aux techniques de réduction de bruit. Deux approches seront envisagées : l'approche linéaire, et l'approche non-linéaire, où nous présenterons deux des principales familles
de filtres couleur : les filtres d'ordre et les filtres morphologiques.
2 Contexte et stratégie
L’élaboration de pré-traitements couleur induit un certain
nombre de particularités et de caractéristiques qui font apparaître deux aspects fondamentaux. Les images couleur se
présentant sous une forme multi-composante (bien souvent
trois composantes), il faut d’abord prendre en compte ces
différentes composantes dans les schémas de traitement.
Enfin, la nature spécifique des données à traiter permet,
dans certaines circonstances, d’envisager une transposition
de l’espace initial des paramètres dans un autre espace plus
adapté à la mise en œuvre des traitements.
2.1 Stratégie de traitement
On peut distinguer deux grands types de stratégies [8] dans
l’élaboration des traitements :
- les stratégies marginales (ou scalaires) où le contexte multi-composante ne sera pas exploité.
Cette stratégie consiste à traiter chaque composante séparément en utilisant des traitements mono-composantes, empruntés à l’imagerie monochrome. La figure ci-dessous
(Fig. 1) illustre cette stratégie, qui, de par sa structure, ignore totalement la corrélation pouvant exister entre les différentes composantes, délaissant ainsi une information
pouvant participer à l’amélioration des performances des
traitements. L’intérêt de cette approche est de n’utiliser que
des traitements scalaires. Toutes les méthodes définies en
imagerie monochrome sont alors directement exploitables,
sans aucune adaptation. On peut, bien évidemment, employer des traitements différents pour chaque composante,
en fonction de la nature de ces composantes.
R
Image
Traitement scalaire
V
initiale
B
Traitement scalaire
Rf
On peut alors chercher un espace plus approprié [4]. Le traitement est alors effectué dans ce nouvel espace (après une
transformation T), et l'application de la transformation inverse (T -1, si elle existe) permet, si nécessaire de revenir
dans l'espace RVB (Fig. 3).
R
V
B
Traitement
T
T-1
Rf
Vf
Bf
Image
Vf
filtrée
Bf
Traitement scalaire
• les composantes y sont souvent fortement corrélées,
• il est difficile d’y interpréter la notion de couleur,
• la différence perceptuelle entre deux couleurs ne coïncide pas avec la distance dans l’espace RVB.
Chgt d’espace inverse
2.1.1 Stratégie marginale
tain nombre de désavantages :
Chgt d’espace
- les stratégies vectorielles, élaborées en tenant compte de
la nature multi-composantes des images couleur.
Figure 3 - Traitement après projection dans un espace de
travail approprié
On peut distinguer trois solutions principales :
Figure 1 - Stratégie marginale
2.1.2 Stratégie vectorielle
L'alternative à cette stratégie est la stratégie vectorielle qui
traite de manière globale l'ensemble des composantes. Cette stratégie est illustrée (Fig. 2).
Rf
R
Image
initiale
V
Traitement vectoriel
Image
Vf
filtrée
Bf
B
Figure 2 - Stratégie vectorielle
Cette stratégie est a priori plus satisfaisante du point de vue
de la prise en compte du contexte multi-composante. L’intérêt de cette approche se situe également dans le fait qu’elle ne nécessite qu’un seul traitement, quelque soit le
nombre de composantes. Cet avantage doit être pondéré par
une complexité accrue de ce seul traitement.
2.2 Choix d’une base
Les images couleur sont généralement acquises dans l’espace RVB. On peut effectuer les traitements dans cet espace. Cette manière de procéder présente l’avantage de
garantir l’intégrité des données, mais elle présente un cer-
• la première consiste à rechercher une base où les composantes sont décorrélés. Cela correspond aux stratégies empruntées à l’analyse statistique (analyse en composantes
principales, transformation de Karhunen-Loeve, analyse en
composantes indépendantes). Ces solutions sont en général
dépendantes des données.
• La seconde solution cherche un espace couleur perceptuel
où l’on puisse retrouver les attributs tels que la Teinte, la
Saturation et l’Intensité. Différents espaces de ce type sont
proposés dans la littérature.
• La dernière solution repose sur la définition d’un espace
dans lequel les distances euclidiennes entre couleurs sont
proches des différences perçues par un œil humain. Parmi
ces espaces perceptuellement uniformes, les plus courants
sont les espaces CIELAB et CIELUV. On peut noter que
ces espaces demandent souvent des connaissances sur les
conditions d’acquisition (illuminant).
2.3 Les fausses couleurs
Lorsque l’on aborde le traitement couleur, on se trouve très
souvent confronté à une situation particulière qui apparaît
de manière récurrente dans les stratégies de filtrage évoquées dans la littérature. Il est lié au choix que l’on fait pour
définir la sortie du filtre d’une famille de N pixels couleur:
faut-il contraindre cette sortie à être l’un des pixels de la famille, ou, au contraire, peut-on accepter un pixel différent
des pixels de cette famille, risquant alors d’introduire dans
l’image une nouvelle couleur ?
La figure ci-dessous (Fig. 4) illustre ce phénomène dans le
cas d’une image couleur synthétique sur laquelle on applique un filtrage médian marginal, qui peut faire apparaître
des fausses couleurs, et un filtre médian vectoriel (que nous
présenterons plus tard) qui évite les fausses couleurs.
L’image obtenue après filtrage médian marginal (Fig. 4-b)
fait apparaître une déformation des contours, typique du filtrage médian, ainsi qu’une région jaune indésirable (la taille
du filtre a été choisie volontairement grande pour faciliter
la visualisation du phénomène, mais le phénomène apparaît
quelque soit la taille du filtre). Avec le filtre médian vectoriel, on retrouve bien sûr (Fig. 4-c) la déformation des angles due au filtrage médian, mais la couleur parasite jaune
n’apparaît plus.
On montre alors sans difficulté que le traitement vectoriel
est équivalent à un traitement marginal.
Situation 2: la matrice h(u,v) n'est pas diagonale. Il y a présence de termes croisés, qui correspondent à des combinaisons linéaires entre les grandeurs Rouges, Vertes et Bleues.
Il n' y a plus alors équivalence entre les approches vectorielles et marginales. Néanmoins, cette situation est peu utilisée en pratique. En particulier, on montre que, dans le cas
de bruit gaussien, le filtre de lissage optimal est le filtre
moyenneur marginal.
3.2 Quelques exemples
3.2.1 le moyenneur
Le moyenneur vectoriel se ramenant à trois moyenneurs
scalaires, les propriétés obtenues sont bien connues (réduction de variance en 1/N - N = taille du filtre -, oprimalité pou
le bruit gaussien, ...). On peut néanmoins faire les remarques suivantes :
b -médian marginal
a- image initiale
c -médian vectoriel
Figure 4 - Fausses couleurs avec filtrage médian
3 Filtrage linéaire
3.1 principe
En niveau de gris, un filtre linéaire est défini par sa réponse
impulsionnelle, h(u,v) de taille Tx x Ty (Tx = 2.tx + 1, Ty =
2.ty + 1). L’équation de filtrage est alors :
I f ( x, y ) =
tx
ty
∑
∑
h ( u, v ) ⋅ I ( x – u, y – v )
Eq. (1)
u = –t x v = –ty
Pour les images couleur, on peut reprendre le même expression précédente, mais en utilisant des vecteurs.
I f ( x, y ) =
tx
ty
∑
∑
h ( u, v ) ⋅ I ( x – u, y – v )
Eq. (2)
u = –tx v = –ty
où I(x,y) désigne le vecteur RVB et où h(u,v) est une matrice 3x3.
Il existe alors deux situations:
h ( u, v ) =
• ensuite, la structure marginale risque d'engendrer des phénomènes de fausses couleurs.
Ce dernier problème peut être éviter en contraignant la sortie du filtre à faire partie des pixels de l'ensemble de départ,
mais on perd alors l’équivalence avec l’approche marginale
[8].
3.2.2 filtre adaptatif
On peut cependant introduire une certaine dose de traitement vectoriel dans des filtres linéaires couleur tout en gardant la structure marginale. Nous allons illustrer cela sur le
filtrage moyenneur adaptatif.
Le principe du filtre moyenneur adaptatif consiste à ne sélectionner, dans la fenêtre de filtrage, que les pixels appartenant à la même région que le pixel courant (intensité
proche du pixel courant) et donc à en exclure ceux appartenant à une région adjacente (intensité éloignée du pixel courant). Il est donc nécessaire de définir un seuil de similarité
S entre intensités. Pour une fenêtre d’analyse comportant N
pixels, le fonctionnement du filtre, dans sa version scalaire,
est décrit par l’équation :
tx
ty
∑
∑
c ( u, v ) ⋅ I ( x – u, y – v )
u = –t v = –t
x
y
I f ( x, y ) = ------------------------------------------------------------------------------------t
t
Situation 1: la matrice h(u,v) est diagonale,
R
• d'abord, il est possible d'utiliser des masques différents
sur chaque composante,
h ( u, v )
0
0
0
h ( u, v )
0
0
0
h ( u, v )
V
B
x
y
∑
∑
c ( u, v )
u = – tx v = – ty
Eq. (3)
Les coefficients c(u,v) sont donnés par:
Eq. (4)
si | I(x, y) - I(x - u, y -v )| < S
c(u,v) =1
sinon
c(u,v)=0
Pour prendre en compte la nature vectorielle de l’image
couleur, on peut définir les coefficients c(u,v) en appliquant
un critère agissant simultanément sur les trois composantes
RVB. Par exemple :
3
3
∀( X, Y ) ∈ IR × IR ,
X ≤ Y ⇔ h( X) ≤ h( Y )
Eq. (5)
Selon la définition choisie, on peut obtenir une relation
d'ordre total (⇔ h bijective), une relation de pré-ordre
(( X ≤ Y et Y ≤ X ) ⇒ X = Y) ou une relation d'ordre partiel (tous les vecteurs ne sont pas comparables ⇔ h non injective).
| V(x, y) - V(x - u, y -v )| < S et
Sur ce principe, de nombreux ordres peuvent être construits
[5]. Nous ne présenterons ci-dessous que l’un d’entre eux.
| B(x, y) - B(x - u, y -v )| < S
4.3 Ordre par mesure d'une distance
si | R(x, y) - R(x - u, y -v )| < S et
c(u,v) =1
sinon
c(u,v)=0
Ce mécanisme de détermination adaptative et vectorielle
des coefficients d’un filtre linéaire à structure marginale
peut être étendu à bien d’autres filtres.
4 Filtre d’ordre couleur
4.1 Contexte
D'une manière générale, les filtres non-linéaires, en particulier les filtres basés sur l'ordre permettent d'obtenir un
meilleur compromis que les filtres linéaires entre effet de
lissage et préservation des contours . Il sont largement utilisés sur les images à niveau de gris, mais leur extension aux
images couleur est délicate, car il n'existe pas d'ordre naturel sur un ensemble de vecteurs comme il en existe sur un
ensemble de scalaires (Fig. 5) .
V3
O
On définit alors l'ordre sur IR3 par l'ordre des scalaires associés par la projection h:
V1
V2
Si on conçoit aisément que V1 est
plus petit que V2, il est difficile de
comparer V2 et V3
Figure 5 - Illustration de la difficulté d'ordonner des
vecteurs
4.2 Ordre et Vecteurs
Il existe de nombreuses manières permettant de définir une
relation d'ordre (notée ≤) sur l’ensemble des vecteurs qui
constituent les pixels couleur d’une fenêtre de filtrage [5].
Une solution consiste à définir une fonction h qui projette
chaque vecteur X = (R,V,B) de IR3 sur IR :
3
h:IR → IR
X → h( X )
Très utilisée, cette technique repose sur la définition d'une
distance dist(X,Y) entre deux pixels couleur. N’importe
quelle famille {Xj} de pixels couleur peut alors être ordonnée de la manière suivante :
∀( X k, X l ) ∈ { X j }
2
X k ≤ X l ⇔ ∑ dist (X k,X j) ≤ ∑ dist (X l,X j)
j
j
Eq. (6)
Selon la distance utilisée, de nombreux filtres ont été proposés dans la littérature [3], [5], [6], [7], [8], [4]. L’ordre
ainsi obtenu est un pré-ordre. Le filtre médian couleur est
un des filtres basé sur cet ordre.
4.4 Le filtre médian vectoriel couleur
En scalaire, le filtre médian peut être défini par la valeur
médiane des données triées, qui peut s’exprimer sous la formulation suivante :
 N

y = arg min  ∑ x – x j
x

j = 1





Eq. (7)
où les xj désignent les valeurs des intensités de la fenêtre de
filtrage.
Sous cette forme, il est facile de passer à la définition du
médian vectoriel (XMV):
 N



X MV = arg min  ∑ dist ( X, Xj ) 

X ∈ { X j } j = 1


Eq. (8)
où les Xj désignent les vecteurs couleur de la fenêtre de filtrage. Ceci revient à utiliser implicitement l'ordre défini au
paragraphe 4.3. Classiquement, la distance utilisée s’appuie
sur le norme Lp,
5.2 Approche vectorielle
N
dist ( X, X j ) =
∑
X – Xj
p
Eq. (9)
j=1
et p = 1 définit le filtre médian vectoriel standard.
La figure ci-dessous (Fig. 6) illustre l’utilisation de ce filtre
et du filtre médian marginal. Les résultats des deux filtres
sont assez proches Dans la pratique les fausses couleurs introduites par le médian marginale et le moindre effet de lissage du médian vectoriel standard ne sont pas des
phénomènes aussi manifestes (Fig. 6).
Pour pouvoir définir correctement les opérateurs de morphologie couleur, il est nécessaire d’utiliser une relation
d’ordre totale, qui assure que l’inf et le sup sont des vecteurs
de l’ensemble de départ [2], [5].
Une solution performante consiste alors à utiliser l’ordre
par entrelacement de bits [5]. Les opérateurs morphologiques couleur se définissent alors aisément, comme le montrent les deux exemples ci-dessous (Fig. 8): dans
l’ouverture, il n’y a plus apparition de fausses couleurs.
zoom
image originale
méd. marg.
méd. vect. std.
Figure 6 - Filtrage médian d'une image couleur (taille 5x5)
5 Morphologie mathématique couleur
Les principaux opérateurs morphologiques reposent sur la
définition des deux opérateurs de base que sont la dilatation et l'érosion. En notant I(p) l’image, p le pixel courant
et q le pixel de l’élément structurant B, la dilatation et l’érosion s’expriment de la manière suivante:
- dilatation:
+ B (p) = supq∈B{ f(p-q) }
δB(f)(p) = f O
- érosion:
- B (x) = infq∈B{ f(p-q) }
εB(f)(p) = f O
La morphologie demande donc la définition d’un ordre. On
retrouve donc la situation évoquée lors de l’étude des filtres
d’ordre.
5.1 Approche marginale
Bien sûr, une solution simple et souvent utilisée consiste à
traiter marginalement chacune des composantes. Cette manière de faire donne des résultats satisfaisants en général,
mais le phénomène d’introduction de fausses couleurs, déjà
évoqué, est beaucoup plus sensible qu’avec les filtres d’ordre. La figure ci-dessous (Fig. 7) illustre ce phénomène.
zoom
Image initiale
zoom
ouverture marginale
Figure 7 - Morphologie couleur marginale
Image initiale
zoom
ouverture «entrelacée»
Figure 8 - Morphologie couleur vectorielle
Références
[1] J.P. Cocquerez et S. Philipp, Analyse d’image: filtrage
et segmentation, ed. Masson, 1995.
[2] S.J Sangwine and R.E.N Norne, The colour Image
Processing Handbook, ed. Chapman & Hall, 1998.
[3] K.N. Plataniotis & A.N. Venetsanopoulos, Color Image
Processing and Application, ed. Springer, 2000.
[4] A. Trémeau, C. Fernandez-Maloigne, P. Bonton, Image
numérique couleur : de l’acquisition au traitement,
Dunod, 2004.
[5] J. Chanussot, Approches vectorielles ou marginales
pour le traitement d’images multi-composantes, Thèse
de l'Université de Savoie soutenue en nov. 1998.
[6] W. Alshatti, Approches vectorielles du filtrage et de la
détection de contours dans des images multispectrales, thèse de l’Université de Savoie soutenue en
Oct. 1994.
[7] M. Ciuc, Traitement d'images multicomposantes :
application à l'imagerie couleur et radar, thèse de
l’Université de Savoie et de l’Université
POLITEHNICA de Bucarest soutenue en Mai. 2002.
[8] P. Lambert, Etudes méthodologiques du filtrage et de la
segmentation des images multi-composantes, mémoire
HDR, Université de Savoie, Juillet 2002.
Les références aux thèses de l’Université de Savoie sont sur :
http://listic.univ-savoie.fr