Skip to content

VinDr-SpineXR: A deep learning framework forspinal lesions detection and classification from radiographs

License

Notifications You must be signed in to change notification settings

vinbigdata-medical/vindr-spinexr

Repository files navigation

VinDr-SpineXR: A deep learning framework for spinal lesions detection and classification from radiographs

License

Paper

VinDr-SpineXR: A deep learning framework for spinal lesions detection and classification from radiographs
[preprint, poster]

Installation

To install in Docker container, see Docker instruction

To install via Pip, run

pip install -r ./docker/requirements.txt

Data Preparation

The dataset can be downloaded via our project on Physionet. Subsequently, images need to be converted into PNG format before training. For more detail see data preparation instructions

Training

For each experiment outputs will be stored in outputs/--exp-name--. Refer to train.sh for more example scripts.

To train Sparse R-CNN, COCO pre-trained checkpoint has to be manually downloaded. Please go to sparse-rcnn official coco-pretrained models to download the 'r101_100pro_3x_model.pth' to './pretrained/'.

It takes about one day to train Sparse R-CNN on a V100 32GiB.

CUDA_VISIBLE_DEVICES=0 python spine/train_net.py --num-gpus 1 \
  --config-file ./spine/configs/sparsercnn.yaml \

Evaluation

Refer to eval.sh for more example scripts.

CUDA_VISIBLE_DEVICES=0 python spine/train_net.py --num-gpus 1 \
  --config-file ./spine/configs/sparsercnn.yaml \
  --eval-only \
  MODEL.WEIGHTS ./outputs/sparsercnn/model_final.pth \
  MODEL.SparseRCNN.NMS_THRESH 0.7 \

Visualize

python spine/visualize_json_results.py \
    --input "./outputs/sparsercnn/inference/coco_instances_results.json" \
    --output "./outputs/sparsercnn/inference/visual" \
    --config-file "./spine/configs/sparsercnn.yaml" \
    --dataset "spine_test" \
    --conf-threshold 0.25

License

This source code in released under Apache 2.0 License.

Acknowledgment

This implementation is based on Detectron2 codebase.
Thanks to Benjin Zhu for numpy implementation of AutoAugment for object detection.
Thanks to Ross Wightman for his implementation of EfficientDet.
Thanks to authors of Sparse R-CNN.

Citing

If you use the VinDr-SpineXR dataset in your research or wish to refer to the baseline results published in our paper, please use the following BibTeX for citation:

@InProceedings{nguyen2021vindr,
    author="Nguyen, Hieu T.
        and Pham, Hieu H.
        and Nguyen, Nghia T.
        and Nguyen, Ha Q.
        and Huynh, Thang Q.
        and Dao, Minh
        and Vu, Van",
    editor="de Bruijne, Marleen
        and Cattin, Philippe C.
        and Cotin, St{\'e}phane
        and Padoy, Nicolas
        and Speidel, Stefanie
        and Zheng, Yefeng
        and Essert, Caroline",
    title="VinDr-SpineXR: A Deep Learning Framework for Spinal Lesions Detection and Classification from Radiographs",
    booktitle="Medical Image Computing and Computer Assisted Intervention -- MICCAI 2021",
    year="2021",
    publisher="Springer International Publishing",
    address="Cham",
    pages="291--301",
    isbn="978-3-030-87240-3"
}

About

VinDr-SpineXR: A deep learning framework forspinal lesions detection and classification from radiographs

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published