All Projects → aksh-ai → neuralBlack

aksh-ai / neuralBlack

Licence: other
A Multi-Class Brain Tumor Classifier using Convolutional Neural Network with 99% Accuracy achieved by applying the method of Transfer Learning using Python and Pytorch Deep Learning Framework

Programming Languages

Jupyter Notebook
11667 projects
python
139335 projects - #7 most used programming language
CSS
56736 projects
HTML
75241 projects

Projects that are alternatives of or similar to neuralBlack

Music-Genre-Classification
Genre Classification using Convolutional Neural Networks
Stars: ✭ 27 (-25%)
Mutual labels:  accuracy, transfer-learning, cnn-classification
Transfer Learning Anime
Transfer Learning for Anime Characters Recognition
Stars: ✭ 155 (+330.56%)
Mutual labels:  classification, transfer-learning
Paddlex
PaddlePaddle End-to-End Development Toolkit(『飞桨』深度学习全流程开发工具)
Stars: ✭ 3,399 (+9341.67%)
Mutual labels:  classification, resnet
Vqa.pytorch
Visual Question Answering in Pytorch
Stars: ✭ 602 (+1572.22%)
Mutual labels:  torch, resnet
Pytorch Speech Commands
Speech commands recognition with PyTorch
Stars: ✭ 128 (+255.56%)
Mutual labels:  classification, resnet
Pytorch Imagenet Cifar Coco Voc Training
Training examples and results for ImageNet(ILSVRC2012)/CIFAR100/COCO2017/VOC2007+VOC2012 datasets.Image Classification/Object Detection.Include ResNet/EfficientNet/VovNet/DarkNet/RegNet/RetinaNet/FCOS/CenterNet/YOLOv3.
Stars: ✭ 130 (+261.11%)
Mutual labels:  classification, resnet
resnet.torch
an updated version of fb.resnet.torch with many changes.
Stars: ✭ 35 (-2.78%)
Mutual labels:  torch, resnet
Pytorch Classification
Classification with PyTorch.
Stars: ✭ 1,268 (+3422.22%)
Mutual labels:  classification, resnet
image-background-remove-tool
✂️ Automated high-quality background removal framework for an image using neural networks. ✂️
Stars: ✭ 767 (+2030.56%)
Mutual labels:  torch, transfer-learning
sparsezoo
Neural network model repository for highly sparse and sparse-quantized models with matching sparsification recipes
Stars: ✭ 264 (+633.33%)
Mutual labels:  resnet, transfer-learning
Keras-MultiClass-Image-Classification
Multiclass image classification using Convolutional Neural Network
Stars: ✭ 48 (+33.33%)
Mutual labels:  resnet, transfer-learning
Deep-Compression.Pytorch
Unofficial Pytorch implementation of Deep Compression in CIFAR10
Stars: ✭ 29 (-19.44%)
Mutual labels:  accuracy, resnet
Keras transfer cifar10
Object classification with CIFAR-10 using transfer learning
Stars: ✭ 120 (+233.33%)
Mutual labels:  classification, transfer-learning
Luna16 Lung Nodule Analysis 2016 Challenge
LUNA16-Lung-Nodule-Analysis-2016-Challenge
Stars: ✭ 133 (+269.44%)
Mutual labels:  classification, resnet
Shiftresnet Cifar
ResNet with Shift, Depthwise, or Convolutional Operations for CIFAR-100, CIFAR-10 on PyTorch
Stars: ✭ 112 (+211.11%)
Mutual labels:  classification, resnet
Transfer Learning Suite
Transfer Learning Suite in Keras. Perform transfer learning using any built-in Keras image classification model easily!
Stars: ✭ 212 (+488.89%)
Mutual labels:  classification, transfer-learning
Sru Deeplearning Workshop
دوره 12 ساعته یادگیری عمیق با چارچوب Keras
Stars: ✭ 66 (+83.33%)
Mutual labels:  classification, transfer-learning
Caffe Model
Caffe models (including classification, detection and segmentation) and deploy files for famouse networks
Stars: ✭ 1,258 (+3394.44%)
Mutual labels:  classification, resnet
NeuralNetworks
Implementation of a Neural Network that can detect whether a video is in-game or not
Stars: ✭ 64 (+77.78%)
Mutual labels:  transfer-learning, resnet-50
MoeFlow
Repository for anime characters recognition website, powered by TensorFlow
Stars: ✭ 113 (+213.89%)
Mutual labels:  classification, transfer-learning

