Python, Keras, TensorFlow, SciPy Stack, Flask
AI retina disease diagnosis tool that utilizes advanced machine learning algorithms to pinpoint defective symptoms and record data to be used in diagnosis
January 2018 - June 2018
State-of-the-art solution for medical data processing and neural network training to identify symptoms AI-generated medical knowledge base Web interface for internal testing
The Medical Industry is at the top of the list to benefit from technological innovation. Many processes can be simplified, unified and streamlined with the use of modern tech and software.
One of the most critical issues is the lack of public access to specialized medical care, especially in third-world countries. Even the presence of new equipment might be useless due to the absence of qualified professionals able to interpret test results and diagnose pathologies.
Novice ophthalmologists often have insufficient experience in diagnosis of retinal diseases. The problem is that there is no universal database on the various pathologies of the human retina. This causes difficulty for inexperienced medical staff to provide an accurate diagnosis. As a result, many pathologies are not given care to on the early stages, and the disease develops to a more critical phase.
Our ultimate challenge for this project was to implement a solution based on machine learning algorithms for human retina image recognition, capable of performing the following:
We have been provided with a large array of data containing images of the fundus and masks for disease symptoms and structures of the human eye. Our team has also done research and we’ve created our own data sets to be later used in neural network training.
The datasets contained the following symptoms and anatomical structures:
Because of the fact that this image data was obtained from multiple sources: by using varying quality cameras, lighting, angles, distance, and having minor visual artifacts, it had to be normalized and unified to be made suitable for analyzing and training.
Our team of data scientists used RGBA image format to unify all data.
To increase the amount of datasets, we employed the following data augmentation techniques:
We have based our model architecture on variations of the top-performing convolutional neural network, U-Net:
The U-net architecture is labeled as the “fully convolutional network”. The main concept of U-Net is to expand the usual contracting network by adding successive layers, each with a multi-channel feature map. Pooling operations are replaced by upsampling operators. Each downsampling step doubles the number of feature channels.
These layers increase the resolution of the output. High-resolution features from the contracting path are combined with the upsampled output.
The overlap-tile strategy is used for segmentation of large images where missing data is extrapolated by mirroring.
Overall, the implementation of this architecture model allowed us to use fewer training images and yield more precise segmentations than any other model. It also significantly reduced the warping error in prediction and provided good results in other metrics.
AIRA is an artificial intelligence retina analyzer which aims to solve the problems in retina pathologies diagnosis.
By integrating our AI-powered software into the fundus camera (device used to obtain a snapshot of the human retina), we will be able to allow diagnosis of retinal pathologies without involving highly-qualified doctors. The trained neural network will be capable of identifying and providing medical staff with information required to determine the presence or absence of a pathology. The medics then notify the patient about his condition.
AIRA can also be used to create a digital database of pathological cases, granting novice ophthalmologists the necessary guidance and support. To this moment, AIRA has already been trained on numerous retinal snapshots, and with additional training can become a powerful asset in the hands of doctors and qualified personnel.
The neural network will help novice doctors and middle-level medical staff engage in population screening in the absence of experienced doctors. It will also provide assistance in monitoring the progression of the disease, which is often evaluated by highly-qualified medical personnel.
AIRA will be able to spot symptoms of disease with such high precision which a regular physician could not accomplish, and also create mathematical models later to be used to enhance the neural network analysis process even more.
Python, Keras, TensorFlow, SciPy Stack, Flask
Get in touch with us and let's get your project started today!