Codes for paper Automatic Knee Osteoarthritis Diagnosis from Plain Radiographs: A Deep Learning-Based Approach.
Aleksei Tiulpin, Jérôme Thevenot, Esa Rahtu, Petri Lehenkari, and Simo Saarakkala, 2017.
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 extremly 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.
Here we present the training codes and the pretrained 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 v.6. Below please find the other dependencies which need to be installed:
- Python 3
- pytorch with CUDA support
- PIL
- matplotlib
- Jupyter Notebook (to work with attention maps)
- tqdm
- visdom
- numpy
- termcolor
- torchvision
We recommend to create a virtual environment with the aforemention packages. To run the training, execute the corresponding bash files (validation is visualized in visdom). Before running, edit the begining of the file to activate your virtual environment.
However, you can run the codes as they are, just use the parameters fixed in the bash scripts.
Our model learns localized radiological findings as we imposed prior anatomical knowledge to teh network architecture. Here are some examples of attention maps and predictions (Kellgren-Lawrence grade 2 ground truth):
- Codes for the main experiements (Supplementary information of the article)
- Pre-trained models
- Datasets generation scripts
- MOST and OAI cohorts bounding box annotations
This code is freely available only for research purpuses.