<figure><img src="image_1.png" /></figure>

Segmentation d'une image couleur par les critères d'information et la théorie des ensembles flous

H. HAMZAOUI*, A. ELMATOUAT** et P. MARTIN***

* Faculté des sciences, Fès, Maroc. ** Faculté des Affaires Internationales, Université du Havre, France. *** Université de Rouen, LaMIP Ensicaen, France.

**RÉSUMÉ.** Nous nous intéressons dans cet article à la détermination du nombre de classes d'une image couleur par les critères d'information et la théorie des ensembles flous. Nous montrons que ces critères servent à estimer le nombre de régions d'une image couleur ainsi que le rayon optimal associé. Cette démarche est classée dans la catégorie des méthodes de segmentation non supervisée. Elle entraîne une compression de l'image en un nombre de couleurs représentatif sans perdre le contenu informationnel de cette dernière. Elle réduit ainsi le nombre de paramètres considérés dans le système de la segmentation. Dans la dernière partie de cet article, nous montrons la performance et l'efficacité du nouvel algorithme en segmentant des images couleur tests: "House", "Lena", "Monarch" et "Peppers".

**ABSTRACT.** In this paper we present an unsupervised color image segmentation algorithm using the information criteria and a fuzzy theory. We propose this method to estimate the number of color image clusters and the optimal radius associated with minimizing the value of the proposed criteria. The experimental results demonstrate that this approach compresses the image in a small number of clusters without losing the informational contents of the image and we reduce the number of parameters using the process of segmentation, we also decrease the computational time. The color image segmentation system has been tested on some usual color images; "House", "Lena", "Monarch" and "Peppers".

**MOTS-CLÉS** : Critères d'information, Histogramme, Algorithme de classification floue, Ensembles flous.

**KEYWORDS** : Information Criteria, Histogram, Fuzzy Classification Algorithm, Fuzzy sets.

<figure><img src="image_2.png" /></figure>
# 1. Introduction

La segmentation permet la décomposition d'une image couleur en des éléments in-
dividuellement homogènes, les caractéristiques utilisées étant les composantes colorimé-
triques des pixels. On distingue, généralement, entre deux méthodes de segmentation :
l'extraction des contours qui fournit, par les intensités moyennes des zones, des contours
bien localisés et l'extraction des régions qui entraîne une partition de l'espace couleur
sans prendre en compte la disposition spatiale des pixels.

Les méthodes de classification sont beaucoup utilisées pour la deuxième approche. Elles segmentent l'image par la division ou la croissance de régions, ou en considérant les deux méthodes pour définir une règle d'appartenance d'un pixel à une région donnée.

Ce traitement entraîne un bruit occasionné par des pertes de détails locaux de l'image. Pour la correction de ce bruit, on introduit les techniques de la théorie des ensembles flous dans les algorithmes de segmentation en considérant les régions comme des ensembles flous et la fonction d'appartenance comme une fonction d'adhésion floue. Notre travail est basé sur la classification floue associant l'espace des composantes couleurs des pixels de l'image à un ensemble de données à 3 dimensions, l'espace couleur RGB.

Nous utilisons les critères d'information pour déterminer le nombre de centres et le rayon optimal de la segmentation. Nous considérons pour cela l'estimation de la densité de probabilité relative à l'espace couleur RGB de l'image par la méthode de l'histogramme et nous appliquons les critères d'information pour définir un critère noté *ICH* pour estimer le nombre de régions et le rayon optimal.

Dans l'algorithm de segmentation le seul paramètre qui reste ensuite à choisir a priori est le seuil d'arrêt du processus d'optimisation des centres.

# 2. Les critères d'information

Soit un modèle paramétré caractérisé par la densité de probabilité $f(\cdot|\theta)$ dans lequel le paramètre $\theta$ et sa dimension $k$ sont inconnus. La méthode du maximum de vraisemblance permet d'estimer le paramètre $\theta$ lorsque $k$ est connu, pourtant si $k$ est inconnu cette méthode conduit en général à une surparamétrisation du modèle. Pour pallier cet inconvénient, une pénalisation du terme de vraisemblance est généralement nécessaire. Plusieurs critères ont été proposés. Ils diffèrent par le facteur de pénalisation, et s'écrivent sous la forme générale :

