Note : Android app is in another branch named "master". Please switch to the branch "master" to view the android app.
Brain and other nervous system cancer is the 10th leading cause of death for men and women. It is estimated that 18,600 adults (10,500 men and 8,100 women) will die from primary cancerous brain and CNS tumors this year. Application of automated classification techniques using Machine Learning(ML) and Artificial Intelligence(AI)has consistently shown higher accuracy than manual classification. Hence, proposing a system performing detection and classification by using Deep Learning Algorithms using ConvolutionNeural Network (CNN), Artificial Neural Network (ANN), and TransferLearning (TL) would be helpful to doctors all around the world. Brain Tumors are complex. There are a lot of abnormalities in the sizes and location of the brain tumor(s). This makes it really difficult for completely understand the nature of the tumor. Also, a professional Neurosurgeon is required for MRI analysis. Oftentimes in developing countries the lack of skillful doctors and lack of knowledge about tumors makes it really challenging and time-consuming to generate reports from MRI’. So an automated system on Cloud can solve this problem. In this project, we propose a constructive solution for detecting and labeling infected brain tumor tissues in patients. We attempt to solve this by implementing a Convolutional neural network architecture model for on the go diagnosis. This aims to cut down the prognosis time by offering a smooth interface to doctors and clinicians by offering a smartphone app, and a WebApp, in which the doctor can simply upload the MRI image and get a clear diagnosis prediction. To cut down false positives our model is trained on 4 types of brain tumors :Glioma tumor, Meningioma tumor, Normal and Pituitary tumor brain MRI images to get the best possible results with highest accuracy. Our idea is unique because no one has attempted to implement an android app and a WebApp for easy interactibilty with the CNN model simply because the CNN model becomes too bulky to implement in computationally restrictive devices like smartphones. Our Idea implements a high accuracy ConvNet model while keeping the required computational power very low, making it to be easily accessible by simply pressing a button in google play, or by typing a website URL in the web browser.
Proper treatment, planning, and accurate diagnostics should be implemented to improve the life expectancy of the patients. The best technique to detect brain tumors is Magnetic Resonance Imaging (MRI). A huge amount of image data is generated through the scans. These images are examined by the radiologist. A manual examination can be error-prone due to the level of complexities involved in brain tumors and their properties. Our idea contains a revolutionary convolutional neural network model with a very good accuracy metric to be as precise as possible. We have also designed a complementary android app and a WebApp for easy interfacing with the CNN model. Doctors can simply
upload a Brain MRI scan image to our android app and get a precise diagnosis within seconds, covering all the major brain tumor types that are currently on the increase. We will also be extending our model for semantic image segmentation of the infected tissue, and an infection spread probability curve for predicting the survival rate of the infected patient, offering the doctor’s a deeper insight into the prognosis. Feasibility: There is a need for quick and prompt detection of infections because infections like cancer depend very heavily on the time elapsed from being infected, for getting a good survival rate. Our idea cuts down on the diagnosis time by a great factor by giving an interactive UI for the prediction of the infection. The world is moving towards AI and ML applications of almost everything (taking the example of github copilot). We can safely say that the whole world needs a more constructive solution in the field of medicine, because that's what makes us prolong human life. Our idea is based on the very aspect of real world implementation as it is easily interfaceable by the doctors and clinicians because simply put, everyone has smartphones these days. Our model is highly efficient in terms of computational resource consumption and making an interactive android app makes it easy for quick diagnosis. It has a high probability of making it to mainstream medical diagnosis tools in the near future.
● [Python] - Python is a programming language that lets you work quickly and integrate systems more effectively.
● [Tensorflow] - TensorFlow is a free and open-source software library for machine learning.
● [Numpy] - NumPy is the fundamental package for scientific computing in Python. It is a Python library that provides a multidimensional array object.
● [Matplotlib] - Matplotlib is a plotting library for the Python programming language and its numerical mathematics extension NumPy.
● [Keras] - Keras is an open-source software library that provides a Python interface for artificial neural networks. Keras acts as an interface for the TensorFlow library.
● [Streamlit] - Streamlit turns data scripts into shareable web apps.
● [Flutter] - Flutter is an open-source UI software development kit created by Google. It is used to develop cross platform applications for Android, iOS.
● [Firebase] - Firebase is a platform developed by Google for creating mobile and web applications.