AI-Powered Disease Detection on X-ray Images
The goal of this project was to develop a Deep Learning powered solution detecting a disease on medical X-ray images. The model I have developed achieved an AUC of 0.98. The solution is part of a bigger system which is developed to assist medical doctors in their daily work.
For this project, I was delivered a raw set of around 2000 labeled medical images including images considered as normal (without the disease) and those with the disease. I leveraged transfer learning and a well know VGG16 convolutional neural network architecture for this case. I have also leveraged several data augmentation methods to improve the generalization of the CNN model.
In the VGG16 architecture, I replaced the output layer with the layer adapted for the task,
as well as simplified the fully connected layers at the top of the network.
Finally, I froze blocks 1-4 of the pre-trained CNN architecture.
Hence, I left only block 5 and my fully connected layers to be trained.
For blocks 1-4 I used the pre-trained weights.
The rationale behind this decision was a fairly small dataset,
as well as, very limited computation power add a tight timeline of the project.
With such constructed architecture of the CNN and the decision of using transfer learning the training time on my laptop CPU was only 6 hours and the model achieved a high AUC metric of 0.98. on a separated test set.
The model was delivered as a REST API within a docker container, which enabled further horizontal scalability of the solution.