$$IC(k) = -2 \sum_{i=1}^{n} \ln f(X_i | \hat{\theta}_{n}^{k}) + kC_n$$

où $X_1, \dots, X_n$ sont $n$ observation relatives à un modèle paramétré par une famille de densités ($f(\cdot|\theta), \theta \in \Theta$) pour lequel l'ordre $k$ correspond au nombre de paramètres libres,
$\hat{\theta}$ un estimateur $\sqrt{n}$-convergent du vecteur paramètre $\theta$, et $C_n$ le facteur de pénalisation de la log-vraisemblance. L'ordre estimé $\hat{k}$ s'obtient par une minimisation des critères IC :

$$ \hat{k} = \operatorname*{argmin}_{IC(k)} $$

Le critère le plus célèbre est celui d'Akaike[1] AIC (Akaike Information Criterion). Il a été obtenu par une minimisation du risque associé à l'information de Kulback-Leibler, la pénalisation de ce critère est $C_n = 2$, mais elle conduit asymptotiquement à une probabilité de sur paramétrisation du modèle strictement positive. Pour une famille de distributions exponentielles, Schwarz[11] a obtenu par une approche bayésienne un critère noté SIC ($C_n = \log(n)$) qui assure la convergence presque sûre de l'estimateur $\hat{k}$. Dans le but de diminuer la pénalisation tout en ayant un estimateur consistent de l'ordre, Hannan et Quinn[5] ont proposé un critère noté $\varphi(C_n = \log\log(n))$ pour les modèles autorégressifs. Ils ont montré que l'estimateur obtenu par ce critère est convergent en probabilité. El Matouat et Hallin[3] ont déduit ensuite de la complexité sthocastique un critère paramétré qui généralise le critère noté $\varphi_\beta(C_n = n^\beta \log\log(n))$, $0 < \beta < 1$. Ce critère conduit à une convergence presque sûre de l'ordre estimé, et peut être utilisé aussi bien pour les petits que pour les grands échantillons.

### 3. Estimation du nombre de classes d'un Histogramme

Soit $\Omega$ un ensemble non vide et $Cl=\{Cl_1,...,Cl_k\}$ une partition de $\Omega$ en $k$ classes, et soit $X$ une variable aléatoire continue de densité inconnue $f$ associée à une mesure $\sigma$-finie $\mu$. Nous définisons la densité associée à l'histogramme par :

$$ \forall x \in Cl; \quad f(x|Cl) = f(x|k) = \sum_{s=1}^{k} \frac{\theta(Cl_s)}{\mu(Cl_s)} 1_{Cl_s}(x) $$

qui représente la densité discrétisée de $X$ relativement à la partition $Cl$. Le paramètre $\theta(Cl_s)$ désigne la probabilité, supposée inconnue, de la classe $Cl_s$, et $1_{Cl_s}(\cdot)$ est la fonction indicatrice de $Cl_s$. Nous obtenons donc une densité paramétrée par les probabilités inconnues $\theta(Cl_1), \dots, \theta(Cl_k)$.

Dans cette modélisation, nous avons la relation $\sum_{s=1}^{k} \theta(Cl_s) = 1$, le nombre de paramètres libres est donc $k-1$. Pour l'estimation de la densité $f$ par la méthode de l'histogramme, le choix du nombre $k$ de classes à partir de $n$ observations $X_1, \dots, X_n$ de la variable $X$ est important. Si $k > n$ la taille $n$ n'autorise pas le découpage puisque certaines classes ne seraient chargées par aucune observation, par contre si on ne considère qu'une seule classe $k=1$ on perd toute l'information que pourraient apporter les observations. Le nombre $k$ doit donc être choisi de façon optimale tout en dépendant de la mesure a priori $\mu$. Nous appliquons pour cela les critères d'information à l'histogramme.
Pour les observations $X_1, \dots, X_n$, l'estimateur du maximum de vraisemblance du vecteur paramètre $\theta(Cl) = (\theta(Cl_1), \dots, \theta(Cl_k))$ correspond à un vecteur dont les composantes représentent les fréquences statistiques des classes $Cl_1, \dots, Cl_k$. Comme le nombre de paramètres libres est $k-1$, le critère s'écrit :

