Next Article in Journal
Unravelling the Environmental Application of Biochar as Low-Cost Biosorbent: A Review
Previous Article in Journal
The Development and Evaluation of a Training Monitoring System for Amateur Rugby Union
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Mixed Method with Effective Color Reduction

by
María-Luisa Pérez-Delgado
Departamento de Informática y Automática, University of Salamanca, Escuela Politécnica Superior de Zamora, Av. Requejo, 33, C.P. 49022 Zamora, Spain
Appl. Sci. 2020, 10(21), 7819; https://doi.org/10.3390/app10217819
Submission received: 28 September 2020 / Revised: 29 October 2020 / Accepted: 2 November 2020 / Published: 4 November 2020
(This article belongs to the Section Computing and Artificial Intelligence)

Abstract

:
This article presents a color quantization technique that combines two previously proposed approaches: the Binary splitting method and the Iterative ant-tree for color quantization method. The resulting algorithm can obtain good quality images with low time consumption. In addition, the iterative nature of the proposed method allows the quality of the quantized image to improve as the iterations progress, although it also allows a good initial image to be quickly obtained. The proposed method was compared to 13 other color quantization techniques and the results showed that it could generate better quantized images than most of the techniques assessed. The statistical significance of the improvement obtained using the new method is confirmed by applying a statistical test to the results of all the methods compared.

Graphical Abstract

1. Introduction

Color quantization is a process that attempts to reduce the colors of an image. Let us consider a color image including n pixels. When the image is represented using the RGB color space, each pixel p i of this image, with  1 i n is represented by three integer values between 0 and 255 that indicate the amount of red, green and blue that define the pixel, p i = ( R i , G i , B i ) . Therefore, the palette used to represent this image can include 256 3 different colors. The color quantization problem consists of defining a new palette which includes fewer colors than the palette used to represent the original image. Once this palette containing q colors has been defined, it is used to represent the new image, called quantized image. The quantized palette should be defined in such a way that it allows a new image, as similar to the original as possible, to be obtained.
Color quantization is not only a problem in itself, but it is also related to other operations applied to images, such as image segmentation [1,2,3,4,5], content-based image retrieval [6,7,8], texture analysis [9,10,11] and image watermarking [12,13]. When the number of different colors of an image is reduced, the size of the file that contains the image is also reduced. This feature not only reduces the storage space required for the image but also accelerates the speed of transmission of the image. Therefore, although current devices can display images with many colors, reducing the colors of an image is still useful for solving other problems. Several practical scientific and industrial applications that involve color quantization are medical image analysis [14,15,16], nondestructive inspection of food quality [17,18], biometric recognition [19,20] or surveillance systems [21,22].
The color quantization problem is complex, since the selection of the best colors to define the quantized palette is a NP-complete problem [23]. For this reason, several solution methods have been proposed to solve this problem. With respect to the strategy applied for finding a solution, the methods employed can be classified into two groups: splitting methods and clustering-based methods.
The splitting methods operate on the color cube to define the quantized palette. This cube is progressively divided into smaller boxes until q boxes are obtained. At the end of this process each box defines one color in the quantized palette, and the quantized image is generated by representing the pixels of each box by the color of said box. This category includes methods such as the Median-cut [24], the Variance-based method [25], the Wu’s method [26], the Binary splitting [27] and the Octree [28]. These methods differ in relation to the box that is selected to perform the next division as well as in the splitting axis and the splitting point used to divide the selected box.
Clustering-based methods define clusters (groups) of similar pixels. Each cluster defines a color included within the new palette and that color is used to represent all the pixels of the group in the quantized image. Various clustering methods have been used to reduce the colors of an image. The K-means method is probably the most popular clustering method that has been used for this purpose [29,30,31,32]. Neural networks have also been applied to this problem. In addition to the Neuquant method [33], other color quantization methods using Neural networks have been presented in [34,35,36]. Another group of algorithms based on this approach are those that use a swarm of individuals to solve a complex problem. Some methods of this type applied to color quantization are the Particle swarm optimization algorithm [37,38], the Ant-tree for color quantization (ATCQ) method [39], the Iterative ant-tree for color quantization (ITATCQ) method [40], the Artificial bee colony algorithm combined with K-means [41], the Artificial bee colony algorithm combined with ATCQ [42], the Firefly algorithm combined with ATCQ [43] and the Shuffled-frog leaping algorithm [44]. Other swarm-based methods applied to color quantization are summarized in [45].
Some other methods combine the splitting approach with the clustering-based approach, such as the solution proposed in [46], which combines the Binary splitting (BS) method with the ATCQ algorithm. The resulting method, called BS+ATCQ, combines two existing color quantization techniques and generates better images than each of the two methods applied separately. In addition, it also generates better quality images than other well-known color quantization methods. BS and ATCQ define a tree structure to solve the color quantization problem. When BS+ATCQ is applied, the leaves of the binary tree generated by BS are used to define the initial nodes of the tree considered to apply ATCQ. In general, splitting methods are faster, but clustering-based methods can generate better images. BS+ATCQ takes advantage of both features, since it uses BS to quickly generate an initial solution and then applies ATCQ to improve this solution.
This article proposes the introduction of an improved version of the BS+ATCQ algorithm, by replacing the ATCQ algorithm with the ITATCQ algorithm. The ITATCQ method is based on the ATCQ algorithm but generates better quantized images [40]. Therefore, it is expected that the result obtained by combining ITATCQ with BS will generate better images than those obtained using the initial combination of BS and ATCQ.
This introduction describes some interesting color quantization methods, but obviously it cannot discuss all existing solutions. For a more detailed description of color quantization methods and their operations, [47] can be consulted. This article describes other methods that have been applied to reduce the colors of an image, such as vector quantization, genetic algorithms or competitive learning.
The rest of the article is organized as follows. Section 2.1 describes the BS+ATCQ method, along with the two algorithms used to define it. The ITATCQ algorithm is described in Section 2.2. Then, Section 3 describes the method proposed in this article, while the results obtained after applying it to a set of 24 color images are discussed in Section 4. The proposed method is compared to other color quantification techniques. The quality of the images generated by the different methods is not calculated by means of an error measure based on human perception, but by an error measure that considers the images as arrays of points that are compared with each other. The article finishes by outlining the conclusions drawn.

2. Materials and Methods

2.1. Overview of the BS+ATCQ Algorithm

This section begins by describing the two methods used to define the BS+ATCQ algorithm and then describes this algorithm.

2.1.1. The Binary Splitting Method

This method builds a binary tree to reduce the colors of an image [27]. A binary tree is a data structure where each node can include a maximum of two children. The leaves of the tree created by the algorithm define the quantized palette and identify the subset of pixels of the original image that are represented by the same color in the quantized image.
Each node of this tree represents a subset of pixels of the original image and stores the information used to perform the sucessive operations. The node j represents the subset of pixels C j . The color of this node is computed as c o l o r j = m j / N j , where m j is the sum of the colors of the pixels in C j (Equation (1)) and N j is the number of elements of said set (Equation (2)). In addition, there is a 3 × 3 matrix associated with the node, denoted as R j , which stores the sum of the product of each pixel p i C j and its transpose (Equation (3)).
m j = p i C j p i
N j = | C j |
R j = p i C j p i p i T
These three elements allow the covariance of C j to be computed using Equation (4).
R j = R j 1 N j m j m j T
Algorithm 1 shows the main steps of BS. At the beginning of the operations, the tree only includes the root node, denoted C 1 , which represents the entire set of pixels of the original image. Once the variables R 1 , m 1 and N 1 , which are associated with this node, have been computed, the algorithm applies q 1 iterations to define the q colors of the quantized palette.
Each iteration selects a leaf j, splits the set of pixels C j into two subsets and then creates two children for the node j, which represent each of the two subsets.
To determine the leaf that will be processed during the current iteration, the eigenvalues of the covariance matrix of the current leaves are considered. Based on this information, the algorithm selects the leaf j with the largest eigenvalue, denoted λ j .
Once the leaf j has been selected, the two children of this node are created and denoted as j A and j B . Then, the set C j is divided into two subsets, C j A and C j B , with a plane perpendicular to the direction in which the variation of C j is the greatest and which passes through the mean point. In this case, such plane is perpendicular to the eigenvector E j corresponding to the principal eigenvalue λ j of R j . Therefore, the subsets that are associated with the nodes j A and j B are defined as follows: C j A = { p i C j : E j T p i E j T c o l o r j } and C j B = { p i C j : E j T p i > E j T c o l o r j } .
To complete the definition of the new nodes, the three values associated with each one are computed. After applying Equations (1)–(3) to calculate the values for node j A , the values for node j B can be easily calculated using Equations (5)–(7).
m j B = m j m j A
N j B = N j N j A
R j B = R j R j A
when the iterations conclude, the tree has q leaves that define the quantized palette. Then, the quantized image is obtained by representing the pixels associated with each leaf using the color of such leaf.
Algorithm 1 BS algorithm.
1:
Set C 1 = { p 1 , . . . , p N }
2:
Compute m 1 , N 1 and R 1 by Equations (1)–(3)
3:
for i = 1 to q 1 do
4:
 Find the leaf j with the largest λ j
5:
 Create the two children of node j
6:
 Split the pixels of C j into subsets C j A and C j B
7:
 Compute m j A , N j A and R j A by Equations (1)–(3)
8:
 Compute m j B , N j B and R j B by Equations (5)–(7)
9:
end for

2.1.2. The Ant-Tree for Color Quantization Method

ATCQ is a clustering-based method that is used to reduce the colors of an image [39]. This method represents the pixels of the original image by means of ants and subsequently builds a tree using them based on the similarity among the pixels represented by the ants. The ant h i represents the pixel p i of the image, with  1 i n. At the beginning of the algorithm, all the ants are on the root of the tree, denoted a 0 . The operations of the algorithm allow all the ants to connect to the structure, becoming new nodes of the tree. The number of children of a 0 , denoted as q, is equal to 0 before starting the operations and can increase to a limit defined by Q m a x . These children, denoted { S 1 , . . . , S q } , define the root nodes of q subtrees of ants. The node S j defines a color of the quantized palette, computed as c o l o r j = s u m j / n c j , where s u m j is defined by Equation (8) and n c j is the number of said ants. When the algorithm concludes, the color of the subtree j is used to represent in the quantized image the pixels of the original image associated with the ants of this subtree.
s u m j = h i   c o n n e c t e d t o   s u b r e e   j p i
The ATCQ operations define an iterative process to connect all the ants to the tree (Algorithm 2). Each iteration takes an ant h i that is not connected to the structure and operates according to the current position of this ant, denoted a p o s .
Algorithm 2 ATCQ algorithm.
1:
while there are moving ants do
2:
 Take a moving ant, h i , now on a p o s
3:
if ( a p o s = a 0 ) then
4:
  Support case operations ( h i )
5:
else
6:
  Ant case operations ( h i )
7:
end if
8:
end while
9:
Generate the quantized image
If the ant is on the node a 0 , the number of children of this node determines the next operation (Algorithm 3). If a 0 has no children ( q = 0 ), the first one is created, and the ant is connected to it. In another case, the selected ant can move to an existing subtree or to a new subtree. To determine the destination of the ant, it is necessary to determine the node S c with the color most similar to h i . Let  d i c denote this similarity ( d i c = S i m ( p i , c o l o r c )). In order to make a decision, this value is compared to a threshold computed by Equation (9), where α is a parameter in ( 0 , 1 ] and e c is the sum of the similarities between each ant h i connected to the subtree c and the value of c o l o r c when the ant was included in the subtree (Equation (10)). If d i c < T c , a new child of a 0 must be created to connect h i to it. If d i c T c , the ant is included in the subtree c. This last operation is also performed when a new child of a 0 should be created, but it is impossible because this node already has Q m a x children.
T c = e c n c c α
e c = h i   c o n n e c t e d t o   s u b r e e   j d i c
Algorithm 3 Support case operations ( h i )-ATCQ.
1:
if ( q = 0 ) then
2:
 Create a new child of a 0 and connect h i
3:
else
4:
 Select the node S c with the color most similar to h i
5:
if ( d i c < T c ) and ( q < Q m a x ) then
6:
  Create a new child of a 0 and connect h i
7:
else
8:
  Update the subtree with root in S c
9:
end if
10:
end if
The similarity between two colors x and y used in [39] is computed as a function of the Euclidean distance, E ( x , y ) , between both colors: S i m ( x , y ) = 1 / ( 1 + E ( x , y ) ) .
Before creating a new child of a 0 , q is increased by one. Then, the three variables associated with the new node S q are initialized: n c q = 1 , e q = 0 and s u m q = p i .
When it is necessary to update an existing subtree c, first the ant h i is placed on S c and then the values associated with S c are updated: n c c = n c c + 1 , e c = e c + d i c and s u m c = s u m c + p i .
When the selected ant is not on a 0 , the operations to be performed depend on the number of children of a p o s (Algorithm 4). There is a limit to the number of children on the nodes of the tree: Q m a x for the root node and L m a x for the others. Both values can be different because Q m a x limits the size of the quantized palette. If a p o s has no children, h i becomes the first one. If a p o s has two children and the second one has never been disconnected from a p o s , first this child and all its descendants are disconnected from the tree and moved to a 0 ; then, h i connects as the new second child. In other cases, a child of a p o s is selected, denoted a + . If a + is not sufficiently similar to h i , ( S i m ( p i , a + ) < T c , where c is the subtree that includes the node a + ), and  a p o s admits at least one more child, h i connects to a p o s ; in other cases, h i moves on a + .
When the iterations of the algorithm conclude, the nodes of the second level of the tree define a quantized palette that includes q colors, { c o l o r 1 , . . . , c o l o r q } . Then, the quantized image is generated by replacing the color of all the ants included in the subtree c with the color of the node S c .
Algorithm 4 Ant case operations ( h i )-ATCQ.
1:
if no children connected to a p o s then
2:
 Connect h i to a p o s
3:
else if two ants connected to a p o s and the second one never disconnected then
4:
 Move to a 0 the subtree with root in the second child of a p o s
5:
 Connect h i to a p o s
6:
else
7:
 Select a node connected to a p o s , a +
8:
if (Sim( p i , a + ) < T c ) and ( a p o s has less than L m a x children) then
9:
  Connect h i to a p o s
10:
else
11:
  Move h i on a +
12:
end if
13:
end if

2.1.3. The BS+ATCQ Method

The solution described in [46] applies the ATCQ method to the solution obtained by BS (Algorithm 5). BS defines an initial quantized palette and a partition of the pixels of the original image. This information is used to define an initial tree of ants and ATCQ operations improve the quantized palette.
First, BS creates a binary tree with q leaves, denoted { l 1 , . . . , l q } . The leaf l k represents the subset C l k of pixels of the original image and defines a color of the quantized palette, c o l o r l k = m l k / N l k , where m l k and N l k are computed by Equations (1) and (2), respectively.
Before applying ATCQ, the leaves of the binary tree are used to define q nodes in the second level of the tree of ants, { S 1 , . . . , S q } . The leaf l k is used to initialize the three variables associated with the node S k : n c k and s u m k take the value of N l k and m l k , respectively, while e k is computed by Equation (11), which computes the similarity between the color of the leaf l k and each pixel p i in the subset C l k .
e k = p i C l k S i m ( p i , c o l o r l k )
At this point, the tree of ants includes the root node and the maximum number of children allowed for that node ( q = Q m a x ). Therefore, this tree represents an initial quantized palette with q colors. Then, the ATCQ operations are applied in order to connect all the ants to the tree. When these operations conclude, the quantized image is generated in the same way described for ATCQ.
Algorithm 5 Binary splitting + ATCQ algorithm.
1:
Apply BS
2:
for each leaf l k of the binary tree do
3:
 Create node S k in the second level of the ATCQ tree
4:
 Set n c k = N l k , s u m k = m l k
5:
 Compute e k by Equation (11)
6:
end for
7:
Apply ATCQ
8:
Generate the quantized image
The computational results reported in [46] show that the image generated by BS+ATCQ is always better than the result of BS or ATCQ applied independently. In addition, this method consumes less time than other methods applied to the same problem.

2.2. The ITATCQ Method

The ITATCQ algorithm is based on the ATCQ algorithm [40]. This method performs the operations of ATCQ during a predefined number of iterations I T (Algorithm 6).
Initially, ATCQ is applied and the tree of ants is defined. After this, all the ants are disconnected from the tree and moved back to the support. Then, the operations of ATCQ are applied again to reconnect the ants to the structure. This process is applied to a certain number of iterations and allows a palette to be defined that is updated as the iterations progress. As a result, the quality of the quantized image obtained increases as the iterations progress.
When the iterative process ends, the quantized image and the quantized palette are defined in the same way described for the ATCQ algorithm.
When ATCQ was proposed, a variant was defined that eliminates the disconnection process in order to accelerate the method [39]. In this case, the method can be further accelerated by simplifying the structure of the tree by including all the ants in the third level. When a 3-level tree is used, the operations of Algorithm 4 reduce to line 2. The computational results reported in [39] showed that the images obtained by this variant are slightly worse than those generated when a multilevel tree is created.
ITATCQ applies the variant of ATCQ that builds a 3-level tree. On the other hand, ITATCQ does not use pixels sorted by average similarity, as was proposed when ATCQ was defined [39]. In this case, the pixels of the image are processed as they are read from the original image (from left to right and from top to bottom).
The results reported in [40] show that ITATCQ generates better images than ATCQ.
Algorithm 6 ITATCQ algorithm.
1:
for i = 1 to I T do
2:
while there are moving ants do
3:
  Take a moving ant, h i , now on a p o s
4:
  if ( a p o s = a 0 ) then
5:
   Support case operations ( h i )
6:
  else
7:
   Connect h i to a p o s
8:
  end if
9:
end while
10:
if t < I T then
11:
  Move all the ants back to the node a 0
12:
end if
13:
end for

3. The BS+ITATCQ Method

This article proposes a modification to the BS+ATCQ method that consists of replacing ATCQ by ITATCQ. As a result, the new method can obtain a quantized image that improves as the iterations progress. In this way, the user can decide which feature of the algorithm is more important: the quality of the solution or the speed in which a result is obtained.
Therefore, the only step that is modified with respect to BS+ATCQ is the one that applies ATCQ (line 7 of Algorithm 5).
Although ITATCQ generates a 3-level tree to accelerate the process, the creation of a multilevel tree to define BS+ITATCQ has also been considered. Certainly, the results published in [40] show that ITATCQ generates better images if a multilevel tree is considered. This possibility is easy to implement, since it only requires replacing the operation in line 7 of Algorithm 6 with the operations corresponding to Algorithm 4.
It should be noted that when the original ITATCQ that creates a 3-level tree is combined with BS, the resulting method only depends on the Q m a x parameter. On the contrary, if the version of ITATCQ that generates a multilevel tree is considered, the resulting method also depends on the parameters α and L m a x .
Obviously, BS+ITATCQ will consume more time when a multilevel tree is considered. The objective of considering this tree is to analyze whether the improvement in the quality of the image compensates for a longer execution time.
There are many color quantization techniques that combine other existing methods [29,31,32,34,35,37,41,42,43,46]. Two main characteristics are considered when defining a color quantization method: the quality of the quantized image and the time required to obtain such image. However, it is difficult to achieve both objectives. When several methods are combined to define a new color quantization technique, the selected methods are intended to achieve these objectives or at least one of both.
The solution proposed in this article combines a fast method with another method that can generate a quantized image that improves with the iterations. In this way, the resulting method can generate an image quickly, but such an image can be improved if the method is allowed to consume a little more time. Computational results show that the new method can obtain a quantized image of better quality than BS even when few ITATCQ iterations are executed. Therefore, a small increase in the execution time is required to obtain a better quality image than that generated by BS. On the other hand, if the quality of the final image is more important than the execution time, this method can also achieve this goal, since the quality of the final image improves with the number of iterations of ITATCQ. Computational results also show that the image generated by the new method is better than that generated by ITATCQ applied independently.
Although BS+ATCQ can generate good quantized images quickly, BS+ITATCQ can generate even better images. In addition, the second method allows choosing between speed and quality of the result.

4. Results and Discussion

This section includes results corresponding to tests performed with the proposed method. It also includes the results of other methods described in the literature, in order to compare them to those obtained using the method proposed here. The execution time and the mean squared error (MSE) of the methods are compared. MSE is computed by Equation (12), where p i represents a pixel of the original image and p i represents the pixel in the same position as p i but in the quantized image.
M S E = 1 n i = 1 n | | p i p i | | 2
The test set includes 24 images used in several research articles, which can be downloaded from [48,49,50,51]. Figure 1 shows these images.
Four palette sizes were considered to reduce the colors of the images: { 32 , 64 , 128 , 256 } . In addition, the six α values proposed in [39] were used to apply ITATCQ: α = { 0.25 , 0.30 , 0.35 , 0.40 , 0.45 , 0.50 } . The tests were executed on a PC running under the Linux operating system with 8 GBytes of RAM and AMD Ryzen 5 1600 processor (3.2 GHz).
The BS+ITATCQ method was executed during 25 iterations. Table A1 shows the results for the variant that considers a 3-level tree (labeled BS+ITATCQ3) while Table A2 includes the results for the variant that considers a multilevel tree (labeled BS+ITATCQm). In order to evaluate the quality of this method compared to other faster methods, both tables show the results at iterations 5 and 25. The results of the tables correspond to 20 independent tests executed for each image, palette size and α value.
Table A2 clearly shows that the error of the image obtained for a given palette size is very similar for all the executions. It is also observed that the average error of BS+ITATCQm is smaller than the error obtained by BS+ITATCQ3 for each image and palette size in almost all the cases. The reduction in the error obtained by the first variant at iteration 25 ranges in [ 0.01 % , 5.87 % ] and only 8 cases exceed 2 % . On the other hand, the execution time is longer for BS+ITATCQm, as can be clearly seen in Figure 2, which compares the average execution time for each palette size.
Therefore, BS+ITATCQm can generate better images than BS+ITATCQ3. Nevertheless, since the second variant consumes less time, the rest of the section will consider the results of BS+ITATCQ3 to compare the proposed method to other color quantization methods.

