Deep learning for pneumonia detection on chest x-rays

Recent advances in technology have immensely increased available computing power and data storage capacity . At the same time, digitisation of previously analog aspects of business and life, has made vast amounts of data available for analysis. Every digital log entry can somehow be collected and analysed. This is the ideal breeding ground for machine learning!

Lately, I have been developing machine learning models and researching the different methods to deploy them for online use. Since I use Python for my machine learning modeling, I opted for Flask based deployment. Below you may find the result of my efforts in machine/deep learning and full stack development. A web application that may detect pneumonia on chest x-rays. Just upload an image from your device and click predict to get the result.  Please feel free to play around with it and see how the results it provides compare to reality. This application has a JavaScript front end and a python/flask backend. It is served through the powerful Heroku platform. The source code and instructions on how to adapt it to your own needs and deploy another app online, are provided on the following github repository and links therein: https://github.com/tberris/deep-learning-pneumonia-detection-web-app.

The deep learning model used in the app has been trained on a few thousand x-ray images contained in the following dataset: Kermany Daniel, Zhang Kang, Goldbaum Michael (2018). Labeled Optical Coherence Tomography (OCT) and Chest X-Ray Images for Classification. Mendeley Data, v2, http://dx.doi.org/10.17632/rscbjbr9sj.2. The 2-layer convolutional neural network achieved accuracy exceeding 86% on the relevant test set of more than 500 x-rays. However, as mentioned below there are multiple limitations in the predictive power of the deep learning model.  This model has not been clinically validated and thus it cannot be trusted for any kind of clinical use! Researchers may be interested to try estimating the model’s accuracy. In the near future, I am planning to upgrade the deep learning model to achieve better results.