Abstract
Color quantization is an important operation with many applications in graphics and image processing. Most quantization methods are essentially based on data clustering algorithms. Recent studies have demonstrated the effectiveness of hard cmeans (kmeans) clustering algorithm in this domain. Other studies reported similar findings pertaining to the fuzzy cmeans algorithm. Interestingly, none of these studies directly compared the two types of cmeans algorithms. In this study, we implement fast and exact variants of the hard and fuzzy cmeans algorithms with several initialization schemes and then compare the resulting quantizers on a diverse set of images. The results demonstrate that fuzzy cmeans is significantly slower than hard cmeans, and that with respect to output quality, the former algorithm is neither objectively nor subjectively superior to the latter.
1 Introduction
Truecolor images typically contain thousands of colors, which makes their display, storage, transmission, and processing problematic. For this reason, color quantization (reduction) is commonly used as a preprocessing step for various graphics and image processing tasks. In the past, color quantization was a necessity due to the limitations of the display hardware, which could not handle over 16 million possible colors in 24bit images. Although 24bit display hardware has become more common, color quantization still maintains its practical value [1]. Modern applications of color quantization in graphics and image processing include: (i) compression [2], (ii) segmentation [3], (iii) text localization/detection [4], (iv) colortexture analysis [5], (v) watermarking [6], (vi) nonphotorealistic rendering [7], (vii) and contentbased retrieval [8].
The process of color quantization is mainly comprised of two phases: palette design (the selection of a small set of colors that represents the original image colors) and pixel mapping (the assignment of each input pixel to one of the palette colors). The primary objective is to reduce the number of unique colors, N', in an image to C, C ≪ N', with minimal distortion. In most applications, 24bit pixels in the original image are reduced to 8 bits or fewer. Since natural images often contain a large number of colors, faithful representation of these images with a limited size palette is a difficult problem.
Color quantization methods can be broadly classified into two categories [9]: imageindependent methods that determine a universal (fixed) palette without regard to any specific image [10] and imagedependent methods that determine a custom (adaptive) palette based on the color distribution of the images. Despite being very fast, imageindependent methods usually give poor results since they do not take into account the image contents. Therefore, most of the studies in the literature consider only imagedependent methods, which strive to achieve a better balance between computational efficiency and visual quality of the quantization output.
Numerous imagedependent color quantization methods have been developed in the past three decades. These can be categorized into two families: preclustering methods and postclustering methods [1]. Preclustering methods are mostly based on the statistical analysis of the color distribution of the images. Divisive preclustering methods start with a single cluster that contains all N' image colors. This initial cluster is recursively subdivided until C clusters are obtained. Wellknown divisive methods include mediancut [11], octree [12], variancebased method [13], binary splitting method [14], and greedy orthogonal bipartitioning method [15]. On the other hand, agglomerative preclustering methods [1618] start with N' singleton clusters each of which contains one image color. These clusters are repeatedly merged until C clusters remain. In contrast to preclustering methods that compute the palette only once, postclustering methods first determine an initial palette and then improve it iteratively. Essentially, any data clustering method can be used for this purpose. Since these methods involve iterative or stochastic optimization, they can obtain higher quality results when compared to preclustering methods at the expense of increased computational time. Clustering algorithms adapted to color quantization include hard cmeans [1922], competitive learning [2327], fuzzy cmeans [2832], and selforganizing maps [3335].
In this paper, we compare the performance of hard and fuzzy cmeans algorithms within the context of color quantization. We implement several efficient variants of both algorithms, each one with a different initialization scheme, and then compare the resulting quantizers on a diverse set of images. The rest of the paper is organized as follows. Section 2 reviews the notions of hard and fuzzy partitions and gives an overview of the hard and fuzzy cmeans algorithms. Section 3 describes the experimental setup and compares the hard and fuzzy cmeans variants on the test images. Finally, Sect. 4 gives the conclusions.
2 Color quantization using cmeans clustering algorithms
2.1 Hard versus fuzzy partitions
Given a data set X = {x_{1}, x_{2}, . . . , x_{N}} ∈ ℝ^{D}, a real matrix U = [u_{ik}]_{C}_{×N }represents a hard Cpartition of X if and only if its elements satisfy three conditions [36]:
Row i of U, say U_{i }= (u_{i}_{1}, u_{i}_{2}, . . . , u_{iN}), exhibits the characteristic function of the ith partition (cluster) of X: u_{ik }is 1 if x_{k }is in the ith partition and 0 otherwise;
The concept of hard Cpartition can be generalized by relaxing the first condition in Equation 1 as u_{ik }∈ 0[1] in which case the partition matrix U is said to represent a fuzzy Cpartition of X [37]. In a fuzzy partition matrix U, the total membership of each x_{k }is still 1, but since 0 ≤ u_{ik }≤ 1 ∀i, k, it is possible for each x_{k }to have an arbitrary distribution of membership among the C fuzzy partitions {U_{i}}.
2.2 Hard cmeans (HCM) clustering algorithm
HCM is inarguably one of the most widely used methods for data clustering [38]. It attempts to generate optimal hard Cpartitions of X by minimizing the following objective functional:
where U is a hard partition matrix as defined in §2.1, V = {v_{1}, v_{2}, . . . , v_{C}} ∈ ℝ^{D }is a set of C cluster representatives (centers), e.g. v_{i }is the center of hard cluster U_{i }∀i, and d_{ik }denotes the Euclidean
Since u_{ik }= 1 ⇔ x_{k }∈ U_{i}, and is zero otherwise, Equation 2 can also be written as:
This problem is known to be NPhard even for C = 2 [39] or D = 2 [40], but a heuristic method developed by Lloyd [41] offers a simple solution. Lloyd's algorithm starts with C arbitrary centers, typically chosen uniformly at random from the data points. Each point is then assigned to the nearest center, and each center is recalculated as the mean of all points assigned to it. These two steps are repeated until a predefined termination criterion is met.
The complexity of HCM is
From a clustering perspective, HCM has the following advantages:
◊ It is conceptually simple, versatile, and easy to implement.
◊ It has a time complexity that is linear in N and C.
◊ It is guaranteed to terminate [43] with a quadratic convergence rate [44].
Due to its gradient descent nature, HCM often converges to a local minimum of its objective functional [43] and its output is highly sensitive to the selection of the initial cluster centers. Adverse effects of improper initialization include empty clusters, slower convergence, and a higher chance of getting stuck in bad local minima. From a color quantization perspective, HCM has two additional drawbacks. First, despite its linear time complexity, the iterative nature of the algorithm renders the palette generation phase computationally expensive. Second, the pixel mapping phase is inefficient, since for each input pixel a full search of the palette is required to determine the nearest color. In contrast, preclustering methods often manipulate and store the palette in a special data structure (binary trees are commonly used), which allows for fast nearest neighbor search during the mapping phase. Note that these drawbacks are shared by the majority of postclustering methods, including the fuzzy cmeans algorithm.
We have recently proposed a fast and exact HCM variant called Weighted SortMeans (WSM) that utilizes data reduction and accelerated nearest neighbor search [21,22]. When initialized with a suitable preclustering method, WSM has been shown to outperform a large number of classic and stateoftheart quantization methods including mediancut [11], octree [12], variancebased method [13], binary splitting method [14], greedy orthogonal bipartitioning method [15], neuquant [33], split and merge method [18], adaptive distributing units method [23,26], finitestate HCM method [19], and stableflags HCM method [20].
In this study, WSM is used in place of HCM since both algorithms give numerically identical results. However, in the remainder of this paper, WSM will be referred to as HCM for reasons of uniformity.
2.3 Fuzzy cmeans (FCM) clustering algorithm
FCM is a generalization of HCM in which points can belong to more than one cluster [36]. It attempts to generate optimal fuzzy Cpartitions of X by minimizing the following objective functional:
where the parameter 1 ≤ m < ∞ controls the degree of membership sharing between fuzzy clusters in X.
As in the case of HCM, FCM is based on an alternating minimization procedure [45]. At each iteration, the fuzzy partition matrix U is updated by
which is followed by the update of the prototype matrix V by
As
A näive implementation of FCM has a complexity of
3 Experimental results and discussion
3.1 Image set and performance criteria
Six publicly available, truecolor images were used in the experiments. Five of these were natural images from the Kodak Lossless True Color Image Suite [47]: Hats (768 × 512; 34,871 unique colors), Motocross (768 × 512; 63,558 unique colors), Flowers and Sill (768 × 512; 37,552 unique colors), Cover Girl (768 × 512; 44,576 unique colors), and Parrots (768 × 512; 72,079 unique colors). The sixth image was synthetic, Poolballs (510 × 383; 13,604 unique colors) [48]. The images are shown in Figure 1.
Figure 1. Test images. a Hats, b Motocross, c Flowers and Sill, d Cover Girl, e Parrots, f Poolballs.
The effectiveness of a quantization method was quantified by the commonly used mean absolute error (MAE) and mean squared error (MSE) measures:
where I and
The efficiency of a quantization method was measured by CPU time in milliseconds, which includes the time required for both the palette generation and the pixel mapping phases. The fast pixel mapping algorithm described in [49] was used in the experiments. All of the programs were implemented in the C language, compiled with the gcc v4.4.3 compiler, and executed on an Intel Xeon E5520 2.26 GHz machine. The time figures were averaged over 20 runs.
3.2 Comparison of HCM and FCM
The following wellknown preclustering methods were used in the experiments:
• Mediancut (MC) [11]: This method starts by building a 32 × 32 × 32 color histogram that contains the original pixel values reduced to 5 bits per channel by uniform quantization (bitcutting). This histogram volume is then recursively split into smaller boxes until C boxes are obtained. At each step, the box that contains the largest number of pixels is split along the longest axis at the median point, so that the resulting subboxes each contain approximately the same number of pixels. The centroids of the final C boxes are taken as the color palette.
• Octree (OCT) [12]: This twophase method first builds an octree (a tree data structure in which each internal node has up to eight children) that represents the color distribution of the input image and then, starting from the bottom of the tree, prunes the tree by merging its nodes until C colors are obtained. In the experiments, the tree depth was limited to 6.
• Variancebased method (WAN) [13]: This method is similar to MC with the exception that at each step the box with the largest weighted variance (squared error) is split along the major (principal) axis at the point that minimizes the marginal squared error.
• Greedy orthogonal bipartitioning method (WU) [15]: This method is similar to WAN with the exception that at each step the box with the largest weighted variance is split along the axis that minimizes the sum of the variances on both sides.
Four variants of HCM/FCM, each one initialized with a different preclustering method, were tested. Each variant was executed until it converged. Convergence was determined by the following commonly used criterion [50]: (J_{(i1) } J_{(i)})/J_{(i) }≤ ε, where J_{(i) }denotes the value of the objective functional (Eqs. (2) and (3) for HCM and FCM, respectively) at the end of the ith iteration. The convergence threshold was set to ε = 0.001.
The weighting exponent (m) value recommended for color quantization applications ranges between 1.3 [30] and 2.0 [31]. In the experiments, four different m values were tested for each of the FCM variants: 1.25, 1.50, 1.75, and 2.00.
Tables 1 and 2 compare the effectiveness of the HCM and FCM variants on the test images. Similarly,
Table 3 gives the efficiency comparison. For a given number of colors C (C ∈ {32, 64, 128, 256}), preclustering method P(P ∈ {MC, OCT, WAN, WU}), and input image I, the column labeled as 'Init' contains the MAE/MSE between I and
Table 1. MAE comparison of the quantization methods
Table 2. MSE comparison of the quantization methods
Table 3. CPU time comparison of the quantization methods
⊳ The most effective initialization method is WU, whereas the least effective one is MC.
⊳ Both HCM and FCM reduces the quantization distortion regardless of the initialization method used. However, the percentage of MAE/MSE reduction is more significant for some initialization methods than others. In general, HCM/FCM is more likely to obtain a significant improvement in MAE/MSE when initialized by an ineffective preclustering algorithm such as MC or WAN. This is not surprising given that such ineffective methods generate outputs that are likely to be far from a local minimum, and hence HCM/FCM can significantly improve upon their results.
⊳ With respect to MAE, the HCM variant and the four FCM variants have virtually identical performance.
⊳ With respect to MSE, the performances of the HCM variant and the FCM variant with m = 1.25 are indistinguishable. Furthermore, the effectiveness of the FCM variants degrades with increasing m value.
⊳ On average, HCM is 92 times faster than FCM. This is because HCM uses hard memberships, which makes possible various computational optimizations that do not affect accuracy of the algorithm [5155]. On the other hand, due to the intensive fuzzy membership calculations involved, accelerating FCM is significantly more difficult, which is why the majority of existing acceleration methods involve approximations [5660]. Note that the fast HCM/FCM implementations used in this study give exactly the same results as the conventional HCM/FCM.
⊳ The FCM variant with m = 2.00 is the fastest since, among the m values tested in this study, only m = 2.00 leads to integer exponents in Equations 4 and 5.
Figure 2 shows sample quantization results for the Motocross image. Since WU is the most effective initialization method, only the outputs of HCM/FCM variants that use WU are shown. It can be seen that WU is unable to represent the color distribution of certain regions of the image (fenders of the leftmost and rightmost dirt bikes, helmet of the driver of the leftmost dirt bike, grass, etc.) In contrast, the HCM/FCM variants perform significantly better in allocating representative colors to these regions. Note that among the FCM variants, the one with m = 2.00 performs slightly worse in that the body color of the leftmost dirk bike and the color of the grass are mixed.
Figure 2. Sample quantization results for the Motocross image (C = 32). a Original, b WU, c HCMWU, d FCMWU 1.25, e FCMWU 1.50, f FCMWU 1.75, g FCMWU 2.00.
Figure 3 shows sample quantization for the Hats image. It can be seen that WU causes significant contouring in the sky region. It also adds a red tint to the pink hat. On the other hand, the HCM/FCM variants are significantly better in representing these regions. Once again, the less fuzzy FCM variants, i.e. those with smaller m values, are slightly better than the more fuzzy ones. For example, in the outputs of FCM 1.75 and 2.00, a brownish region can be discerned in the upperright region where the white cloud and the blue sky merge.
Figure 3. Sample quantization results for the Hats image (C = 64). a Original, b WU, c HCMWU, d FCMWU 1.25, e FCMWU 1.50, f FCMWU 1.75, g FCMWU 2.00.
It could be argued that HCM's objective functional, Equation 2, is essentially equivalent to MSE, Equation 6, and therefore it is unreasonable to expect FCM to outperform HCM with respect to MSE unless m ≈ 1.00. However, neither HCM nor FCM minimizes MAE and yet their MAE performances are nearly identical. Hence, it can be safely concluded that FCM is not superior to HCM with respect to quantization effectiveness. Moreover, due to its simple formulation, HCM is amenable to various optimization techniques, whereas FCM's formulation permits only modest acceleration. Therefore, HCM should definitely be preferred over FCM when computationally efficiency is of prime importance.
4 Conclusions
In this paper, hard and fuzzy cmeans clustering algorithms were compared within the context of color quantization. Fast and exact variants of both algorithms with several initialization schemes were compared on a diverse set of publicly available test images. The results indicate that fuzzy cmeans does not seem to offer any advantage over hard cmeans. Furthermore, due to the intensive membership calculations involved, fuzzy cmeans is significantly slower than hard cmeans, which makes it unsuitable for timecritical applications. In contrast, as was also demonstrated in a recent study [22], an efficient implementation of hard cmeans with an appropriate initialization scheme can serve as a fast and effective color quantizer.
Competing interests
The authors declare that they have no competing interests.
Acknowledgements
This publication was made possible by grants from the Louisiana Board of Regents (LEQSF200811RDA12), US National Science Foundation (0959583, 1117457), and National Natural Science Foundation of China (61050110449).
References

L Brun, A Trémeau, Digital Color Imaging Handbook (CRC Press, 2002), pp. 589–638 (Ch, 2002), . Color Quantization

CK Yang, WH Tsai, Color image compression using quantization, thresholding, and edge detection techniques all based on the momentpreserving principle. Pattern Recognit Lett 19(2), 205–215 (1998)

Y Deng, B Manjunath, Unsupervised segmentation of colortexture regions in images and video. IEEE Trans Pattern Anal Mach Intell 23(8), 800–810 (2001)

N Sherkat, T Allen, S Wong, Use of colour for handfilled form analysis and recognition. Pattern Anal Appl 8(1), 163–180 (2005)

O Sertel, J Kong, UV Catalyurek, G Lozanski, JH Saltz, MN Gurcan, Histopathological image analysis using modelbased intermediate representations and color texture: follicular lymphoma grading. J Signal Process Syst 55(13), 169–183 (2009)

CT Kuo, SC Cheng, Fusion of color edge detection and color quantization for color image watermarking using principal axes Analysis. Pattern Recognit 40(12), 3691–3704 (2007)

S Wang, K Cai, J Lu, X Liu, E Wu, Realtime coherent stylization for augmented reality. Visual Comput 26(68), 445–455 (2010)

Y Deng, B Manjunath, C Kenney, M Moore, H Shin, An efficient color representation for image retrieval. IEEE Trans Image Process 10(1), 140–147 (2001)

Z Xiang, Handbook of Approximation Algorithms and Metaheuristics (Chapman & Hall/CRC, 2007), pp. 861–8617 (Ch, 2007), . Color Quantization

A Mojsilovic, E Soljanin, Color quantization and processing by fibonacci lattices. IEEE Trans Image Process 10(11), 1712–1725 (2001)

P Heckbert, Color image quantization for frame buffer display. ACM SIGGRAPH Comput Graph 16(3), 297–307 (1982)

M Gervautz, W Purgathofer, New Trends in Computer Graphics (Springer, 1988), pp. 219–231 (Ch, 1988), . A Simple Method for Color Quantization: Octree Quantization

S Wan, P Prusinkiewicz, S Wong, Variancebased color image quantization for frame buffer display. Color Res Appl 15(1), 52–58 (1990)

M Orchard, C Bouman, Color quantization of images. IEEE Trans Signal Process 39(12), 2677–2690 (1991)

X Wu, Graphics Gems (Academic Press, 1991) II, pp. 126–133 (Ch, 1991), . Efficient Statistical Computations for Optimal Color Quantization

R Balasubramanian, J Allebach, A new approach to palette selection for color images. J Imaging Technol 17(6), 284–290 (1991)

L Velho, J Gomez, M Sobreiro, Color image quantization by pairwise clustering. Proceedings of the 10th Brazilian Symposium on Computer Graphics and Image Processing, 203–210 (1997)

