An Ensemble of Convolutional Neural Network for Diabetic Retinopathy Detection

DOI : 10.17577/IJERTCONV9IS02004

Download Full-Text PDF Cite this Publication

Text Only Version

An Ensemble of Convolutional Neural Network for Diabetic Retinopathy Detection

Simi Sanya

Dept. of CSE GNITS, Hyderabad Telangana, India.

Abstract Diabetic retinopathy is a diabetes complication that affects eyes. It's caused by damage to the blood vessels of the light-sensitive tissue at the retina. The condition can develop in anyone who has type 1 or type 2 diabetes. Diabetic retinopathy can progress to more severe type, known as proliferative diabetic retinopathy. Automatic DR screening has evolved from traditional computer vision techniques which combined manually designed feature extraction algorithms and traditional classification algorithms to end-to-end deep learning algorithms. The proposed computationally efficient ensemble of CNN model is used to correctly detect and classify diabetic retinopathy. This model is less complicated and it results in 74% of accuracy.

KeywordsCNN, image processing, diabetic retinopathy, ensemble of CNN.

  1. INTRODUCTION

    Diabetic retinopathy (DR) is a chronic medical condition which can lead to blindness if left undetected. The treatment for DR works efficiently if the disease is detected in its early stages. Detection and classification of diabetic retinopathy is a tedious and time taking process. All people with diabetesboth type 1 and type 2are at risk. That's why everyone with diabetes should get a comprehensive dilated eye exam at least once a year [1].

    Blood vessels damaged from diabetic retinopathy can cause vision loss in two ways: Fragile, abnormal blood vessels can develop and leak blood into the center of the eye, blurring vision. This is proliferative retinopathy and is the fourth and most advanced stage of the disease. The other way is that the fluid can leak into the center of the macula, the part of the eye where sharp, straight-ahead vision occurs [2].

  2. TYPES OF DIABETIC

    RETINOPATHY

    1. Non-Proliferative Diabetic retinopathy

      Non-proliferative diabetic retinopathy called as NPDR is the earliest stage of the disease. In NDPR the symptoms can be mild, moderate, severe. In NPDR, the blood vessels in the

      retina are weakened and tiny bulges in the blood vessels, called micro aneurysms, leak fluid into the retina. This leakage may lead to swelling of the macula [4].

    2. Proliferative Diabetic retinopathy

    Proliferative diabetic retinopathy also called as PDR is the more advanced form of diabetic retinopathy. In PDR, circulation problems cause deprivation of oxygen to retina and as a result, new blood vessels begin to grow in the retina that fill the back of the eye. The new blood vessels may leak blood into the vitreous, clouding vision [4]. By themselves, these blood vessels do not cause symptoms or vision loss.

    Seetha Maddala Dept. of CSE GNITS, Hyderabad Telangana, India.

    However, they have thin, fragile walls. If they leak blood, it can result in severe vision loss and even blindness.

  3. LITERATURE SURVEY

    Detection and classification of diabetic retinopathy is a time taking process and it time is really important when the case is severe. Hence a program is required to do the job correctly and efficiently. For building such program a few papers have been researched to get a better understanding about CNN. A survey of research done on nearly 163 papers on the diagnosis of diabetic retinopathy, it consists of various methods used to detect retinopathy but does not concentrate on deep learning methods [3].

    In the basic CNN, a set of feature-maps generated by the last convolutional is divided along channels into disjoint subsets, and these subsets are assigned to the FCSNs. Each of the FCSNs is trained independent of others so that it can predict the class label from the subset of the feature-maps assigned to it. For the retinal fundus images enhancement approach V transform algorithm and histogram equalization techniques were used and a Gaussian low-pass filter was applied to the retinal fundus image, the accuracy was 96.67% [4].

    Real-time screening of diabetic retinopathy using a mobile application was created using a TensorFlow architecture. The CNN model was Mobile Nets, which are designed for mobile devices consisting of 28 convolutional layers. A label, diabetic retinopathy or no diabetic retinopathy, is the output. The model obtained an accuracy of 73.3%. This model was specially designed for mobile devices [5].

    Flux mechanism and Graph Cut method [6] are used to segment the blood vessels in the retina fundus image. Adaptive Histogram Equalization and Pruning is used to enhance the blood vessels in first step. After it, Graph Cut method is used to perform segmentation. DRIVE and STARE are used as databases to evaluate the technique. True Positive Rate (TPR) of 89.51% on STARE and 77.6% on DRIVE is found

    Knowledge based rough segmentation algorithm with unsupervised algorithm [7] is used to detect the retinal vessels in eye fundus image. Ensemble learning based segmentation is used to segment large vessels, after it curve fitting technique is used to detect thin vessels. DRIVE database is used to evaluate the results, sensitivity of 0.8854 and specificity of 0.9363 is found

    Various researches have been done on detecting and classifying diabetic retinopathy, but still there is a scope for the improvement of accuracy and implementation on various types or datasets.

  4. METHODOLOGY

    Based on the existing systems and their challenges an idea emerges as to why not use an ensemble of basic CNN, to reduce the complexity of the existing ensemble methods and also it would be a new approach to detect and classify diabetic retinopathy. CNN is already a collection of layers like input layer, hidden layer and output layer, where the number of layers can be changed to increase the efficiency of the model. It is also easily understood by the programmers and easily applied and changeable.

    An ensemble of such CNNs would be easier to use and understand and also if it achieves good accuracy it can be used for screening of retinopathy. Using automated systems for medical care is not a new approach but the program must be efficient enough for the patient and doctor to use it. The idea is to use CNN and ensemble of CNN on different datasets to recognize how both work and compare how ensemble method is better than the CNN method in order to use it in real-time.

    In order to address the problem of diabetic retinopathy detection and classification from face images, we should design a powerful ensemble of CNN. In order to evaluate a gain from combining several CNNs together, we have to train 10 instances of the CNN. The following figure explains the methodology used in the proposed system and the flow of the project.

    Fig 1. Methodology of the program

    In ensembling method, the output from each model of CNN is taken and manipulated to get the desired output. The output for such program would be in terms of accuracy which is later given as input to a tkinter program which acts

    as a graphical user interface where the user can interact with the program and give the desired input to get the output. The methodology explains the step by step execution of the project.

    The methodology of the program shows how the input images are handled before using them as input to the program and the program should be able to check if the input image shows that it embodies a form of diabetic retinopathy, then it should classify the type of diabetic retinopathy by processing the image. The output for such program would be in terms of accuracy which is later given as input to a tinter program which acts as a graphical user interface where the user can interact with the program and give the desired input to get the output.

    The CNNs used in the program should concatenate their features to classify different stages of DR from the color funduscopic images. The classification is done based on the severity of five DR stages. For this classification, deep learning based CNN networks is deployed. From the past, many medical studies were conducted on the field of designing an algorithm to classify DR from a retinal fundus image.

    1. Dataset

      A large set of retina images taken using fundus photography under a variety of imaging conditions are used for building the ensemble of CNN. The dataset is taken from Kaggle [8] A clinician has rated each image for the severity of diabetic retinopathy on a scale of 0 to 4:

      1. No DR

      2. Mild

      3. Moderate

      4. Severe

      5. Proliferative DR

      The dataset is sponsored by Aravind Eye Hospital in India and it hopes to detect and prevent this disease among people living in rural areas where medical screening is difficult to conduct. The data was collected from rural areas of India in 2019. Aravind technicians travel to these rural areas to capture images and then rely on highly trained doctors to review the images and provide diagnosis.

      The other dataset used is sponsored by APTOS (Asia Pacific Tele-Ophthalmology Society) through kaggle it consists of 2019 data which is latest and it is also divided similarly like Arvind dataset into 5 classes. Hence it can be easily applied to both the methods [9].

    2. Prepocessing

    In this step all the images are uploaded to the code by using the package keras and we import the ImageDataGenerator using the below statement. from keras.preprocessing.image import ImageDataGenerator The import statement is used to rescale the image pixel values and different attributes are applied to make the image noise free.

    Then the train and test data are imported using the path (make sure that the path specified contains the images to be used) We also specify the batch size i.e., the number of images to be considered for one iteration of the loop. In order to increase the accuracy of the code, the batch size should be given according to the size of the data set. The component ImageDataGenerator goes through the path mentioned and finds the images. In this case the component found 3662 images belonging to 5 classes i.e., Mild, Moderate, NO_DR, Severe, Proliferative DR. Similarly, 1645 images are found in the test set belonging to the same classes as the training set. The print statements give the number of classes in which the dataset is divided and in our case there are 4 classes consisting of mild, moderate, no_dr, proliferative_dr, severe. We obtain the train and test sets to use in the CNN. The output of the CNN will be in the range of numbers 0 to 4 where 0 indicates that the patient has mild diabetic retinopathy and 4 indicates that the patient is suffering from severe form of diabetic retinopathy.

  5. RESULTS

    The results are obtained by applying a basic CNN method and then the ensemble method separately on two datasets. Then the accuracies are compared and then tested. Then the best method is chosen for detecting and classifying diabetic retinopathy.

    In the first experiment different CNN architectures in terms of: number of layers and kernels, kernel and pooling size, stride size, activation function, optimization method and batch size are assessed. Both Gradient Descent and Adam optimization algorithms are tested, and found that the Adam algorithm compares favorably to Gradient Descent.

    Table 1 shows the difference between a basic CNN and the ensemble model. Model A is a basic model and shows that a CNN with only one convolutional layer is able to predict the mode of transport with 72.0% accuracy. Model B is the ensemble model which shows an ensemble of CNN with 10 layers is able to predict the retinopathy with 74% accuracy.

    CNN MODEL VS

    TABLE I. ENSEMBLE MODEL

    Comparing the results of CNN models and ensemble models shows that the ensemble methods, an ensemble of

    CNN models, outperform the single learners, such as the DT or single CNN models in our study. However, with wider or deeper CNN architectures, we can reach higher accuracy prediction performance.

    Fig 2. Graphical comparison of CNN and Ensemble method using different datasets.

    After applying the tkinter prediction program the output can be found by choosing a test image for the network to predict and classify the type of DR as shown in below pictures. Tkinter provides various controls, such as buttons, labels and text boxes used in a GUI application. These controls are commonly called widgets. There are currently 15 types of widgets in Tkinter.

    Fig 3. Output of the automated system using tkinter program.

    S.no

    Layers used in Ensemble and CNN model

    Hyper parameters used in CNN

    Hyper parameters used in Ensemble method

    1.

    Convolution layer

    kernels:3 activation: relu filters: 56

    Pool size: 2

    Kernels:

    3,3,5,11,4

    activation: relu filters: 56

    Pool size:2

    2.

    Max-

    pooling layer

    Stride size: 1,2 Stride type: same

    Stride size: 1,2 Stride type: same

    3.

    Output layer

    Activation: Softmax

    Activation: Softmax

    4.

    Optimizatio- n method

    Adam optimizer

    Adam optimizer

    5.

    Batch size

    16

    32

    6.

    No-of- epochs

    Epochs: 5 Steps per epoch:

    114

    Epochs: 10

    Steps per epoch: 114

    No of nets: 10

    S.no

    Layers used in Ensemble and CNN model

    Hyper parameters used in CNN

    Hyper parameters used in Ensemble method

    1.

    Convolution layer

    kernels:3 activation: relu filters: 56

    Pool size: 2

    Kernels:

    3,3,5,11,4

    activation: relu filters: 56

    Pool size:2

    2.

    Max-

    pooling layer

    Stride size: 1,2 Stride type: same

    Stride size: 1,2 Stride type: same

    3.

    Output layer

    Activation: Softmax

    Activation: Softmax

    4.

    Optimizatio- n method

    Adam optimizer

    Adam optimizer

    5.

    Batch size

    16

    32

    6.

    No-of- epochs

    Epochs: 5 Steps per epoch:

    114

    Epochs: 10

    Steps per epoch: 114

    No of nets: 10

    It is evident that the ensemble method gives a 74% of accuracy when APTOS dataset is used. It can efficiently detect the diabetic retinopathy, but needs a clearer dataset for correctly classifying the images. The accuracy of the system can be further increased if a stronger and real time dataset is used.

  6. CONCLUSION

