AI Doctor and Image Cognition
The name of AI doctor is sometimes misleading – it sounds like AI is intelligent enough and soon would take jobs away from doctors in the future. On the contrary, AI can be a good assistant for doctors and there is increasing demands from hospitals. Two fascinating projects I worked was about the application of AI doctor on Ophthalmology, which was collaborated with an eye hospital (our client) in China.
The hospital used to be overwhelmed with a huge number of patients. They therefore appointed AI doctor to help diagnose for the human doctors in order to improve clinical workflow and optimise treatment strategies. For precise outcomes, the AI doctor equips different cognition models for different eye diseases.
The retina images we used to train the models were obtained from our client, which were already labelled by a group of eye specialists. We used different convolutional neural networks (CNN) in both models. CNN is almost a conventional method for image cognition and medical image analysis. It can configure spatial information by taking images as input. It has been used in auto-diagnosis on different medical aspects.
AI on Ophthalmology: 2 Case Studies
Retinal Vein Occlusion Diagnosis
Retinal Vein Occlusion (RVO) is one of the most common retinal vascular diseases. It was considered as risky factor for cardiovascular mortality and stroke in aging people. The typical symptom of RVO is blood clot and bleeding in eyes; and according to the position of blockage, RVO can be classified into two types: CRVO (the lesion occurs in the main retinal veins) and BRVO (the lesion occurs in one of the smaller branch veins).
We used a new hyper-mixed convolutional neural network (CNN) model for RVO diagnosis, which was able to classify the two types of RVO based on retinal fundus images and detect lesions areas using unsupervised learning. The model was developed from VGG19 network, which initially used small receptive fields to detect features from images and added the number of convolutional layers to increase the receptive area for these receptive fields. Our model reduced the number of fully connected layers from the original network and replaced them by a pooling layer in order to preserves more information from input images. An additional Class Activation Mapping layer was connected with the pooling layer for lesion detection.
Our model shows a high precision score (95%) in RVO classification and lesion detection. We concluded that it is sufficiently capable to identify exudate, sclerosed veins and haemorrhages from BRVO and the centre of haemorrhage for CRVO when the haemorrhage area is large.
Diabetic Retinopathy Diagnosis
Diabetic retinopathy (DR) is an eye condition that cause by high blood sugar levels and it can cause blindness if left untreated. There are 3 stages in severity of DR (or 4 stages in some countries):
- background retinopathy: only tiny bulges can be observed from retinal images, possibly with bleeding.
- pre-proliferative retinopathy: more widespread haemorrhage can be observed in the back of the eyes.
- proliferative retinopathy: new blood vessels that are possibly bleeding and scar tissues appear.
We faced more difficulties while designing the model for AI doctor in DR diagnosis. First, the retinal images we had are poor in quality therefore some of them could not be used for training. Second, the sample was unbalanced where we only had 200 images for stage 3 DR that are insufficient for training. Third, the features of stage 1 DR are very inconspicuous and are likely to be ignored in a CNN model. Due to the three issues, we failed in the test of our initial model as most of the DR retinal images were labelled as no-DR by the model.
By carrying out many researches and experiments, I proposed three approaches for each issue respectively to the team. There are various pre-processing functions that can improve the quality of retinal images to a certain extend and they one we finally decided to use is called samplewise-ZCA (unlike the built-in function ZCA_whitening, samplewise-ZCA was designed to transform a group (sample) of images. The purpose of using samplewise-ZCA is to make features in the images stand out.
We tried to rotate or flip images to increase the number of stage 3 DR images, but it only improved the model to a limited extend. We therefore merged some online data (Kaggle) into the training image sets and, fortunately, there are images keep coming from the hospitals so we can gradually train the model. To solve the third issue, we replace the first convolutional layers to max pooling layers in the architecture of our initial model. It is nor conventional to use pooling layer as the first layer in CNN but consider the features in stage 1 DR images are inconspicuous, this is a good way to amplify them. The model’s precision and specificity were significantly increased after adopted these three approaches; and its sensitivity to stage 3 DR images was improved.