$$IC(k) = -2 \sum_{s=1}^{n} \log \hat{f}(X_s|k) + C_n(k-1)$$

$\hat{f}$ étant l'estimateur de la densité inconnue $f$ par la méthode de l'histogramme :

$$\hat{f}(x|k) = \sum_{s=1}^{k} \frac{\nu(Cl_s)}{\mu(Cl_s)} 1_{Cl_s}(x)$$

où $\nu(Cl_s)$ est la fréquence de la classe $Cl_s$, et nous avons :

$$\sum_{i=1}^{n} \log \hat{f}(X_i|k) = \sum_{i=1}^{n} \sum_{s=1}^{k} \log \frac{\nu(Cl_s)}{\mu(Cl_s)} 1_{Cl_s}(X_i) = \sum_{s=1}^{k} n \nu(Cl_s) \log \frac{\nu(Cl_s)}{\mu(Cl_s)}$$

Le nombre optimal de classes de l'histogramme est donc obtenu en minimisant le critère noté ICH (Information Criteria for Histogram) :

$$ICH(k) = -2 \sum_{s=1}^{k} n \nu(Cl_s) \log \frac{\nu(Cl_s)}{\mu(Cl_s)} + C_n(k-1)$$

En pratique, la partition de l'ensemble de données est obligatoire pour l'application du critère ICH et le choix de la mesure $\mu$ dépend du problème étudié.

# 4. L'algorithme de segmentation

## 4.1. Description de l'algorithme de segmentation

La méthode de segmentation que nous proposons est une combinaison de plusieurs techniques ; l'estimation des centres des régions par la méthode de vraisemblance, l'optimisation de ces centres par la théorie des ensembles flous, et l'utilisation des critères d'information. Comme l'information couleur est tridimensionnelle, nous considérons l'histogramme 3D dans l'algorithme de segmentation.

Par la méthode de l'histogramme nous avons défini la vraisemblance associée à l'ensemble des couleurs de l'image, et le centre d'une région construite représente le maximum de cette vraisemblance. Itérativement et par une fonction d'adhésion floue, on optimise le centre estimé. Cette étape conduit à une minimisation des erreurs d'estimation.
On regroupe ensuite les points relatifs au centre construit par une fonction d'appartenance et on attribue un tag ( étiquette ) à chaque point suivant la région à laquelle il appartient. Puis, on fusionne les centres les plus proches. A la fin de ces étapes on calcule la valeur du critère ICH pour arrêter la procédure de segmentation de l'image et pour sélectionner le rayon optimal des classes construites.

Comme la connaissance a priori du nombre de régions cherchées n'est pas obligatoire pour notre algorithme de segmentation, on le classe dans la catégorie des segmentations non suppervisées. Dans cet algorithme, nous avons aussi une réduction du nombre de paramètres choisis ; on ne considère a priori que le paramètre d'arrêt du processus d'optimisation. Notons enfin que cet algorithme sélectionne automatiquement l'image segmentée.

## 4.2. Construction de l'algorithm de segmentation

Dans l'algorithm de classification nous choisissons la fonction d'appartenance d'une couleur C (de composantes $R_C$, $G_C$ et $B_C$) à une région de centre P ( couleur de composantes $R_P$, $G_P$ et $B_P$) et de rayon R, définie par :

$$G_R(C - P) = \exp\left(-\frac{\|C - P\|^2}{R^2}\right)$$

La norme $||.||$ désigne la norme euclidienne. Du point de vue statistique, cette fonction représente la probabilité que la couleur C appartienne à la région de centre P et de rayon R.

Nous utilisons cette fonction pour estimer les centres des régions en considérant la fonction suivante :

