Giter Site home page Giter Site logo

ec601-project's Introduction

ec601-project RSNA Pneumonia Detection

Kaggle link: https://www.kaggle.com/c/rsna-pneumonia-detection-challenge

Author: Min Zhou ([email protected]), Andrew Stoycos ([email protected])

Web App

Poster

Project progress: Trello

File Instruction:

  • working is the folder including a Jupyter Notebook for analyzing and processing our dataset.
  • app folder is the web application of our product.
  • yolo_model folder contains some model config files and a Jupyter Notebook used to train the model.
  • requirements.txt contains some necessary python libraries to run our code.
  • MASKrcnn_model contains the python code for Mask-RCNN model.
  • Lung_Segmentation contains python code for segmenting lungs before training the Mask-RCNN model.

Product statement:

  • Doctors, patients and medical professionals, need a product to help them to improve the efficiency and reach of diagnostic services.

  • This is an AI (machine learning/deep learning) model which can automatically detect a signal of pneumonia in medical images.

  • Current pneumonia diagnosis must be completed by a medical professional following a chest X-Ray and physical exam

  • Our product will automate initial detection (imaging screening) of potential pneumonia cases and create bounding boxes around the areas of interest in order to prioritize and expedite their review.

MVP:

System Diagram

system_diagram

Data Source

  • The RSNA training dataset is made up of 26684 chest radiographs in DICOM format can be download from kaggle.
  • This is a binary class data: 68% pneumonia negative and 32% pneumonia negative with bounding box labels.
  • The resolution of raw image is 1024x1024.

Machine Learning Model (Deep Learning)

YOLO is an open source real-time object detection model. It has 106 layers and it's using localization, classificaiton, regression and Focal loss. The benifits of using YOLO v3 are listing below:

  • Due to computational limitation, YOLO is fast and accurate for our problem.
  • Easy to change the achitecture and parameters.
  • There are a lot of resources to train and optimize the model.

To test the data anlysis part

Installation:

  • Note: All the code is tested on Linux 4.9.0-5-amd64 and NVIDIA Tesla K80 GPU. If you are trying to run it on Windows, you may need to use virtual machine.

1. Download this repository:

git clone https://github.com/minzhou1003/ec601-project.git

2. Set up and activate virtualenv inside that folder.

cd ec601-project
virtualenv --python python3 env
source env/bin/activate

3. Install python libraries:

pip install -r requirements.txt

4. Download the dataset

Download the dataset in the same directory of this project. You should get a folder called input.

5. Run the Jupyter Notebook

Go to the working directory and open your jupyter notebook:

cd working
jupyter notebook

To run and check demo of our application:

See our app instruction.

ec601-project's People

Contributors

minzhou1003 avatar

Stargazers

Sun_zh avatar  avatar Nurmuhammad avatar Umar Khabiliy avatar Andressa Marçal avatar chuck avatar

ec601-project's Issues

About ReadMe file

For your README file, It is good to provide a configuration guidance for a beginner user just like me. But when following the instructions, I faced some problems, you may want to modify corresponding parts at your README file:

  1. Some incorrect file names:
    image
    I think it is ec601-project.

image
For me, the folder name I downloaded is called "all" instead of input. I need to do the modification to avoid the run time error.

  1. You may also consider to add the instruction of installing Jupyter Notebook before step3, I face the "Invalid requirement: 'jupyter notebook'" error when doing step 3, so I can only add those packages manually.

  2. My operating system is Windows, and I also need a configuration of the Jupyter‘s ’work path before run it, Not sure if it just happens to me.

Thanks for the guidance anyway.

Model selection

Hi,

I notice that code about the mask-rcnn model has been uploaded. Actually, yolo and mask-rcnn are both excellent models for object detection. As for me, I don't think there will be much difference for your task. I believe the training process is more crucial here. As you can see in your current result, the key point is that you should use more data for training. Then, you may still need much time for adjusting parameters to make it best.
Are you still trying to work on these two models separately? Considering the time and effort, I suggest it is better to focus on one model and keep training. Thanks!

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.