All Projects β†’ ahmedbesbes β†’ mrnet

ahmedbesbes / mrnet

Licence: MIT license
Building an ACL tear detector to spot knee injuries from MRIs with PyTorch (MRNet)

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to mrnet

Face.evolve.pytorch
πŸ”₯πŸ”₯High-Performance Face Recognition Library on PaddlePaddle & PyTorchπŸ”₯πŸ”₯
Stars: ✭ 2,719 (+2674.49%)
Mutual labels:  transfer-learning, data-augmentation
Brain-MRI-Segmentation
Smart India Hackathon 2019 project given by the Department of Atomic Energy
Stars: ✭ 29 (-70.41%)
Mutual labels:  medical-imaging, mri-images
GaNDLF
A generalizable application framework for segmentation, regression, and classification using PyTorch
Stars: ✭ 77 (-21.43%)
Mutual labels:  medical-imaging, data-augmentation
Fast Pytorch
Pytorch Tutorial, Pytorch with Google Colab, Pytorch Implementations: CNN, RNN, DCGAN, Transfer Learning, Chatbot, Pytorch Sample Codes
Stars: ✭ 346 (+253.06%)
Mutual labels:  transfer-learning, pytorch-tutorial
Xvision
Chest Xray image analysis using Deep learning !
Stars: ✭ 304 (+210.2%)
Mutual labels:  medical-imaging, transfer-learning
Amazon Forest Computer Vision
Amazon Forest Computer Vision: Satellite Image tagging code using PyTorch / Keras with lots of PyTorch tricks
Stars: ✭ 346 (+253.06%)
Mutual labels:  transfer-learning, data-augmentation
2D-and-3D-Deep-Autoencoder
Convolutional AutoEncoder application on MRI images
Stars: ✭ 57 (-41.84%)
Mutual labels:  medical-imaging, mri-images
awesome-graph-self-supervised-learning
Awesome Graph Self-Supervised Learning
Stars: ✭ 805 (+721.43%)
Mutual labels:  transfer-learning, data-augmentation
neurdicom
RESTful PACS server with plugins
Stars: ✭ 97 (-1.02%)
Mutual labels:  medical-imaging, mri-images
visualqc
VisualQC : assistive tool to ease the quality control workflow of neuroimaging data.
Stars: ✭ 56 (-42.86%)
Mutual labels:  medical-imaging, mri-images
Pytorch Nlp Notebooks
Learn how to use PyTorch to solve some common NLP problems with deep learning.
Stars: ✭ 293 (+198.98%)
Mutual labels:  transfer-learning, pytorch-tutorial
Applied Dl 2018
Tel-Aviv Deep Learning Boot-camp: 12 Applied Deep Learning Labs
Stars: ✭ 146 (+48.98%)
Mutual labels:  medical-imaging, pytorch-tutorial
AD Prediction
Alzheimer's Disease Prediction by using ResNet, AlexNet
Stars: ✭ 118 (+20.41%)
Mutual labels:  transfer-learning, mri-images
Video Classification
Tutorial for video classification/ action recognition using 3D CNN/ CNN+RNN on UCF101
Stars: ✭ 543 (+454.08%)
Mutual labels:  transfer-learning, pytorch-tutorial
Keras-MultiClass-Image-Classification
Multiclass image classification using Convolutional Neural Network
Stars: ✭ 48 (-51.02%)
Mutual labels:  transfer-learning, data-augmentation
3d-prostate-segmentation
Segmentation of prostate from MRI scans
Stars: ✭ 36 (-63.27%)
Mutual labels:  medical-imaging, mri-images
3d-nii-visualizer
A NIfTI (nii.gz) 3D Visualizer using VTK and Qt5
Stars: ✭ 86 (-12.24%)
Mutual labels:  mri-images, mri-applications
ATA-GAN
Demo code for Attention-Aware Generative Adversarial Networks paper
Stars: ✭ 13 (-86.73%)
Mutual labels:  transfer-learning, pytorch-tutorial
Improved-Wasserstein-GAN-application-on-MRI-images
Improved Wasserstein GAN (WGAN-GP) application on medical (MRI) images
Stars: ✭ 23 (-76.53%)
Mutual labels:  medical-imaging, mri-images
Torchio
Medical image preprocessing and augmentation toolkit for deep learning
Stars: ✭ 708 (+622.45%)
Mutual labels:  medical-imaging, data-augmentation

MIT contributions welcome Twitter Stars

Deep learning in medical imaging: How to automate the detection of knee injuries in MRI exams ?

This repository contains an implementation of a convolutional neural network that classifies specific knee injuries from MRI exams.

It also contains the matieral of a series of posts I wrote on my blog.

Dataset: MRNet

The data comes from Stanford ML Group research lab. It consits of 1,370 knee MRI exams performed at Stanford University Medical Center to study the presence of Anterior Cruciate Ligament (ACL) tears.

For more information about the ACL tear problem and the MRNet data please refer to my blog post where you can investigate the data and build the following data visualization in jupyter notebook:

To learn more about the data and how to realize this visualization widget, read my first post.

Code structure:

This charts summarizes the architecture of the project:

For more details about the code, please refer to my second blog post .

How to use the code:

If you want to retrain the network on your own you have to ask for the data from Stanford via this link.

Once you download the data, create a data folder and place it at the root of the project. You should have two folders inside: train and valid as well as a bunch of csv files.

To run the script you can execute it with the following arguments:

parser = argparse.ArgumentParser()
parser.add_argument('-t', '--task', type=str, required=True,
                    choices=['abnormal', 'acl', 'meniscus'])
parser.add_argument('-p', '--plane', type=str, required=True,
                    choices=['sagittal', 'coronal', 'axial'])
parser.add_argument('--augment', type=int, choices=[0, 1], default=1)
parser.add_argument('--lr_scheduler', type=int, choices=[0, 1], default=1)
parser.add_argument('--epochs', type=int, default=50)
parser.add_argument('--lr', type=float, default=1e-5)
parser.add_argument('--flush_history', type=int, choices=[0, 1], default=0)
parser.add_argument('--save_model', type=int, choices=[0, 1], default=1)
parser.add_argument('--patience', type=int, choices=[0, 1], default=5)

example to train a model to detect acl tears on the sagittal plane for a 20 epochs:

python -t acl -p sagittal --epochs=20

Note: Before running the script, add the following (empty) folders at the root of the project:

  • models
  • logs

Results:

I trained an ACL tear classifier on a sagittal plane and got the following AUC scores:

  • on train: 0.8669
  • on validation: 0.8850

Logs on Tensorboard:

Contributions - PR are welcome:

If you feel that some functionalities or improvements could be added to the project, don't hesitate to submit a pull request.

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].