Skip to content

Latest commit

 

History

History
63 lines (46 loc) · 3.43 KB

README.md

File metadata and controls

63 lines (46 loc) · 3.43 KB

About

Codes for paper Automatic Knee Osteoarthritis Diagnosis from Plain Radiographs: A Deep Learning-Based Approach.

Tiulpin, A., Thevenot, J., Rahtu, E., Lehenkari, P., & Saarakkala, S. (2018). Automatic Knee Osteoarthritis Diagnosis from Plain Radiographs: A Deep Learning-Based Approach. Scientific reports, 8(1), 1727.

Background

Osteoarthritis (OA) is the 11th highest disability factor and it is associated with the cartilage and bone degeneration in the joints. The most common type of OA is the knee OA and it is causing an extremely high economical burden to the society while being difficult to diagnose. In this study we present a novel Deep Learning-based clinically applicable approach to diagnose knee osteoarthritis from plain radiographs (X-ray images) outperforming existing approaches.

Benchmarks and how-to-run

Here we present the training codes and the pre-trained models from each of our experiments. Please, see the paper for more details.

To train the networks, we used Ubuntu 14.04, CUDA 8.0 and CuDNN v6. For convenience, we have implemented a conda environment. Simply install it using the script create_conda_env.sh and activate it as source activate deep_knee. To run the training, execute the corresponding bash files (validation is visualized in visdom).

However, you can run the codes as they are, just use the parameters fixed in the bash scripts.

Attention maps examples

Our model learns localized radiological findings as we imposed prior anatomical knowledge to the network architecture. Here are some examples of attention maps and predictions (Kellgren-Lawrence grade 2 ground truth):

What is in here

  • Codes for the main experiments (Supplementary information of the article)
  • Pre-trained models
  • Datasets generation scripts
  • MOST and OAI cohorts bounding box annotations
  • Conda environments
  • Support of the inference on the external data.

Inference for your own data

To run the inference on your own DICOM data, do the following:

  1. Create a conda environment deep_knee using the script create_conda_env.sh.
  2. Fetch our repository KneeLocalizer and get the file with bounding boxes, which determine the locations of the knees in the image
  3. Use the script Dataset/crop_rois_your_dataset.py to create the 16bit png files of the left and right knees. Please note: the image of the left knee will be flipped to match the right one. The script needs to be executed within the environment created in step 0.
  4. Run git lfs install && git lfs pull to fetch the pre-trained models.
  5. Use the script inference_own/predict.py to produce the file with KL gradings.

License

This code is freely available only for research purposes.

How to cite

@article{tiulpin2018automatic,
  title={Automatic Knee Osteoarthritis Diagnosis from Plain Radiographs: A Deep Learning-Based Approach},
  author={Tiulpin, Aleksei and Thevenot, J{\'e}r{\^o}me and Rahtu, Esa and Lehenkari, Petri and Saarakkala, Simo},
  journal={Scientific reports},
  volume={8},
  number={1},
  pages={1727},
  year={2018},
  publisher={Nature Publishing Group}
}