Color Context Binary Pattern Using Progressive Bit Correction for Image Classification

Chinese Journal of ElectronicsVolume 30, Issue 3 p. 471-481 Original Research PaperFree Access Color Context Binary Pattern Using Progressive Bit Correction for Image Classification SONG Tiecheng, Corresponding Author SONG Tiecheng songtc@cqupt.edu.cn School of Communication and Information Engineering, Chongqing University of Posts and Telecommunications, Chongqing, 400065 ChinaSearch for more papers by this authorFENG Jie, Corresponding Author FENG Jie fengjie_cqupt@foxmail.com School of Communication and Information Engineering, Chongqing University of Posts and Telecommunications, Chongqing, 400065 ChinaSearch for more papers by this authorLI Shuang, Corresponding Author LI Shuang lishuang2023@163.com School of Communication and Information Engineering, Chongqing University of Posts and Telecommunications, Chongqing, 400065 ChinaSearch for more papers by this authorZHANG Tianqi, Corresponding Author ZHANG Tianqi zhangtq@cqupt.edu.cn School of Communication and Information Engineering, Chongqing University of Posts and Telecommunications, Chongqing, 400065 ChinaSearch for more papers by this author SONG Tiecheng, Corresponding Author SONG Tiecheng songtc@cqupt.edu.cn School of Communication and Information Engineering, Chongqing University of Posts and Telecommunications, Chongqing, 400065 ChinaSearch for more papers by this authorFENG Jie, Corresponding Author FENG Jie fengjie_cqupt@foxmail.com School of Communication and Information Engineering, Chongqing University of Posts and Telecommunications, Chongqing, 400065 ChinaSearch for more papers by this authorLI Shuang, Corresponding Author LI Shuang lishuang2023@163.com School of Communication and Information Engineering, Chongqing University of Posts and Telecommunications, Chongqing, 400065 ChinaSearch for more papers by this authorZHANG Tianqi, Corresponding Author ZHANG Tianqi zhangtq@cqupt.edu.cn School of Communication and Information Engineering, Chongqing University of Posts and Telecommunications, Chongqing, 400065 ChinaSearch for more papers by this author First published: 01 May 2021 https://doi.org/10.1049/cje.2021.03.010 This work is supported by the National Natural Science Foundation of China (No. 61702065) and Chongqing Research Program of Basic Research and Frontier Technology (No. cstc2018jcyjAX0033). AboutSectionsPDF ToolsRequest permissionExport citationAdd to favoritesTrack citation ShareShare Give accessShare full text accessShare full-text accessPlease review our Terms and Conditions of Use and check box below to share full-text version of article.I have read and accept the Wiley Online Library Terms and Conditions of UseShareable LinkUse the link below to share a full-text version of this article with your friends and colleagues. Learn more.Copy URL Share a linkShare onFacebookTwitterLinked InRedditWechat Abstract Local binary pattern (LBP) is sensitive to noise. Noise-resistant LBP (NRLBP) addresses this problem by thresholding local neighboring pixels into three-valued states (i.e., 0, 1 and uncertain bits) and recovering uncertain bits via an error-correction mechanism. In this paper, we extend NRLBP to deal with color images and propose a robust color image descriptor called Color context binary pattern (CCBP). In CCBP, we employ scale context and neighbor context to progressively correct the encoded bits. First, we encode intra-channel local neighboring pixels into three-valued states in scale space and use majority voting to correct all states across scales. Then, we compute inter-channel color feature distances and correct the uncertain bits via neighboring bit propagation. Finally, we construct the image descriptor by concatenating all histograms based on the corrected binary codes. Experiments on four benchmark databases demonstrate the robustness of CCBP for color image classification under very low signal-to-noise ratio levels. I. Introduction Textures are important visual features which have been extensively studied in image processing and computer vision. The extraction of effective texture features is a fundamental problem in many visual applications, including image classification[1–4], face recognition[5–7], and image segmentation[8,9]. A variety of methods have been proposed to extract texture features during the past several decades[10–11]. Among them, Local binary pattern (LBP)[12] is a classic texture operator due to its computational efficiency and robustness to illumination changes. To improve the discriminative ability of LBP, Guo et al.[13] proposed Completed LBP (CLBP) by jointly encoding three complementary components: central pixels, difference signs and difference magnitudes. Liao et al.[14] proposed Dominant LBP (DLBP) by using the most frequently occurring patterns as image features. To address the sensitivity of LBP to inverse grayscale changes, Jun et al.[15] proposed Local gradient patterns (LGP) using absolute intensity differences for face and human detection. Song et al.[16] proposed Sorted local gradient pattern (SLGP) based on a dominant intensity order measure for texture classification. Noise often exists in the real world and images can be easily polluted by noise during acquisition and transmission. However, LBP is sensitive to noise. To extract noise-robust descriptors, Tan et al.[17] introduced a noise-tolerant threshold to encode gray values into ternary codes named Local ternary pattern (LTP). Based on the conclusion that uniform patterns are dominant in images, Ren et al.[18] proposed Noise-resistant LBP (NRLBP) which reduces the effect of noise by assigning possible uniform patterns to uncertain bits. Local contrast pattern (LCP)[19] explores three types of local intensity contrasts with global measures to handle image noise. Binary invariant and noise tolerant (BRINT)[20] mainly adopts a set of average operations in local regions and extracts features from multiple scales to improve robustness of the descriptor. Robust adaptive median binary pattern (RAMBP)[21] introduces an adaptive window to detect noisy pixels and an adaptive median scheme to handle noise. Median robust extended local binary pattern (MRELBP)[22] focuses on the difference between the median values of neighboring regions and central pixels, and extracts three types of features, i.e., MRELBP_CI (Center intensity), MRELBP_NI (Neighborhood intensity) and MRELBP_RD (Radial difference). Local grouped order pattern and non-local binary pattern (LGONBP)[23] incorporates local order relationships and non-local difference features to improve the robustness of descriptors. Dominant neighborhood structure (DNS)[24] map extracts robust global features based on the idea of non-local image denoising. The above methods are mainly designed for grayscale images, without using the color information. However, colors are important visual information based on which humans can better perceive the real world[25,26]. To deal with color images, one straightforward method is to concatenate image features extracted from each color channel independently (i.e., intra-channel color features). For example, Zhu et al.[27] proposed multi-scale color LBP by concatenating LBP features computed from each channel in the transformed color space. Sotoodeh et al.[28] applied the Radial mean CLBP (RMCLBP) operator to each color channel to extract histogram features and concatenated them as the final color descriptor. These aforementioned methods treat each color channel independently and hence neglect the correlation information between different channels. To overcome this problem, inter-channel encoded features were developed to represent color images. For example, Dubey et al.[29] proposed adder- and decoder-based patterns (maLBP and mdLBP) to aggregate local binary features from colors. Lee et al.[30] extracted color norm pattern and color angular pattern from spectral-band images to form Local color vector binary patterns (LCVBP) for face recognition. Lan et al.[31] focused on the Quaternionic representation (QR) of the color image and proposed Quaternionic local ranking binary pattern (QLRBP) for extracting inter-channel features in quaternionic domain. Singh et al.[32] proposed Local binary patterns for color images (LBPC) by thresholding neighboring color pixels into two classes using a hyper-plane. Song et al.[33] proposed Spatially weighted order binary pattern (SWOBP) which explores the joint information of color orders and local color differences to encode multi-channel color images. This paper focuses on improving LBP-based color descriptors for image classification under noisy conditions. To this end, we propose a robust color image descriptor called Color context binary pattern (CCBP). CCBP is inspired by NRLBP which thresholds local neighboring pixels into three-valued states (i.e., 0, 1 and uncertain bits) and recovers uncertain bits via an error-correction mechanism. However, different from NRLBP, CCBP is designed to deal with color images and explores a two-fold correction mechanism, i.e., scale context and neighbor context, to progressively encode uncertain bits. The resulting CCBP descriptor not only encodes intra- and inter-channel color features but also gains robustness to image noise. Experiments for color image classification demonstrate that the proposed CCBP descriptor is robust to Gaussian noise even at very low signal-to-noise ratios. The rest of this paper is organized as follows. Section II briefly reviews LBP and its variants including LTP and NRLBP, which are closely related to our work. Section III elaborates the proposed CCBP descriptor. Section IV reports the experimental results for color texture classification and scene classification. Finally, Section V draws the conclusion of this paper. II. Brief Review of LBP and Its Variants 1. LBP Local binary pattern[12] is a powerful local texture operator. Given a central pixel c, LBP uses the central pixel to threshold its P neighboring sampling points** Typically, the P neighboring sampling points are evenly distributed on a circle of radius R around the central pixel. If a neighboring sampling point does not fall at the integer coordinate of an image, its gray value is obtained by bilinear interpolation. x i ( i = 1 , . . . , P ) to binary values: b i = t ( x i − c ) (1) where t ( z ) = 1 , z ≥ 0 0 , z < 0 (2) Then, the LBP code of the central pixel is computed by L B P = ∑ i = 1 P b i × 2 i − 1 (3) Finally, a histogram of LBP codes over the whole image can be built as the image descriptor. To further improve the robustness of LBP, Ojala et al.[12] proposed uniform (" u 2 ") patterns and rotation invariant (" r i ") patterns. Uniform patterns refer to patterns whose number of spatial transitions (bitwise 0/1 changes) in a circular string is less than or equal to 2, e.g., "00011100" and "11000011". In this way, the use of uniform patterns reduces the impact of noise as well as feature dimension of the LBP histogram. To achieve rotation invariance, rotation invariant patterns perform a circular bit-wise shift of each binary string and encode the results into a unique LBP code. Furthermore, the above two patterns can be combined to form the so-called " r i u 2 " patterns which also have rotation invariance. 2. LTP LBP is sensitive to noise. To alleviate this problem, Tan et al.[17] proposed Local ternary pattern which uses a predefined threshold T to encode pixel differences into three-valued states (i.e., "1", "–1" and "0"): b i = l ( x i − c ) (4) where l ( z ) = 1 , z ≥ T − 1 , z ≤ − T 0 , otherwise (5) To obtain a compact histogram representation, Tan et al.[17] separated the ternary codes into "upper" and "lower" binary patterns based on "1" and "–1". Then, the histograms of two patterns are concatenated as the feature representation of LTP. Fig.1 illustrates the encoding process where the sampling radius is R = 1 and the number of neighbors is P = 8 . Fig. 1Open in figure viewerPowerPoint Illustration of the LTP operator 3. NRLBP Inspired by LTP, Ren et al.[18] proposed Noise-resistant LBP (NRLBP) which uses an error-correction mechanism to correct the corrupted image patterns. Formally, the ternary codes are computed in a similar way to LTP: b i = s ( x i − c ) (6) where s ( z ) = 1 , z ≥ T 0 , z ≤ − T X , otherwise (7) Here, "X" denotes the uncertain bit. Based on the fact that uniform patterns frequently occur in texture images and noise most likely causes non-uniform patterns, NRLBP assigns "1" or "0" to "X" to recover all possible uniform patterns, thereby reducing the effects of noise. For example, the uncertain bits in "1X111000" can be determined to form one uniform pattern "11111000". Ren et al.[18] further developed extended uniform patterns by additionally considering horizontal and vertical line patterns as important local primitives for image description. In our work, we extend NRLBP to deal with color images and propose a noise-robust CCBP descriptor by employing a two-fold correction mechanism (i.e., scale context and neighbor context) to progressively encode uncertain bits. More details are introduced in the following section. III. Proposed Descriptor Many current LBP variants are designed for grayscale images, without using the important color information. Some LBP methods for color images neglect the relationships among color channels for image description and they are sensitive to noise. To overcome the above problems, in this paper we propose a robust Color context binary pattern (CCBP) descriptor which uses scale context and neighbor context for color image description and classification. Fig.2 shows the framework of the proposed CCBP descriptor. Given an RGB image, we first pass it through Gaussian filters to obtain a multi-scale representation. Then, we perform pixel-wise local ternary encoding and correct the generated three-valued states via majority voting in the scale space. Next, we compute color feature distances and correct the uncertain bits via neighboring bit propagation. Finally, we build histograms for the whole image based on the corrected binary codes and concatenate them as the CCBP descriptor. The details are presented as follows. Fig. 2Open in figure viewerPowerPoint The framework of the proposed CCBP descriptor 1. Scale-context encoding Due to the effect of noise, the values of pixel difference can change greatly and hence the obtained encoding values in LTP and NRLBP are not stable. It is a common conclusion that the use of Gaussian filters can obtain more robust features but simultaneously it can smooth image details. Therefore, it is necessary to preserve both discriminative and robust features in raw and filtered images. In view of these, we propose a scale-context encoding scheme which extracts robust local features in image scale space and selects the relatively stable encoding values from all scales. Given an RGB image I , we first compute a n-scale color image space denoted as { I 0 , I 1 , . . . , I n − 1 } using multi-scale Gaussian filtering, i.e., I n − 1 = I , n = 1 G ( x , y ; σ n − 1 ) * I , n ≥ 2 (8) where G ( · ) is a Gaussian filter with standard deviation σ, and * represents convolution operation. Here, at the j-th scale, each I j is a three-channel image set, i.e., I j = { R j , G j , B j } ( j = 0 , 1 , . . . , n − 1 )**** In this work, we set n = 3 based on which good performance can be obtained according to our experiments. . Then, we rearrange all channels to form a scale space for each color channel, i.e., R = { R 0 , R 1 , . . . , R n − 1 } , G = { G 0 , G 1 , . . . , G n − 1 } and B = { B 0 , B 1 , . . . , B n − 1 } . In the scale space, those discriminative texture structures such as strong edges, lines and corners can be preserved even when the strong noise is present. Next, we perform local ternary encoding with respect to each central pixel and its neighbors. Let c v , j be a central pixel in the color channel v ∈ { R , G , B } at the j-th scale. The local ternary encoding for each neighbor is computed as b v , j , i = s ( x v , j , i − c v , j ) (9) where x v , j , i is the i-th neighbor of the central pixel ( i = 1 , . . . , P ) and s ( z ) = 1 , z ≥ T 0 , z ≤ − T X , otherwise (10) Here, T is a predefined threshold, and b v , j , i can be either the certain bit 1/0 or the uncertain bit "X". Finally, we aggregate the scale-context information to correct all states via majority voting. The corrected state of the i-th neighbor of the central pixel can be expressed as b v , i ' = v o t e ( b v , 0 , i , b v , 1 , i , . . . , b v , n − 1 , i ) (11) where v o t e ( · ) is a majority voting function and b v , i ' ∈ { 1 , 0 , X } . Fig.3 illustrates the scale-context encoding process. Fig.4 shows the output of the v o t e ( · ) function for different input states obtained in a 3-scale image space (i.e., n = 3 ). Note that the v o t e ( · ) function assigns "X" to the output b v , i ' when the input states (e.g., "X, X, X" or "1, 0, X") are uncertain in the scale space, as the pixels may have been seriously affected by noise. Fig. 3Open in figure viewerPowerPoint Scale-context encoding of each neighbor for a given central pixel ( R = 1 , P = 8 , v = R , n = 3 ) Fig. 4Open in figure viewerPowerPoint The input and output of the v o t e ( · ) function ( n = 3 ) 2. Neighbor-context encoding The scale-context encoding corrects the state of each neighbor independently in the scale space. However, for each central pixel, the neighbors have certain spatial dependencies and local structure similarities if they are located on one side of an edge/corners or at a line/junction in a compact neighborhood. In view of this, we further propose a neighbor-context encoding scheme to correct uncertain bits via neighboring bit propagation. Fig.5 illustrates the process of neighboring bit propagation which is described below. Fig. 5Open in figure viewerPowerPoint Illustration of the neighboring bit propagation for the red channel ( R = 1 , P = 8 , v = R ). D ¯ 0 and D ¯ 1 are average color distances in the neighborhood for states "0" and "1", respectively Let x i ( i = 1 , . . . , P ) be the i-th neighbor of a given central pixel in an RGB image. First, we compute the color distance of each neighbor x i from a global reference vector x ¯ : D i = x i · x ¯ | x i | · | x ¯ | (12) where x i = [ x i , R 0 , x i , G 0 , x i , B 0 ] is a three-channel color vector, and x ¯ = [ x ¯ R 0 , x ¯ G 0 , x ¯ B 0 ] is a global color mean vector derived from the average value of each channel. The distance computation in Eq.(12) is a crucial step of neighboring bit propagation which not only exploits the discriminative inter-channel color features but also to some extent reduces the effects of noise by using the averaging operation to compute x ¯ . Then, we compute the average color distances for the neighboring points whose states are "0" and "1" (i.e., b v , i ' = 0 or 1), and denote them as D ¯ 0 and D ¯ 1 , respectively (see Fig.5). After that, we correct the uncertain state "X" by finding the nearest color distance from D ¯ 0 and D ¯ 1 and propagating the corresponding bit "0" or "1". More specifically, if all three states exist in { b v , i ' | i = 1 , . . . , P } , we correct each uncertain state "X" by updating b v , i ' as follows****** In Eq.(13), we have updated all states "X" using D ¯ 0 and D ¯ 1 to avoid all possible pairwise distance comparisons. : b v , i : b v , i ' = X ' = arg min Y ∈ { 0 , 1 } | D i : b v , i ' = X − D ¯ Y | (13) For other cases, we do not update any b v , i ' ( i = 1 , . . . , P ) in the neighborhood. Such cases include: 1) there is no "X"; 2) there are only two states "X" and "0"; 3) there are only two states "X" and "1"; and 4) all states are "X". As shown in Fig.6, to distinguish these state distributions in different cases, we adopt a split binary encoding scheme, as used in LTP, to build two discriminative feature histograms for image description. The details are given in the following subsection. Fig. 6Open in figure viewerPowerPoint Examples of the input and output for the neighbor-context encoding: (a) all three states exist; (b) there is no "X" (including all being 0 or 1); (c) there are only two states "X" and "0"; (d) there are only two states "X" and "1"; and (e) all states are "X". For the cases from (b) to (e), we do not update any b v , i ' . To build discriminative histogram features, we adopt split binary encoding to separate { b v , i ' } in the neighborhood into two binary patterns which are shown in gray and white, respectively 3. Split binary encoding and histogram representation We now build discriminative histogram features based on the corrected binary codes. First, we perform split binary encoding on { b v , i ' | i = 1 , . . . , P } in a neigh-borhood, i.e., C C B P v 1 = ∑ i = 1 P m b v , i ' = = 1 2 i − 1 (14) C C B P v 0 = ∑ i = 1 P m b v , i ' = = 0 2 i − 1 (15) where m ( z ) = 1 , if z is true 0 , if z is false (16) Then, we build two separated image histograms through H v 1 ( k ) = ∑ x ∈ I m C C B P v 1 ( x ) = = k (17) H v 0 ( k ) = ∑ x ∈ I m C C B P v 0 ( x ) = = k (18) where k is ths histogram index. Finally, we concatenate all histogram over all channels, v ∈ { R , G , B } , as image representation: H = H R 1 , H R 0 , H G 1 , H G 0 , H B 1 , H B 0 (19) Algorithm 1 summarizes the whole process of constructing the CCBP descriptor. IV. Experiments 1. Databases and experimental setup We conduct classification experiments on four color image databases including Outex, KTH-TIPS2-b, CURet and RGB-NIR: the former three are used for texture classification and the latter one is used for scene classification. The RGB-NIR is also used to validate the scalability of CCBP to deal with multi-channel images. To evaluate the robustness of different descriptors to noise, we inject additive white Gaussian noise into each image and the noise level is measured by Signal-to-noise ratio (SNR)[20]. We use the nearest-neighborhood classifier with chi-square distance for image classification. Algorithm 1 The computation of image descriptor CCBP Require: RGB image I ; Ensure: image representation H //Scale-context encoding 1: Perform Gaussian filtering on I to form a multi-scale color image space; 2: Perform local ternary encoding at each scale to obtain b v , j , i ∈ {1, 0, X} based on Eq.(9); 3: Perform majority voting across all scales to obtain b v , i ' ∈ {1, 0, X} based on Eq.(11); //Neighbor-context encoding 4: for all v ∈ { R , G , B } do 5: for each central pixel do 6: if all three states exist in { b v , i ' | i = 1 , . . . , P } then 7: Compute the color distance of each neighbor based on Eq.(12); 8: Update b v , i ' based on Eq.(13) 9: end if 10: Calculate C C B P v 1 and C C B P v 0 based on Eqs.(14) and (15), respectively; 11: end for 12: Build histograms H v 1 and H v 0 based on Eqs.(17) and (18), respectively; 13: end for 14: Concatenate all histograms as image representation H Outex[34] We use two popular test suites Outex-TC-00031 and Outex-TC-00030 for experiments. Outex-TC-00031: It contains 2720 color texture images of size 128×128, which are divided into 68 classes with two variations of resolutions (dpi). The training and testing sets are preassigned which include 1360 (=20×68) training images and 1360 (=20×68) testing images. Outex-TC-00030: It contains 12240 color texture images of size 128×128, which are divided into 68 classes and captured from 9 rotation angles (0°, 5°, 10°, 15°, 30°, 45°, 60°, 75° and 90°). This database also provides preassigned training and testing sets: 1360 (=20×68) training images and 10880 (=160×68) testing images. KTH-TIPS2-b[35] This database contains 4752 color texture images of size 200×200. The images vary in illuminations, rotations, poses and scales. We use 1 sample for training and the rest 3 samples for testing in each class[36,37]. We report the mean of classification accuracies computed over 4 training/testing splits on this database. CUReT[38] This database contains 61 texture classes and 92 color images of size 200×200 in each class, captured from various viewpoints and illumination orientations. 46 images are randomly chosen from each class for training and the remaining images in each class are used for testing[39]. We report the mean of classification accuracies computed over 50 training/testing splits on this database. RGB-NIR[40] This database is composed of 9 scene classes (e.g., country, forest, indoor, etc.) and in total 477 scene image pairs: each image pair includes one RGB image and one NIR (near-infrared) image which are both resized to about 136×205. 42 image pairs per class are randomly chosen for training and the rest for testing[41]. We report the mean of classification accuracies computed over 50 training/testing splits on this database. 2. Parameter evaluation and component analysis In this subsection, we evaluate different parameters and analyze different components used in CCBP. The experimental results are reported by averaging the classification accuracies on all Outex-TC-00031, Outex-TC-00030, KTH-TIPS2-b and CUReT texture databases. The default parameter setting for CCBP is as follows: the number of scales n = 3 , the standard deviation of Gaussian filters ( σ 1 , σ 2 )=(1, 2), the neighboring sampling configuration ( R , P ) = ( 3 , 24 ) , the threshold T = 6 . 1) Effects of the number of scales n The scale-context encoding builds a n-scale color image space via Gaussian filtering. To evaluate the number of scales n, we denote the standard deviations of Gaussian filters in the scale space as { σ j } ( j = 0 , 1 , . . . , n − 1 ): σ 0 for 1 scale (corresponding to the original RGB image without any filtering), { σ 0 , 1 } for 2 scales, { σ 0 , 1 , 2 } for 3 scales, { σ 0 , 1 , 2 , 3 } for 4 scales, { σ 0 , 1 , 2 , 2 . 5 , 3 } for 5 scales. Fig. 7 shows the effects of the number of scales on the classification performance of CCBP. When using 1 scale, CCBP obtains poor classification performance, especially at low SNR levels. As the number of scales increases, CCBP achieves much higher classification accuracies. However, its classification performance drops sharply when the number of scales is 5. Overall, CCBP can work best using n = 3 scales. Hence, we adopt 3 scales in our experiments. Fig. 7Open in figure viewerPowerPoint Effects of the number of scales on the classification performance 2) Effects of the varying σ j in Gaussian filters When n = 3 , we evaluate the effects of ( σ 1 , σ 2 ) used in Gaussian filters on the classification performance. As shown in Fig.8, the use of small ( σ 1 , σ 2 ), e.g., (0.5, 1), shows promise classification accuracy under weak noise (SNR=100). However, the performance drops dramatically when SNR is equal to or less than 30. Besides, the use of larger ( σ 1 , σ 2 ), e.g., (2, 2.5), can have stable classification performance, indicating its insensitivity to varying noise, but the accuracy is not high. Hence, we choose ( σ 1 , σ 2 )=(1, 2) by default in the subsequent experiments. Fig. 8Open in figure viewerPowerPoint Effects of σ j on the class-ification performance 3) Effects of the threshold T in scale-context encoding We evaluate the effects of predefined threshold T in Eq.(10). As shown in Fig.9, CCBP using smaller T performs better under weak noise while CCBP using larger T shows good robustness to stronger noise. Also, we find that T = 6 can achieve a good balance between the classification accuracy and the noise robustness. Hence, we set T = 6 for CCBP by default. Fig. 9Open in figure viewerPowerPoint Effects of threshold T in Eq.(10) on the classification performance 4) Effects of different color spaces In this experiment, we evaluate our CCBP descriptor by extracting features from different color spaces including RGB, HSV, L*a*b and YCbCr. From Fig.10, we see that our descriptors extracted from RGB and YCbCr color spaces lead to better performance than those extracted from HSV and L*a*b color spaces. Hence, in this work we directly adopt the RGB color space to extract the CCBP descriptor. Fig. 10Open in figure viewerPowerPoint Effects of color spaces on the classification per-formance 5) Effects of color context encoding In our work, we have used Scale-context encoding (SCE) and Neighbor-context encoding (NCE) to build the final histogram representation. We now evaluate the effects of context encoding on the classification performance. As shown in Fig.11, our descriptor (i.e., SCE+NCE) which incorporates two-fold corrections based on scale context and neighbor context leads to the best performance at all SNR leve