# Vessel Extraction of Conjunctival Images Using LBPs and ANFIS

Authors: Seyed Mohsen Zabihi; Hamid Reza Pourreza; Touka Banaee
Journal: ISRN Machine Vision
 (2012)

---

## Abstract

The main goal of medical imaging applications is to diagnose some diseases, try to prevent the progression of them, and actually cure the patients. The number of people that suffer from diabetes is growing very fast these recent years in many countries and it is needed to diagnose this disease in the beginning to prevent the subsequent side effects like blindness and so on. One of the first ways to detect this disease is analysis of vessels in some parts of the eye such as retina and conjunctiva. Some studies have been done on effects of vessel changes of conjunctiva in diabetes diagnosis and it is proved that conjunctival vessel extraction and analysis is a good way for this purpose. In this paper, we proposed a method to detect and extract the vessels of conjunctiva automatically. It is the first stage of the process of diabetes diagnosis. We first extract some textural features from each pixel of the conjunctiva image using LBP and then classify each pixel to vessels or nonvessels according to the features vector based on a supervised classifier, ANFIS. We tested the proposed algorithm on 40 conjunctival images to show the performance and efficiency of our method.


---

## Body

## 1. Introduction

One of the best ways to early detection of some diseases like diabetes, hypertension, arteriosclerosis, and so forth is the vasculature detection and analysis in retinal images. However, manual detection and analysis of the retinal images is a time-consuming and unreliable task, and as the number of images increases, the study becomes very difficult. Therefore, it is necessary to use automated algorithms for analysis of these images. Many studies and works have been done on this issue in recent years [1–6], but there are less works and researches on conjunctiva [7–9].Multispectral imaging of the ocular fundus, that is used for providing retinal images, suffers from three main problems: the image acquisition process needs advanced technology and also expensive photography devices, and actually it is not possible for every hospitals or medical centers to afford these devices and take the images; long acquisition times are not feasible due to patient discomfort; patient movement can lead to loss of image quality. These difficulties have caused that researchers pay more attention to other parts of eye except fundus of eye such as conjunctiva.The conjunctiva is a clear mucous membrane consisting of cells and underlying basement membrane that covers the sclera (white part of the eye) and lines in the inside of the eyelids. Figure1 shows conjunctiva of a person. Image capture of this part of eye usually does not face the problems presented for fundus part of eye like retina. It does not need so advanced and expensive photography devices. Authors in [8] proved that vessel analysis of conjunctiva can detect some diseases like diabetes as well as retinal vessel analysis. They claimed tortuosity of vessels change during the disease (diabetes), and it can be a useful way to early detection of diabetes.Figure 1
Conjunctiva of eye [10].However, as mentioned before, manual vessel extraction of these images requires much time and many efforts especially for conjunctiva that has a lot of vessels with different sizes and shapes. Really, it is not possible and also reliable to do the task in this way. Therefore, it needs an automatic system to detect and extract vessels of conjunctiva and then analyze them to diagnose diseases.There have been many vessel extraction methods that are presented in recent papers. We can categorize these different algorithms to three main groups: kernel based, tracking based, and classifier based.In kernel-based methods, some kernels with different sizes are designed in such a manner that detects objects (vessels) in different sizes and directions. Then, these kernels will be convolved to the main image locally, and the best and maximum response of the kernels will be chosen according to a threshold to detect the existing vessel in the processed window [5, 6]. Actually, increasing the size and also number of kernels makes these methods so time consuming and also improper.In tracking-based group methods of vessel detection, first a trend for tracking an object should be selected such as similarity of adjacent pixels based on some characteristics and then start from a pixel of the object and try to track and detect all the pixels of this object step by step [4]. One of the main problems of these methods is finding start points that are selected manually and then could not be done in a completely automatic way.The methods in the third group try to divide pixels of images into two classes of vessels and nonvessels using a classifier. They first extract some features from each pixel of image, and then a supervised or unsupervised classifier classifies the pixels to suitable classes [1, 2].In this paper, we also use a classifier-based method for segmentation and extraction of vessels in conjunctival images. Hence, first in preprocessing step, we enhance these images using Contrast Limited Adaptive Histogram Equalization (CLAHE) [11] method so that we can distinguish vessels from background better and then extract the features vector of pixels using Local Binary Patterns (LBPs) [12], and finally Artificial Neural Fuzzy Inference System (ANFIS) as a classifier is used for segmentation of pixels to vessels and background. A postprocessing step is also needed to improve the results of segmentation process and remove noises that the algorithm detected. We used the basic morphological operators for this purpose.Local binary patterns have been used extensively for texture discrimination, demonstrating excellent results and good robustness against rotation and global illumination changes that is beneficial and practical for our application. They have also been used successfully for texture segmentation and recognition.Intelligent computing tools such as artificial neural networks and fuzzy logic approaches are demonstrated to be competent when applied individually to a variety of problems. Recently, there has been a growing interest in combining both approaches, and as a result, neurofuzzy computing techniques have been evolved [1, 13, 14]. ANFIS model combines the neural network adaptive capabilities and the fuzzy logic qualitative nature, which we use as a classifier in the proposed method.Rest of the paper is organized as follows. Section2 illustrates the proposed method that is composed of preprocessing, features vector extraction, segmentation, and postprocessing steps. Section 3 depicts experimental results. Finally, Section 4 concludes the paper.


