3DMedPT
Requirements
- Python 3.7
- Pytorch 1.6
- CUDA 10.0
- Packages: tqdm, sklearn, visualdl, einops, natsort
- To build the CUDA kernel for FPS:
NOTE: If you encounter problems while building the kernel, you can refer to Pointnet2_PyTorch for solutions.
pip install pointnet2_ops_lib/.
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: