"3D Teeth Scan Segmentation via Rotation-Invariant Descriptor"
- PyTorch 1.8.0
- Requirements
pip install -r requirements.txt
- Before training, You can load pre-sampled dataset(.npy), or sample every epoch
- For pre-sampling, see
"./preprocessing.ipynb"
- For pre-sampling, see
python main.py \
[--resume "checkpoint path"]
- You can choose one of three sampling methods.
- Farthest Point Sampling(FPS)
- Poisson Disk Sampling (Creating new vertices)
- Poisson Disk based Simplification (Keeping existing vertices, Using this sampling method)
python inference.py
-
Visualization using
PyVista
remehsing, andOpen3D
visualization -
Color gingiva and each number of teeth a different color.
-
Example
python eval.py
-
Teeth Segmentation Accuracy,
'F1'
-
$precision={TP \over TP+FP},~~~~recall={TP \over TP+FN}$ $$TSA = 2\times{precision\times recall \over precision+recall}$$
- Teeth Identification Rate,
'ACC'
$$TIR={TP+TN \over TP+TN+FP+FN}$$
- Intersection over Union,
'IOU'
$$IoU = {TP \over TP+FP+FN}$$
Qi, Charles R., et al. "Pointnet: Deep learning on point sets for 3d classification and segmentation." Proceedings of the IEEE conference on computer vision and pattern recognition. 2017.
python main_pointnet.py \
[--resume "checkpoint path"]
python inference.py --model pointnet
python eval.py --model pointnet
Zhao, Hengshuang, et al. "Point transformer." Proceedings of the IEEE/CVF international conference on computer vision. 2021.
python main_pointtransformer.py \
[--resume "checkpoint path"]
python inference.py --model pointtransformer
python eval.py --model pointtransformer