4.1. Results of BS and ITATCQ Applied Independently

The results of BS+ITATCQ3 were compared to those of BS (Table A3) and ITATCQ (Table A4) applied independently. ITATCQ was executed during 25 iterations and the same α values used to test BS+ITATCQ were considered.
It can be clearly observed that the quantized image is of a better quality for the combined method in all cases. Obviously, the combined method consumes more time than each method applied independently.
The amount of error is better for BS+ITATCQ3 than for BS from iteration 5 for all images and palette sizes. The percentage of error reduction obtained by the new method ranges in [ 9.9 % , 30.1 % ] at iteration 5 and it ranges in [ 10.9 % , 32.3 % ] at iteration 25. The largest differences obtained when comparing both methods correspond to the Caps image.
The average MSE obtained by ITATCQ at iteration 25 is also worse than the result obtained using BS+ITATCQ3 at iteration 5 for all images and palette sizes. In addition, when comparing the results of iteration 25, the percentage of error reduction obtained by the second method varies in between 17.8 % and 93.9 % . In this case, the most significant differences correspond to the Mandrill image. Table A4 shows that the average error and the standard deviation of ITATCQ are very large for several images (especially for the Mandrill image). This is because the smallest α values considered do not generate palettes with Q m a x colors. The most extreme case occurs for the Mandrill image when α = 0.25 , in which the quantized image only includes one color and the associated error is very large.
The study proposing the ITATCQ method reported that better results are obtained if the range of α values considered for the tests is adjusted according to the size of the quantized palette [40]. Since this was not applied here, a second comparison was performed that considers the minimum MSE obtained by ITATCQ. In this case, the results of BS+ITATCQ3 at iteration 5 are better than those of ITATCQ at iteration 25 in all cases except for 1, corresponding to the Snowman image with 64 colors. In this case the difference is less than 0.3 % . Therefore, ITATCQ errors are worse than those of the new method, even if the comparison considers the minimum error obtained by ITATCQ for each image and palette size.
The execution time of BS+ITATCQ3 is not the sum of the execution time of BS and ITATCQ applied independently, as might be expected. This is because the results reported for ITATCQ are the averages for the set of α values tested. The smallest α values generate palettes with less than Q m a x colors in some cases, so the execution time is reduced. Conversely, when ITATCQ is applied to the result of BS, the initial palette always includes the maximum number of colors allowed.

4.2. Results of BS+ATCQ

The next comparison performed considers the results of BS+ITATCQ3 and BS+ATCQ. The results included in Table A5 correspond to the execution of BS+ATCQ when a 3-level tree is considered, since this case is faster.
The image obtained using the new method is always better. When considering the results of BS+ITATCQ3 at iteration 5, the percentage of error reduction obtained by this method ranges in [ 0.7 % , 27.6 % ] . On the other hand, this percentage ranges in [ 2.4 % , 28.8 % ] when the results of iteration 25 are compared.

4.3. Comparison of Results

To complete the previous analysis, Figure 3 shows the average percentage of error reduction obtained by the new method at iteration 25 compared to BS, ITATCQ and BS+ATCQ. In this case, the average percentage is shown for the results grouped by palette size. This figure also shows two results for ITATCQ, labeled ITATCQa and ITATCQm, which use the average and the minimum MSE, respectively. It is clearly observed that all the methods are improved when using BS+ITATCQ. The smallest improvement is obtained when BS+ATCQ is compared. On the other hand, the largest improvement is obtained when BS+ITATCQ is compared to the average error of ITATCQ. It is also observed that the difference with respect to ITATCQ is reduced by comparing the error of the best image found by ITATCQ instead of the average error.

4.4. Results of Other Methods

Table A6,Table A7,Table A8 and Table A9 show the MSE values obtained using other quantization methods. Four splitting methods have been applied: Wu’s method (WU) [26], Octree (OC) [28], Median-cut (MC) [24] and the Variance-based method (VB) [25]. In addition, five clustering-based methods were also used: Neuquant (NQ) [33], K-means (KM), the Shuffled-frog leaping algorithm (SFLA) [44], the Artificial bee colony algorithm combined with ATCQ (ABC+ATCQ) [42] and the Firefly algorithm combined with ATCQ (ATCQ+FA) [43]. To complete the comparison, the WATCQ method described in [52] was considered, which applies ATCQ to the partition defined by the Wu’s method. The results reported for each method correspond to 20 independent tests for each image and palette size. The results of the iterative methods (KM, ABC+ATCQ, ATCQ+FA and SFLA) correspond to iteration 25 and include the average MSE and the standard deviation. The best solution for each image appears in bold and the worst solution is underlined. To reduce the length of the article, the execution time of each method for each image and palette size is included as Supplementary Materials. However, the article does include a figure that allows the execution time of the methods to be compared (Figure 4). This figure represents the average execution time of each method for each palette size. Two subfigures have been included to show more clearly the time consumed by the fastest methods.
The parameters used for the tests are the following: six food sources have been considered for ABC+ATCQ and six individuals (frogs, fireflies) for SFLA and ATCQ+FA. SFLA was executed considering 2 memeplexes, 4 improvement iterations of each memeplex and a sampling step equal to 10. The ATCQ algorithm combined with other algorithms was executed considering the variant that generates a 3-level tree, since it is faster. In addition, the α parameter of ATCQ was set to the same values previously described to execute ITATCQ. Finally, the sampling factor of NQ was set to 1, since this is the value that generates the best results for this method.
It should be noted that the results obtained using the ATCQ method are not included because the tests published in [46] have already shown that the BS+ATCQ method improves the images obtained by ATCQ.
The results included in the tables indicate that BS+ITATCQ3 at iteration 5 obtains better MSE than WU, OC, MC, VB and NQ for all the images and palette sizes. In addition, Figure 5 shows the average percentage of error reduction obtained by BS+ITATCQ3 at iterations 5 and 25 compared to those methods. The summary that shows this figure confirms the superiority of BS+ITATCQ3.
When the results of BS+ITATCQ3 at iteration 25 are compared to those of the other iterative methods, the proposed solution obtains worse error in some cases. The best result of the comparison is obtained when ATCQ+FA is considered, since the proposed method obtains better error in all the cases. On the other hand, KM, SFLA and ABC+ATCQ are improved in 85, 77 and 31 cases out of 96, respectively. The percentage of error reduction obtained by BS+ITATCQ3 compared to these methods ranges in [ 1.15 % , 51.29 % ] , [ 0.01 % , 42.56 % ] and [ 0.04 % , 20.87 % ] , respectively. On the contrary, when these three methods obtain better results than the proposed solution, the percentage of error reduction ranges in [ 0.11 % , 5.49 % ] for KM, [ 0.08 % , 6.23 % ] for SFLA and [ 0.13 % , 9.07 % ] for ABC+ATCQ. It can be clearly observed that the upper limit of the intervals is always considerably greater for the cases improved by BS+ITATCQ3.
When the results of BS+ITATCQ3 at iteration 25 are compared to those of WATCQ, the first method obtains better results for 89 out of 96 cases. These results are similar in the number of cases to those obtained when KM is compared to BS+ITATCQ, although the range is different. In this case the improvement obtained by BS+ITATCQ compared to WATCQ is 10.42 % at most.
ABC+ATCQ is the method which obtains better global errors when compared to the proposed method. Nevertheless, it is also the most time consuming method among those considered. It should be noted that the improvement obtained by ABC+ATCQ is less than 5 % for the majority of the cases (in 59 out of 65 cases improved by this method).
The results reported for KM correspond to tests that take random initial centroids. However, a second group of tests was performed using the quantized palette generated by BS to define the initial centroids of K-means. The results of these tests appear in Table A6, Table A7, Table A8 and Table A9 labeled as BSKM. Although BSKM and BS+ITATCQ3 have some similarities, there are several differences between both solutions:
  • Each iteration of K-means considers an initial set of centroids and uses these centroids to associate each pixel with a cluster. The values of the centroids are the same until the end of the iteration. On the other hand, the colors used by ITATCQ to associate an ant to a subtree are updated during each iteration of the algorithm. When a new ant is associated with a subtree, the color of that subtree is updated to include the color of the ant. Therefore, when the next ant is processed, the set of colors used to decide its destination is different from the set considered for the previous ant.
  • K-means recomputes all the centroids at the end of each iteration. In contrast, ITATCQ does not recompute the colors of the palette at the end of each iteration, which accelerates the method.
  • The final palette defined by K-means includes the average color of each cluster defined during the last iteration. Nevertheless, the colors of the final palette defined by ITATCQ are computed based on the color of all the ants connected to each subtree throughout all the iterations of the algorithm. When ITATCQ is applied to the result of BS, the colors of the palette defined by BS are also used to compute the final color of each element of the palette.
It can be observed that BSKM obtains better error values than BS+ITATCQ3 in many cases, although it requires much more time. BS+ITATCQ3 obtains better error than BSKM only in 29 out of the 96 cases. For the remaining 67 cases, the reduction in the error obtained by BSKM is less than 4 % for 56 cases, ranging between [ 4 % , 6 % ] for six cases and exceeding 7 % for only two cases.
Figure 6 shows the average percentage of error reduction obtained by BS+ITATCQ3 when compared to WATCQ, ATCQ+FA, SFLA, KM, BSKM and ABC+ATCQ. The figure confirms that ABC+ATCQ and BSKM can obtain images with less error than BS+ITATCQ3, although the average difference is less than 4 % for all the palettes.
Figure 7 compares the average MSE obtained by each method for the entire test set. The results are represented considering each palette independently and also considering the results for all the palettes as a whole. The methods were ordered by decreasing error for the case that considers all the palettes as a whole and this order was used in the five subfigures. The results considered for the proposed method are those of BS+ITATCQ3 at iteration 5. This figure confirms that the proposed method is among those that generate the best quality images of all the compared methods.
To complete the comparison, the execution time of the methods must be taken into consideration. The information shown in Figure 4 allows for this comparison. Figure 4a shows the values for the noniterative methods and also includes the results of BS+ITATCQ3 at iteration 5, in order to better interpret the values of this figure. On the other hand, Figure 4b shows the results of the iterative methods. In this second case, the results of BS+ITATCQ3 are those corresponding to iteration 25. To complete the information, Figure 4 also shows the average execution time of BS+ATCQ, BS and ITATCQ, discussed in the previous subsections.
It can be clearly seen that the methods represented in Figure 4a are faster than the method described in this article, although they always generate worse images than the proposed method, except WATCQ. As far as WATCQ is concerned, it only generates better quality images than BS+ITATCQ3 at iteration 5 for 15 cases out of 96, and this value reduces to 7 cases when comparing the results of BS+ITATCQ3 at iteration 25.
Regarding the methods represented in Figure 4b, ABC+ATCQ, ATCQ+FA, KM and BSKM clearly consume more time than BS+ITATCQ3. On the other hand, SFLA is slower than BS+ITATCQ3, but the difference is smaller.
The two desirable features of a color quantization method are its speed and the good quality of the images it generates. To try to compare both features at the same time, a scoring method was defined. First, the average MSE and execution time of each method were computed, considering all the images of the test set and all the palettes. Then, these average values were sorted from worst to best. After this, score 1 was assigned to the method with the worst value and increasingly integer scores were assigned to the sorted methods. As a result, the methods were assigned a score between 1 and 15 when considering the average MSE, while this range was reduced to 1–14 when considering the average execution time, since the execution time is the same for MC and WU methods. Once these two scores were defined, the average of both values was computed. Figure 8 shows the scores assigned for both criteria and the average value. The methods are represented and sorted by increasing average value. It can be clearly observed that BSKM and ABC+ATCQ obtain the best scores when MSE is considered, but they obtain the worst scores when the execution time is considered. On the contrary, MC obtains the best score for the execution time but the worst for MSE. When the average of both scores is considered, WATCQ obtains the best result and the proposed method obtains the second best result.
To sum up the results previously presented, the WU, OC, NQ, VB and MC methods are faster than BS+ITATCQ3, but they also generate worse images than BS+ITATCQ3. The WATCQ method is also faster than BS+ITATCQ3, but it generates worse images in most cases. On the contrary, the iterative methods are slower that BS+ITATCQ3, but some of them can obtain better images than it. Among these methods, ABC+ATCQ and BSKM are the ones that obtain better quality images compared to the proposed method, but they are also the slowest. For example, 25 iterations of BS+ITATCQ3 consume 15 s on average to generate an image with 256 colors. For this same case, BSKM and ABC+ATCQ consume 74 and 162 s, respectively. Therefore, although both methods can obtain better images in many cases, a lot of time is required to obtain a small reduction in the error of the quantized image. However, more iterations of BS+ITATCQ3 could be executed, generating a better quality image and in less time than both methods.

4.5. Statistical Significance of the Results

To conclude the comparison of the methods, the Wilcoxon test [53] was applied in order to determine the statistical significance of the improvement obtained by the proposed method. This test compares the results of two methods to determine that there is no significant difference between both methods.
To compare BS+ITATCQ3 to the iterative methods, the results of iteration 25 of all the methods were used. Nevertheless, when the noniterative methods were compared, the results of BS+ITATCQ3 used were those corresponding to iteration 5. The Wilcoxon test, with a significance level of 0.05 , was applied to compare both the MSE values and the execution time. The results of the tests appear in Table 1. The p-value (probability value corresponding to the Z-value) is not included in the table because it is the same in all cases (<0.00001). This value indicates that the differences between each pair of methods compared are significant in all cases. In addition, the sums of the ranks included in the table allow us to determine which of the two methods compared is better. If the results corresponding to the MSE values are analyzed, it is observed that the proposed method is significantly better than all the other methods, except ABC+ATCQ and BSKM. On the other hand, when analyzing the results for the execution time, the noniterative methods are significantly faster than BS+ITATCQ3. As far as the iterative methods are concerned, the proposed method is significantly faster than all of them, except ITATCQ.
In summary, the results obtained from the Wilcoxon test confirm the conclusions previously presented in this section.

5. Conclusions

BS+ATCQ is a recently proposed color quantization method which combines two previous methods that solve the same problem: BS and ATCQ. BS is a well-known color quantization technique. Moreover, ATCQ is a recent method that represents the pixels of the image by ants that build a tree structure.
This article proposes to replace ATCQ by ITATCQ, generating another color quantization method called BS+ITATCQ. In essence, ITATCQ applies ATCQ operations iteratively, improving the resulting image as the iterations progress. When ITATCQ was proposed, it was shown that the said algorithm could obtain better images than ATCQ. However, now this work has shown that the method that combines BS with ITATCQ obtains better results than BS+ATCQ.
Computational results show that the new method generates better images than BS and ITATCQ applied independently and also improves the images generated by BS+ATCQ. In addition, the method was compared to 11 other color quantization techniques and obtained good results. BS+ITATCQ obtains better images than the splitting methods compared, although it consumes more time, as is usually the case when comparing the execution time of splitting methods and clustering-based methods. On the other hand, it can obtain better images than most of the clustering-based methods analyzed and with less time consumption.

Supplementary Materials

The following are available online at https://www.mdpi.com/2076-3417/10/21/7819/s1, Table S1: Average execution time (milliseconds) of other color quantization methods—palette size 32, Table S2: Average execution time (milliseconds) of other color quantization methods—palette size 64, Table S3: Average execution time (milliseconds) of other color quantization methods—palette size 128, Table S4: Average execution time (milliseconds) of other color quantization methods—palette size 256.

Funding

This research was funded by the Samuel Solórzano Barruso Memorial Foundation of the University of Salamanca grant number FS/102015.

Conflicts of Interest

The author declares no conflict of interest.

Abbreviations

The following abbreviations are used in this manuscript:
ABCArtificial bee colony
ATCQAnt-tree for color quantization
BSBinary splitting
BSKMK-means applied to the result of Binary splitting
FAFirefly algorithm
ITATCQIterative ant-tree for color quantization
KMK-means
MCMedian-cut
MSEMean squared error
NQNeuquant
OCOctree
SFLAShuffled-frog leaping algorithm
VBVariance-based
WATCQWu’s method combined with ant-tree for color quantization
WUWu’s method

Appendix A

This appendix includes the tables with the main results of the article.
Table A1. MSE and execution time (milliseconds) of BS+ITATCQ3 at iterations 5 and 25 ( A V E . : average values for all the images).
Table A1. MSE and execution time (milliseconds) of BS+ITATCQ3 at iterations 5 and 25 ( A V E . : average values for all the images).
Iteration 5Iteration 25
32 Colors64 Colors128 Colors256 Colors32 Colors64 Colors128 Colors256 Colors
M S E T M S E T M S E T M S E T M S E T M S E T M S E T M S E T
Lenna121.3054974.1792747.22159430.982885119.98205173.46376946.74683730.6312,993
Pepp.245.08533147.9490994.38159457.962873240.281999144.95368892.12688957.0712,863
Plane69.4348539.4586724.72155415.73281968.52192238.77358224.17681415.4712,813
Mand.390.36586244.91935157.831624101.212948385.832131242.813729156.06688599.9413,042
Blond92.1555950.9492731.26160318.98288690.19206350.15375930.70690818.6812,962
Lake212.47550137.2390688.31162556.622888208.882073134.89366986.84689655.9112,965
Hydr.178.15535106.2390263.25158538.163009174.772017104.79362662.31683037.6913,211
EPSZ119.1155162.8491738.12161223.712928117.59206861.96374737.58700723.4313,069
Mach.73.7553843.0189425.75159015.71285772.44198342.47368725.42693815.5513,159
Text35.1453420.2090112.6316528.15294634.60204019.92370512.5370958.0613,048
Sign64.1852533.5388119.04158411.29282563.36199232.95364418.74688311.1512,841
Bikes111.2954459.8290032.95161418.532902109.37206158.37369432.30700118.2413,019
Sail.70.7478139.37132320.82234312.04423669.26290938.07541220.3210,18911.8219,138
Moto.216.31819113.86136465.84237539.074423209.613039110.73547064.3510,18238.3419,559
Lady113.0980664.28136035.60241119.984393112.10299263.27549934.8210,37919.7019,591
Caps168.7675478.29129339.60231721.284324161.85288575.85537038.2910,12120.7919,485
Parr.241.77791130.41136277.33235744.274298237.882992128.97548975.5310,32143.4619,362
Girl135.2478774.44133341.74238324.204359133.58301173.33543041.0310,33123.8019,723
Land.104.8763356.53105432.14188319.553441103.12239455.80431731.82808619.3615,246
Head.120.8559969.36104241.82183024.943365119.15232667.87428441.03795324.5215,199
Dess.129.7660569.02102540.91181924.153306127.40230668.27424640.42804923.7915,149
Snow.130.3561765.87104436.66186021.573435128.95236264.79424535.98811221.1515,218
Cath.62.1251933.2087419.08156111.66289160.88196032.59357618.78683111.5313,235
Beach146.4954376.9989344.83157427.432974144.93203475.71363844.35685327.0813,409
A V E . 139.7061478.83103547.16183128.633342137.27231777.53422046.34793328.2215,012
Table A2. MSE and execution time (milliseconds) of BS+ITATCQm at iterations 5 and 25 ( m i n : minimum MSE, a v : average MSE, d e v : standard deviation, i t : iteration of the algorithm, A V E . : average values for all the images).
Table A2. MSE and execution time (milliseconds) of BS+ITATCQm at iterations 5 and 25 ( m i n : minimum MSE, a v : average MSE, d e v : standard deviation, i t : iteration of the algorithm, A V E . : average values for all the images).
32 Colors64 Colors128 Colors256 Colors
i t m i n a v d e v T m i n a v d e v T m i n a v d e v T m i n a v d e v T
5Lenna120.99121.070.04184274.0374.070.03277947.1347.160.02465130.9130.920.018326
Pepp.243.04243.240.111292141.19141.320.08270988.2588.310.04450156.6656.700.028078
Plane66.6466.690.02176038.3238.360.02271923.7423.750.01457515.3115.320.018356
Mand.388.67389.030.171811244.49244.610.062698157.35157.480.074577100.91100.990.058203
Blond91.9392.030.06181250.7050.740.02269431.0131.050.02466918.8618.880.016313
Lake211.61211.900.191681136.54136.700.10260987.9988.080.05448256.0456.080.028267
Hydr.177.83178.000.081737105.77105.870.05274063.1263.160.03454338.0838.100.018221
EPSZ118.79118.850.03178662.6962.730.03270238.0538.090.02449023.6523.660.018152
Mach.73.5873.630.02173042.9042.940.02264925.6825.700.01457715.6815.680.008100
Text35.0235.050.02188420.1320.150.01287112.6112.610.0047168.128.130.008476
Sign64.0964.130.02169233.4633.490.02269418.9919.000.01456311.2611.270.008315
Bikes110.86110.980.06176059.6459.720.04272932.8132.870.02465118.4318.460.018297
Sail.70.0770.180.05277737.9938.050.03417820.5420.580.02703211.9511.960.0112,738
Moto.215.11215.570.252713112.89113.250.13423665.4465.560.05698238.7238.760.0212,336
Lady112.84112.910.03272064.0864.120.02419035.4335.470.02721319.9019.920.0112,791
Caps165.25165.830.34259377.5277.580.03417538.7538.800.02673121.0021.040.0212,286
Parr.240.57240.820.142686130.02130.090.05406276.4876.540.03685243.7143.760.0212,230
Girl135.25135.340.03277674.1574.260.05399841.6041.640.02686424.1124.130.0112,428
Land.104.49104.620.07219056.1756.350.06327832.0632.080.01621419.5119.520.0110,082
Head.120.48120.580.07211969.1169.220.05353441.6841.710.03567824.8424.860.019768
Dess.129.01129.240.13208168.9068.950.03314840.7940.810.02516524.0824.090.019438
Snow.130.06130.170.05205065.5765.640.03317236.5136.540.01613721.4021.440.0210,092
Cath.61.9261.970.03169633.1133.190.05280119.0219.040.01458811.6411.650.008332
Beach146.48146.550.03180976.7876.830.03275744.7044.720.01460827.3327.340.018370
A V E . 138.94139.10 204278.1778.26 317246.6646.70 537728.4228.44 9500
25Lenna119.78119.820.02847773.3973.430.0212,91446.6946.710.0122,03230.5930.600.0140,102
Pepp.240.01240.140.075857139.29139.390.0512,54386.9687.010.0321,35755.8555.890.0238,850
Plane66.0566.070.01820337.5937.650.0312,70323.4723.500.0121,83515.0915.100.0040,434
Mand.385.09385.280.108252242.64242.710.0312,555155.58155.690.0521,57399.7299.770.0339,536
Blond90.1190.250.08834950.1050.130.0212,53930.5630.590.0222,14318.5818.590.0130,048
Lake208.50208.610.087694134.70134.780.0412,08886.6086.680.0321,34955.3455.390.0239,485
Hydr.174.54174.630.057911104.51104.590.0312,77462.2462.270.0321,49637.6437.660.0139,517
EPSZ117.29117.330.02812261.9061.930.0312,51437.5337.550.0121,15823.3823.390.0039,113
Mach.72.3672.380.01789742.4242.440.0112,39525.3725.380.0121,70815.5315.530.0039,164
Text34.5334.560.02867219.8619.880.0113,50712.5212.520.0022,5028.048.040.0040,686
Sign63.3963.420.01773232.9232.950.0112,62618.7118.720.0121,71711.1211.130.0040,168
Bikes109.10109.210.05811558.3558.400.0212,84832.2632.290.0122,18518.1718.180.0040,064
Sail.69.0969.140.0212,79336.7436.810.0419,45720.1220.150.0133,28511.7811.800.0161,339
Moto.201.29207.412.7612,518109.68109.930.1019,67864.0364.180.0732,77638.1138.130.0159,193
Lady112.05112.090.0312,46863.1563.180.0219,60034.7334.770.0234,04719.6619.670.0162,269
Caps160.26160.370.0511,91475.4475.560.0719,85638.0138.040.0131,59620.5620.590.0258,835
Parr.237.27237.430.0712,125128.65128.720.0318,81175.1475.180.0232,44243.0543.080.0258,919
Girl134.15134.350.1012,83673.1273.190.0318,65240.9640.990.0132,36423.7223.740.0159,553
Land.102.87102.960.0410,01155.2555.340.0815,28731.7631.770.0029,56419.3519.360.0048,674
Head.118.85118.920.03981367.7667.870.0516,49840.9541.000.0327,16224.4324.450.0147,113
Dess.126.70126.850.08982868.2168.240.0214,64440.2840.310.0224,60523.7323.750.0145,409
Snow.128.35128.530.10931464.4464.590.0614,78335.8935.920.0129,33621.0021.050.0248,568
Cath.60.9060.930.02776032.6332.660.0212,95018.7418.760.0121,84411.5211.530.0040,269
Beach145.11145.160.02819275.6475.700.0212,88044.2344.260.0122,13227.0127.020.0140,599
A V E . 136.57136.91 936977.0277.09 14,79645.9746.01 25,50928.0428.06 45,746
Table A3. MSE and execution time (milliseconds) of BS ( A V E .: average values for all the images).
Table A3. MSE and execution time (milliseconds) of BS ( A V E .: average values for all the images).
32 Colors64 Colors128 Colors256 Colors
M S E T M S E T M S E T M S E T
Lenna138.4417382.4421953.0427635.28355
Peppers311.66165173.75214106.8527268.72344
Plane83.1213046.2218628.0623818.42320
Mandrill441.30198286.93236183.51296117.85377
Blond111.2817263.0721538.4628023.65357
Lake245.65167162.89213107.0027368.36355
Hydrant210.09163125.5421976.3026945.79341
EPSZ132.1917072.6721943.7027427.18353
Machine86.8317549.0320729.7525818.35315
Text43.0216223.2220814.212579.24347
Sign73.6616039.9719722.8624913.41308
Bikes130.9716772.8220639.5725821.52342
Sailboats86.9624547.3628227.3938714.99503
Motorcycles276.14260151.9833583.7942049.37552
Lady144.8125579.3231044.5738824.55504
Caps217.36217112.0027555.4335428.86447
Parrots315.58234163.8329294.5435354.36466
Girl151.5123889.2829352.1936730.06488
Landscape129.1819766.6123836.4831622.18416
Headbands149.5217484.8622551.3028031.28354
Dessert152.1618285.2922548.5027229.42364
Snowman163.6318487.5424246.9729627.48385
Cathedrals72.4215738.5719622.4324113.29308
Beach179.4916693.2220452.3025131.89321
A V E . 168.6218895.7723656.6329734.40384
Table A4. MSE and execution time (milliseconds) of ITATCQ at iteration 25 ( m i n : minimum MSE, a v : average MSE, d e v : standard deviation, A V E . : average values for all the images).
Table A4. MSE and execution time (milliseconds) of ITATCQ at iteration 25 ( m i n : minimum MSE, a v : average MSE, d e v : standard deviation, A V E . : average values for all the images).
32 Colors64 Colors128 Colors256 Colors
m i n a v d e v T m i n a v d e v T m i n a v d e v T m i n a v d e v T
Len.137.66157.2121.4143078.8794.8313.3229450.2963.4521.9379132.0849.6729.56225
Pep.285.75350.9884.91529156.80177.5717.0262794.68118.7832.7432560.7793.6048.86873
Pla.97.59113.0616.1149345.3862.3415.9255126.6343.1717.5399717.1033.2822.26113
Man.399.651885.243568.31414259.821768.843625.42333167.661682.643667.63482111.071638.113689.56428
Blo.94.70127.4632.5155959.2071.7016.9264136.7944.5914.2433121.0636.0820.26656
Lake221.71336.26177.81531152.24165.5511.7262595.28111.4623.5436262.1383.2638.17131
Hyd.205.22248.3339.41394115.76162.4542.1235572.48100.9531.5377241.4574.2041.67146
EPS.146.94183.0137.4135278.91111.6168.5218641.5582.3083.0358225.0769.3590.06446
Mac.95.69183.59114.3137150.7084.5951.1225830.3560.8261.3368717.2550.9666.46284
Text36.9458.5534.6138021.4328.378.8216813.1020.3810.533098.3117.9812.44836
Sign89.20119.3826.6136241.0257.7119.6227020.8934.8217.1360212.0927.1821.26222
Bik.122.71145.6925.3138262.1280.3516.4235036.6048.0415.9379721.6337.1522.86476
Sai.74.26112.8933.5208641.4056.0218.6355323.8827.503.8636113.9217.546.311,043
Mot.222.81259.6935.92166126.42147.2614.6369877.4988.7215.5634246.1760.6728.710,633
Lady135.03166.3624.5210971.5495.4428.4365042.1050.8310.6623423.1532.6011.810,038
Caps222.44287.2478.5203095.39136.7239.6355650.5672.4131.0632226.5738.2613.810,973
Par.268.19289.4319.62072153.54185.3220.8357790.19122.5022.7605351.6783.3532.79811
Girl205.54267.9154.62025101.25117.4510.7354252.5667.7310.0640028.6339.819.710,790
Lan.106.92201.02127.6137060.3495.3047.5223835.7962.4450.2358822.1153.2955.65877
Hea.131.38198.3791.5147281.18112.6532.4236446.3966.9026.2391026.6147.2530.76288
Des.141.04189.8339.3139678.0296.3512.9241849.8461.2215.3399128.8244.7224.86647
Sno.130.51157.4316.7142065.6994.5521.0237640.4658.5928.6398723.6742.4534.96699
Cat.74.45148.43109.6138039.0985.8993.8229122.3430.9912.2381913.4923.4016.36244
Bea.182.97369.00193.81396103.02249.67200.2237154.45122.67110.1393632.5257.5229.16604
A V E . 159.55273.18 158889.13180.77 267953.01135.16 445831.97114.65 7437
Table A5. MSE and execution time (milliseconds) of BS+ATCQ ( A V E .: average values for all the images).
Table A5. MSE and execution time (milliseconds) of BS+ATCQ ( A V E .: average values for all the images).
32 Colors64 Colors128 Colors256 Colors
M S E T M S E T M S E T M S E T
Lenna123.8225075.3536248.1054131.59864
Peppers272.24241157.1735499.0553859.75847
Plane88.3220341.6332525.9050417.17821
Mandrill397.18278248.82378160.71561103.18931
Blond95.4525070.3935942.7054721.04863
Lake218.92246140.3235490.7053957.65863
Hydrant183.95239108.7135764.9353338.96854
EPSZ120.7424864.5535939.0953924.21861
Machine76.8125043.9634526.2852116.04819
Text36.2523820.6534712.845228.29854
Sign65.4323534.5933319.5350811.57812
Bikes113.9424362.5334633.9252118.94854
Sailboats73.8635739.6749121.5878112.371251
Motorcycles224.66374118.6254468.5581340.171314
Lady116.2036866.4951836.7879420.571291
Caps177.8432882.1348340.9575022.181198
Parrots249.72345133.3449879.4075745.271224
Girl136.9535077.1049843.2676524.871265
Landscape107.7228657.5940132.6962119.871019
Headbands124.5126071.2338543.0659125.76945
Dessert133.4026770.6638441.7758824.83957
Snowman134.0727168.7740338.0960422.33981
Cathedrals64.4823134.1133419.6950711.88821
Beach150.0424379.0934445.7851728.11847
A V E . 145.2727581.9839648.9760329.44973
Table A6. MSE of other color quantization methods for palette size 32. The results of the iterative methods include the average MSE and the standard deviation (in parentheses). The best solution for each image appears in bold and the worst solution is underlined ( A V E . : average values for all the images).
Table A6. MSE of other color quantization methods for palette size 32. The results of the iterative methods include the average MSE and the standard deviation (in parentheses). The best solution for each image appears in bold and the worst solution is underlined ( A V E . : average values for all the images).
WUOCMCVBNQBSKMWATCQKMSFLAABC+ATCQATCQ+FA
Lenna158.61482.03425.85203.07152.13118.65131.41123.48 (4.6)119.98 (1.1)119.19 (0.5)139.13 (1.2)
Pepp.279.27777.14866.55451.10283.69231.82241.08239.02 (7.5)232.13 (2.3)231.06 (1.3)290.13 (4.3)
Plane85.45342.23374.70123.56123.7065.8465.63140.67 (28.8)89.52 (7.6)68.05 (2.4)101.35 (0.5)
Mand.468.391094.11984.05531.03456.13376.69405.65382.70 (5.2)377.53 (2.8)377.14 (1.4)408.40 (1.7)
Blond107.55477.64374.69232.43123.8983.9290.6889.56 (8.4)84.58 (1.9)82.16 (0.3)96.30 (4.1)
Lake249.81922.041208.87357.26274.45204.42215.70214.49 (7.7)206.89 (2.5)204.78 (0.7)216.94 (1.4)
Hydr.218.21491.45975.28367.05235.63170.52182.38179.00 (4.3)173.76 (2.7)171.22 (0.9)200.59 (2.2)
EPSZ149.84539.37291.61182.44141.71114.78120.61118.95 (2.6)115.55 (1.9)115.37 (1.0)153.18 (1.0)
Mach.98.40371.64185.28120.2296.9472.7377.3777.92 (4.0)74.30 (1.8)73.96 (1.0)94.38 (1.1)
Text45.51104.38250.5160.9655.0634.4835.9640.64 (3.0)36.49 (1.3)35.46 (0.4)38.62 (0.1)
Sign82.07308.53412.77113.4198.3661.0164.9269.23 (7.2)65.06 (3.0)62.41 (1.2)96.38 (0.9)
Bikes131.08409.62580.27162.72140.32104.31109.89115.49 (4.4)107.70 (2.7)104.68 (1.3)124.01 (1.4)
Sail.85.82477.06320.63139.41118.5668.1970.5588.38 (6.8)78.67 (5.3)69.01 (1.8)76.18 (0.6)
Moto.268.42849.84532.58406.60339.71187.95216.60204.08 (8.0)197.09 (3.4)190.87 (1.8)232.83 (1.5)
Lady148.83412.51317.46417.87160.77111.86124.17120.33 (5.2)116.32 (2.6)114.45 (1.2)141.49 (1.0)
Caps213.01782.08637.58352.56231.86157.95167.25180.56 (10.5)171.76 (9.5)158.08 (5.1)225.76 (1.2)
Parr.298.98853.02862.83357.24297.85236.24249.61253.35 (8.1)243.10 (5.4)235.00 (2.8)269.55 (2.1)
Girl162.03508.41334.74222.09169.25124.93132.37144.11 (9.3)132.00 (3.9)127.86 (1.5)186.57 (5.7)
Land.131.31576.99419.37164.35139.0398.74105.55103.00 (3.3)100.33 (1.6)98.42 (0.7)111.71 (1.4)
Head.142.63430.861195.51184.82188.99113.88120.37139.68 (9.1)121.69 (6.0)114.85 (1.2)138.24 (0.9)
Dess.160.65426.95451.64191.72176.26123.99130.46132.13 (8.4)124.92 (3.4)123.12 (1.9)144.34 (1.5)
Snow.161.12559.57366.86216.35202.14121.41124.82137.94 (17.0)126.51 (9.0)118.63 (2.0)137.95 (0.7)
Cath.81.90316.46284.29105.8493.7259.2463.2566.76 (4.9)62.93 (1.7)60.63 (0.8)77.27 (0.9)
Beach177.34446.43671.30211.50178.32140.87145.64148.69 (10.2)139.23 (2.3)138.32 (1.7)185.36 (3.9)
A V E . 171.09540.02555.22244.82186.60132.68141.33146.26137.42133.11161.94
Table A7. MSE of other color quantization methods for palette size 64. The results of the iterative methods include the average MSE and the standard deviation (in parentheses). The best solution for each image appears in bold and the worst solution is underlined ( A V E . : average values for all the images).
Table A7. MSE of other color quantization methods for palette size 64. The results of the iterative methods include the average MSE and the standard deviation (in parentheses). The best solution for each image appears in bold and the worst solution is underlined ( A V E . : average values for all the images).
WUOCMCVBNQBSKMWATCQKMSFLAABC+ATCQATCQ+FA
Lenna99.16212.92362.61135.8685.6072.3479.1375.81 (2.6)73.84 (0.8)72.68 (0.4)80.56 (1.0)
Peppers165.37495.51771.03304.21166.37136.12142.07144.44 (4.0)139.21 (3.0)135.31 (1.2)160.67 (1.1)
Plane51.33225.98237.9780.7357.5737.4140.5978.30 (22.7)52.64 (3.0)42.53 (1.0)47.69 (0.4)
Mandrill288.33576.19881.29346.58272.25239.58249.00240.61 (2.1)238.68 (1.4)237.47 (0.4)259.32 (2.6)
Blond63.03163.08271.55129.4366.3249.3451.4652.33 (1.0)51.15 (0.7)49.32 (0.4)58.05 (0.8)
Lake161.34466.14984.62251.70164.26131.72139.07137.06 (1.7)134.11 (1.8)131.58 (0.6)154.10 (0.7)
Hydrant131.49280.76801.44236.15127.00102.02109.45108.14 (2.8)104.91 (1.4)102.12 (0.6)116.85 (1.0)
EPSZ85.95280.23232.32113.9972.7661.7666.5665.84 (2.9)62.73 (1.0)61.59 (0.5)82.94 (1.8)
Machine57.81136.94156.2082.3553.3542.6544.8045.67 (1.5)43.91 (1.0)42.89 (0.6)52.10 (1.0)
Text27.2672.16165.1642.8728.5820.4821.1724.02 (1.6)21.58 (0.6)20.68 (0.4)22.87 (0.2)
Sign45.21121.85273.2162.6152.5033.1535.3937.87 (2.1)34.65 (1.0)33.04 (0.3)42.56 (0.9)
Bikes77.65193.87429.39103.2575.5256.5359.8764.60 (2.3)61.21 (2.0)57.75 (0.4)64.30 (0.6)
Sailb.50.30144.83200.8371.0159.2636.5736.6549.34 (3.8)48.90 (3.1)36.75 (0.7)43.77 (1.1)
Motor.147.10351.29398.09216.75140.49107.09115.86118.23 (5.4)114.34 (3.0)108.60 (0.8)131.05 (1.0)
Lady82.36333.21231.33315.0481.2362.4264.8467.02 (3.0)66.95 (1.7)61.18 (0.6)72.15 (1.0)
Caps102.70323.01431.91163.9493.9173.6379.6294.48 (8.4)93.74 (6.9)77.86 (2.1)99.69 (1.9)
Parrots167.24364.27609.94217.62156.24128.15136.67138.16 (6.1)133.91 (2.7)127.66 (1.0)143.51 (3.0)
Girl93.38328.70258.61119.5293.4471.6876.6982.18 (3.8)78.05 (3.2)71.99 (0.6)102.75 (1.1)
Lands.72.20185.19352.09113.6170.1354.5658.2158.69 (2.1)56.43 (1.0)54.10 (0.3)62.75 (0.7)
Headb.87.52192.74878.94121.2899.4966.2470.6383.25 (4.9)76.88 (3.6)68.03 (0.7)86.48 (0.5)
Dessert90.42203.65311.91118.6990.7067.4071.3075.90 (4.0)70.10 (1.9)68.45 (0.7)82.38 (0.9)
Snowm.89.53334.53305.82118.1390.0562.1266.8772.57 (3.4)67.47 (2.3)62.30 (1.1)66.96 (0.3)
Cathe.45.28109.02169.3361.5048.6732.8934.3336.43 (1.8)35.72 (1.7)32.55 (0.4)41.55 (0.3)
Beach101.92309.23557.04123.4991.8674.0881.6879.90 (3.2)76.28 (1.8)74.63 (0.6)99.81 (1.8)
A V E . 99.33266.89428.03152.1097.4075.8380.5084.6280.7276.2990.62
Table A8. MSE of other color quantization methods for palette size 128. The results of the iterative methods include the average MSE and the standard deviation (in parentheses). The best solution for each image appears in bold and the worst solution is underlined ( A V E . : average values for all the images).
Table A8. MSE of other color quantization methods for palette size 128. The results of the iterative methods include the average MSE and the standard deviation (in parentheses). The best solution for each image appears in bold and the worst solution is underlined ( A V E . : average values for all the images).
WUOCMCVBNQBSKMWATCQKMSFLAABC+ATCQATCQ+FA
Lenna61.79140.53276.3394.6853.7346.8049.5448.52 (0.8)47.83 (0.4)46.41 (0.1)50.98 (0.5)
Peppers102.31308.76585.41212.6895.6984.5688.6487.06 (2.9)86.92 (1.8)83.76 (0.3)98.31 (0.6)
Plane32.60133.59187.9352.6029.7123.8225.2042.00 (11.6)33.99 (1.6)28.59 (0.6)27.90 (0.2)
Mandrill186.33357.13776.65248.02168.22151.75162.45154.46 (1.1)154.53 (0.8)152.54 (0.2)167.23 (2.2)
Blond36.8489.86185.8182.2238.3030.3231.1733.24 (0.8)33.23 (0.7)30.74 (0.7)37.26 (1.0)
Lake102.55198.49692.56170.97100.8884.7788.5090.78 (1.0)89.54 (0.9)85.31 (0.4)100.02 (1.3)
Hydrant79.91208.59643.83175.1974.1061.2065.9266.14 (1.7)65.38 (1.3)61.07 (0.3)72.75 (0.5)
EPSZ52.04124.29179.4378.9743.2637.3340.1239.10 (0.8)38.28 (0.5)36.98 (0.2)42.74 (0.4)
Machine35.5985.40128.2460.1530.6325.5427.3727.79 (0.7)26.92 (0.4)25.47 (0.2)32.05 (0.6)
Text18.7640.46105.8333.1215.9513.2413.4915.03 (0.6)14.11 (0.5)13.14 (0.1)14.09 (0.1)
Sign26.9857.33168.8738.4826.1618.8620.0922.35 (1.0)21.26 (0.7)18.91 (0.2)22.04 (0.2)
Bikes44.62129.45331.5865.2939.2331.6633.8337.13 (1.1)36.55 (1.2)32.26 (0.4)37.91 (0.4)
Sailb.29.23118.13176.8344.0928.2620.2021.2728.20 (1.7)30.23 (1.2)20.64 (0.3)25.57 (0.2)
Motor.86.71230.56299.41119.3679.6062.8468.1471.87 (2.0)71.26 (1.8)62.78 (0.7)80.70 (0.8)
Lady46.69126.93168.37189.5141.6634.2136.2837.78 (1.0)38.64 (1.0)33.91 (0.3)43.05 (0.7)
Caps51.90171.52305.1575.9249.0437.2240.0051.30 (3.1)52.72 (2.4)39.00 (0.7)54.15 (0.8)
Parrots95.39253.69441.59143.3186.0372.7477.4479.53 (3.5)78.72 (1.5)72.78 (0.6)86.42 (1.3)
Girl54.95169.86200.6980.1451.3940.8643.6250.67 (2.4)49.01 (1.3)40.46 (0.5)55.13 (0.6)
Lands.42.75149.46257.6184.4637.1732.0633.3735.19 (1.5)34.56 (0.8)31.30 (0.3)37.27 (0.3)
Headb.53.42128.22519.0079.9052.1239.8843.0551.82 (2.7)49.26 (1.8)40.54 (0.3)48.75 (0.3)
Dessert52.66118.32233.0982.3851.0939.8242.5144.60 (1.7)43.36 (1.0)40.24 (0.5)52.36 (1.0)
Snowm.49.69134.31212.6070.0344.2335.6937.7541.95 (1.3)41.45 (1.3)35.27 (0.5)42.25 (0.3)
Cathe.27.3169.79142.1240.1524.3319.2120.3122.05 (0.8)21.29 (0.5)18.74 (0.2)23.99 (0.7)
Beach59.64134.36446.8481.5052.7144.1547.0748.07 (1.5)46.82 (1.0)44.59 (0.6)55.23 (0.6)
A V E . 59.61153.29319.41100.1354.7345.3648.2151.1150.2445.6454.51
Table A9. MSE of other color quantization methods for palette size 256. The results of the iterative methods include the average MSE and the standard deviation (in parentheses). The best solution for each image appears in bold and the worst solution is underlined ( A V E . : average values for all the images).
Table A9. MSE of other color quantization methods for palette size 256. The results of the iterative methods include the average MSE and the standard deviation (in parentheses). The best solution for each image appears in bold and the worst solution is underlined ( A V E . : average values for all the images).
WUOCMCVBNQBSKMWATCQKMSFLAABC+ATCQATCQ+FA
Lenna39.5374.12193.2569.4134.8830.7932.1631.96 (0.4)31.91 (0.3)30.32 (0.1)33.39 (0.2)
Peppers66.08156.24397.29147.1863.0854.7956.9056.77 (2.2)57.03 (0.5)53.95 (0.1)63.18 (0.7)
Plane21.6652.31147.5336.8521.0915.5015.9323.72 (1.2)23.53 (1.1)19.55 (0.4)18.12 (0.1)
Mandrill118.65195.82676.87181.94109.3497.52102.8299.08 (0.6)100.40 (0.6)97.70 (0.1)108.13 (0.4)
Blond23.5950.79123.5754.4223.8618.8719.8922.08 (0.7)21.76 (0.9)19.19 (0.7)22.11 (0.2)
Lake66.47159.21523.09120.1065.7054.6357.2660.38 (1.5)60.20 (0.9)54.94 (0.2)63.48 (0.4)
Hydrant48.62120.00459.48118.8545.8837.5139.9441.57 (0.7)41.81 (0.6)37.34 (0.2)43.19 (0.4)
EPSZ32.0055.06134.5557.3727.4523.7224.9624.94 (0.4)24.73 (0.3)23.37 (0.1)26.87 (0.4)
Machine22.0249.0796.8741.6219.7316.0816.6717.31 (0.2)17.12 (0.2)15.65 (0.1)18.68 (0.2)
Text14.0527.4373.0026.4810.068.769.0010.01 (0.3)9.38 (0.2)8.57 (0.1)9.01 (0.0)
Sign17.2342.0194.2125.7914.4311.7812.0213.70 (0.4)13.51 (0.3)11.41 (0.1)13.23 (0.1)
Bikes26.1277.85243.3441.3023.6518.6019.3422.39 (0.5)23.02 (0.6)18.73 (0.2)22.42 (0.7)
Sailb.18.8941.05126.5927.6218.0012.6313.0018.06 (0.9)20.58 (0.8)12.41 (0.1)14.94 (0.1)
Motor.51.14126.16228.4573.0146.9337.8639.8144.41 (1.2)46.08 (1.5)37.18 (0.1)49.22 (0.5)
Lady27.3478.17121.8190.1623.2719.9520.6422.04 (0.4)24.01 (0.7)19.00 (0.1)24.03 (0.4)
Caps29.6870.45212.2243.0227.7320.9521.7730.10 (1.4)32.34 (1.6)21.52 (0.4)27.76 (0.7)
Parrots58.43123.65311.1498.3450.4142.5546.2147.77 (1.4)48.17 (1.4)42.16 (0.2)53.20 (1.1)
Girl32.96109.06159.3753.8430.8023.8525.2930.97 (0.9)31.36 (1.0)23.55 (0.2)30.61 (0.6)
Lands.25.7553.17185.2261.9023.7519.8820.4022.47 (0.7)22.74 (0.4)19.18 (0.1)23.24 (0.2)
Headb.33.8353.17314.5553.2930.7724.7426.1733.09 (1.8)32.90 (0.6)25.75 (0.2)28.25 (0.1)
Dessert32.7167.32172.4556.9230.2123.9225.3627.43 (0.9)27.09 (0.6)23.86 (0.2)30.45 (1.0)
Snowm.29.8584.45165.9743.6827.5121.3622.3425.63 (0.6)25.86 (0.7)21.15 (0.1)25.62 (0.3)
Cathe.18.1045.8399.1726.1615.2812.2112.6413.98 (0.2)14.19 (0.4)11.74 (0.1)14.71 (0.3)
Beach36.3381.77292.2752.9232.9527.2128.4730.22 (0.6)29.66 (0.7)27.50 (0.3)33.63 (0.4)
A V E . 37.1383.09231.3466.7634.0328.1529.5432.0932.4728.1633.23

