Skip to content

Namkwangwoon/Rotation-Invariant-Tooth-Seg

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rotation Invariant Tooth Scan Segmentation

"3D Teeth Scan Segmentation via Rotation-Invariant Descriptor"

Overall Architecture

Overall

Prerequisites

  • PyTorch 1.8.0
  • Requirements
    pip install -r requirements.txt

Training

  • Before training, You can load pre-sampled dataset(.npy), or sample every epoch
    • For pre-sampling, see "./preprocessing.ipynb"
python main.py \
  [--resume "checkpoint path"]
  • You can choose one of three sampling methods.
    1. Farthest Point Sampling(FPS)
    2. Poisson Disk Sampling (Creating new vertices)
    3. Poisson Disk based Simplification (Keeping existing vertices, Using this sampling method)

Inference (Visualization)

python inference.py
  • Visualization using PyVista remehsing, and Open3D visualization

  • Color gingiva and each number of teeth a different color.

  • Example

Evaluation

python eval.py

TSA

  • Teeth Segmentation Accuracy, 'F1'

  • $precision={TP \over TP+FP},~~~~recall={TP \over TP+FN}$

    $$TSA = 2\times{precision\times recall \over precision+recall}$$

TIR

  • Teeth Identification Rate, 'ACC' $$TIR={TP+TN \over TP+TN+FP+FN}$$

IOU

  • Intersection over Union, 'IOU' $$IoU = {TP \over TP+FP+FN}$$

Results

Aligned Training

image image

Random Rotated Training

image image

Other Methods

PointNet

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.

Training

python main_pointnet.py \
  [--resume "checkpoint path"]

Inference

python inference.py --model pointnet

Evaluation

python eval.py --model pointnet

Point Transformer

Zhao, Hengshuang, et al. "Point transformer." Proceedings of the IEEE/CVF international conference on computer vision. 2021.

Training

python main_pointtransformer.py \
  [--resume "checkpoint path"]

Inference

python inference.py --model pointtransformer

Evaluation

python eval.py --model pointtransformer

Reference Codes