"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
PyVistaremehsing, andOpen3Dvisualization -
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 pointnetpython eval.py --model pointnetZhao, 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 pointtransformerpython eval.py --model pointtransformer