References

  1. An, N.Y.; Pun, C.M. Color image segmentation using adaptive color quantization and multiresolution texture characterization. Signal Image Video Process. 2014, 8, 943–954. [Google Scholar] [CrossRef]
  2. Deng, Y.; Manjunath, B. Unsupervised segmentation of color-texture regions in images and video. IEEE Trans. Pattern Anal. Mach. Intell. 2001, 23, 800–810. [Google Scholar] [CrossRef] [Green Version]
  3. Nguyen, T.D.; Lee, G. Color image segmentation using tensor voting based color clustering. Pattern Recognit. Lett. 2012, 33, 605–614. [Google Scholar] [CrossRef]
  4. Phung, S.L.; Bouzerdoum, A.; Chai, D. Skin segmentation using color pixel classification: Analysis and comparison. IEEE Trans. Pattern Anal. Mach. Intell. 2005, 27, 148–154. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  5. Yu, Z.; Au, O.C.; Zou, R.; Yu, W.; Tian, J. An adaptive unsupervised approach toward pixel clustering and color image segmentation. Pattern Recognit. 2010, 43, 1889–1906. [Google Scholar] [CrossRef]
  6. Jeong, S.; Won, C.S.; Gray, R.M. Image retrieval using color histograms generated by Gauss mixture vector quantization. Comput. Vis. Image Underst. 2004, 94, 44–66. [Google Scholar] [CrossRef]
  7. Liu, G.H.; Yang, J.Y. Content-based image retrieval using color difference histogram. Pattern Recognit. 2013, 46, 188–198. [Google Scholar] [CrossRef]
  8. Singha, M.; Hemachandran, K. Content based image retrieval using color and texture. Signal Image Process. 2012, 3, 39. [Google Scholar] [CrossRef]
  9. Losson, O.; Macaire, L. CFA local binary patterns for fast illuminant-invariant color texture classification. J. Real-Time Image Process. 2015, 10, 387–401. [Google Scholar] [CrossRef]
  10. Ponti, M.; Nazaré, T.S.; Thumé, G.S. Image quantization as a dimensionality reduction procedure in color and texture feature extraction. Neurocomputing 2016, 173, 385–396. [Google Scholar] [CrossRef]
  11. Sertel, O.; Kong, J.; Lozanski, G.; Shana’ah, A.; Catalyurek, U.; Saltz, J.; Gurcan, M. Texture classification using nonlinear color quantization: Application to histopathological image analysis. In Proceedings of the IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP 2008), Las Vegas, NV, USA, 31 March–4 April 2008; pp. 597–600. [Google Scholar]
  12. Kuo, C.T.; Cheng, S.C. Fusion of color edge detection and color quantization for color image watermarking using principal axes analysis. Pattern Recognit. 2007, 40, 3691–3704. [Google Scholar] [CrossRef]
  13. Tsai, P.; Hu, Y.C.; Chang, C.C. A color image watermarking scheme based on color quantization. Signal Process. 2004, 84, 95–106. [Google Scholar] [CrossRef]
  14. Hance, G.; Umbaugh, S.; Moss, R.; Stoecker, W. Unsupervised color image segmentation: With application to skin tumor borders. IEEE Eng. Med. Biol. Mag. 1996, 15, 104–111. [Google Scholar] [CrossRef]
  15. Maitra, I.; Nag, S.; Bandyopadhyay, S. Accurate breast contour detection algorithms in digital mammogram. Int. J. Comput. Appl. 2011, 25, 1–13. [Google Scholar] [CrossRef]
  16. Stanley, R.; Moss, R.; Van Stoecker, W.; Aggarwal, C. A fuzzy-based histogram analysis technique for skin lesion discrimination in dermatology clinical images. Comput. Med. Imaging Graph. 2003, 27, 387–396. [Google Scholar] [CrossRef] [Green Version]
  17. Lee, D.J.; Archibald, J.; Xiong, G. Rapid color grading for fruit quality evaluation using direct color mapping. IEEE Trans. Autom. Sci. Eng. 2010, 8, 292–302. [Google Scholar] [CrossRef]
  18. Lee, D.J.; Chang, Y.; Archibald, J.; Greco, C. Color quantization and image analysis for automated fruit quality evaluation. In Proceedings of the IEEE International Conference on Automation Science and Engineering (CASE 2008), Arlington, VA, USA, 23–26 August 2008; pp. 194–199. [Google Scholar] [CrossRef]
  19. Abate, A.; Frucci, M.; Galdi, C.; Riccio, D. BIRD: Watershed based iris detection for mobile devices. Pattern Recognit. Lett. 2015, 57, 43–51. [Google Scholar] [CrossRef]
  20. D’Angelo, A.; Dugelay, J.L. People re-identification in camera networks based on probabilistic color histograms. In Proceedings of the Visual Information Processing and Communication II. International Society for Optics and Photonics, San Francisco, CA, USA, 23–27 January 2011; Volume 7882, pp. 1–12. [Google Scholar] [CrossRef]
  21. Cheon, Y.; Lee, C. License plate extraction for moving vehicles. In Proceedings of the 10th International Conference on Information, Intelligence, Systems and Applications (IISA), Patras, Greece, 15–17 July 2019; pp. 1–6. [Google Scholar]
  22. Moon, H.M.; Pan, S. A new human identification method for intelligent video surveillance system. In Proceedings of the 2010 19th International Conference on Computer Communications and Networks, Zurich, Switzerland, 2–5 August 2010; pp. 1–6. [Google Scholar]
  23. Garey, M.; Johnson, D.; Witsenhausen, H. The complexity of the generalized Lloyd-max problem (corresp). IEEE Trans. Inf. Theory 1982, 28, 255–256. [Google Scholar] [CrossRef]
  24. Heckbert, P. Color Image Quantization for Frame Buffer Display. In Proceedings of the 9th Annual Conference on Computer Graphics and Interactive Techniques, Boston, MA, USA, 26–30 July 1982; ACM: New York, NY, USA, 1982; pp. 297–307. [Google Scholar] [CrossRef] [Green Version]
  25. Wan, S.; Prusinkiewicz, P.; Wong, S. Variance-based color image quantization for frame buffer display. Color Res. Appl. 1990, 15, 52–58. [Google Scholar] [CrossRef]
  26. Wu, X. Efficient Statistical Computations for Optimal Color Quantization. In Graphics Gems II; Arvo, J., Ed.; Academic Press: San Diego, CA, USA, 1991; pp. 126–133. [Google Scholar] [CrossRef]
  27. Orchard, M.; Bouman, C. Color quantization of images. IEEE Trans. Signal Process. 1991, 39, 2677–2690. [Google Scholar] [CrossRef]
  28. Gervautz, M.; Purgathofer, W. A Simple Method for Color Quantization: Octree Quantization. In Graphics Gems; Glassner, A.S., Ed.; Academic Press Professional, Inc.: San Diego, CA, USA, 1990; pp. 287–293. [Google Scholar] [CrossRef]
  29. Celebi, M. Improving the performance of k-means for color quantization. Image Vis. Comput. 2011, 29, 260–271. [Google Scholar] [CrossRef] [Green Version]
  30. Kasuga, H.; Yamamoto, H.; Okamoto, M. Color quantization using the fast K-means algorithm. Syst. Comput. Jpn. 2000, 31, 33–40. [Google Scholar] [CrossRef]
  31. Verevka, O.; Buchanan, J. The Local K-Means Algorithm for Colour Image Quantization. In Proceedings of the Graphics Interface 95, Quebec, QC, Canada, 17–19 May 1995; pp. 128–135. [Google Scholar] [CrossRef]
  32. Wen, Q.; Celebi, M. Hard versus fuzzy c-means clustering for color quantization. EURASIP J. Adv. Signal Process. 2011, 2011, 118. [Google Scholar] [CrossRef] [Green Version]
  33. Dekker, A. Kohonen neural networks for optimal colour quantization. Netw. Comput. Neural Syst. 1994, 5, 351–367. [Google Scholar] [CrossRef]
  34. Atsalakis, A.; Papamarkos, N. Color reduction and estimation of the number of dominant colors by using a self-growing and self-organized neural gas. Eng. Appl. Artif. Intell. 2006, 19, 769–786. [Google Scholar] [CrossRef]
  35. Chang, C.H.; Xu, P.; Xiao, R.; Srikanthan, T. New adaptive color quantization method based on self-organizing maps. IEEE Trans. Neural Netw. 2005, 16, 237–249. [Google Scholar] [CrossRef] [PubMed]
  36. Palomo, E.; Domínguez, E. Hierarchical color quantization based on self-organization. J. Math. Imaging Vis. 2014, 49, 1–19. [Google Scholar] [CrossRef]
  37. Omran, M.; Engelbrecht, A.; Salman, A. A color image quantization algorithm based on particle swarm optimization. Informatica (Slovenia) 2005, 29, 261–270. [Google Scholar]
  38. Pérez-Delgado, M.L. Color quantization with Particle swarm optimization and artificial ants. Soft Comput. 2020, 24, 4545–4573. [Google Scholar] [CrossRef]
  39. Pérez-Delgado, M.L. Colour quantization with Ant-Tree. Appl. Soft Comput. 2015, 36, 656–669. [Google Scholar] [CrossRef]
  40. Pérez-Delgado, M.L. An iterative method to improve the results of Ant-tree algorithm applied to colour quantisation. Int. J. Bio-Inspir. Comput. 2018, 12, 87–114. [Google Scholar] [CrossRef]
  41. Ozturk, C.; Hancer, E.; Karaboga, D. Color image quantization: A short review and an application with artificial bee colony algorithm. Informatica 2014, 25, 485–503. [Google Scholar] [CrossRef] [Green Version]
  42. Pérez-Delgado, M.L. The color quantization problem solved by swarm-based operations. Appl. Intell. 2019, 49, 2482–2514. [Google Scholar] [CrossRef]
  43. Pérez-Delgado, M.L. Artificial ants and fireflies can perform colour quantisation. Appl. Soft Comput. 2018, 73, 153–177. [Google Scholar] [CrossRef]
  44. Pérez-Delgado, M.L. Color image quantization using the shuffled-frog leaping algorithm. Eng. Appl. Artif. Intell. 2019, 79, 142–158. [Google Scholar] [CrossRef]
  45. Pérez-Delgado, M.L. Recent Applications of Swarm-Based Algorithms to Color Quantization. In Recent Advances on Memetic Algorithms and Its Applications in Image Processing; Springer: Singapore, 2020; pp. 93–118. [Google Scholar]
  46. Pérez-Delgado, M.L.; Román Gallego, J.Á. A two-stage method to improve the quality of quantized images. J. Real-Time Image Proc. 2018, 17, 581–605. [Google Scholar] [CrossRef]
  47. Brun, L.; Trémeau, A. Digital Color Imaging Handbook. Color Quantization; CRC Press: Boca Raton, FL, USA, 2003; pp. 589–638. [Google Scholar]
  48. Franzen, R. Kodak Lossless True Color Image Suite. 2017. Available online: http://r0k.us/graphics/kodak/ (accessed on 21 June 2012).
  49. Pérez-Delgado, M.L. Images for Color Quantization. 2017. Available online: http://audax.zam.usal.es/web/mlperez/cq.htm (accessed on 21 June 2020).
  50. Pérez-Delgado, M.L. Campus Viriato Images. 2018. Available online: http://audax.zam.usal.es/web/mlperez/fotos_campus.html (accessed on 21 June 2020).
  51. Weber, A. USC-SIPI Image Database. 2020. Available online: http://sipi.usc.edu/database/database.php/ (accessed on 21 June 2020).
  52. Pérez-Delgado, M.L.; Román Gallego, J.Á. A hybrid color quantization algorithm that combines the Greedy orthogonal bi-partitioning method with artificial ants. IEEE Access 2019, 7, 128714–128734. [Google Scholar] [CrossRef]
  53. Corder, G.; Foreman, D. Comparing two related samples: The Wilcoxon signed ranks test. In Nonparametric Statistics for Non-Statisticians: A Step-by-Step Approach; Wiley Online Library: Hoboken, NJ, USA, 2009; pp. 38–56. [Google Scholar]
