gitextract_51znd243/ ├── .gitignore ├── .gitmodules ├── CurveNet/ │ ├── README.md │ └── core/ │ ├── data.py │ ├── main_cls.py │ ├── main_normal.py │ ├── main_partseg.py │ ├── models/ │ │ ├── curvenet_cls.py │ │ ├── curvenet_normal.py │ │ ├── curvenet_seg.py │ │ ├── curvenet_util.py │ │ └── walk.py │ └── util.py ├── GDANet/ │ ├── README.md │ └── model/ │ ├── GDANet_cls.py │ ├── GDANet_ptseg.py │ ├── __init__.py │ └── util/ │ ├── GDANet_util.py │ ├── __init__.py │ ├── data_util.py │ └── util.py ├── LICENSE ├── PCT_Pytorch/ │ ├── LICENSE │ ├── README.md │ ├── checkpoints/ │ │ └── best/ │ │ └── models/ │ │ └── model.t7 │ ├── data.py │ ├── main.py │ ├── model.py │ ├── model_new.py │ ├── pointnet2_ops_lib/ │ │ ├── MANIFEST.in │ │ ├── pointnet2_ops/ │ │ │ ├── __init__.py │ │ │ ├── _ext-src/ │ │ │ │ ├── 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 │ │ │ ├── _version.py │ │ │ ├── pointnet2_modules.py │ │ │ └── pointnet2_utils.py │ │ └── setup.py │ ├── test.sh │ ├── train.sh │ └── util.py ├── README.md ├── all_utils.py ├── aug_utils.py ├── configs/ │ ├── bn/ │ │ ├── dgcnn.yaml │ │ ├── pct.yaml │ │ ├── pointnet.yaml │ │ ├── pointnet2.yaml │ │ ├── rscnn.yaml │ │ └── simpleview.yaml │ ├── corruption/ │ │ ├── curvenet.yaml │ │ ├── dgcnn.yaml │ │ ├── gdanet.yaml │ │ ├── pct.yaml │ │ ├── pointMLP.yaml │ │ ├── pointMLP2.yaml │ │ ├── pointnet.yaml │ │ ├── pointnet2.yaml │ │ ├── rscnn.yaml │ │ └── simpleview.yaml │ ├── cutmix/ │ │ ├── dgcnn_k.yaml │ │ ├── dgcnn_r.yaml │ │ ├── pct_k.yaml │ │ ├── pct_r.yaml │ │ ├── pointnet2_k.yaml │ │ ├── pointnet2_r.yaml │ │ ├── pointnet_k.yaml │ │ ├── pointnet_r.yaml │ │ ├── rscnn_k.yaml │ │ ├── rscnn_r.yaml │ │ ├── simpleview_k.yaml │ │ └── simpleview_r.yaml │ ├── dgcnn_curvenet_run_1.yaml │ ├── dgcnn_dgcnn_0.25_run_1.yaml │ ├── dgcnn_dgcnn_0.25_valid_run_1.yaml │ ├── dgcnn_dgcnn_0.5_run_1.yaml │ ├── dgcnn_dgcnn_0.5_valid_run_1.yaml │ ├── dgcnn_dgcnn_ce_run_1.yaml │ ├── dgcnn_dgcnn_ce_valid_run_1.yaml │ ├── dgcnn_dgcnn_run_1.yaml │ ├── dgcnn_dgcnn_valid_run_1.yaml │ ├── dgcnn_gdanet_run_1.yaml │ ├── dgcnn_pct_run_1.yaml │ ├── dgcnn_pointMLP2_run_1.yaml │ ├── dgcnn_pointMLP_run_1.yaml │ ├── dgcnn_pointnet2_0.25_run_1.yaml │ ├── dgcnn_pointnet2_0.25_valid_run_1.yaml │ ├── dgcnn_pointnet2_0.5_run_1.yaml │ ├── dgcnn_pointnet2_0.5_valid_run_1.yaml │ ├── dgcnn_pointnet2_ce_run_1.yaml │ ├── dgcnn_pointnet2_ce_valid_run_1.yaml │ ├── dgcnn_pointnet2_run_1.yaml │ ├── dgcnn_pointnet2_valid_run_1.yaml │ ├── dgcnn_pointnet_0.25_run_1.yaml │ ├── dgcnn_pointnet_0.25_valid_run_1.yaml │ ├── dgcnn_pointnet_0.5_run_1.yaml │ ├── dgcnn_pointnet_0.5_valid_run_1.yaml │ ├── dgcnn_pointnet_ce_run_1.yaml │ ├── dgcnn_pointnet_ce_valid_run_1.yaml │ ├── dgcnn_pointnet_run_1.yaml │ ├── dgcnn_pointnet_valid_run_1.yaml │ ├── dgcnn_rscnn_0.25_run_1.yaml │ ├── dgcnn_rscnn_0.25_valid_run_1.yaml │ ├── dgcnn_rscnn_0.5_run_1.yaml │ ├── dgcnn_rscnn_0.5_valid_run_1.yaml │ ├── dgcnn_rscnn_ce_run_1.yaml │ ├── dgcnn_rscnn_ce_valid_run_1.yaml │ ├── dgcnn_rscnn_run_1.yaml │ ├── dgcnn_rscnn_valid_run_1.yaml │ ├── dgcnn_simpleview_0.25_run_1.yaml │ ├── dgcnn_simpleview_0.25_valid_run_1.yaml │ ├── dgcnn_simpleview_0.5_run_1.yaml │ ├── dgcnn_simpleview_0.5_valid_run_1.yaml │ ├── dgcnn_simpleview_ce_run_1.yaml │ ├── dgcnn_simpleview_ce_valid_run_1.yaml │ ├── dgcnn_simpleview_run_1.yaml │ ├── dgcnn_simpleview_valid_run_1.yaml │ ├── mixup/ │ │ ├── dgcnn.yaml │ │ ├── pct.yaml │ │ ├── pointnet.yaml │ │ ├── pointnet2.yaml │ │ ├── rscnn.yaml │ │ └── simpleview.yaml │ ├── pgd/ │ │ ├── dgcnn.yaml │ │ ├── pct.yaml │ │ └── pointnet.yaml │ ├── pointnet2_dgcnn_run_1.yaml │ ├── pointnet2_dgcnn_valid_run_1.yaml │ ├── pointnet2_pointnet2_run_1.yaml │ ├── pointnet2_pointnet2_valid_run_1.yaml │ ├── pointnet2_pointnet_run_1.yaml │ ├── pointnet2_pointnet_valid_run_1.yaml │ ├── pointnet2_rscnn_run_1.yaml │ ├── pointnet2_rscnn_valid_run_1.yaml │ ├── pointnet2_simpleview_run_1.yaml │ ├── pointnet2_simpleview_valid_run_1.yaml │ ├── rscnn_dgcnn_run_1.yaml │ ├── rscnn_pointnet2_run_1.yaml │ ├── rscnn_pointnet_run_1.yaml │ ├── rscnn_rscnn_run_1.yaml │ ├── rscnn_simpleview_run_1.yaml │ ├── rsmix/ │ │ ├── dgcnn.yaml │ │ ├── pct.yaml │ │ ├── pointnet.yaml │ │ ├── pointnet2.yaml │ │ ├── rscnn.yaml │ │ └── simpleview.yaml │ ├── tent/ │ │ ├── dgcnn.yaml │ │ ├── pct.yaml │ │ ├── pointnet.yaml │ │ ├── pointnet2.yaml │ │ ├── rscnn.yaml │ │ └── simpleview.yaml │ └── tent_cutmix/ │ ├── dgcnn.yaml │ ├── pct.yaml │ ├── pointnet.yaml │ ├── pointnet2.yaml │ ├── rscnn.yaml │ └── simpleview.yaml ├── configs.py ├── data/ │ ├── convert.py │ ├── create_modelnet40_small.py │ ├── create_modelnet40_valid.py │ ├── distortion.py │ ├── generate_c.py │ ├── occlusion.py │ ├── process.py │ └── util.py ├── dataloader.py ├── dgcnn/ │ ├── .gitignore │ ├── README.md │ ├── pytorch/ │ │ ├── README.md │ │ ├── data.py │ │ ├── main.py │ │ ├── model.py │ │ └── util.py │ └── tensorflow/ │ ├── README.md │ ├── evaluate.py │ ├── models/ │ │ ├── dgcnn.py │ │ └── transform_nets.py │ ├── part_seg/ │ │ ├── README.md │ │ ├── download_data.sh │ │ ├── part_seg_model.py │ │ ├── test.py │ │ ├── testing_ply_file_list.txt │ │ └── train_multi_gpu.py │ ├── provider.py │ ├── sem_seg/ │ │ ├── README.md │ │ ├── batch_inference.py │ │ ├── collect_indoor3d_data.py │ │ ├── download_data.sh │ │ ├── eval_iou_accuracy.py │ │ ├── indoor3d_util.py │ │ ├── meta/ │ │ │ ├── all_data_label.txt │ │ │ ├── anno_paths.txt │ │ │ ├── area1_data_label.txt │ │ │ ├── area2_data_label.txt │ │ │ ├── area3_data_label.txt │ │ │ ├── area4_data_label.txt │ │ │ ├── area5_data_label.txt │ │ │ ├── area6_data_label.txt │ │ │ └── class_names.txt │ │ ├── model.py │ │ ├── test_job.sh │ │ ├── train.py │ │ └── train_job.sh │ ├── train.py │ └── utils/ │ ├── data_prep_util.py │ ├── eulerangles.py │ ├── pc_util.py │ ├── plyfile.py │ └── tf_util.py ├── download.sh ├── emd/ │ ├── README.md │ ├── emd.cpp │ ├── emd_cuda.cu │ ├── emd_module.py │ └── setup.py ├── eval_cor.sh ├── eval_og.sh ├── eval_tent_cutmix.sh ├── gdrivedl.py ├── main.py ├── models/ │ ├── __init__.py │ ├── curvenet.py │ ├── dgcnn.py │ ├── gdanet.py │ ├── model_utils.py │ ├── mv.py │ ├── mv_utils.py │ ├── pct.py │ ├── pointmlp.py │ ├── pointmlp2.py │ ├── pointnet.py │ ├── pointnet2.py │ ├── resnet.py │ └── rscnn.py ├── pc_utils.py ├── pointMLP/ │ ├── .gitignore │ ├── LICENSE │ ├── README.md │ └── classification_ModelNet40/ │ ├── data.py │ ├── helper.py │ ├── main.py │ ├── models/ │ │ ├── __init__.py │ │ └── pointmlp.py │ ├── utils/ │ │ ├── __init__.py │ │ ├── logger.py │ │ ├── misc.py │ │ └── progress/ │ │ ├── .gitignore │ │ ├── LICENSE │ │ ├── MANIFEST.in │ │ ├── README.rst │ │ ├── progress/ │ │ │ ├── __init__.py │ │ │ ├── bar.py │ │ │ ├── counter.py │ │ │ ├── helpers.py │ │ │ └── spinner.py │ │ ├── setup.py │ │ └── test_progress.py │ └── voting.py ├── pointnet2_pyt/ │ ├── .gitignore │ ├── .pre-commit-config.yaml │ ├── .travis.yml │ ├── MANIFEST.in │ ├── README.rst │ ├── UNLICENSE │ ├── __init__.py │ ├── pointnet2/ │ │ ├── __init__.py │ │ ├── _ext-src/ │ │ │ ├── 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 │ │ ├── data/ │ │ │ ├── .gitignore │ │ │ ├── Indoor3DSemSegLoader.py │ │ │ ├── ModelNet40Loader.py │ │ │ ├── __init__.py │ │ │ └── data_utils.py │ │ ├── models/ │ │ │ ├── __init__.py │ │ │ ├── pointnet2_msg_cls.py │ │ │ ├── pointnet2_msg_sem.py │ │ │ ├── pointnet2_ssg_cls.py │ │ │ └── pointnet2_ssg_sem.py │ │ ├── train/ │ │ │ ├── __init__.py │ │ │ ├── train_cls.py │ │ │ └── train_sem_seg.py │ │ └── utils/ │ │ ├── .gitignore │ │ ├── __init__.py │ │ ├── linalg_utils.py │ │ ├── pointnet2_modules.py │ │ └── pointnet2_utils.py │ ├── setup.py │ ├── tests/ │ │ ├── conftest.py │ │ ├── test_cls_msg.py │ │ ├── test_cls_ssg.py │ │ ├── test_semseg_msg.py │ │ └── test_semseg_ssg.py │ └── tox.ini ├── pointnet2_tf/ │ ├── LICENSE │ ├── README.md │ ├── data/ │ │ └── README.md │ ├── evaluate.py │ ├── modelnet_dataset.py │ ├── modelnet_h5_dataset.py │ ├── models/ │ │ ├── pointnet2_cls_msg.py │ │ ├── pointnet2_cls_ssg.py │ │ ├── pointnet2_part_seg.py │ │ ├── pointnet2_part_seg_msg_one_hot.py │ │ ├── pointnet2_sem_seg.py │ │ └── pointnet_cls_basic.py │ ├── part_seg/ │ │ ├── command.sh │ │ ├── command_one_hot.sh │ │ ├── evaluate.py │ │ ├── part_dataset.py │ │ ├── part_dataset_all_normal.py │ │ ├── test.py │ │ ├── train.py │ │ └── train_one_hot.py │ ├── scannet/ │ │ ├── README.md │ │ ├── pc_util.py │ │ ├── preprocessing/ │ │ │ ├── collect_scannet_scenes.py │ │ │ ├── demo.py │ │ │ ├── fetch_label_names.py │ │ │ ├── scannet-labels.combined.tsv │ │ │ └── scannet_util.py │ │ ├── scannet_dataset.py │ │ ├── scene_util.py │ │ └── train.py │ ├── tf_ops/ │ │ ├── 3d_interpolation/ │ │ │ ├── interpolate.cpp │ │ │ ├── tf_interpolate.cpp │ │ │ ├── tf_interpolate.py │ │ │ ├── tf_interpolate_compile.sh │ │ │ ├── tf_interpolate_op_test.py │ │ │ └── visu_interpolation.py │ │ ├── grouping/ │ │ │ ├── .gitignore │ │ │ ├── test/ │ │ │ │ ├── compile.sh │ │ │ │ ├── query_ball_point.cpp │ │ │ │ ├── query_ball_point.cu │ │ │ │ ├── query_ball_point_block.cu │ │ │ │ ├── query_ball_point_grid.cu │ │ │ │ ├── selection_sort.cpp │ │ │ │ ├── selection_sort.cu │ │ │ │ └── selection_sort_const.cu │ │ │ ├── tf_grouping.cpp │ │ │ ├── tf_grouping.py │ │ │ ├── tf_grouping_compile.sh │ │ │ ├── tf_grouping_g.cu │ │ │ └── tf_grouping_op_test.py │ │ └── sampling/ │ │ ├── .gitignore │ │ ├── tf_sampling.cpp │ │ ├── tf_sampling.py │ │ ├── tf_sampling_compile.sh │ │ └── tf_sampling_g.cu │ ├── train.py │ ├── train_multi_gpu.py │ └── utils/ │ ├── README.md │ ├── compile_render_balls_so.sh │ ├── pc_util.py │ ├── pointnet_util.py │ ├── provider.py │ ├── render_balls_so.cpp │ ├── show3d_balls.py │ └── tf_util.py ├── pointnet_pyt/ │ ├── .gitignore │ ├── LICENSE │ ├── README.md │ ├── misc/ │ │ ├── modelnet_id.txt │ │ └── num_seg_classes.txt │ ├── pointnet/ │ │ ├── __init__.py │ │ ├── dataset.py │ │ └── model.py │ ├── scripts/ │ │ ├── build.sh │ │ └── download.sh │ ├── setup.py │ └── utils/ │ ├── render_balls_so.cpp │ ├── show3d_balls.py │ ├── show_cls.py │ ├── show_seg.py │ ├── train_classification.py │ └── train_segmentation.py ├── requirements.txt ├── rs_cnn/ │ ├── .gitignore │ ├── CMakeLists.txt │ ├── LICENSE │ ├── README.md │ ├── cfgs/ │ │ ├── config_msn_partseg.yaml │ │ └── config_ssn_cls.yaml │ ├── data/ │ │ ├── ModelNet40Loader.py │ │ ├── ShapeNetPartLoader.py │ │ ├── __init__.py │ │ └── data_utils.py │ ├── docs/ │ │ ├── _config.yml │ │ └── index.md │ ├── models/ │ │ ├── __init__.py │ │ ├── rscnn_msn_seg.py │ │ └── rscnn_ssn_cls.py │ ├── train_cls.py │ ├── train_cls.sh │ ├── train_partseg.py │ ├── train_partseg.sh │ ├── utils/ │ │ ├── __init__.py │ │ ├── _ext/ │ │ │ ├── __init__.py │ │ │ └── pointnet2/ │ │ │ └── __init__.py │ │ ├── build_ffi.py │ │ ├── cinclude/ │ │ │ ├── ball_query_gpu.h │ │ │ ├── ball_query_wrapper.h │ │ │ ├── cuda_utils.h │ │ │ ├── group_points_gpu.h │ │ │ ├── group_points_wrapper.h │ │ │ ├── interpolate_gpu.h │ │ │ ├── interpolate_wrapper.h │ │ │ ├── sampling_gpu.h │ │ │ └── sampling_wrapper.h │ │ ├── csrc/ │ │ │ ├── ball_query.c │ │ │ ├── ball_query_gpu.cu │ │ │ ├── group_points.c │ │ │ ├── group_points_gpu.cu │ │ │ ├── interpolate.c │ │ │ ├── interpolate_gpu.cu │ │ │ ├── sampling.c │ │ │ └── sampling_gpu.cu │ │ ├── linalg_utils.py │ │ ├── pointnet2_modules.py │ │ ├── pointnet2_modules_updated.py │ │ ├── pointnet2_utils.py │ │ └── pytorch_utils/ │ │ ├── __init__.py │ │ └── pytorch_utils.py │ ├── voting_evaluate_cls.py │ └── voting_evaluate_partseg.py ├── setup.sh ├── third_party/ │ ├── bn_helper.py │ └── tent_helper.py └── visualize/ ├── README.md ├── config.py ├── confusion_matrix.py ├── examples.py ├── main_results.py └── pointflow_fig_colorful.py