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 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 row 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 fot the task,
as well as I simplified the fully connected layers at the top of the network.
Finally, I froze blocks 1-4 of the pretrained CNN architecture.
Hence, I left only block 5 and my fully connected layers to be trained.
For blocks 1-4 I used the pretrained 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 may laptop CPU was only 6 hours and the model achieved high AUC metric 0.98. on a separated test set.
The model was delivered as a REST API within a docker container, what enabled further horizontal scalability of the solution.