Development of GUI for Detetection of Eye Disorders in Infants

Strabismus is one of the most common vision diseases in which the eyes do not properly align with each other when looking at an object. The condition may be present occasionally or constantly and if it is present during a large part of childhood, it may result in amblyopia or loss of depth perception. In contrast to manual diagnosis, automatic recognition can significantly reduce labor cost and increase diagnosis efficiency. In this paper, we propose to detect ICD-10-CM Code H50.9 unspecified strabismus using CNN and Image Processing techniques. There are four types of strabismus namely exotropia, esotropia, hypertropia and hypotropia which we aim to detect. We furthermore aim to introduce a GUI particularly into pediatric ophthalmology where obtaining relevant diagnostic information is taxing. Keywords—International Classification of Diseases (ICD), Convolutional Neural Network (CNN), Python Imaging Library (PIL), Support Vector Machine (SVM)


I. INTRODUCTION
Strabismus is a common ophthalmic disease that can lead to weak 3D perception, amblyopia (termed lazy eye as well), or even blindness if it is not timely diagnosed and well treated [1,2]. More importantly, it has been shown that strabismus would cause serious psychosocial consequences in both children and adults [3][4][5][6]. Many young strabismic patients could be well treated if diagnosis and treatment were taken at their early ages. A preschool child's strabismus has a much larger chance to be cured than that of an adult. Timely diagnosis is thus essential. Traditional strabismus diagnosis methods, for example, cover test, Hirschberg test, and Maddox rod, are manually conducted by professional ophthalmologists. This would make the diagnosis expensive and drive people out of professional examinations consequently. In view of that, we propose automatic recognition of strabismus in this paper. Automatic recognition of strabismus, which can be termed strabismus recognition as well, would perform strabismus diagnosis without ophthalmologists.
As a result, the diagnosis cost can be significantly reduced. We realize strabismus recognition by exploiting Region based fully convolutional networks (R-FCN) [7] for eye-region segmentation. The proposed strabismus recognition method allows us to build an objective and automatic diagnosis system that could be used to carry out strabismus examination in large communities. For instance, we can place the system in a school or college such that the students can take their examinations at any time. Before ending this introductory section, it is worth mentioning the contributions of this paper as follows: (i)We exploit convolutional neural networks to generate appropriate features image representation.
(ii)We demonstrate that natural image features learnt by convolutional neural networks can be well transferred to represent eye-region segmentation data, and strabismus can be effectively recognized by our method.

III. PROPOSED WORK
In this paper, we will be developing a new algorithm based on neural networks which will be used to detect strabismus. The proposed algorithm comprises of two parts. In the first part, eye region segmentation is performed by using R-FCN [7]. In the second part, a CNN is applied to classify the segmented eye regions as strabismus or normal.

A. Eye-Region Segmentation
Strabismus detection is based on the eye regions of the human faces. In this part, R-FCN is applied to segment the eye regions. R-FCN is basically a region-based object detector. R-FCN consists of two stages i.e. : 1) region proposal and 2) region classification. In the first stage, the Region Proposal Network (RPN) [8] is applied to extract the regions of interest (RoIs). In the second stage, the candidate RoI's are classified as object categories or background. In this paper, ResNet-101 [9] is espoused as the backone of R-FCN, and online hard example mining (OHEM) [10] is used to train R-FCN.
Various eye regions are segmented by R-FCN, which are further resized into 224×224×3 and fed into the CNNs. Figure 1 and 2 show examples of normal and strabismus images after the eye regions are segmented.

B. Establishing CNN's
After segmentation of the eye regions, a deep CNN is trained to perform eye region classification. The CNN consists of multiple neurons, which are arranged in rectangular layers [11]. The spatial arrangement of neurons is the fundamental property of CNNs. In addition to this, Sparse Connectivity, Parameter Sharing and Pooling are the other important properties of CNNs.
• Sparse Connectivity signifies that each neuron in CNN is only connected to a small region of neurons in the previous layers or the subsequent layers. It is achieved by using a kernel smaller than the input. For example, when performing image classification, the input image may have a lot of pixels, however, only a few useful features, such as edge and shape, are detected by kernels. Sparse Connectivity can reduce the number of stored parameters, which will increase the efficiency of the network.
• Parameter Sharing means that the neurons in the same layer share the same parameters. It indicates that instead of calculating a separate set of parameters for each new location, only one set of parameters need to be calculated. • Pooling indicates that instead of performing convolution, the aggregations of the neurons output is performed. Max-pooling is the most widely used pooling function, which aggregates the neurons and the output is the maximum value in a rectangular region.
The architecture of our CNN is made up of five convolutional layers and three pooling layers, finalized with three fully connected layers. Convolutional layers are applied to detect significant features. Pooling layers are used to preserve task related information and remove unnecessary details [12]. When the "cube" is flattened, it is fed into the fully connected layer which then derives final classification decision whether the eye is normal or the patient is suffering from strabismus.

IV. IMPLEMENTATION
In this paper, we will be introducing five modules which are implemented to obtain the desired results.

A. Datasets
A structured ophthalmic database of 1000 patients with images of various resolutions, ranging from 1033x900 to 78x150 is used for efficient training. This dataset is meant to represent "real-life" set of patient information. We have created a graphical user interface using python Tkinter to load the image from the database and also to display the output to the user. The Python Imaging Library (PIL) adds support for opening, manipulating and saving different image formats. The image obtained after segmentation is read and then converted to grayscale for further pre-processing.

B. Feature Estimation
Feature Estimator exploits R-FCN to obtain the Rectangular region of interest (ROI) of the eye through region proposal and region classification.

C. Feature Extraction
Feature Extractor consists of our network architecture. It consists of five convolutional layers and three pooling layers, followed by three fully connected layers, as shown in Figure 3. Each convolutional layer is followed by a Relu layer [13], an effective activation function i.e., f(x)=max (0, x) to improve the performance of the CNNs. In addition, a dropout strategy [14] is used in the first two fully connected layers in order to prevent overfitting of data.

D. Classification
SVM classifier is used for supervised learning which gives better performance than other classifiers. SVM classifies between two classes by constructing a hyperplane in high-dimensional feature space which can be used for classification.

E. Performance Evaluation
• True-Positive (TP): Correctly identified strabismus images. These results are then used to evaluate the Accuracy, Sensitivity and specificity of this system. These three factors are essential in determining the overall performance of system.

V. RESULTS AND DISCUSSION
A. Calculation of Sensitivity, Specificity, Acuuracy and Area Under Curve (AUC) to determine performance of the proposed method : • Sensitivity and Specificity indicate the algorithm's ability of identifying normal and strabismus images.
• Accuracy is used for evaluating the overall classification performance.
• The ROC curve plots two parameters i.e., the True Positive Rate (TP) and the False Positive Rate (FP).
• Area under the receiver operating characteristic (ROC) curve, (AUC) is also applied to evaluate the overall classification performance of the proposed method.

VI. CONCLUSION
Nowadays strabismus has become a common ophthalmologic disease which is congenital or develops in infancy, it can cause amblyopia, in which brain ignores input from the deviated eye. Even with therapy for amblyopia stereo blindness may occur. In this paper, in order to achieve strabismus detection, we first use R-FCN to perform eye region segmentation, and then classifies the segmented eye regions as strabismus or normal with a deep convolutional neural network. Our goal is to aid in pediatric ophthalmological diagnostics in which obtaining relevant medical data from infants proves difficult and unreliable.