Keywords

1 Introduction

In this work we investigate and discuss some methods of color image segmentation derived from color categorization models. The categorization models obtained from linguistic labels are a consequence of human perception. It is known that humans express the interpretation of the color stimulus by means of names or categories. In 1969, Berlin and Kay experimentally demonstrated that all languages share a universal color assignment system of 11 basic universal color categories. Inspired by this research, some color categorization models have been proposed. These kind of models can be used in many computer vision tasks, such as color image segmentation, among other applications. Additionally, we reflect on color categorization models obtained from two kinds of color naming experiments, namely: in real world images and on chip-based color naming. Based on these experiments, a color categorization model is generated in a color space. Furthermore, we study some color modifiers that allow us to obtain a more detailed description of the color name. We have also extended the categorization model so that it can use any number of color categories, this could be useful in some applications. Once the model is built, it can be used for segmentation purposes. We analyze different segmentation approaches based on color categorization models, including those with and without spatial coherence. A principled and effective way to take into account the spatial structure of segmentation is based on the theory of Markov Random Fields (MRFs) together with Bayesian estimation. Its success stems from the fact that the solutions obtained are similar to the ones produced by the perception of humans. A description of this kind of segmentation method combined with a color categorization model is given. In this study we also reflect on the use of perceptual color interactions described by Boynton and Olson in 1987 in the segmentation process. An interesting result of the combination between color categorization models with segmentation is the obtained edge map with perceptually salient borders in the segmented image. Applications of the color categorization model for image editing are presented, in particular for image and video recolourization.

The structure of this work is the following. Section 2 presents a review of research about color naming and the basic color categories. In Sect. 3 we present some Color Categorization Models. In the last part of this section we present the Alarcon and Marroquin model and in Sect. 4 its application to color image segmentation. Here we present two cases. When the image is composed by homogeneous regions we can directly apply the color categorization model to segment the image. However, in more complex scenes the segmented image could be very granular, for this case we present a probabilistic Markov Random Field segmentation algorithm. Finally in Sect. 5, applications of the Alarcon and Marroquin Color Categorization Model to Detection of perceptually salient edges, Video Tracking and Image and Video Recolourization are presented.

2 Color Names and Basic Color Categories

The interpretation of color stimulus expresses itself by means of names or categories. In 1969, Berlin and Kay [4], through an experimental study of 20 languages and the research of color names in 78 other languages, presented evidence indicating that all languages share a universal color assignment system. The participants of the experiment first defined the colors considered by them as basics. After that, they observed 329 color patches using the Munsell color system [26]. Each observer selected the focal point (the best prototype of each basic color or category) and points in the border of each found color group, i.e., the observer selected other color samples similar to the focal point for each color group. The result of this experiment is illustrated in [4].

Based on this research, they arrived at the conclusion that there are eleven basic universal color categories: black, white, gray, red, green, yellow, blue, brown, pink, orange and purple. The first three categories are achromatic and the remainder are chromatic. The most important characteristics of these color categories are the following:

  • They are monolexemic.

  • They can be used for describing not only one unique object (for example: objects in lemon) but also multiple objects (the word ‘green’ allows us to describe several objects in green, including those in lemon).

  • They represent psychological information salients, and they are reference points for describing any color.

The results obtained by Berlin and Kay are the starting point for the research in the field of color categorization.

McDaniel in 1972 [15] and Kay and McDaniel in 1978 [12] investigated the relation between neurofunctional mechanisms during color assignment and linguistic terms used by humans. In this research they concluded that the universal color categories are inherent to human perception since color vision is a result of a neurophysiological process which is common to everyone.

In 1987, Boynton and Olson [5] established the difference between the eleven basic color terms [4] and non-basic color terms (for example: salmon, cyan, violet). For this, they designed an experiment in which 424 color samples were randomly presented to seven subjects. Six of them could use both basic and non-basic color terms, with the restriction of naming each color using only monolexemic color terms, i.e., they could use neither compound terms (blue-green) nor intensity modifiers (light, dark). Boynton and Olson also defined the localization of the eleven basic colors in the OSA space [5]. The most important conclusions are the following:

  • Color categories represent regions in the color space.

  • There are consensus zones defined as regions in which all subjects assigned the same color term.

  • Consensus zones coincide with those associated with the eleven basic color categories.

  • Consensus zones associated with green and blue are in almost all intensity levels of the space. Blue and green categories occupy the largest area in the chromatic plane.

  • Some colors can be described for more than one category. These colors belong to transition zones between color categories. This was revealed in the experiment when some colors were assigned to different color categories for the majority of subjects. Such color categories are considered to be perceptually linked, otherwise they are described as unlinked.

Sturges and Whitfield in 1995 [21] extended Boynton and Olson’s work. They carried out the same experiments provided in [5] but in the Munsell space. In order to avoid the drawback of assigning a color category among zones of yellow, brown, pink, white and orange, Sturges and Whitfield proposed a new category: beige. In the experiment they obtained the same Boynton and Olson’s results and additionally arrived at the following conclusions:

  • There is no significant difference between men and women with respect to the number of basic and non-basic color terms used.

  • They state that the use of the non basic color terms beige and cream could solve the drawback of naming zones among white, yellow, pink and brown.

  • Munsell color space provides a better color representation compared with the OSA space.

Although, in the Munsell system the results are better than in the OSA space, from the authors’ point of view all color systems have limitations to model the complexity of human color perception. In the experiments of previous works, the authors also noted that the time response of subjects when they assign a color name to a point in a color space is different. For example blue, green, red and yellow have a faster response than purple, orange and brown, although the difference is small.

In summary, in [5, 21] the research is devoted to locating color basic categories in a color space. The color name assignment of each point in the space is discrete, i.e., one point can belong to only one category, which is a disadvantage. Another limitation is that the authors do not provide an implementation of their proposal for applications.

3 Color Categorization Models

Color categorization is intrinsically related to color naming. A color categorization model is a mathematical representation of the color naming process. According to the previous section, color naming refers to the labeling, in a given space, of a set of stimuli in certain conditions.

In 1978, McDaniel and Kay [12] proposed a model to explain the color naming process. In that model they established a relation between neurofunctional mechanisms presented in the color naming process and the used linguistic color terms, through a fuzzy set theory. Two of the most important ideas discussed in that work are the following:

  • Neurophysiological processes that explain the color categorization are based on continuous functions [25], so the discrete formalism of color categorization is not appropriate. Expressions as light blue or dark red are typical for any language and demonstrate that humans assign color categories taking into consideration a degree of membership.

  • The regions located by Berlin and Kay can be interpreted as those where the membership function reached the maximum value.

The fuzzy representation of color categories, given by the authors in [12], is formed from the 4 fundamental spectral responses of the human vision system: red, green, yellow and blue. The spectral responses are obtained by Wooten [25] through experiments with human observers.

The points of maximum response, in the spectral curves, for the blue, red, yellow and green in [25] have the same wavelength as the focal points for blue, red, yellow and green categories found by Berlin and Kay, see details in [25]. The novelty of the model proposed by McDaniel and Kay is the use of fuzzy theory, however, the authors only considered 4 fuzzy sets and it is not clear how to define the membership functions for the remaining categories and how to train the model to include new categories.

The work done by Cairo [7] is another example of color categorization model based on neurofunctional mechanisms of the color naming process. Cairo proposes a model with four physical quantities: wavelength, intensity, purity and the adaptation state of the retina. The model represents each of the eleven color categories as a combination of the four mentioned quantities. Besides, this author proposes four new categories: blue sky, turquoise, lemon and khaki. Although the model is interesting because of the included physical quantities, the use of physical parameters leads to a hard implementation as in the McDaniel and Kay [12] model.

In 1994, Lammens [14] proposed the first parametrical model to describe the color naming process in different color spaces. Lammens model represents each of the eleven basic color categories given by Berlin and Kay [4] through a function, whose parameters are computed using data provided in [4]. Bellow we comment on the most important details of the research:

  • A new color space is created and is named neuropsychophysical space (NPP), due to the use of neurophysiological experiments published by De Valois et al. [23]. The research in [23] allows us to begin to understand human color perception and was done through a study of monkey brain behavior during color perception.

  • The data obtained by Berlin and Kay [4] (focal points and regions for each color category) in Munsell space, are located in the NPP space.

  • For modeling each basic color category the Gaussian function is selected. The choice is justified by the investigation done by Shepard in 1987 [20] in Psychology. Human perception leads to the categorization through linguistic labels. Shepard argues that the probability of generalization of an existing category (known) to a new stimulus (unknown) is a monotonic function of the normalized distance in psychological space of the unknown stimulus to known stimuli belonging to the category [14]. Because of the previous statement, Shepard [20] specifies that the described function can be approximated by a simple exponential decay or, under certain circumstances, by a Gaussian function. The Euclidean distance can be used as a distance metric [14, 20]. Then, the model proposed, by Lammens [14], for each category is given by Eq. (1):

    $$\begin{aligned} G_k(\varvec{x})=\exp {\left( -\frac{|| \varvec{x}-\varvec{\mu _k} ||^2}{{2\sigma _k}^2}\right) }, \qquad k =1, 2,\cdots , 11. \end{aligned}$$
    (1)

In the Eq. (1) \( \varvec{\mu _k}\) indicates the localization of the center or focal point for each \(k\) category; \( \sigma _k\) controls the volume of color space that is included in each \(k\) category and the function value \(G_k(\varvec{x})\) determines the membership of the color stimuli \( \varvec{x}\) to a \(k\) category. The \(\varvec{\mu _k}\) and \(\sigma _k\) values are computed through a minimization of a functional described in [14] for each category, using the color points of the boundaries and the foci of the regions obtained in [4]. Once the parameters are known, one can assign a color category for any arbitrary color stimuli \(\varvec{x}\) as follows:

  1. 1.

    Compute the model function \({G_k(\varvec{x})}\) for \(k =1, 2,\cdots , 11\).

  2. 2.

    Assign to the color stimuli \(\varvec{x}\) the color category or index that maximizes \({G_k(\varvec{x})}\).

The Lammens color categorization model is constructed not only in NPP color space, but also in the \(XYZ\) and \(Lab\) spaces. This proposal does not consider intensity and saturation modifiers and despite of its novelty, it has not been extensively applied yet.

Another interesting approach about color naming and description of color composition of the scene is given by [17]. The computational model for color naming done by research in [17] adopted the ISCC-NBS dictionary [13] because this dictionary allows to carry out controlled perceptual experiments and includes basic color terms defined by Berlin and Kay [4]. In the color naming experiment 10 subjects participated and four experiments were done:

  1. 1.

    Color Listing Experiment: it is aimed at testing 11 basic color categories from Berlin and Kay’s investigation. Each subject was asked to name at least twelve colors in order to test the relevance of color terms not included in basic ones.

  2. 2.

    Color composition experiment: the aim of this experiment is to determine the vocabulary used in describing complex color scenes. The participants observed 40 photographic images in a sequence and they described the color composition of each image under the restriction to use common color terms, common modifiers of brightness and saturation and to avoid rare color names (for example, names derived from objects or materials).

  3. 3.

    Two Color-Naming Experiments: Each subject observed 267 centroid colors from the ISCC-NBS color dictionary and assigned a color name. In the first experiment 64\(\times \)64 pixel color patches were arranged into a 9\(\times \)6 matrix and were displayed to the subjects. The light gray was the display background. In the second experiment only one 200\(\times \)200 pixel color patch was observed.

From these experiments, in [17] arrived at the following conclusions:

  • None of the subjects listed more than 14 color names during Color Listing Experiment. The eleven basic colors specified by Berlin and Kay were found in the color list. Beige, violet and cyan were also included by some of the subjects with less frequency. Modifiers for hue, saturation and luminance were not used for this color listing experiment. This stage in color naming was described as fundamental level: the color names are expressed using only generic hue or generic achromatic terms.

  • The subjects used almost similar vocabulary to describe image color composition in the Color Composition Experiment. Modifiers for hue, saturation and luminance were used to distinguish different types of the same hue. Although the images had rich color histograms, no more than 10 names were included in the color list. In this case, color naming can be classified in the coarse level, in which the color names are expressed using luminance and generic hue or luminance and generic achromatic term. Another level presented in the Color Composition Experiment was the medium level: color names are described adding the saturation modifiers to the coarse description.

  • The results obtained in the two color naming experiments were almost identical. The difference is explained by the use of different luminance modifiers. The same color is described by a different luminance modifier when it is displayed in a small and in a large window, i.e., the size of the color patches influences in the color naming decision by a subject. For this experiment the author classified the color vocabulary as minute level, in which the complete color information is given.

  • In general, well-defined color regions are easier to describe than dark regions, which, in general, exist due to shadows or due to illumination problems.

  • All experimentation confirmed that not all color terms included in the ISCC-NBS dictionary are well understood by the general public. For that reason Mojsilovic decided to use all prototype colors specified in ISCC-NBS dictionary [17], except those that were not perceived by the participants of the experiments. On the other hand, in order to reflect the participant decisions, some of the color names were changed. With all these considerations, a new color vocabulary was created in [17] for describing the color naming process.

A very interesting issue of the research is that they designed a metric in order to know the similarity of any arbitrary color point \(\varvec{c_{x}}\) with respect to a color prototype \(\varvec{c_{p}}\). The new metric, which is based on the findings from the experiment, is given by the following equation:

$$\begin{aligned} D(\varvec{c_p},\varvec{c_x})=D_{Lab}(\varvec{c_p},\varvec{c_x})[1+k(D_{Lab}(\varvec{c_p},\varvec{c_x}))\triangle d(\varvec{c_p},\varvec{c_x})], \end{aligned}$$
(2)

where \(\triangle d(\varvec{c_p},\varvec{c_x})\) is a distance function in the \(HSL\) color space proposed in [17] and \(D_{Lab}\) is a distance in the \(Lab\) color space

$$\begin{aligned} D_{Lab}(\varvec{c_p},\varvec{c_x})=\sqrt{(l_{\varvec{c_{p}}}-l_{\varvec{c_{x}}})^2+(a_{\varvec{c_{p}}}-a_{\varvec{c_{x}}})^2+(b_{\varvec{c_{p}}}-b_{\varvec{c_{x}}})^2}, \end{aligned}$$
(3)

where \(l_{\varvec{c}}, a_{\varvec{c}}, b_{\varvec{c}}\) represent the components \(l,a,b\) of the color \(\varvec{c}\) in the \(Lab\) color space.

In Eq. (2), \(k(\cdot )\) is a function which is introduced with the aim to avoid modifying distances between very close points in \(Lab\) space and to control the amount of increase for large distance \(D_{Lab}(\cdot ,\cdot )\), the factor \(k(\cdot )\) is defined as: \(k(t) =0\), if \(t <7\), \(k(t)=const\), if \(t> 30\) [17]. Observe that the Eq. (2) is a combination of distances of two spaces: \(Lab\) and \(HSL\).

The author remarks that any other distance function that satisfies the requirements for the color-naming metric can be used, for example, CMC or dE2000 color difference metric, that explains the non-uniformity of the \(Lab\) space. For validation purposes, the metric was compared with human observations arriving at \(91\,\% \) agreement.

In [17] Mojsilovic proposed the application of the model to describe the color composition of the image after the color segmentation process through the Mean Shift algorithm [10].

The experimentation confirms that the human visual system performs an spatial average, which depends on color frequencies, interactions between colors, observed object size and global context. For instance: we perceived one color for uniform color regions; pixels labeled as color edge and texture edge are not averaged; edge density determines the amount of averaging performed in the textured areas: fine texture (more edge density) has more color averaging than coarse ones (less edge density). Therefore, the human color perception can be interpreted as an adaptive low-pass filter, which must be considered for any application related to human color perception [17].

Robert Benavente et al. [2] proposed a computational model based on the idea proposed by Kay and McDaniel [12]. They pointed out that color naming is a fuzzy decision. Taking into consideration this postulate, the best way to model the color naming is through the fuzzy set theory. Therefore, each color category is defined as a fuzzy set. The color naming experiment in [2] was carried out as follows:

  • 10 subjects observed 422 color samples and they were asked to distribute 10 points among the 11 basic color categories taking in consideration the grade of belonging of the observed color sample to each of the basic color terms. When the subject was absolutely sure about the sample color name, 10 points were assigned to the corresponding category. The restriction for using only 11 color terms is justified by research in [5, 21].

  • For each sample, the scores were averaged and normalized to the \([0,1]\) interval. The experiment was performed twice for each subject. As a result of the color naming process, an experimental color descriptor, \(CD(\varvec{x})\), is obtained for each sample:

    $$\begin{aligned} CD(\varvec{x}) = [m_{{1}}(\varvec{x}), m_{{2}}(\varvec{x}),\cdots , m_{{11}}(\varvec{x}) ], \end{aligned}$$
    (4)

    where \(m_{{k}}(\varvec{x}) \in [0,1] \) and \(\sum \nolimits _{k} m_{{k}}(\varvec{x}) = 1\). \(m_{{k}}(\varvec{x})\) can be interpreted as the degree of membership of \(\varvec{x}\) to the color category \(k = 1, 2,\cdots , 11\).

The results of the color naming experiment define the training set to find membership functions \(f_{k}(\varvec{x}^j,\theta _k)\) of the color fuzzy sets. In order to know the parameters, \(\theta _{k}\), of each membership function (model for each color category), the minimization of the following functional

$$\begin{aligned} \min _{\theta _{k}} \frac{1}{2}\sum _{j=1}^J {\left( f_{k}(\varvec{x}^j,\theta _k)-m_{{k}}(\varvec{x}^j)\right) ^2}, \; \forall k = 1,2,\cdots , 11; \end{aligned}$$
(5)

is carried out, see [2]. The previous functional, Eq. (5), represents the mean squared error between the membership values of the model \(f_{k}(\varvec{x}^j,\theta _k)\) and the \(k\)-th component \(m_{k}(\varvec{x}^j)\) of the color descriptor obtained in the color naming experiment, Eq. (4); \(\theta _k\) is the set of parameters of the model, \(J\) is the number of samples in the training set and \(\varvec{x}^j\) is the \(j\)-th color sample of the training set. According to [2] the model \(f_{k}(\varvec{x}^j,\theta _k)\) depends on the type of the color category (chromatic or achromatic).

In [2], the authors created a color space named \(uvI\), whose first two components represent the color components and the third one the intensity. They carried out the experimental work in the \(uvI\) space and for comparison purposes they also employed the \(Lab\) space. From the color naming data and data fitting process through an optimization algorithm they concluded that the Gaussian function is a good model, as a membership function, for achromatic categories. However, they found that the combination of sigmoid and Gaussian functions is an appropriate model for chromatic categories. They also concluded that the results obtained in the \(Lab\) space were no better than those obtained in \(uvI\) space.

Seaborn et al. [19] also proposed a computational model based on fuzzy sets and considered the eleven color basic terms. The research was done in the Munsell space and the data were taken from Sturges et al. [21] investigation. As in [2] they made a distinction between membership function for achromatic and membership function for chromatic classes.

They proposed a similarity measurement based on Tversky research [22]. This measurement is compared with Euclidean distance and they conclude that the new proposal achieved a higher agreement with human judge. They compared the new similarity measurement in the \(RGB\), \(Lab\), \(Luv\) and \(HSV\) color spaces and concluded that the \(HSV\) space had the best performance to detect similarity and difference between colors.

Joost van de Weijer and et al. [24] elaborated a model to learn color names from real world images, through a Probabilistic Latent Semantic Analysis (PLSA), a generative model introduced by Hofmann [11] for document analysis. In the research, only the eleven color basic categories defined by Berlin and Kay are considered. The data color samples are extracted from http://lear.inrialpes.fr/data (data here were collected by the authors), from the auction website Ebay, from Google and from those published by Benavente et al. [3]. The latter data were taken in order to compare the color assignment in real world images with a chip-based approach described in [2]. Three color spaces were used: \(RGB\), \(HSL\) and \(Lab\). Two ways to assign color names to individual pixel are considered [24]:

  1. 1.

    \(PLSA-bg\) model: It is based only on the pixel value. The model is expressed as follows:

    $$\begin{aligned} P (z |w) \propto P (z) P (w |z), \end{aligned}$$
    (6)

    where \(P (z |w)\) represents the probability of a color name \(z\) (color category) given a pixel \(w\). The prior probability over the color names is taken to be uniform [24].

  2. 2.

    \(PLSA-bg*\) model: It takes into account the pixel \(w\) and some region \(d\), around it. The Equation for the model is the following:

    $$\begin{aligned} P (z |w, d) \propto P (w |z) P (z |d), \end{aligned}$$
    (7)

    where \(P (z |w,d)\) represents the probability of a color name \(z\) (color category) given a pixel \(w\) in a region \(d\). The \(P (z |d)\) is estimated using an EM algorithm [11].

The experimental work considers data in three color spaces: \(RGB\), \(HLS\) and \(Lab\). According to the investigation, the \(Lab\) space slightly outperformed the others. Besides the PLSA method, the authors employed the Support Vector Machine algorithm [6].

Menegaz et al. [16] presented a computational model obtained by a linear interpolation of a three dimensional Delaunay triangulation of the \(Lab\) color space.

Alarcon and Marroquin’s color categorization model [1], assigns to each voxel \(\varvec{v}\), with components \(({x}, {y}, {z})\), in a given color space, \( \Omega \), a discrete probability distribution \(\varvec{l}(\varvec{v}) = [l_{1}(\varvec{v}), \cdots , l_{K}(\varvec{v})]^T\) where the component \(l_{k}(\varvec{v})\) is interpreted as the probability of \(\varvec{v} \in \Omega \) to belong to the color category \(k\), \(\fancyscript{C}_{k}\), given the color \(\varvec{c}\) at \(\varvec{v}\), denoted here as \(\varvec{c}(\varvec{v})\). Note that, the components of \(\varvec{v}\) correspond to the color \(\varvec{c}(\varvec{v})\), i.e., \(\varvec{c}(\varvec{v}) = \varvec{v}\). Then, \(l_{k}(\varvec{v})\) is defined as follows:

$$\begin{aligned} l_{k}(\varvec{v}) \mathop {=}\limits ^{def} P(\varvec{v} \in \fancyscript{C}_{k} | \varvec{c}(\varvec{v})), \end{aligned}$$
(8)

and represents the posterior probability of a voxel to belong to a color category. In [1] each category \(k\) is modeled as a linear combination of 3D quadratic splines

$$\begin{aligned} l_k(\varvec{v}) = \sum _{j = 1}^N{\alpha _{kj}\beta _j(\varvec{v})}, \; \forall k \in \fancyscript{K} \mathop {=}\limits ^{def} \{1,2,\cdots , K\}, \; \varvec{v} \in \Omega , \end{aligned}$$
(9)

where \(\beta _{j}(\varvec{v}) = \beta (\frac{x - x_{j}}{\Delta _{x}}) \beta (\frac{y - y_{j}}{\Delta _{y}}) \beta (\frac{z - z_{j}}{\Delta _{z}})\) are located in a node lattice in \(\Omega \), \(N\) is the number of nodes in the lattice; \(\Delta _{x}, \Delta _{y}\) and \(\Delta _{z}\) define the resolution of the node lattice; \(x_{j}\), \(y_{j}\), and \(z_{j}\) denote the coordinates of the \(j\)-th node, \(\alpha _{{kj}}\) is the contribution of each spline function \(\beta _{j}(\cdot )\) to each category \(k\) and \(\beta (\cdot )\) is the quadratic basis function defined in the following equation:

