项目作者: bigrewal

项目描述 :
Musculoskeletal Radiographs Abnormality Detection (MURA)
高级语言: Jupyter Notebook
项目地址: git://github.com/bigrewal/Musculoskeletal-Radiographs-abnormality-detection.git


Musculoskeletal Radiographs Abnormality Detection

Bone X-Ray Deep Learning Competition. Read more here.

This was my first attempt at this challenge, I used Xception architecture for this and received a Cappa score of 0.687 on the test set. Leaderboard Model name: xception(single model) bimal

Metrics based on study type per image in the Validation Set

Xception model received an accracy of 83% on the Validation set.

  1. ===== ELBOW ======
  2. roc_auc_score: 0.8655411655874191
  3. Sensitivity: 0.9702127659574468
  4. Specificity: 0.7608695652173914
  5. Cohen-Cappa-Score: 0.7327090673094752
  6. F1 Score: 0.8803088803088802
  7. ===== FINGER ======
  8. roc_auc_score: 0.7782454879110069
  9. Sensitivity: 0.8925233644859814
  10. Specificity: 0.6639676113360324
  11. Cohen-Cappa-Score: 0.546259842519685
  12. F1 Score: 0.7827868852459016
  13. ===== FOREARM ======
  14. roc_auc_score: 0.8475496688741722
  15. Sensitivity: 0.96
  16. Specificity: 0.7350993377483444
  17. Cohen-Cappa-Score: 0.6945780209114572
  18. F1 Score: 0.8622754491017965
  19. ===== HAND ======
  20. roc_auc_score: 0.7469005642437376
  21. Sensitivity: 0.959409594095941
  22. Specificity: 0.5343915343915344
  23. Cohen-Cappa-Score: 0.5262369439474013
  24. F1 Score: 0.840064620355412
  25. ===== HUMERUS ======
  26. roc_auc_score: 0.8754826254826255
  27. Sensitivity: 0.8581081081081081
  28. Specificity: 0.8928571428571429
  29. Cohen-Cappa-Score: 0.7500964134207482
  30. F1 Score: 0.8758620689655172
  31. ===== SHOULDER ======
  32. roc_auc_score: 0.7810299129117759
  33. Sensitivity: 0.8210526315789474
  34. Specificity: 0.7410071942446043
  35. Cohen-Cappa-Score: 0.5625817210210153
  36. F1 Score: 0.7918781725888325
  37. ===== WRIST ======
  38. roc_auc_score: 0.8414648910411623
  39. Sensitivity: 0.9642857142857143
  40. Specificity: 0.7186440677966102
  41. Cohen-Cappa-Score: 0.6986424046110609
  42. F1 Score: 0.8796992481203008

Steps to train the Neural Network: (Train this on the GPU)

  1. Clone this project.

  2. Download the dataset from the competetion home page and place it in the cloned project directory. For example: Musculoskeletal-Radiographs-abnormality-detection/

  3. Run the main_train.ipynb.

Project Dependencies

  1. pip install tensorflow-gpu
  2. pip install keras
  3. pip install scipy
  4. pip install sklearn
  5. pip install pandas
  6. pip install numpy
  7. pip install jupyter

Neural Net was trained in AWS using the p2.xlarge instance, I have created an AMI which comes with all of the above dependencies installed. AMI-ID: ami-0337b3fba4a212c7f, make sure you’ve selected the Ireland region if you decide to use this AMI.

Project Structure:

  1. src/data/dataloader.py: Filters out normal and abnormal x-ray images and adds them to their own directories for keras ImageDataGenerator.flow_from_directory(). For example train/normal/ and train/abnormal/

  2. src/data/postprocessor.py: Avergaes out the probablities of images per patient study type.

  3. src/model/*: Creates a Xception or Dense169 neural network model

  4. src/predict.py: Run this when ready for submission. Note: Change the value of the trained_model_path variable.