L Brun, M Mokhtari, Two high speed color quantization algorithms. Proceedings of the 1st International Conference on Color in Graphics and Image Processing, 116–121 (2000)

YL Huang, RF Chang, A fast finitestate algorithm for generating RGB palettes of color quantized images. J Inf Sci Eng 20(4), 771–782 (2004)

YC Hu, MG Lee, Kmeans based color palette design scheme with the use of stable flags. J Electron Imaging 16(3), 033003 (2007)

ME Celebi, Fast color quantization using weighted sortmeans clustering. J Opt Soc Am A 26(11), 2434–2443 (2009)

ME Celebi, Improving the performance of Kmeans for color quantization. Image Vis Comput 29(4), 260–271 (2011)

T Uchiyama, M Arbib, An algorithm for competitive learning in clustering problems. Pattern Recognit 27(10), 1415–1421 (1994)

O Verevka, J Buchanan, Local kmeans algorithm for colour image quantization. Proceedings of the Graphics/Vision Interface Conference, 128–135 (1995)

P Scheunders, Comparison of clustering algorithms applied to color image quantization. Pattern Recognit Lett 18(1113), 1379–1384 (1997)

ME Celebi, An effective color quantization method based on the competitive learning paradigm. Proceedings of the 2009 International Conference on Image Processing, Computer Vision, and Pattern Recognition 2, 876–880 (2009)