$$\begin{aligned} \beta (x) =\left\{ \begin{array}{ll} \frac{1}{2}(-2x^{2}+1.5), &{} |x| \in \Big [ 0,\frac{1}{2}\Big ]; \;\\ \\ \frac{1}{2}(x^{2}-3|x|+2.25), &{} |x| \in \Big [\frac{1}{2},1.5 \Big ]; \\ \\ 0, &{} |x|\ge 1.5. \end{array} \right. \end{aligned}$$
(10)

In order to determine \(l_{k}(\varvec{v})\) in (9) one needs to compute the parameters \(\alpha _{kj}\). Hence, the authors propose to minimize the following functional:

$$\begin{aligned} \min _{\varvec{\alpha }_k} \sum _{\varvec{v} \in \fancyscript{D} } \Big [ l_k(\varvec{v})-\sum _{j=1}^N{\alpha _{kj}\beta _j(\varvec{v})}\Big ]^{2}+\tau \sum _{\langle m,n \rangle } {(\alpha _{km}-\alpha _{kn})^2}, \; \forall k \in \fancyscript{K}, \end{aligned}$$
(11)

where \(\varvec{\alpha }_{k} = [ \alpha _{ki} ]_{i = 1,\cdots ,N}^T\), \( \fancyscript{D} \subset \Omega \) represents a voxel set for which \(l_k(\cdot )\) is known and \(\langle \cdot , \cdot \rangle \) denotes a pair of neighboring splines. In this case, \(l_k(\cdot )\) is obtained, for all voxels in \( \fancyscript{D}\), through a color naming experiment based on isolated color patches. The second term in (11) controls the smoothness between spline coefficients, \(\tau > 0 \) is a parameter that controls the smoothness level.

The solution of the optimization problem (11) is computed by calculating the partial derivatives with respect to \(\alpha _{ki}\) and setting the derivatives equal to zero, i.e.,

$$\begin{aligned} -\sum _{ \varvec{v} \in \fancyscript{D} } \Big [ l_k(\varvec{v})-\sum _{j=1}^N \alpha _{kj}\beta _j(\varvec{v})\Big ] \beta _i(\varvec{v})+\tau \sum _{m \in \fancyscript{N}_i}(\alpha _{ki}-\alpha _{km}) = 0, \end{aligned}$$
(12)

\(|\fancyscript{N}_i|\) is the cardinality of the neighboring nodes for the \(i\)-th spline. Equation (12) yields the following system of linear equations:

$$\begin{aligned} \mathbf {A} \varvec{\alpha }_{k}=\varvec{b}_{k}, \end{aligned}$$
(13)

where \(\mathbf {A} = [a_{ij}]_{i,j = 1,\cdots ,N}\), \(\varvec{b}_{k} = [ b_{ki} ]_{i = 1,\cdots ,N}^T\) and

$$\begin{aligned} a_{ii} =&\sum _{\varvec{v} \in \fancyscript{D}}{\beta _i^{2}(\varvec{v})}+\tau |\fancyscript{N}_i|, \end{aligned}$$
(14)
$$\begin{aligned} a_{ij} =&\sum _{\varvec{v} \in \fancyscript{D}}{\beta _i(\varvec{v})\beta _j(\varvec{v})}-\chi _{\fancyscript{N}_{i}}(j) \tau ,\; i \ne j, \end{aligned}$$
(15)
$$\begin{aligned} b_{ki} =&\sum _{ \varvec{v} \in \fancyscript{D} }{l_k(\varvec{v})\beta _i(\varvec{v})}. \end{aligned}$$
(16)

In Eq. (15), \(\chi _{\fancyscript{N}_{i}}(j)\) is the indicator function of the subset \(\fancyscript{N}_{i}\), then \(\chi _{\fancyscript{N}_{i}}(j) = 1\) if \(j \in \fancyscript{N}_{i}\) and \(\chi _{\fancyscript{N}_{i}}(j) = 0\) if \(j \notin \fancyscript{N}_{i}\).

After solving the linear system (13) for \(k \in \{1,2,\cdots , K\}\) we can compute \(\varvec{l}(\varvec{v}) \) for all \(\varvec{v} \in \Omega \). This provides a ‘soft’ segmentation of the color space. In particular, one can obtain a partition \({\fancyscript{R}} = \{{\fancyscript{R}}_1,{\fancyscript{R}}_2, \cdots , {\fancyscript{R}}_K\}\) (a ‘hard’ segmentation) of the color space by finding the component that maximizes \(l_{k}(\varvec{v})\), i.e., by solving the optimization problem:

$$\begin{aligned} k^{*} =\arg \max _{k \in \fancyscript{K}} l_{k}(\varvec{v}), \; \mathrm for all \; \; \varvec{v} \in \Omega , \end{aligned}$$
(17)

and assigning the corresponding voxel \(\varvec{v}\) to the region \( \fancyscript{R}_{k^*}\). We note that this model is very general and accepts any number of color categories. The inclusion of more or less categories depend on the selected color vocabulary in the color naming experiment. On the other hand, it is very easy to implement because one only needs to solve a linear system of equations for each category. Also note that the matrix \(\mathbf {A}\) does not depend on the category \(k\), then one computes the inverse of \(\mathbf {A}\) only once. Alarcon and Marroquin elaborated the described color categorization model in \(RGB\), \(Lab\) and \(Luv\) color spaces. Figure 1 shows the obtained \(Luv\) partition (‘hard’ segmentation of the space).

Fig. 1
figure 1

Partition of the \(Luv\) space, using the color categorization model by Alarcon and Marroquin

3.1 Perceptual Color Experiments

An important step to construct a color categorization model is the design of the color naming experiment. From Sect. 3 it is understood that there are two kinds of color naming experiments:

  1. 1.

    Color naming experiments based on real world images (with contextual color information).

  2. 2.

    Color naming experiment based on isolated color chips (without contextual color information).

In [24] the authors pointed out that color naming models based on isolated color chips are time consuming due to the necessity of collecting data. In addition, it is unclear the extension of this kind of models to color naming in real color images when the setup conditions are uncontrolled. While these arguments are certainly reasonable, there is an important aspect that must be considered and it was examined in [1]. Alarcon and Marroquin corroborated the influence of the contextual information during the color naming process, especially in those color regions that can be described by more than one category. In terms of information theory, it means that the entropy in these regions is high and the color assignment decision for different subjects is different. This issue, along with the fact of doing an independent color naming experiment using the selected color images, explains why authors in [1] decided to use the color naming experiment based on isolated color chips. Figure 2 illustrates the research in [1] with respect to both kinds of color naming experiments. Observe that for a color point located outside transition zones the subject decision is the same. However, for color points located at transition zones the answer by the same subject is different in both kinds of color naming experiments.

Fig. 2
figure 2

a A color sample in the \(RGB\) color plane, b a color name decision by a subject when the color naming experiment considered the contextual information, c a color name decision by a subject in the color naming experiment without contextual information

4 Segmentation Based on Color Categorization Model

Color categorization models reflect the color description used by humans. Therefore they can be used for extracting perceptual color information in the image. In this section we describe the segmentation algorithm proposed in [1]. This algorithm allows to obtain a compact and meaningful color description of the image.

First, we introduce the notation used in this section. Let \(g: \fancyscript{L} \rightarrow {\mathbb {R}}^3\) be the color image to be segmented, where \(\fancyscript{L} \) is the corresponding lattice. Let \(\fancyscript{N}_r \subset \fancyscript{L} \) be a neighborhood of pixels centered at pixel \(r\), here we use the following neighborhood \( \fancyscript{N}_r = \{s \in \fancyscript{L}: \; \Vert s - r\Vert \le 1, \; s \ne r \}\) where \(\Vert \cdot \Vert \) is the Euclidean norm. \(|\fancyscript{N}_r|\) represents the cardinality of the neighborhood at pixel \(r\). The symbol \(\langle \cdot , \cdot \rangle \) denotes a pair of neighboring pixels.

The label set, for the image segmentation, is denoted similar to previous sections as \(\fancyscript{K} = \{1,2,\cdots , K\}\). In this section, we also assume that one has certain information about the confidence of pixels of the image to belong to a class, or color category. The confidence of pixel \(r\) to belong to \(k\) class is denoted by \(v_{kr}\) and satisfies that \(\sum \nolimits _{k } v_{kr} = 1 \) and \(v_{kr} >0\).

4.1 Direct Label Assignment

If the image \(g\) is composed by homogeneous regions then the application of the color categorization model proposed by Alarcon and Marroquin is direct. In this case, the grade of membership of pixels in \(g\) to belong to a color category is computed with

$$\begin{aligned} v_{kr}&= l_k(g(r)), \end{aligned}$$
(18)

where \(l_k(\cdot )\) is the Alarcon and Marroquin model provided in Eq. (9). In order to obtain the ‘hard’ segmentation, i.e., to assign one category per pixel, one needs to solve the following optimization problem:

$$\begin{aligned} k^*&= \arg \max _ k v_{kr}, \; \forall r \in \fancyscript{L}. \end{aligned}$$
(19)

That is, one assigns for all pixels in the image the color category that maximizes the degree of membership \(v_{kr}\). Figure 3 depicts some color image segmentations using the direct label assignment based on Alarcon and Marroquin’s model.

Fig. 3
figure 3

Direct Label Assignment using Alarcon and Marroquin’s model. First row: Original image, second row: segmented image

There are images where the direct label assignment does not produce good segmentation results, and the segmentation could be very granular or too noisy. In order to solve this drawback one can use a more sophisticated segmentation model that takes into account the local information and promotes smooth solutions. This can be done using a probabilistic segmentation approach that assumes the segmentation as a Markov Random Field, see Sect. 4.2.

4.2 Label Assignment Using Markov Random Field

Alarcon and Marroquin in [1] proposed a generalization of the Entropy controlled Gauss-Markov Random Measure Field model presented by Rivera et al. [18]:

$$\begin{aligned} \min _{\varvec{p}, \theta }U(\varvec{p}, \theta )&= -\sum _{r \in \fancyscript{L}}\sum _{k \in \fancyscript{K}} p_{kr}^2\log v_{kr}(\theta _{k})+\lambda \sum _{s\in \fancyscript{N}_r }{\sum _{k \in \fancyscript{K}}{(p_{kr}-p_{ks})^2}}\nonumber \\&\quad - \mu \sum _{r \in \fancyscript{L}}\sum _{k \in \fancyscript{K}} p_{kr}^2, \end{aligned}$$
(20)

subject to:

$$\begin{aligned} \sum _{k \in \fancyscript{K}} p_{kr} = 1,\;\forall {r \in \fancyscript{L}}; \; \; p_{kr} \ge 0,\; \forall {k \in \fancyscript{K}}, {r \in \fancyscript{L}}. \end{aligned}$$
(21)

In particular, Alarcon and Marroquin [1] proposed a modification of the regularization term in Eq. (20), so that, it can take into account the interaction between classes:

$$\begin{aligned} \sum _{s\in \fancyscript{N}_r }{\sum _{k \in \fancyscript{K}}{(p_{kr}-p_{ks})^2}}= \sum _{s \in \fancyscript{N}_r }{\sum _{k \in \fancyscript{K}}{p_{kr}^2+p_{ks}^2-2p_{kr}p_{ks}}}. \end{aligned}$$
(22)

In the previous expression there is no interaction between classes. Note that, the term \( \sum \nolimits _k p_{kr}p_{ks}\) can be rewritten as follows:

$$\begin{aligned} \sum _{k \in \fancyscript{K}} p_{kr}p_{ks} = \varvec{p}_r^T \mathbf {I} \varvec{p}_s, \end{aligned}$$
(23)

where \(\mathbf {I}\) is the identity matrix and \( \varvec{p}_r = [p_{kr}]_{k \in \{1,2,\cdots ,K\}}\). Now, the identity matrix could be changed for a more general matrix whose elements express the relation between classes of neighboring pixels, or in other words, between the components of vectors \( \varvec{p}_r\) and \(\varvec{p}_s\). Let \(\mathbf {B}\) be such an interaction matrix

$$\begin{aligned} \mathbf {B}=[b_{kl}]; \; k,l \in \{1,2,\cdots ,K\}; \end{aligned}$$
(24)

then the new interaction term is the following:

$$\begin{aligned} \varvec{p}_r^T \mathbf {B} \varvec{p}_s = \sum _{k \in \fancyscript{K}} \sum _{l \in \fancyscript{K}} b_{kl}p_{kr}p_{ls}, \end{aligned}$$
(25)

and the new probabilistic model, the Generalized Entropy-Controlled Quadratic Markov Measure Field model, takes the form

$$\begin{aligned} U_{ECG}(\varvec{p})&= \sum _{k \in \fancyscript{K}}{\sum _{r \in \fancyscript{L}}{ {p^2_{kr}}(-\log v_{kr}-\mu )}}-\lambda \sum _{\langle r,s \rangle }{\sum _{k \in \fancyscript{K}}\sum _{l \in \fancyscript{K}}{p_{kr}p_{ls}}b_{kl}}\nonumber \\&+\frac{\lambda }{2}\sum _{k \in \fancyscript{K}}\sum _{r \in \fancyscript{L}}{ |\fancyscript{N}_r|p_{kr}^2}, \end{aligned}$$
(26)

where \(\lambda > 0 \) is a regularization parameter that controls the smoothness of the solution, \(\mu \) controls the entropy of the discrete probability \(\varvec{p}_r\) at pixel \(r\) and \(|\fancyscript{N}_r|\) represents the cardinality of the neighborhood at pixel \(r\). This yields the following optimization problem:

$$\begin{aligned} \min _{\varvec{p}} U_{ECG}(\varvec{p}), \end{aligned}$$
(27)

subject to the following constraints:

$$\begin{aligned} \sum _{k \in \fancyscript{K}} p_{kr} =&1,\;\forall {r \in \fancyscript{L}};\end{aligned}$$
(28)
$$\begin{aligned} p_{kr}\ge&0,\; \forall {k \in \fancyscript{K}}, {r \in \fancyscript{L}}. \end{aligned}$$
(29)

The solution of the previous problem is obtained by using the Lagrange multipliers method for constrained optimization.

The Lagrangian, neglecting the non-negativity constraint, is

$$\begin{aligned} L(\varvec{p})=U_{ECG}(\varvec{p})-\sum _{r \in \fancyscript{L}}{\gamma _r(1-\sum _{k \in \fancyscript{K}}{p_{kr}})}, \end{aligned}$$
(30)

where \(\gamma _r\) represents the Lagrange multipliers. Then, the derivative of (30) with respect to \(p_{kr}\) is set to zero and using the equality constraints (28) one obtains the following equation:

$$\begin{aligned} p_{kr} = \frac{\gamma _r - \lambda \sum _{s \in \fancyscript{N}_r}\sum _{l \in \fancyscript{K}} p_{ls} b_{kl}}{2\log v_{kr} + 2 \mu - \lambda |\fancyscript{N}_r|}, \end{aligned}$$
(31)

where

$$\begin{aligned} \gamma _r =&\frac{1 + \lambda S_1}{S_2},\end{aligned}$$
(32)
$$\begin{aligned} S_1 =&\sum _{k \in \fancyscript{K}} \frac{1}{2 \log v_{kr} + 2 \mu - \lambda |\fancyscript{N}_r|}, \end{aligned}$$
(33)
$$\begin{aligned} S_2 =&\sum _{k \in \fancyscript{K}} \frac{\sum _{s \in \fancyscript{N}_r}\sum _{l \in \fancyscript{K}} p_{ls} b_{kl}}{2\log v_{kr} + 2 \mu - \lambda |\fancyscript{N}_r|}. \end{aligned}$$
(34)

The Eq. (31) provides an iterative Gauss-Seidel scheme and as an initial point we can take \(p_{kr} = v_{kr}\). In order to satisfy the inequality conditions (29), we can use a projected Gauss-Seidel version, in which after updating \( p_{kr}\) with Eq. (31) one computes \( p_{kr} = \max \{ 0, p_{kr}\}\) and renormalizes the previous results for each pixel so that \( \sum \nolimits _{k \in \fancyscript{K}} p_{kr} = 1\).

The values of the interaction matrix \(\varvec{B}\) are taken based on Boynton and Olson research [5], they are represented in Table 1 [1].

Table 1 Interaction matrix \(\varvec{B}\) between 11 color basic categories. 1 red, 2 green, 3 blue, 4 yellow, 5 purple, 6 orange, 7 gray, 8 black, 9 white, 10 pink, 11 brown

The numbers in bold denotes the 11 eleven color categories. The values of the matrix are defined in Eq. (35).

$$\begin{aligned} b_{kl}=\left\{ \begin{array}{ll} 1, &{} k=l; \\ -1,&{} k \leftrightarrow l; \\ 0, &{} otherwise. \end{array} \right. \end{aligned}$$
(35)

where \(k \leftrightarrow l\) indicates the existence of interactions between \(k\) and \(l\) color categories according to experimental results in [5].

The inclusion of the interaction matrix, together with neighborhood information around the pixel, allows to consider the complexity of real color images and also justifies the type of color naming experiment selected by Alarcon and Marroquin. In the proposed color segmentation method, each extracted color region in the image has a descriptor denoted as \(\langle C, S \rangle \), where \(C\) and \(S\) are the color and intensity attributes, respectively. The possible values for C and S are the following:

$$\begin{aligned} C \in&\,\,[ red, green, blue, yellow, purple, orange, \nonumber \\&gray, black, white, pink, brown] \end{aligned}$$
(36)
$$\begin{aligned} S \in&\,\,[ light, dark] \end{aligned}$$
(37)

The estimation of the attribute \(C\) is based on the solution of the optimization problem (2729), i.e., the iterative process provided by Eq. (31). Hence, the attribute \(C_{r}\) for each pixel \(r\) is computed with:

$$\begin{aligned} C_r = \arg \max _{k\in \fancyscript{K}} p_{kr}. \end{aligned}$$
(38)

On the other hand, the attribute \(S\) is a refinement of the attribute \(C\). The estimation of \(S\) allows us to subdivide each found color category in two subcategories according to the intensity information, see (37). For computing the attribute \(S\) we solve the optimization problem (2021) for each found category \(C\). In this case, the value of \(v_{kr}\) is calculated as follows:

$$\begin{aligned} v_{kr}(\mu _k,\sigma _k) = \frac{1}{\sqrt{2\pi }\sigma _k} \exp {\left( -\frac{(L_r-\mu _k)^2}{2\sigma _k^2}\right) }, \end{aligned}$$
(39)

where \(k \in \fancyscript{K}\), with \(K=2\), indicates the models for light and dark subcategories, \(L_r\) is the intensity value at pixel \(r\) in the \(Luv\) space, \(\mu _k\) is the expected value for the intensity model \(k\) and \(\sigma _k\) is the corresponding standard deviation.

In order to compute the parameters in Eq. (39) we solve the optimization problem (2021) because in the refinement step the interaction between classes is not considered. The algorithm is an iterative process that alternates between the computation of \(\varvec{p}\) (Probabilistic segmentation step) and the model parameter estimation \(\theta = \mu \) (Model estimation step). In the first step, \(U(\varvec{p}, \mu ) \) is minimized with respect to \(\varvec{p}\) for a given \(\mu \) and in the second step \(U(\varvec{p}, \mu ) \) is minimized with respect to \(\mu \) keeping \(\varvec{p}\) fixed. The parameter \(\sigma _k\) is assumed to be a constant. The initial guess for \(\mu _k\) is a value between the minimum and maximum levels in the regions associated to the attribute \(C\). The value of the \(\sigma _k\) is estimated as the mode of the sample variance computed over a 3x3 sliding window throughout regions in \(C\).

In the first step, the values of \(\varvec{p}_r\) are computed deriving \(U(\varvec{p}, \mu ) \) with respect to \(p_{kr}\), equating to zero and solving for \(p_{kr}\)

$$\begin{aligned} p_{kr}=\frac{n_{kr}}{m_{kr}}+\frac{1-\sum _{l=1}^K {\frac{n_{lr}}{m_{lr}}}}{\sum _{l=1}^K {\frac{m_{kr}}{m_{lr}}}}, \end{aligned}$$
(40)

where \(n_{kr}=\lambda \sum _{s\in \fancyscript{N}_r}{p_{ks}}\), \(m_{kr}=(-log v_{kr}-\mu )+\lambda | \fancyscript{N}_r|\), \(| \fancyscript{N}_r|\) is the cardinality of the neighborhood of the pixel \(r\) and \(K =2\).

Fig. 4
figure 4

a Original image, b estimation of \(C\) attribute, c representation of the result using the average \(RGB\) color information in each segment of the image in b, d estimation of \(S\) given \(C\), e representation of the result in d using the average \(RGB\) color information in each segment of the image in d

In the second step, one sets the derivative of \(U(\varvec{p}, \mu )\) with respect to \(\mu _k\) equal to zero and solves for \(\mu _{k}\). Then, one obtains the following closed formula:

$$\begin{aligned} \mu _k=\frac{\sum _{r \in \fancyscript{L}}{p_{kr}^{2}L_{r}}}{\sum _{r\in \fancyscript{L}}{p_{kr}^2}}. \end{aligned}$$
(41)

The iterative process of computing \( p_{kr}\) and \(\mu _{k}\) continues until convergence. Finally the \(S_{r}\) attribute for each \(r\) is obtained with:

$$\begin{aligned} S_r = \arg \max _{k\in \fancyscript{K}} p_{kr}. \end{aligned}$$
(42)

Segmentation results obtained through a described proposal are illustrated in Fig. 4.

5 Other Applications

In this section we present some examples of applications of the color categorization model proposed in [1].

5.1 Detection of Perceptually Salient Edges

An interesting aspect of using color categorization model for image segmentation is the obtained edge map. The extracted edges are the most significant and they enclose the most significant regions in the image from the perceptual point of view.

Fig. 5
figure 5

a Original image, b borders detected by Mean Shift algorithm, c borders detected by the Alarcon and Marroquin proposal, d borders detected by several human observers during the research published in http://www.eecs.berkeley.edu/Research/Projects/CS/vision/bsds/

The results depicted in Fig. 5 demonstrate that the use of 11 basic color categories allows one to extract only the contours that are perceptually significant which leads to a more concise description of color boundaries. On the other hand, observe that the results of the edge detection based on color categorization model present a better approximation of a human judge. Figure 5 a, d are available online at http://www.eecs.berkeley.edu/Research/Projects/CS/vision/bsds/.

5.2 Video Tracking

Laparoscopic surgery is defined as a minimal invasive surgery. Laparoscopic procedure includes a video camera and several thin instruments. During the surgery, small incisions are made and plastic tubes, called ports, are placed through these incisions. The camera and the instruments are then introduced through the ports which allows access inside the patient. The images of organs inside the abdomen and sensed by the camera are transmitted onto a television monitor. Unlike the conventional surgery, in a laparoscopic procedure, the video camera becomes the surgeon’s eyes since the surgeon uses the image from the video camera located inside the patient’s body to perform the procedure. Training for this kind of surgery is a challenge for physicians: how can a surgeon acquire enough skills to do a laparoscopic procedure without a real patient? The answer to this question could be found in Digital Image Processing, which has been widely used in Medicine and nowadays has became a powerful tool in the medical field. An interesting experiment was done using the results in [1] with the purpose to elaborate an algorithm for a laparoscopic trainer through Digital Image ProcessingFootnote 1. In a simulated surgery laboratory a physician does similar exercises as in a real laparoscopic procedure, i.e., he makes small incisions inside a simulated body and does the necessary operations to reach an objective. In the experiment, Fig. 6, the surgeon must move balls of different colors to an specified location of the simulated body in a limited time. If the surgeon places a ball in a wrong location or if the time is over, the algorithm emits a warning signal. Using the color categorization model in [1] with a direct label assignment (see Sect. 4.1), we segmented the video sequence of the simulated laparoscopic surgery in order to track the surgeon movements during the training. Figure 6 shows the results of the experiments for one frame of the video sequence of 36 seconds. The Overall 366 frames were segmented in 1 minute and 17 seconds.

Fig. 6
figure 6

Two frames of the video sequence. a A frame (top image) and it segmentation (bottom image) using Alarcon and Marroquín direct label assignment, b the final frame (top image) and its segmentation, squares indicates the expected right locations for the balls

In Fig. 6 a we can observe that the algorithm only detects gray, red, blue, yellow, green and brown categories. As a prior information we know that the pin, Fig. 6 a in the top image, does not need to be tracked. As the pin is in black, it can be easily detected and removed from the segmentation. In this case the segmentation algorithm assigns the same color as in the background part of the image. From the Fig. 6 b we can see that the target areas are also detected.

Fig. 7
figure 7

Image Recolourization Algorithm [8] based on the color categorization model proposed by Alarcon and Marroquin. a Original Image, b Recolourization, c Recolourization

5.3 Image and Video Recolourization

Image recolourization is a technique that consists of changing colors in a color image [8]. The recolourization begins with a probabilistic segmentation of the image, see Sect. 4.2, or a sequence of images in case of a video, in regions with an assumed same color. Then, the user assigns a color for each segmented class. These colors are used to recolourize the corresponding region. The computed probabilities or memberships, Eq. (31), allow us to define the weights of a linear combination of colors provided by the user, see details in [8, 9].

Figure 7 depicts two recolourized images. The probabilities were computed using the Color Categorization Model proposed by Alarcon and Marroquin [1]. Except for assignment of colors to each color category, the procedure is completely automatic.

In case of video recolourization, the process is applied frame-by-frame. First row of Fig. 8 shows 4 selected frames of a sequence of 900 frames and the second row shows the corresponding recolourized frame.

Fig. 8
figure 8

Video Recolourization Algorithm [8] based on the color categorization model proposed by Alarcon and Marroquin. First row: some frames of the original video, second row: corresponding recolourized frames

6 Conclusions

Color categorization models based on the discrete formalism are not appropriate, because humans assign color categories taking into consideration a degree of membership. All color categorization models allow us to segment a color space in color categories defined by a selected color vocabulary. The segmentation classes are the specified color terms. The use of color categorization model for segmenting color images allows us to select a nonarbitrary number of color classes, because it is based on relevant findings about human color naming.

The basic color categories defined by Berlin and Kay in 1969 are universal, but we can use intensity, saturation and hue modifiers in order to have a detailed description of the color composition of the scene.

Alarcon and Marroquin’s color categorization model takes into account the research done by Berlin and Kay. Although the model is based on the 11 basic color categories proposed by Berlin and Kay, an extension to other vocabularies is possible, being only necessary to change the experimental likelihood estimation. The segmentation algorithm considers the perceptual interactions established by Boynton and Olson what makes it possible to model the complexity of real color scenes.The segmentation method also allows us to obtain an edge map which may be used in a filtering process that preserves the perceptually salient borders in an image.