Git Product home page Git Product logo

brain_tumors_deep_learning's Introduction

Detecting Brain Tumor Biomarkers with Deep Learning


Project Description

This repository is about using deep learning to detect a tumor biomarker in the brain. This is repo is for a kaggle competition: https://www.kaggle.com/c/rsna-miccai-brain-tumor-radiogenomic-classification


Importance

"Currently, genetic analysis of cancer requires surgery to extract a tissue sample. Then it can take several weeks to determine the genetic characterization of the tumor. Depending upon the results and type of initial therapy chosen, a subsequent surgery may be necessary. If an accurate method to predict the genetics of the cancer through imaging (i.e., radiogenomics) alone could be developed, this would potentially minimize the number of surgeries and refine the type of therapy required." From: https://www.kaggle.com/c/rsna-miccai-brain-tumor-radiogenomic-classification


Preprocessing

In the dataset, there are MRI images with different modalities, orientations and slice counts. To be able to put these images through the CNN model, we preprocessed the dicom files to get image modalities and each image's respective orientation.

For 2D Modeling:

All T1w axial images were resized to one-channel (256,256) shape to put through the model. We chose to use only the middle slice which presumably would be of the highest quality image for prediction.

For 3D Modeling:

All T1w axial images were resized to one-channel (50,256,256) shape to put through the model. For images with less than or more than 50 slices, each array was either padded or cropped symmetrically.


Modeling

2D Modeling:

For 2D Modeling, a pretrained Alexnet model was used to serve as a baseline. Max accuracy reached after training is 58% on the training set regardless of whether we trained for 10 epochs or 100 epochs.

3D Modeling:

For 3D Modeling, simplest EfficientNet model(EfficientNet-B0) was used to come up with class probabilites. As we did not have too much time and have access to powerful GPUs, the model was trained for only 10 epochs on a Kaggle GPU. Total training time was around 1.5 hours. Max accuracy reached after training is 54% on the training set.


Outcome

What went wrong?

  • 3D model didn't perform as good as planned.
  • Training took longer than expected.
  • There were some issues with the code versioning on kaggle's online notebooks.

What went right?

  • The Alexnet model was fast to train and gave better accuracy with the same number of epochs as the 3D model.
  • We were able to extract all the relevant metadata from the dicom files.
  • We learned about the different ways participant brain data is processed.

Next Steps

  • There are many more combinations to analyze for data preprocessing.
  • Finding a pretrained 3D model, preferrably on medical imaging data.
  • Training more powerful models for longer.
  • Finding more powerful machines.

About Us

Berkay Canogullari and Victor Palacios are receiving a Master's Degree in Data Science at the University of San Francisco. Additionally, Both Victor and Berkay are currently working as Data Scientists specializing in Neuroscience-related topics.

brain_tumors_deep_learning's People

Contributors

berkaycanogullari avatar victor-palacios avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.