All Projects → zdmc23 → nih-chest-xrays

zdmc23 / nih-chest-xrays

Licence: MIT license
A collection of projects which explore image classification on chest x-ray images (via the NIH dataset)

Programming Languages

Jupyter Notebook
11667 projects
shell
77523 projects

Projects that are alternatives of or similar to nih-chest-xrays

Skin Lesions Classification DCNNs
Transfer Learning with DCNNs (DenseNet, Inception V3, Inception-ResNet V2, VGG16) for skin lesions classification
Stars: ✭ 47 (+46.88%)
Mutual labels:  densenet, transfer-learning
Imagenet
Pytorch Imagenet Models Example + Transfer Learning (and fine-tuning)
Stars: ✭ 134 (+318.75%)
Mutual labels:  densenet, transfer-learning
speech-recognition-transfer-learning
Speech command recognition DenseNet transfer learning from UrbanSound8k in keras tensorflow
Stars: ✭ 18 (-43.75%)
Mutual labels:  densenet, transfer-learning
L2c
Learning to Cluster. A deep clustering strategy.
Stars: ✭ 262 (+718.75%)
Mutual labels:  supervised-learning, transfer-learning
Face.evolve.pytorch
🔥🔥High-Performance Face Recognition Library on PaddlePaddle & PyTorch🔥🔥
Stars: ✭ 2,719 (+8396.88%)
Mutual labels:  supervised-learning, transfer-learning
Complete Life Cycle Of A Data Science Project
Complete-Life-Cycle-of-a-Data-Science-Project
Stars: ✭ 140 (+337.5%)
Mutual labels:  supervised-learning, transfer-learning
Imodels
Interpretable ML package 🔍 for concise, transparent, and accurate predictive modeling (sklearn-compatible).
Stars: ✭ 194 (+506.25%)
Mutual labels:  supervised-learning
drowsiness-detection
To identify the driver's drowsiness based on real-time camera image and image processing techniques. 졸음운전 감지 시스템. OpenCV
Stars: ✭ 31 (-3.12%)
Mutual labels:  supervised-learning
Homlr
Supplementary material for Hands-On Machine Learning with R, an applied book covering the fundamentals of machine learning with R.
Stars: ✭ 185 (+478.13%)
Mutual labels:  supervised-learning
Cnn Svm
An Architecture Combining Convolutional Neural Network (CNN) and Linear Support Vector Machine (SVM) for Image Classification
Stars: ✭ 170 (+431.25%)
Mutual labels:  supervised-learning
MLclass
My main Machine Learning class
Stars: ✭ 56 (+75%)
Mutual labels:  supervised-learning
DeepFaceRecognition
Face Recognition with Transfer Learning
Stars: ✭ 16 (-50%)
Mutual labels:  transfer-learning
TA3N
[ICCV 2019 Oral] TA3N: https://github.com/cmhungsteve/TA3N (Most updated repo)
Stars: ✭ 45 (+40.63%)
Mutual labels:  transfer-learning
Shallowlearn
An experiment about re-implementing supervised learning models based on shallow neural network approaches (e.g. fastText) with some additional exclusive features and nice API. Written in Python and fully compatible with Scikit-learn.
Stars: ✭ 196 (+512.5%)
Mutual labels:  supervised-learning
clean-net
Tensorflow source code for "CleanNet: Transfer Learning for Scalable Image Classifier Training with Label Noise" (CVPR 2018)
Stars: ✭ 86 (+168.75%)
Mutual labels:  transfer-learning
Free Ai Resources
🚀 FREE AI Resources - 🎓 Courses, 👷 Jobs, 📝 Blogs, 🔬 AI Research, and many more - for everyone!
Stars: ✭ 192 (+500%)
Mutual labels:  supervised-learning
pykale
Knowledge-Aware machine LEarning (KALE): accessible machine learning from multiple sources for interdisciplinary research, part of the 🔥PyTorch ecosystem
Stars: ✭ 381 (+1090.63%)
Mutual labels:  transfer-learning
Hover
🚤 Never spend O(n) to annotate data again. Fun and precision come free.
Stars: ✭ 183 (+471.88%)
Mutual labels:  supervised-learning
plants disease detection
AI Challenger 2018 农作物病害检测
Stars: ✭ 45 (+40.63%)
Mutual labels:  densenet
Data Science Free
Free Resources For Data Science created by Shubham Kumar
Stars: ✭ 232 (+625%)
Mutual labels:  supervised-learning

nih-chest-xrays

license

Udacity - Machine Learning Nanodegree - Capstone Project: (Mar. 2018)

Transfer Learning enables a variety of computer vision projects without the need to train a Convolutional Neural Net (CNN) from scratch (important because the computing resources required to do so are often available to large institutions only). Today, most Transfer Learning projects rely on a few specific datasets (e.g., ImageNet) which have proven to be useful, but which are limited to specific domains. The goal of this Notebook is to explore the feasibility of creating pre-trained models which are domain specific, and to know whether this will significantly improve the accuracy. For example, the U.S.-based National Institute of Health (NIH) has released a dataset of labeled chest x-rays, and it should be possible to improve classification accuracy on this dataset and/or similar datasets by first creating a "baseline" set of pre-trained weights which could be applied to classification, detection, localization efforts which involve x-ray images. This is a Supervised Learning project.

Example Finding

Alt text

Based on the somewhat lackluster results of the Transfer Learning investigation, and inspired by Stanford ML Group's CheXNet, I also decided to train a DenseNet [1] network to perform binary classification on the same NIH chest x-ray dataset, albeit on a single category ("Pulmonary Fibrosis"). In this case, the binary classification is a one-vs-all (a.k.a. one-vs-rest) approach for the lung disease category: "Pulmonary Fibrosis"; samples from this single class are taken against a random sample of the other 14 categories (including "No Finding"). This approach seemed to have achieved near state of the art results, with an AUROC of far greater than 0.05 of previously published results [2]. Due to my surprise, I immediately gathered another distinct chest x-ray dataset (Indiana University - IU), which also included Pulmonary Fibrosis examples, and I tested that dataset.

Results

Alt text

I have made the weights publicly available, I have published my DenseNet implementation details as a public Kaggle Kernel, and I have also developed a Web Service (https://zdmc.info/pulmonary-fibrosis) to test individual samples from different datasets, and to experiment with Dynamically Expandable Networks (DENs) [3].

  1. Huang, et. al. (2016). Densely Connected Convolutional Networks. https://arxiv.org/abs/1711.05225
  2. Rajpukar, et. al. (2017). CheXNet: Radiologist-Level Pneumonia Detection on Chest X-Rays with Deep Learning, 4. https://arxiv.org/abs/1711.05225
  3. Lee, et. al. (2017). Lifelong Learning with Dynamically Expandable Networks. https://arxiv.org/abs/1708.01547v2

Environment

  • conda 4.3.30
  • Python 3.6.3
  • TensorFlow 1.4.1
  • Keras 2.1.3
  • bcolz 1.1.2
  • Keras-viz 0.4.1
  • numpy 1.13.3
  • matplotlib 2.1.0
  • PIL 1.1.6
  • scipy 0.19.1
  • GNU/Linux "convert" via ImageMagick 6.8.9-9
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].