Figure 1. Images used for the tests.
Figure 1. Images used for the tests.
Applsci 10 07819 g001
Figure 2. Average execution time (milliseconds) of both variants of BS+ITATCQ at iterations 5 and 25 (q: palette size).
Figure 2. Average execution time (milliseconds) of both variants of BS+ITATCQ at iterations 5 and 25 (q: palette size).
Applsci 10 07819 g002
Figure 3. Average percentage of error reduction of BS+ITATCQ compared to BS, ITATCQ and BS+ATCQ. ITATCQa compares average errors and ITATCQm compares minimum errors (q: palette size).
Figure 3. Average percentage of error reduction of BS+ITATCQ compared to BS, ITATCQ and BS+ATCQ. ITATCQa compares average errors and ITATCQm compares minimum errors (q: palette size).
Applsci 10 07819 g003
Figure 4. Average execution time (milliseconds) of several color quantization methods. The results of BS+ITATCQ in subfigure (a) correspond to the iteration 5, while the results in subfigure (b) correspond to iteration 25 (q: palette size).
Figure 4. Average execution time (milliseconds) of several color quantization methods. The results of BS+ITATCQ in subfigure (a) correspond to the iteration 5, while the results in subfigure (b) correspond to iteration 25 (q: palette size).
Applsci 10 07819 g004
Figure 5. Average percentage of error reduction of BS+ITATCQ3 compared to WU, OC, VB, MC and NQ (q: palette size).
Figure 5. Average percentage of error reduction of BS+ITATCQ3 compared to WU, OC, VB, MC and NQ (q: palette size).
Applsci 10 07819 g005
Figure 6. Average percentage of error reduction of BS+ITATCQ3 compared to WATCQ, ATCQ+FA, SFLA, KM, BSKM and ABC+ATCQ (q: palette size).
Figure 6. Average percentage of error reduction of BS+ITATCQ3 compared to WATCQ, ATCQ+FA, SFLA, KM, BSKM and ABC+ATCQ (q: palette size).
Applsci 10 07819 g006
Figure 7. Average MSE obtained by each quantization method for all the images in the test set.
Figure 7. Average MSE obtained by each quantization method for all the images in the test set.
Applsci 10 07819 g007
Figure 8. Scores assigned to the quantization methods, based on the average mean squared error (MSE) and execution time, along with the mean of both scores.
Figure 8. Scores assigned to the quantization methods, based on the average mean squared error (MSE) and execution time, along with the mean of both scores.
Applsci 10 07819 g008
Table 1. Results of the Wilcoxon test that compares BS+ITATCQ3 to other methods. (Z-value: value of the test statistic; s u m + : sum of positive ranks; s u m : sum of negative ranks).
Table 1. Results of the Wilcoxon test that compares BS+ITATCQ3 to other methods. (Z-value: value of the test statistic; s u m + : sum of positive ranks; s u m : sum of negative ranks).
MSE Execution Time
MethodZ-Value s u m + s u m Z-Value s u m + s u m
WU−8.507204656 −8.507246560
OC−8.507204656 −8.507246560
VB−8.507204656 −8.507246560
MC−8.507204656 −8.507246560
NQ−8.507204656 −8.24964585.570.5
BS−8.507204656 −8.507246560
WATCQ−5.44868373819 −8.507246560
BS+ATCQ−8.507204656 −8.507246560
ITATCQ−8.507204656 −8.507246560
SFLA−5.3172847.53712.5 −7.72522144442
ATCQ+FA−8.507204656 −8.507204656
KM−7.79461954461 −8.507204656
BSKM−6.16484015641 −8.507204656
ABC+ATCQ−4.71223549.51010.5 −8.507204656
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Pérez-Delgado, M.-L. A Mixed Method with Effective Color Reduction. Appl. Sci. 2020, 10, 7819. https://doi.org/10.3390/app10217819

AMA Style

Pérez-Delgado M-L. A Mixed Method with Effective Color Reduction. Applied Sciences. 2020; 10(21):7819. https://doi.org/10.3390/app10217819

Chicago/Turabian Style

Pérez-Delgado, María-Luisa. 2020. "A Mixed Method with Effective Color Reduction" Applied Sciences 10, no. 21: 7819. https://doi.org/10.3390/app10217819

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop