├── .gitignore ├── Configs ├── config_globalSPFN.yml ├── config_localSPFN.yml └── config_patchSelec.yml ├── Dataset ├── dataloaders.py ├── test_models.csv └── train_models.csv ├── Figures └── teaser.png ├── PointNet2 ├── pn2_network.py └── pointnet2_ops │ ├── cuda_ops │ ├── include │ │ ├── ball_query.h │ │ ├── cuda_utils.h │ │ ├── group_points.h │ │ ├── interpolate.h │ │ ├── sampling.h │ │ └── utils.h │ └── src │ │ ├── ball_query.cpp │ │ ├── ball_query_gpu.cu │ │ ├── bindings.cpp │ │ ├── group_points.cpp │ │ ├── group_points_gpu.cu │ │ ├── interpolate.cpp │ │ ├── interpolate_gpu.cu │ │ ├── sampling.cpp │ │ └── sampling_gpu.cu │ ├── modules │ ├── geometry_utils.py │ ├── pointset_abstraction.py │ └── pointset_feature_propagation.py │ └── setup.py ├── Preprocessing ├── preprocessing_creation_patch.py ├── preprocessing_sampling_lowres.py └── preprocessing_sampling_patch.py ├── README.md ├── SPFN ├── cone_fitter.py ├── cylinder_fitter.py ├── differentiable_tls.py ├── fitter_factory.py ├── geometry_utils.py ├── losses_implementation.py ├── metric_implementation.py ├── plane_fitter.py ├── primitives.py └── sphere_fitter.py ├── Utils ├── config_loader.py ├── dataset_utils.py ├── merging_utils.py ├── sampling_utils.py ├── training_utils.py └── training_visualisation.py ├── evaluation_PatchSelection.py ├── evaluation_baselineSPFN.py ├── evaluation_globalSPFN.py ├── evaluation_localSPFN.py ├── requirements.txt ├── training_PatchSelection.py └── training_SPFN.py /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erictuanle/CPFN/HEAD/.gitignore -------------------------------------------------------------------------------- /Configs/config_globalSPFN.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erictuanle/CPFN/HEAD/Configs/config_globalSPFN.yml -------------------------------------------------------------------------------- /Configs/config_localSPFN.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erictuanle/CPFN/HEAD/Configs/config_localSPFN.yml -------------------------------------------------------------------------------- /Configs/config_patchSelec.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erictuanle/CPFN/HEAD/Configs/config_patchSelec.yml -------------------------------------------------------------------------------- /Dataset/dataloaders.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erictuanle/CPFN/HEAD/Dataset/dataloaders.py -------------------------------------------------------------------------------- /Dataset/test_models.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erictuanle/CPFN/HEAD/Dataset/test_models.csv -------------------------------------------------------------------------------- /Dataset/train_models.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erictuanle/CPFN/HEAD/Dataset/train_models.csv -------------------------------------------------------------------------------- /Figures/teaser.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erictuanle/CPFN/HEAD/Figures/teaser.png -------------------------------------------------------------------------------- /PointNet2/pn2_network.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erictuanle/CPFN/HEAD/PointNet2/pn2_network.py -------------------------------------------------------------------------------- /PointNet2/pointnet2_ops/cuda_ops/include/ball_query.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erictuanle/CPFN/HEAD/PointNet2/pointnet2_ops/cuda_ops/include/ball_query.h -------------------------------------------------------------------------------- /PointNet2/pointnet2_ops/cuda_ops/include/cuda_utils.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erictuanle/CPFN/HEAD/PointNet2/pointnet2_ops/cuda_ops/include/cuda_utils.h -------------------------------------------------------------------------------- /PointNet2/pointnet2_ops/cuda_ops/include/group_points.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erictuanle/CPFN/HEAD/PointNet2/pointnet2_ops/cuda_ops/include/group_points.h -------------------------------------------------------------------------------- /PointNet2/pointnet2_ops/cuda_ops/include/interpolate.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erictuanle/CPFN/HEAD/PointNet2/pointnet2_ops/cuda_ops/include/interpolate.h -------------------------------------------------------------------------------- /PointNet2/pointnet2_ops/cuda_ops/include/sampling.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erictuanle/CPFN/HEAD/PointNet2/pointnet2_ops/cuda_ops/include/sampling.h -------------------------------------------------------------------------------- /PointNet2/pointnet2_ops/cuda_ops/include/utils.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erictuanle/CPFN/HEAD/PointNet2/pointnet2_ops/cuda_ops/include/utils.h -------------------------------------------------------------------------------- /PointNet2/pointnet2_ops/cuda_ops/src/ball_query.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erictuanle/CPFN/HEAD/PointNet2/pointnet2_ops/cuda_ops/src/ball_query.cpp -------------------------------------------------------------------------------- /PointNet2/pointnet2_ops/cuda_ops/src/ball_query_gpu.cu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erictuanle/CPFN/HEAD/PointNet2/pointnet2_ops/cuda_ops/src/ball_query_gpu.cu -------------------------------------------------------------------------------- /PointNet2/pointnet2_ops/cuda_ops/src/bindings.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erictuanle/CPFN/HEAD/PointNet2/pointnet2_ops/cuda_ops/src/bindings.cpp -------------------------------------------------------------------------------- /PointNet2/pointnet2_ops/cuda_ops/src/group_points.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erictuanle/CPFN/HEAD/PointNet2/pointnet2_ops/cuda_ops/src/group_points.cpp -------------------------------------------------------------------------------- /PointNet2/pointnet2_ops/cuda_ops/src/group_points_gpu.cu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erictuanle/CPFN/HEAD/PointNet2/pointnet2_ops/cuda_ops/src/group_points_gpu.cu -------------------------------------------------------------------------------- /PointNet2/pointnet2_ops/cuda_ops/src/interpolate.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erictuanle/CPFN/HEAD/PointNet2/pointnet2_ops/cuda_ops/src/interpolate.cpp -------------------------------------------------------------------------------- /PointNet2/pointnet2_ops/cuda_ops/src/interpolate_gpu.cu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erictuanle/CPFN/HEAD/PointNet2/pointnet2_ops/cuda_ops/src/interpolate_gpu.cu -------------------------------------------------------------------------------- /PointNet2/pointnet2_ops/cuda_ops/src/sampling.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erictuanle/CPFN/HEAD/PointNet2/pointnet2_ops/cuda_ops/src/sampling.cpp -------------------------------------------------------------------------------- /PointNet2/pointnet2_ops/cuda_ops/src/sampling_gpu.cu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erictuanle/CPFN/HEAD/PointNet2/pointnet2_ops/cuda_ops/src/sampling_gpu.cu -------------------------------------------------------------------------------- /PointNet2/pointnet2_ops/modules/geometry_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erictuanle/CPFN/HEAD/PointNet2/pointnet2_ops/modules/geometry_utils.py -------------------------------------------------------------------------------- /PointNet2/pointnet2_ops/modules/pointset_abstraction.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erictuanle/CPFN/HEAD/PointNet2/pointnet2_ops/modules/pointset_abstraction.py -------------------------------------------------------------------------------- /PointNet2/pointnet2_ops/modules/pointset_feature_propagation.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erictuanle/CPFN/HEAD/PointNet2/pointnet2_ops/modules/pointset_feature_propagation.py -------------------------------------------------------------------------------- /PointNet2/pointnet2_ops/setup.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erictuanle/CPFN/HEAD/PointNet2/pointnet2_ops/setup.py -------------------------------------------------------------------------------- /Preprocessing/preprocessing_creation_patch.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erictuanle/CPFN/HEAD/Preprocessing/preprocessing_creation_patch.py -------------------------------------------------------------------------------- /Preprocessing/preprocessing_sampling_lowres.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erictuanle/CPFN/HEAD/Preprocessing/preprocessing_sampling_lowres.py -------------------------------------------------------------------------------- /Preprocessing/preprocessing_sampling_patch.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erictuanle/CPFN/HEAD/Preprocessing/preprocessing_sampling_patch.py -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erictuanle/CPFN/HEAD/README.md -------------------------------------------------------------------------------- /SPFN/cone_fitter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erictuanle/CPFN/HEAD/SPFN/cone_fitter.py -------------------------------------------------------------------------------- /SPFN/cylinder_fitter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erictuanle/CPFN/HEAD/SPFN/cylinder_fitter.py -------------------------------------------------------------------------------- /SPFN/differentiable_tls.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erictuanle/CPFN/HEAD/SPFN/differentiable_tls.py -------------------------------------------------------------------------------- /SPFN/fitter_factory.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erictuanle/CPFN/HEAD/SPFN/fitter_factory.py -------------------------------------------------------------------------------- /SPFN/geometry_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erictuanle/CPFN/HEAD/SPFN/geometry_utils.py -------------------------------------------------------------------------------- /SPFN/losses_implementation.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erictuanle/CPFN/HEAD/SPFN/losses_implementation.py -------------------------------------------------------------------------------- /SPFN/metric_implementation.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erictuanle/CPFN/HEAD/SPFN/metric_implementation.py -------------------------------------------------------------------------------- /SPFN/plane_fitter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erictuanle/CPFN/HEAD/SPFN/plane_fitter.py -------------------------------------------------------------------------------- /SPFN/primitives.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erictuanle/CPFN/HEAD/SPFN/primitives.py -------------------------------------------------------------------------------- /SPFN/sphere_fitter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erictuanle/CPFN/HEAD/SPFN/sphere_fitter.py -------------------------------------------------------------------------------- /Utils/config_loader.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erictuanle/CPFN/HEAD/Utils/config_loader.py -------------------------------------------------------------------------------- /Utils/dataset_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erictuanle/CPFN/HEAD/Utils/dataset_utils.py -------------------------------------------------------------------------------- /Utils/merging_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erictuanle/CPFN/HEAD/Utils/merging_utils.py -------------------------------------------------------------------------------- /Utils/sampling_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erictuanle/CPFN/HEAD/Utils/sampling_utils.py -------------------------------------------------------------------------------- /Utils/training_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erictuanle/CPFN/HEAD/Utils/training_utils.py -------------------------------------------------------------------------------- /Utils/training_visualisation.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erictuanle/CPFN/HEAD/Utils/training_visualisation.py -------------------------------------------------------------------------------- /evaluation_PatchSelection.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erictuanle/CPFN/HEAD/evaluation_PatchSelection.py -------------------------------------------------------------------------------- /evaluation_baselineSPFN.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erictuanle/CPFN/HEAD/evaluation_baselineSPFN.py -------------------------------------------------------------------------------- /evaluation_globalSPFN.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erictuanle/CPFN/HEAD/evaluation_globalSPFN.py -------------------------------------------------------------------------------- /evaluation_localSPFN.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erictuanle/CPFN/HEAD/evaluation_localSPFN.py -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erictuanle/CPFN/HEAD/requirements.txt -------------------------------------------------------------------------------- /training_PatchSelection.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erictuanle/CPFN/HEAD/training_PatchSelection.py -------------------------------------------------------------------------------- /training_SPFN.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erictuanle/CPFN/HEAD/training_SPFN.py --------------------------------------------------------------------------------