ME Celebi, G Schaefer, Neural gas clustering for color reduction. Proceedings of the 2010 International Conference on Image Processing, Computer Vision, and Pattern Recognition, 429–432 (2010)

CW Kok, SC Chan, SH Leung, Color quantization by fuzzy quantizer. Proceedings of the SPIE Nonlinear Image Processing IV Conference, 235–242 (1993)

S Cak, E Dizdar, A Ersak, A fuzzy colour quantizer for renderers. Displays 19(2), 61–65 (1998)

D Ozdemir, L Akarun, Fuzzy algorithm for color quantization of images. Pattern Recognit 35(8), 1785–1791 (2002)

DW Kim, KH Lee, D Lee, A novel initialization scheme for the fuzzy cmeans algorithm for color clustering. Pattern Recognit Lett 25(2), 227–237 (2004)

G Schaefer, H Zhou, Fuzzy clustering for colour reduction in images. Telecommun Syst 40(12), 17–25 (2009)

A Dekker, Kohonen neural networks for optimal colour quantization. Netw Comput Neural Syst 5(3), 351–367 (1994)

N Papamarkos, A Atsalakis, C Strouthopoulos, Adaptive color reduction. IEEE Trans Syst Man Cybern Part B 32(1), 44–56 (2002)

CH Chang, P Xu, R Xiao, T Srikanthan, New adaptive color quantization method based on selforganizing maps. IEEE Trans Neural Netw 16(1), 237–249 (2005)