$$V(C; P_1, \dots, P_k) = \prod_{i=1}^{k} [1 - G_R(C - P_i)]$$

qui exprime la probabilité de non appartenance de la couleur C aux k régions construites. Cependant, chaque couleur est caractérisée par son intensité, il faudrait donc, pour estimer un centre P, maximiser la fonction $f(C)V(C; P_1, \dots, P_{k-1})$ dans l'espace couleur de l'image (ECI) qui est un sous-espace de l'espace RGB, où $f(C)$ est la fréquence de la couleur C.

Nous constatons que cette fonction n'entraîne pas une estimation du centre de la première région $P_1$. Nous considérons pour $P_1$, une maximisation de la fonction $f$ dans l'ECI.

La fonction d'adhésion floue de la couleur C à une région de centre $P_m$ est définie par :

$$H_m(C; P_1, \dots, P_k) = G_R(C - P_m) \prod_{i \neq m} [1 - G_R(C - P_i)]$$

où $P_i$ est le centre de la région $i$ pour $i = 1, \dots, k$, $k < N$, N étant le nombre de couleurs de l'image test. Cette fonction présente une certaine particularité, elle entraîne une indépendance entre les centres des régions construites ce qui implique une partition
de l'ECI. Nous utilisons la fonction *H* pour minimiser les erreurs relatives à l'étape de l'estimation. En considérant l'intensité *f*(*C*) de la couleur *C* dans ECI et sa fonction d'adhésion floue, nous définissons la fonction Φ par :

$$ \Phi(P_1, \dots, P_k) = \sum_{s=1}^{k} \sum_{C_i} f(C_i) H_s(C_i; P_1, \dots, P_k) \|C_i - P_s\|^2 $$

qui représente la somme des erreurs dues à la partition d'ECI. Dans le cas où l'image est constituée d'une seule région cette fonction vaut :

$$ \Phi(P) = \sum_{C_i} \|C_i - P\|^2 G_R(C_i - P) $$

Pour l'itération (t + 1) l'expression du centre optimisé que nous considérons est :

$$ P_k^{t+1} = \frac{\sum_{C_i} C_i f(C_i) H_k(C_i; P_1, \dots, P_{k-1}, P_k^t)}{\sum_{C_i} f(C_i) H_k(C_i; P_1, \dots, P_{k-1}, P_k^t)} $$

Ce centre optimisé n'est autre que le barycentre des vecteurs *C*, pondérés par les coefficients :

$$ \alpha_k = \frac{f(c) H_k(c; P_1, \dots, P_{k-1}, P_k^t)}{\sum_c f(c) H_k(c; P_1, \dots, P_{k-1}, P_k^t)} $$

Le centre optimal étant obtenu lorsque l'écart entre deux centres $P_k^t$ et $P_k^{t+1}$ devient inférieur à un seuil $\delta$.

Une fois les centres optimisés, nous sommes amenés à un changement dans la première construction des régions, par exemple, une couleur appartenant à une région précise peut avoir une forte relation avec une autre région après avoir optimisé son centre. Nous procédons alors au fusionnement des régions dont les centres sont proches (i.e de distance inférieure au rayon considéré).

Pour arrêter la segmentation nous calculons la valeur du critère *ICH* qui correspond aux *k* centres générés. Par ailleurs, l'application du critère *ICH* nécessite une partition de $\Omega$. Nous considérons pour cela les sous-ensembles :

$$ Cl_s^* = Cl_s \cap \overline{(\cup_{t<s} Cl_t)} \text{ avec } Cl_1^* = Cl_1 $$

Pour un rayon fixé *R*, nous calculons à partir de la partition $Cl^* = \{Cl_1^*, \dots, Cl_k^*\}$ les valeurs *ICH*(*s*|*R*) pour $1 \le s \le k$. Nous obtenons à la suite de l'étape d'estimation et d'optimisation la valeur du critère *ICH*. L'algorithme de segmentation s'arrête quand ce critère atteint sa valeur minimale. Il permet de réduire le nombre de couleurs de l'image et de choisir le rayon optimal pour avoir une segmentation convenable,

