Eye diseases are the common diseases people are facing nowadays. Even people of all ages ranging from children to old are affected due to eye diseases. Some diseases will become very complex if they are untreated at an early stage. To overcome such problems early detection and treatment is required which could prevent vision loss. For many, eye disorders have become almost a part of their daily lives. Traditionally, retinal disease detection techniques were based on manual description. The WHO (World Health Organization) finds that there are millions of visually impaired people all over the world. The retinal diseases include Cataract, Crossed Eyes, Bulging Eyes, Uveitis and Glaucoma can be predicted using convolutional neural networks in this project. Medical Imaging has a huge scope for the application of recent advancements in computation. With the emerging computer technology, the development of an automatic system for diseases using Convolutional neural Networks in association with different optimization methods (SGDM, RMS-PROP, and ADAM). Treating the disease is now possible especially if the patient’s area and medical services are limited. Thus, the idea is to build an algorithm that automatically identifies whether a patient is suffering from any eye diseases or not by looking at the images.
Introduction
I. INTRODUCTION
Drum Scanner is the first scanner which is developed for use with a computer. Since then, technology has advanced day by day, and lots of technology for scanning and loading pictures on a computer are available. With the availability of these technologies, researchers started to build and develop systems to analyze these images.
The advancement of the image processing system is still going on in the present time, and it progressed from a ruled -formed method to a machine learning procedure. Even now, Machine learning methods take part in a prominent role. Experts mostly write the features in hand used in machine learning algorithms, which is one of the significant drawbacks of machine learning approaches. For image processing, the algorithm needs to be created, which will be able to extract features and complete calculations.
This is where a deep learning method is applied in image processing. For the availability of vast amounts of imagery data, ANN and CNN deep learning algorithms play a prominent role. Retinal disease is one of the common diseases in the present time. With the advancement of medical technology and computational science, many learning techniques are being invented for predicting and classifying disease accurately. As a substantial medical image database is available, deep learning techniques are becoming more suitable for classification and prediction. Among deep learning approaches, CNN was used for our research paper to process the retinal images and categorize those different images into different disease classes.
II. EXISTING SYSTEM
Imaging techniques are used to capture anomalies of the human body. The captured images must be understood for diagnosis, prognosis and treatment planning of the anomalies. Medical image understanding is generally performed by skilled medical professionals. However, the scarce availability of human experts and the fatigue and rough estimate procedures involved with them limit the effectiveness of image understanding performed by skilled medical professionals. Convolutional neural networks (CNNs) are effective tools for image understanding. They have outperformed human experts in many image understanding tasks. The major medical image understanding tasks, namely image classification, segmentation, localization and detection have been introduced. Applications of CNN in medical image understanding of the ailments of lung and other organs been surveyed critically and comprehensively.
Loss of human lives can be prevented or the medical trauma experienced in an injury or a disease can be reduced through the timely diagnosis of medical anomalies. Medical anomalies include glaucoma, diabetic retinopathy, tumors interstitial lung diseases, heart diseases and tuberculosis. Diagnosis and prognosis involve the understanding of the images of the affected area obtained using X-ray, magnetic resonance imaging (MRI), computed tomography (CT), positron emission tomography (PET), single photon emission computed tomography or ultrasound scanning. Image understanding involves the detection of anomalies, ascertaining their locations and borders, and estimating their sizes and severity. The scarce availability of human experts and their fatigue, high consultation charges and rough estimate procedures limit the effectiveness of image understanding. Further, shapes, locations and structures of the medical anomalies are highly variable. This makes diagnosis difficult even for specialized physicians. Therefore, human experts often feel a need for support tools to aid in precise understanding of medical images. This is the motivation for intelligent image understanding systems.
III. PROPOSED SYSTEM
An optimum solution for the detection of Retinal diseases using Convolutional Neural Networks is proposed. The diagnosis involves an infected eye image that is taken from any source any man-assisted diagnosis has its own limitations like the availability of an expert, cost, etc. and hence an automated method for the detection of retinal disease is a necessity. In this neural network models were developed to detect retinal diseases as shown in Fig. 1. Models namely a basic convolutional neural network (CNN), VGG16, and augmentation were constructed using CNN methodologies. The models were then trained on disease-infected diseases which consisted of 383 images divided into five categories namely Bulging eyes, Cataracts, Crossed Eyes, Uveitis and Glaucoma.
CNN models have been created from scratch and trained on infected eye datasets on Kaggle. Keras neural network library with Tensor Flow backend has been used to implement the models. The dataset consists of images, and divided it into ratios 90-10,80-20,70-30,60-40 as the train-test ratios. Data augmentation has been applied to achieve better results from the dataset. The four models have been trained on the training dataset, each with a different number of convolutional layers. Each model was trained for a number of epochs, with training and testing batch sizes respectively. The following sub- headings further explain the above stages in depth.
A. CNN Architecture
CNN models are feed-forward networks with convolutional layers, pooling layers, flattening layers and fully connected layers employing suitable activation functions.
B. Convolutional Layer
It is the building block of CNN. Convolution operation is done in mathematics to merge two functions. In the CNN models, the input image is first converted into matrix form. Convolution filter is applied to the input matrix which slides over it, performing element-wise multiplication and storing the sum. This creates a feature map. 3 × 3 filter is generally employed to create 2D feature maps when images are black and white. Convolutions are performed in 3D when the input image is represented as a 3D matrix where the RGB color represents the third dimension. Several feature detectors are operated with the input matrix to generate a layer of feature maps which thus forms the convolutional layer.
C. Pooling Layer
Convolutional layers are followed by pooling layers. The type of pooling layer used in all four models is max-pooling layers. The max-pooling layer having a dimension of 2 × 2 selects the maximum pixel intensity values from the window of the image currently covered by the kernel. Max-pooling is used to down sample images, hence reducing the dimensionality and complexity of the image. Two other types of pooling layers can also be used which are general pooling and overlapping pooling. The models presented in this use max -pooling technique as it helps recognize salient features in the image.
D. Flattening Layer and Fully Connected Layers
After the input image passes through the convolutional layer and the pooling layer, it is fed into the flattening layer. This layer flattens out the input image into a column, further reducing its computational complexity. This is then fed into the fully connected layer/dense layer. The fully connected layer has multiple layers, and every node in the first layer is connected to every node in the second layer.
IV. IMPLEMENTATION
To create the model, the data of retinal images are collected, then it is categorized into train and test each consisting 67, 67, 67, 67, 67 of Cataract, Bulging Eyes, Crossed Eyes, Uveitis Eyes and Glaucoma retinal images respectively. Then the model is created by adding layers to it using different optimization techniques, activation functions, cross entropy, pre-processing parameters.
A. Datasets Used
In this study, the data sets used to test and train models are divided into five categories Cataract, Bulging Eyes, Crossed Eyes, Uveitis Eyes and Glaucoma retinal images. The original images were of high resolution and varied sizes.
B. Data Preparation
The dataset is divided into train and test sets which include Cataract, Bulging Eyes, Crossed Eyes, Uveitis Eyes and Glaucoma Retinal images. It is divided into 67-17, 67-17, 67-17, 67-17, 67-17 train-test ratios respectively.
C. Train
Training data is the initial dataset you use to teach a machine learning application to recognize patterns or perform to your criteria, while testing or validation data is used to evaluate your model’s accuracy. Training data - it’s a portion of our actual dataset that is fed into the machine learning model to discover and learn patterns. In this way, it trains our model.
Training is done on following diseases:
Cataract
Bulging Eyes
Crossed Eyes
Uveitis Eyes
Glaucoma
D.Test Data Preparation
Once your machine learning model is built (with your training data), you need unseen data to test your model. This data is called testing data, and you can use it to evaluate the performance and progress of your algorithms’ training and adjust or optimize it for improved results.
E. Model Training
Model is trained by giving train data, steps per epoch, epochs, validation data and validation steps. The batch size is a hyper parameter of gradient descent that controls the number of training samples to work through before the model internal parameters are updated. It is a term used in machine learning and refers to the number of training examples utilized in one iteration. The size of a batch must be more than or equal to one and less than or equal to the number of samples in the training dataset. The number of epochs is a hyper parameter of gradient descent that controls the number of complete passes through the training dataset. One Epoch is when an entire dataset is passed forward and backward through the neural network only once.
Steps per epoch = Number of images in train / batch size
Validation Steps = Number of images in test / batch size
V. RESULTS
The accuracies of the optimization methods are :
VGG16_ADAM : 92.71%
VGG SGD : 69.79%
VGG-RMSPROP : 90.1%
Conclusion
Nowadays, Retinal disorders have become a part of daily lives. To overcome such problems early detection and treatment is required which would prevent vision loss. Medical Imaging has a huge scope for the application of recent advancements in computation so, building an algorithm that automatically identifies whether a patient is suffering from any retinal diseases or not by looking at the images is necessary.
In this project, we have built a model which recognizes the disease effectively and early detection of disease is done through our model. In the current model that is built, the Deep learning, VGG16 is being considered for predicting eye diseases. It performed best in terms of accuracy and precision. We achieved a best of 92.71% accuracy. The various optimization methods ADAM, RMS- Prop, and SGD were tested, where in ADAM method achieved the highest accuracy.