It has been said that comparing prediction accuracy rates from different studies can be misleading because of differences in sample sizes, number of classes, and the quality of data across studies. Different CNN architectures are investigated and their results are combined via different ensemble methods to obtain the highest prediction accuracy. The ensemble library is composed of a series of CNN models with different hyper-parameter values and CNN architectures. It is found that all the ensemble methods

outperfom the individual CNN models. To conclude, it is seen that CNNs have the potential to be trained to identify the features of Diabetic Retinopathy in fundus images. CNNs have the potential to be incredibly useful to DR clinicians in the future as the networks and the datasets continue improving and they will offer real-time classifications.

REFERENCES

  1. G. Venugopal, R. Vishvanathan, and R.Joseph, How AI enhances and accelerates diabetic retinopathy detection Cognizant, India, Febraury 2018.

  2. Imran Qureshi, Jun Ma and Qaisar Abbas, Recent Development on Detection Methods for the Diagnosis of Diabetic Retinopathy , Intelligent Media Research Center (iLEARN), School of Computer Science and Technology, Shandong University, Binhailu 72, Jimo, Qingdao 266237, China; imarwat11@gmail.com, June 2019.

  3. Waseem Khan, Diabetic Retinopathy Detection using Image Processing: A Survey Department of Computer Science, COMSATS Institute of Information Technology Wah Cantt, Pakistan, 2013.

  4. Jiaxi Gao, Cyril Leung, Chunyan Miao, Diabetic Retinopathy Classification Using an Efficient Convolutional Neural Network Department of Electrical and Computer Engineering,The University of British Columbia, Vancouver, Canada. J. Clerk Maxwell, A Treatise on Electricity and Magnetism, 3rd ed., vol. 2. Oxford: Clarendon, 1892, pp.6873.

  5. Mookiah, M.R.K.; Acharya, U.R.; Chua, C.K.; Lim, C.M.; Ng, E.Y.K.; Laude, A. Computer-aided diagnosis of diabetic retinopathy: A review. Comput.Biol. Med. 2013.

  6. A. G. Salazar-Gonzalez, et al., "Retinal blood vessel segmentation via graph cut," in Control Automation Robotics & Vision (ICARCV), 2010 11th International Conference on, 2010, pp. 225-230.

  7. E. Oost, et al., "Vessel segmentation in eye fundus images using ensemble learning and curve fitting," in Biomedical Imaging: From Nano to Macro, 2010 IEEE International Symposium on, 2010, pp. 676-679

  8. Kaggle Diabetic Retinopathy Detection, https://www.kaggle.com/c/ diabetic-retinopathy-detection/data, accessed: 2020-04-30.

  9. APTOS 2019 blindness detection, https://www.kaggle.com/c/aptos2019-blindness-detection, accessed: 2020-05-22.

Leave a Reply