$$ \hat{R} = \arg \min_R ICH(\hat{k}|R) $$
## 5. Segmentation d'une image couleur

Dans cette partie, nous appliquons l'algorithme proposé pour segmenter les images couleur "House", "Lenna", "Monarch" et "Peppers". Ces images contiennent des nombres de couleurs différentes, comme le montre le tableau ci-dessus, et n'ont pas la même dimension $D_{House} = 256 \times 256$, $D_{Lenna} = D_{Peppers} = 512 \times 512$ et $D_{Monarch} = 768 \times 512$. Elles présentent par ailleurs des complexité différentes par la nature des régions ou des textures.

Les valeurs du rayon que nous considérons dans la construction des régions sont toutes des multiples de $2^3$, $8 \le R \le 256$ et nous choisissons pour le seuil d'arrêt du processus d'optimisation la valeur $\delta = 8$. Le critère d'information que nous avons appliqué, pour choisir le rayon convenable et arrêter le système de segmentation, est celui de Schwarz[11].

Pour toute partition de l'ensemble des couleurs (R, G, B) de l'image en k régions ($Cl_s$)$_{s=1,...,k}$, nous considérons la densité associée

$$f(c|k) = \sum_{s=1}^{k} \frac{\nu(Cl_s)}{\mu(Cl_s)} 1_{Cl_s}(c) \quad \text{pour } c \in \Omega$$

qui s'écrit également

$$f(c|k) = \frac{\nu(Cl_s)}{\mu(Cl_s)} \quad \text{pour } c \in Cl_s$$

La mesure $\mu$ que nous retenons est la mesure de Lebesgue, pour chaque classe $\mu(Cl_s)$ représente plus précisément le volume de $Cl_s$. A l'issue de la dernière itération, générant k composantes, le volume de $Cl_k$ vaut :

$$\mu(Cl_k) = \mu(\Omega) - \sum_{s<k} \mu(Cl_s)$$

Les résultats obtenus par l'application du nouvel algorithme sur les images tests sont regroupés dans le tableau suivant :

<table><caption>Tab.1 Segmentation par le nouvel algorithme</caption><thead><tr><th></th><th>House</th><th>Lena</th><th>Monarch</th><th>Peppers</th></tr></thead><tbody><tr><td>Nombre de couleurs</td><td>1834</td><td>2596</td><td>78617</td><td>183525</td></tr><tr><td>Nombre de régions</td><td>15</td><td>18</td><td>15</td><td>13</td></tr><tr><td>Nombre de pixels non classés</td><td>0.26%</td><td>0.07%</td><td>3.3%</td><td>2.99%</td></tr><tr><td>Rayon optimal</td><td>24</td><td>28</td><td>32</td><td>32</td></tr><tr><td>Temps de calcul(Machine P4 de Fréquence 2.5GHz)</td><td>10s</td><td>21s</td><td>18s</td><td>62s</td></tr></tbody></table>
D'après le tableau ci-dessus la segmentation des images tests nécessite des durées d'execution différentes, selon la dimension et la complexité de chacune d'elles. Le nombre de régions déterminé par cette segmentation ne représente pas une sur classification puisque les couleurs de ces régions sont bien extraites comme les images ci-dessous le montrent. Ainsi le nombre de pixels non classés est faible par rapport aux dimensions des images. Nous remarquons aussi que le rayon optimal n'est pas le même pour les cinq images. Nous déduisons donc que le nombre de pixels n'a pas d'effet sur les résultats de la segmentation.

Pour bien visualiser les résultats de ce travail nous présentons ci-dessous les images originales et segmentées de "House", "Lenna", "Monarch" et "Peppers" (Figures (a) à (d)). Le système de segmentation que nous avons proposé discriminate bien toutes les régions de l'image. Pour les images segmentées, les pixels classés reçoivent des étiquettes alors que ceux représentés en noir sont non classés. L'ensemble de ces pixels détermine le bruit dû à la méthode utilisée. Globalement, nous constatons que ce bruit ne change pas le contenu informationnel de l'image.

<figure><img src="image_3.png" /><figcaption>(a)"House" originale et segmentée</figcaption></figure>

<figure><img src="image_4.png" /><figcaption>(b)"Lena" originale et segmentée</figcaption></figure>

<figure><img src="image_5.png" /><figcaption>(c)"Monarch" originale et segmentée</figcaption></figure>

<figure><img src="image_6.png" /><figcaption>(d)"Peppers" originale et segmentée</figcaption></figure>
# 6. Conclusion

Les images couleurs sont généralement acquises sous la forme de trois plans couleur Rouge, Vert et Bleu, ce qui enrichit l'information contenue dans l'image et augmente notamment la quantité de données à traiter en vue de l'analyse. Dans cet article, nous nous sommes interessés à la segmentation afin de réduire la quantité d'information des images couleur dans la base RGB. Nous avons développé un algorithme de segmentation d'image couleur dans cette base. La stratégie que nous avons adopté utilise les critères d'information pour la sélection des couleurs représentatives de l'image et le choix du rayon des régions construites, et des notions de la théorie des ensembles flous pour extraire de manière optimale les régions de l'image. Nous avons aussi intégré des techniques d'étiquetage et de masquage pour réduire le temps de calcul. Les résultats obtenus sur des images tests réelles nous ont montré qu'il existe des pixels non classés. Les résultats que nous avons obtenu sont satisfaisants puisque notre méthode conserve les principaux objets et couleurs de l'image originale.

# BIBLIOGRAPHIE

1) Akaike H. (1973), *Information theory and an extension of the maximum likelihood principle*, in second international symposium of Information Theory, ed. B. N. Petrov and F. Csaki, Akademia Kiado, Budapest, 267-281.

2) Binaghi E., Gagliardi I., Schettini R. (1992), *Indexing and fuzzy logic-based retrieval of color image* In E. Knuth and L.M. Wegner (Eds), Visual Database Systems, II, Elsevier Science Publishers B. V., Amsterdam, 79-92.

3) Chen T. Q., Lu Y. (2002), *Color image segmentation-an innovative approach*, Pattern Recognition, 35, 395-405.

4) El Matouat A. and Hallin M. (1996), *Order selection, stochastic complexity and Kullback-Leibler information* in Vol. 11 : Time Series Analysis. Springer Verlag, New York, 291-299.

5) El Matouat A., Hamzaoui H., Martin P. (2003), *Logique floue, Critère d'information et estimation du nombre de composantes d'une image*, résumé d'une communication orale à la 4ème conférence internationale sur l'Automatisation Industrielle, Montréal.

6) Hannan E. J. and Quin B. G. (1979), *The determination of the order of an auto-regression*, Journal of the Roy. Stat. Soc. B, 41(2) : 190-195.

7) Hfner J., Sawhney H. S., Equitz W., Flickner M., Niblack W. (1995), *Efficient color histogram indexing for quadratic form distance functions*, IEEE, Trans Patterns Anal. Mach. Intell, 17(7) :729-736.
8) Kurugollu F., Saukur B., Harmanci A.E. (2001). *Color image segmentation using histogram multithresholding and fusion*, Image and vision computing, 19, 915-928.

9) Olivier C., Jouzel F., El Matouat A. (1999). *Choice of the number of component clusters in mixture models by information criteria*, VI'99, trois Rivières, Québec, 19-21.

10) Rissanen J. (1981), *Universal modeling and coding*, IEEE, Trans. inf. theory, Vol. IT27, 1, 12-23.

11) Rissanen J. (1983), *A universal prior for integers and estimation by minimum description length*, the annals of statistics, Vol. 11, 416-431.

12) Schwarz G. (1978), *Estimating the dimension of a model*, The Annals of Statistics, Vol. 6, 461-464.

13) Shibata R. (1976), *Selection of the order of an autoregressive model by Akaike's information criterion*, Biometrika, 63, 117-126.