JC Bezdek, Pattern Recognition with Fuzzy Objective Function Algorithms (Springer, 1981)

EH Ruspini, Numerical methods for fuzzy clustering. Inf Sci 2(3), 319–350 (1970)

J Ghosh, A Liu, The Top Ten Algorithms in Data Mining (Chapman and Hall/CRC, 2009), pp. 21–35 (Ch, 2009), . KMeans

D Aloise, A Deshpande, P Hansen, P Popat, NPhardness of euclidean sumofsquares clustering. Mach Learn 75(2), 245–248 (2009)

M Mahajan, P Nimbhorkar, K Varadarajan, The planar kmeans problem is NPhard. in Theor Comput Sci (2011)

S Lloyd, Least squares quantization in PCM. IEEE Trans Inf Theory 28(2), 129–136 (1982)

ME Celebi, H Kingravi, F Celiker, Fast colour space transformations using minimax approximations. IET Image Process 4(2), 70–80 (2010)

SZ Selim, MA Ismail, Kmeanstype algorithms: A generalized convergence theorem and characterization of local optimality. IEEE Trans Pattern Anal Mach Intell 6(1), 81–87 (1984)

L Bottou, Y Bengio, Advances in Neural Information Processing Systems (MIT Press, 1995) 7, pp. 585–592 (Ch, 1995), . Convergence Properties of the KMeans Algorithms

I Csiszar, G Tusnady, Information geometry and alternating minimization procedures. Stat Decis, 205–237 (1984)

JF Kolen, T Hutcheson, Reducing the time complexity of the fuzzy cmeans algorithm. IEEE Trans Fuzzy Syst 10(2), 263–267 (2002)

RW Franzen, Kodak Lossless True Color Image Suite [http://www.r0k.us/graphics/kodak/] webcite

A Dekker, NeuQuant: Fast HighQuality Image Quantization [http://members.ozemail.com.au/~dekker/NEUQUANT.HTML] webcite

YC Hu, BH Su, Accelerated pixel mapping scheme for colour image quantisation. The Imaging Sci J 56(2), 68–78 (2008)

Y Linde, A Buzo, R Gray, An algorithm for vector quantizer design. IEEE Trans Commun 28(1), 84–95 (1980)

S Phillips, Acceleration of kmeans and related clustering algorithms. Proceedings of the 4th International Workshop on Algorithm Engineering and Experiments, 166–177 (2002)

T Kanungo, D Mount, N Netanyahu, C Piatko, R Silverman, A Wu, An efficient kmeans clustering algorithm: analysis and implementation. IEEE Trans Pattern Anal Mach Intell 24(7), 881–892 (2002)

C Elkan, Using the triangle inequality to accelerate kmeans. Proceedings of the 20th International Conference on Machine Learning, 147–153 (2003)

J Lai, YC Liaw, Improvement of the kmeans clustering filtering algorithm. Pattern Recognit 41(12), 3677–3681 (2008)

G Hamerly, Making kmeans even faster. Proceedings of the 2010 SIAM International Conference on Data Mining, 130–140 (2010)

TW Cheng, DB Goldgof, LO Hall, Fast fuzzy clustering. Fuzzy Sets Syst 93(1), 49–56 (1998)

F Hoppner, Speeding up Fuzzy cmeans: using a hierarchical data organisation to control the precision of membership calculation. Fuzzy Sets Syst 128(3), 365–376 (2002)

S Eschrich, J Ke, LO Hall, DB Goldgof, Fast accurate fuzzy clustering through data reduction. IEEE Trans Fuzzy Syst 11(2), 262–270 (2003)

YS Chen, BT Chen, WH Hsu, Efficient fuzzy cmeans clustering for image data. J Electron Imaging 14(1), 013017 (2005)

RJ Hathaway, JC Bezdek, Extending fuzzy and probabilistic clustering to very large data sets. Comput Stat Data Anal 51(1), 215–234 (2006)