neuralBlack

Note: I have completely changed the POC for this project, and have not updated it over here since I'm publishing it as a paper.

neuralBlack is a complete brain tumor detection, classification, and diagnosis system with high accuracy (99.3%) that uses state of the art Deep Learning methods.

ResNet50 Neural Network Architecture

NN image

Dataset

We have used brain tumor dataset posted by Jun Cheng on figshare.com.

This brain tumor dataset containing 3064 T1-weighted contrast-inhanced images from 233 patients with three kinds of brain tumor: meningioma (708 slices), glioma (1426 slices), and pituitary tumor (930 slices).

Modules

  • brain_tumor_dataset_preparation.ipynb - An IPython notebook that contains preparation and preprocessing of dataset for training, validation and testing.

  • torch_brain_tumor_classifier.ipynb - An IPython notebook that contains all the steps, processes and results of training, validating and testing our brain tumor classifier.

  • test.py - A python script which accepts path to an image as input, which then classifies the image into one of the three classes.

  • deploy.py - A python script integrated with Flask server, that starts the Web Interface on local server where user can upload MRI image of brain and get classification results.

Note: We have included few images for testing under test_images directory.

Running the classifier

Download the classifier model '.pt' file from this drive link and place it under a folder named 'models' in the same directory where the files of this repository are present.

Before running the programs, kindly install the requirements as given in Requirements section of this README.

  • Use the test.py script for running the script in Terminal, Powershell or Command Prompt.

    • python test.py
  • Use deploy.py script to access the classifier as an interactive web interface.

    • python deploy.py

Screenshots (Results & Web Interface)

Web Interface

Home Page

index

Classification Results via Web Interface

class 1

class 2

class 3

Classifier Evaluation

Loss Graph

Loss Metrics

Accuracy Graph

Accuracy Metrics

Confusion Matrix on Test set

Confusion Matrix

Requirements

Python 3 is required.

Computational Specifications

Project done using Google Colab with follwing specifications:

  • Ubuntu 18.04 64-bit OS
  • 12 GB DDR4 RAM
  • 16 GB NVidia Tesla P100 GPU
  • 40 GB of Non-Persistent Storage

Library Requirements

We'll be using the following libraries to complete our classification problem:

  • Numpy - For linear algebra operations
  • Torch - Pytorch Deep Learning Framework
  • OS - To use Operating System methods
  • Random - To set random seed at specific places where random operations take place just so it happens the same way everytime it is executed
  • Pandas - To create DataFrame, CSV files, etc
  • Time - To perform date time operations
  • Seaborn - For sophisticated visualization
  • Pickle - To save and load binary files of our training data
  • Scikit-Learn - Machine learning framework. We have used this for evaluating our Classifier and for cross-validation split
  • Matplotlib - To visualize images, losses and accuracy
  • Google Colab Drive - To mount Google Drive so we can perform storage and loading operations using it (Only available on Google Colab)

The above mentioned libraries comes pre-installed and pre-configured with Google Colab.

Install the required libraries on your computer using the pip package manager.

For pip version 19.1 or above:

pip install -r requirements.txt --user

or

pip3 install -r requirements.txt --user

Pytorch

Follow the steps for installation given in the official website of Pytorch.

About

This project was done by Akshay Kumaar M. Paper is in progress. All the references papers have been included at the end of this repository's README.

References

Thanks to Vinoth Arjun for giving ideas for custom dataset class with different real-time augmentations.

License

Copyright 2020 Akshay Kumaar M

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Research Papers

Documentations

Future Scopes

  • Brain Tumor segmentation using GANs.
  • Brain Tumor detection using Object Detection for localization of tumor in a given MRI image of the brain.
  • Improve existing classification model and web interface
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].