## 2. The Proposed Method

The methodology includes four steps that are described in detail in the following subsections.


### 2.1. Preprocessing Using Contrast Limited Adaptive Histogram Equalization (CLAHE)

Vessels in conjunctival images are in poor quality and in different sizes with different intensities. To improve the results of segmentation process, we, first in preprocessing step, apply an enhancement algorithm to improve the quality of these images.Histogram equalization is a method in image processing of contrast adjustment using the image's histogram. This method increases the contrast of images globally and is used in many applications. This algorithm allows for areas of lower local contrast to gain a higher contrast. Histogram equalization accomplishes this by effectively spreading out the most frequent intensity values. Histogram equalization can produce undesirable effects (like visible image gradient) when applied to images with low color depth. Generalizations of this method use multiple histograms to emphasize local contrast rather than overall contrast. Examples of such methods include adaptive histogram equalization.Adaptive histogram equalization differs from ordinary histogram equalization in the respect that the adaptive method computes several histograms, each corresponding to a distinct section of the image and uses them to redistribute the lightness values of the image. Adaptive histogram equalization is considered an image-enhancement technique capable of improving an image's local contrast, bringing out more details in the image. However, it also can produce significant noise. A generalization of adaptive histogram equalization called contrast limited adaptive histogram equalization, also known as CLAHE, was developed to address the problem of noise amplification.With respect to the mentioned problems of global histogram equalization and local (adaptive) histogram equalization, these methods cannot be so useful for our images that have different intensities and include some noises.CLAHE is an improvement of the previous versions of histogram equalization explained above [11, 15, 16]. The CLAHE divides the original image into contextual regions or subimages, where histogram equalization was made on each of these subimages. These subimages are called tiles. The neighboring tiles are combined by using a bilinear interpolation to eliminate artificially induced boundaries. This could give much better contrast and provide accurate results. This procedure is done after the noise removal step in order to avoid enhancing the noise.Three color channels of a RGB conjunctival image are depicted in Figure2. As it is clear, the green channel has the highest contrast between blood vessels and the background. Therefore, we use this channel for detection and extraction of vessels in this paper.Conjunctival image: (a) red channel, (b) green channel, and (c) blue channel.
(a)(b)(c)The scene (eye) is lightened with cyan color during the photography.Figure3 shows the result of applying CLAHE on green channel of the conjunctival image in Figure 2. There is a clear improvement in enhancement using the contrast limited adaptive histogram equalization, and no relevant noise amplification has been generated during the enhancement process.Figure 3
The enhanced green channel of color conjunctival image in Figure2 using CLAHE algorithm.


### 2.2. Features Vector Extraction Using LBP

Now, we want to extract some features from the enhanced image. For features extraction, we used a texture feature extractor that is named LBP which is precisely explained below. LBP was first described in 1994. It has since been found to be a powerful feature for texture classification. It has some versions we mention two of which; that we use in our feature extraction process.Local Binary Pattern (LBP) is a simple, yet very efficient texture operator which labels the pixels of an image by thresholding the neighborhood of each pixel with the value of the center pixel and considers the result as a binary number. Due to its discriminative power and computational simplicity, LBP texture operator has become a popular approach in various applications. It can be seen as a unifying approach to the traditionally divergent statistical and structural models of texture analysis. Perhaps the most important property of the LBP operator in real-world applications is its robustness to monotonic gray-scale changes caused, for example, by illumination variations. That is the main reason why we choose this operator for feature extraction of conjunctival images.Using a circular neighborhood and bilinearly interpolating values at noninteger pixel coordinates allows any radius and number of pixels in the neighborhood. The gray-scale variance of the local neighborhood can be used as the complementary contrast measure. In the following, the notation (P,R) will be used for pixel neighborhoods which means P sampling points on a circle of radius of R. See Figure 4 for an example of the basic LBP computation.Figure 4
An example of the basic LBP computation.The value of LBP code of pixel (xc, yc) is given by(1)LBPP,R=∑p=0P-1Sign(gp-gc)2p,Sign(x)={1ifx≥0,0otherwise.An extension of the original operator is the definition of so-called uniform patterns, which can be used to reduce the length of the feature vector and implement a simple rotation-invariant descriptor. This extension was inspired by the fact that some binary patterns occur more commonly in texture images than others. A local binary pattern is called uniform if the binary pattern contains at most two bitwise transitions from 0 to 1 or vice versa when the bit pattern is traversed circularly. For example, the patterns 00000000 (0 transitions), 01110000 (2 transitions), and 11001111 (2 transitions) are uniform, whereas the patterns 11001001 (4 transitions) and 01010010 (6 transitions) are not. In the computation of the LBP labels, uniform patterns are used so that there is a separate label for each uniform pattern and all the nonuniform patterns are labeled with a single label. For example, when using (8,R) neighborhood, there are a total of 256 patterns, 58 of which are uniform, which yields in 59 different labels. It is observed that uniform patterns account for nearly 90% of all patterns in the (R,P) = (8,1) neighborhood and for about 70% in the (R,P) = (16,2) neighborhood in texture images.The rotation-invariant LBP can be derived as follows. When an image is rotated, the gray valuesgp in a circular neighbor set move along the perimeter of a circle centered at gc. Since the neighborhood is always indexed counter-clockwise, starting in the direction of the positive x-axis, the rotation of the image naturally results in a different LBPP,R value. This does not, however, apply to patterns comprising of only zeros or ones, which remain constant at all rotation angles. To remove the effect of rotation, each LBP code must be rotated back to a reference position, effectively making all rotated versions of a binary code the same.We will denote LBP operator withP points on a circle with radios R and uniform rotation invariant codes with LBPR,Priu2.So, we need a set of features to classify image pixels to “vessel” or “nonvessels” based on a classifier. For feature extraction, image is scanned using three masks with size of7×7, 5×5, and 3×3. Since there are vessels with various sizes and diameters in conjunctival images, we use different masks with different sizes and utilize the multiresolutional property of LBPs. Hence, these masks are moved pixel to pixel, and for each pixel, nine features are extracted. These 9 features are calculated using three LBP operators with radios 1, 2, and 3, and number of neighbor pixels equal to 8, 16, and 24, respectively. For each operator (operators with (R,P) = (1,8), (R,P) = (2,16) and (R,P) = (3,24)), LBPR,Priu2, binary representation of P neighbor points on circle with radios R (that are thresholded with center pixel value), and VARR,P (the variance of gray scales in that region) are calculated as features. Final feature vector is constructed by concatenation of these 9 values (3 features in any three regions including 2 LBP features and a variance value) for each pixel.


### 2.3. Using ANFIS as a Classifier

Neural networks (NNs) are demonstrated to have a powerful capability of expressing relationship between input-output variables. However, there is still distrust about NNs identification capability in some applications [13]. Fuzzy set theory plays an important role in dealing with uncertainty in modeling applications. Neurofuzzy systems are fuzzy systems, which use NNs to determine their properties (fuzzy sets and fuzzy rules) by processing data samples [14]. Neurofuzzy integrates to synthesize the merits of both NN and fuzzy systems in a complementary way to overcome their disadvantages. The fusion of an NN and fuzzy logic in neurofuzzy models possesses both low-level learning and computational power of NNs and advantages of high-level human-like thinking of fuzzy systems. For identification, hybrid neurofuzzy system called ANFIS combines a NN and a fuzzy system together. Capability of ANFIS in classification made it popular in this area. ANFIS is used in classification and function approximation of many applications recently [2, 14].The learning method of this network is hybrid method. The inputs to this network are nine features that are discussed in the previous part where three fuzzy sets are considered for each input. An output neuron is also considered in the network used in this study. Network output 1 is used for the decision of the network for the case when the pixel belongs to vessel class where the output −1 implies that the pixel is obtained from background.


### 2.4. Postprocessing

So far, output of the ANFIS is a binary image that vessels are shown with 1 value and nonvessel pixels are shown in 0 value. This image may have some noise or artefacts due to misclassification. For eliminating holes, image is dilated first with a circular structure element with radios 2, and then for noise removing, we delete regions smaller than a specified size. Finally, the image will be eroded with the similar structuring element.


## 2.1. Preprocessing Using Contrast Limited Adaptive Histogram Equalization (CLAHE)

Vessels in conjunctival images are in poor quality and in different sizes with different intensities. To improve the results of segmentation process, we, first in preprocessing step, apply an enhancement algorithm to improve the quality of these images.Histogram equalization is a method in image processing of contrast adjustment using the image's histogram. This method increases the contrast of images globally and is used in many applications. This algorithm allows for areas of lower local contrast to gain a higher contrast. Histogram equalization accomplishes this by effectively spreading out the most frequent intensity values. Histogram equalization can produce undesirable effects (like visible image gradient) when applied to images with low color depth. Generalizations of this method use multiple histograms to emphasize local contrast rather than overall contrast. Examples of such methods include adaptive histogram equalization.Adaptive histogram equalization differs from ordinary histogram equalization in the respect that the adaptive method computes several histograms, each corresponding to a distinct section of the image and uses them to redistribute the lightness values of the image. Adaptive histogram equalization is considered an image-enhancement technique capable of improving an image's local contrast, bringing out more details in the image. However, it also can produce significant noise. A generalization of adaptive histogram equalization called contrast limited adaptive histogram equalization, also known as CLAHE, was developed to address the problem of noise amplification.With respect to the mentioned problems of global histogram equalization and local (adaptive) histogram equalization, these methods cannot be so useful for our images that have different intensities and include some noises.CLAHE is an improvement of the previous versions of histogram equalization explained above [11, 15, 16]. The CLAHE divides the original image into contextual regions or subimages, where histogram equalization was made on each of these subimages. These subimages are called tiles. The neighboring tiles are combined by using a bilinear interpolation to eliminate artificially induced boundaries. This could give much better contrast and provide accurate results. This procedure is done after the noise removal step in order to avoid enhancing the noise.Three color channels of a RGB conjunctival image are depicted in Figure2. As it is clear, the green channel has the highest contrast between blood vessels and the background. Therefore, we use this channel for detection and extraction of vessels in this paper.Conjunctival image: (a) red channel, (b) green channel, and (c) blue channel.
(a)(b)(c)The scene (eye) is lightened with cyan color during the photography.Figure3 shows the result of applying CLAHE on green channel of the conjunctival image in Figure 2. There is a clear improvement in enhancement using the contrast limited adaptive histogram equalization, and no relevant noise amplification has been generated during the enhancement process.Figure 3
The enhanced green channel of color conjunctival image in Figure2 using CLAHE algorithm.


## 2.2. Features Vector Extraction Using LBP

Now, we want to extract some features from the enhanced image. For features extraction, we used a texture feature extractor that is named LBP which is precisely explained below. LBP was first described in 1994. It has since been found to be a powerful feature for texture classification. It has some versions we mention two of which; that we use in our feature extraction process.Local Binary Pattern (LBP) is a simple, yet very efficient texture operator which labels the pixels of an image by thresholding the neighborhood of each pixel with the value of the center pixel and considers the result as a binary number. Due to its discriminative power and computational simplicity, LBP texture operator has become a popular approach in various applications. It can be seen as a unifying approach to the traditionally divergent statistical and structural models of texture analysis. Perhaps the most important property of the LBP operator in real-world applications is its robustness to monotonic gray-scale changes caused, for example, by illumination variations. That is the main reason why we choose this operator for feature extraction of conjunctival images.Using a circular neighborhood and bilinearly interpolating values at noninteger pixel coordinates allows any radius and number of pixels in the neighborhood. The gray-scale variance of the local neighborhood can be used as the complementary contrast measure. In the following, the notation (P,R) will be used for pixel neighborhoods which means P sampling points on a circle of radius of R. See Figure 4 for an example of the basic LBP computation.Figure 4
An example of the basic LBP computation.The value of LBP code of pixel (xc, yc) is given by(1)LBPP,R=∑p=0P-1Sign(gp-gc)2p,Sign(x)={1ifx≥0,0otherwise.An extension of the original operator is the definition of so-called uniform patterns, which can be used to reduce the length of the feature vector and implement a simple rotation-invariant descriptor. This extension was inspired by the fact that some binary patterns occur more commonly in texture images than others. A local binary pattern is called uniform if the binary pattern contains at most two bitwise transitions from 0 to 1 or vice versa when the bit pattern is traversed circularly. For example, the patterns 00000000 (0 transitions), 01110000 (2 transitions), and 11001111 (2 transitions) are uniform, whereas the patterns 11001001 (4 transitions) and 01010010 (6 transitions) are not. In the computation of the LBP labels, uniform patterns are used so that there is a separate label for each uniform pattern and all the nonuniform patterns are labeled with a single label. For example, when using (8,R) neighborhood, there are a total of 256 patterns, 58 of which are uniform, which yields in 59 different labels. It is observed that uniform patterns account for nearly 90% of all patterns in the (R,P) = (8,1) neighborhood and for about 70% in the (R,P) = (16,2) neighborhood in texture images.The rotation-invariant LBP can be derived as follows. When an image is rotated, the gray valuesgp in a circular neighbor set move along the perimeter of a circle centered at gc. Since the neighborhood is always indexed counter-clockwise, starting in the direction of the positive x-axis, the rotation of the image naturally results in a different LBPP,R value. This does not, however, apply to patterns comprising of only zeros or ones, which remain constant at all rotation angles. To remove the effect of rotation, each LBP code must be rotated back to a reference position, effectively making all rotated versions of a binary code the same.We will denote LBP operator withP points on a circle with radios R and uniform rotation invariant codes with LBPR,Priu2.So, we need a set of features to classify image pixels to “vessel” or “nonvessels” based on a classifier. For feature extraction, image is scanned using three masks with size of7×7, 5×5, and 3×3. Since there are vessels with various sizes and diameters in conjunctival images, we use different masks with different sizes and utilize the multiresolutional property of LBPs. Hence, these masks are moved pixel to pixel, and for each pixel, nine features are extracted. These 9 features are calculated using three LBP operators with radios 1, 2, and 3, and number of neighbor pixels equal to 8, 16, and 24, respectively. For each operator (operators with (R,P) = (1,8), (R,P) = (2,16) and (R,P) = (3,24)), LBPR,Priu2, binary representation of P neighbor points on circle with radios R (that are thresholded with center pixel value), and VARR,P (the variance of gray scales in that region) are calculated as features. Final feature vector is constructed by concatenation of these 9 values (3 features in any three regions including 2 LBP features and a variance value) for each pixel.


## 2.3. Using ANFIS as a Classifier

Neural networks (NNs) are demonstrated to have a powerful capability of expressing relationship between input-output variables. However, there is still distrust about NNs identification capability in some applications [13]. Fuzzy set theory plays an important role in dealing with uncertainty in modeling applications. Neurofuzzy systems are fuzzy systems, which use NNs to determine their properties (fuzzy sets and fuzzy rules) by processing data samples [14]. Neurofuzzy integrates to synthesize the merits of both NN and fuzzy systems in a complementary way to overcome their disadvantages. The fusion of an NN and fuzzy logic in neurofuzzy models possesses both low-level learning and computational power of NNs and advantages of high-level human-like thinking of fuzzy systems. For identification, hybrid neurofuzzy system called ANFIS combines a NN and a fuzzy system together. Capability of ANFIS in classification made it popular in this area. ANFIS is used in classification and function approximation of many applications recently [2, 14].The learning method of this network is hybrid method. The inputs to this network are nine features that are discussed in the previous part where three fuzzy sets are considered for each input. An output neuron is also considered in the network used in this study. Network output 1 is used for the decision of the network for the case when the pixel belongs to vessel class where the output −1 implies that the pixel is obtained from background.


## 2.4. Postprocessing

So far, output of the ANFIS is a binary image that vessels are shown with 1 value and nonvessel pixels are shown in 0 value. This image may have some noise or artefacts due to misclassification. For eliminating holes, image is dilated first with a circular structure element with radios 2, and then for noise removing, we delete regions smaller than a specified size. Finally, the image will be eroded with the similar structuring element.


## 3. Results and Discussion

We applied our proposed algorithm to 40 images of conjunctiva. These images are with400×400 pixels and 8 bits per color channel. Five images (5×400×400=800000 samples) are selected as a training set and used for training of the classifier (ANFIS) according to the corresponding characterized images by a physician. Then, the extracted features from each image of the test set are classified by the trained ANFIS. In the sequel, the postprocessing algorithm is applied on the constructed images.Result of the proposed conjunctival vessel extraction method is illustrated on a conjunctival image in Figure5.Final result. (a) Main image, (b) segmentation using the proposed algorithm.
(a)(b)The acquired results (segmented images) are evaluated subjectively via an ophthalmologist. The results and accuracy of the proposed method approved by her and our algorithm could outperform a few existing similar approaches in this application. Considering and using local binary patterns in different window sizes and actually utilizing the multiresolution property of this operator could be practical and useful in detecting vessels in different sizes and shapes.


## 4. Conclusion

We proposed a system to detect vessels in conjunctival images of eye. Output of the system can be used to diagnose some diseases such as diabetes by analyzing some features and characteristics of extracted vessels. Our system includes four main steps. First in preprocessing step, CLAHE algorithm enhances the poor quality images. Next, we extract some features from each pixel of the enhanced images. We use local binary patterns in feature extraction process. Then, we applied a supervised classifier (ANFIS) to classify each pixel to vessels class or nonvessels class. Finally in post processing step, noises that are detected are removed via basic morphological operations. We tested our system on some conjunctival images and the results showed the efficiency of the proposed system.



---

*Source: 424671-2011-10-20.xml*