/3DMedPT

Project page: https://3dmedpt.github.io/

Primary LanguagePython

3DMedPT

Requirements

  • Python 3.7
  • Pytorch 1.6
  • CUDA 10.0
  • Packages: tqdm, sklearn, visualdl, einops, natsort
  • To build the CUDA kernel for FPS:
    pip install pointnet2_ops_lib/.  
    
    NOTE: If you encounter problems while building the kernel, you can refer to Pointnet2_PyTorch for solutions.

Data

The IntrA dataset can be downloaded from intra3d2019, and you need to unzip the files to data/IntrA3D.

The ModelNet40 dataset is automatically downloaded.

Performance

  • State-of-the-art accuracy on IntrA classification: 0.936 (F1 score)
  • State-of-the-art accuracy on IntrA segmentation:
    • IoU: 94.82% on healthy vessel and 82.39% on aneurysm
    • DSC: 97.29% on healthy vessel and 89.71% on aneurysm
  • ModelNet40 classification: 93.4%
  • ShapeNet40 part segmentation: 84.3% (class mIoU)

Training Command

  • For IntrA model train (1024 points)

    CUDA_VISIBLE_DEVICES=xx python main_intra.py --exp_name intra_cls_train --mode train --num_points 1024 --lr 0.01 --use_sgd True --num_K 32 64
    
  • For ModelNet40 model train (1024 points)

    CUDA_VISIBLE_DEVICES=xx python main_m40.py --exp_name m40_cls_train --mode train --num_points 1024 --epochs 250 --lr 0.001 --num_K 20 20
    

NOTE: To achieve a fast computational speed, you can also uncomment torch.backends.cudnn.benchmark = True and comment out torch.backends.cudnn.deterministic = True, while the final results might vary.

Acknowledgement

Our code borrows from: