MCPcopy Index your code
hub / github.com/Runsong123/AdaFit

github.com/Runsong123/AdaFit @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
355 symbols 743 edges 25 files 112 documented · 32%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

AdaFit: Rethinking Learning-based Normal Estimation on Point Clouds (ICCV 2021 oral)

Project Page | Arxiv | Video | Poster |

Runsong Zhu¹, Yuan Liu², Zhen Dong¹, Tengping jiang¹, Yuan Wang¹, Wenping Wang³, Bisheng Yang¹.

¹Wuhan University + ²The University of Hong Kong + ³Texas A&M University.

Requirements

we conduct the experiment in the following setting:

  • Ubuntu 16.04
  • CUDA 10.1
  • Python v3.7
  • Pytorch v1.4 & torchvision v0.5.0
  • matplotlib v2.2.4
  • numpy v1.17.4
  • tensorboardX v1.9
  • scikit-learn v0.21.3
  • scipy v1.3.2
  • urllib3 v1.25.8

How to use the code

Data praparation

you need to download PCPNet dataset and place it in ./data/

single-scale AdaFit (Train + Test on PCPNet):

python run_AdaFit_single_experiment_single_scale.py

Note that, the difference between single-scale verison of our AdaFit and DeepFit is the offset-learning part, which you only need to add the following code.:

# parameter

self.conv_bias = nn.Conv1d(128, 3, 1)

# train /test 

...
bias =  self.conv_bias(x)
bias[:,:,0] = 0
points = points + bias
...

AdaFit (Train + Test on PCPNet):

python run_AdaFit_single_experiment_multi_scale.py

Acknowledgement

The code is heavily based on DeepFit.

If you find our work useful in your research, please cite our paper. And please also cite the DeepFit paper.

@article{zhu2021adafit,
  title={AdaFit: Rethinking Learning-based Normal Estimation on Point Clouds},
  author={Zhu, Runsong and Liu, Yuan and Dong, Zhen and Jiang, Tengping and Wang, Yuan and Wang, Wenping and Yang, Bisheng},
  journal={arXiv preprint arXiv:2108.05836},
  year={2021}
}

@article{ben2020deepfit,
  title={DeepFit: 3D Surface Fitting via Neural Network Weighted Least Squares},
  author={Ben-Shabat, Yizhak and Gould, Stephen},
  journal={arXiv preprint arXiv:2003.10826},
  year={2020}
}

Core symbols most depended-on inside this repo

log_string
called by 16
evaluate.py
dtype
called by 9
utils/plyfile.py
_lookup_type
called by 8
utils/plyfile.py
_variable_on_cpu
called by 6
utils/tf_util.py
log_string
called by 5
train_n_est_single_scale.py
log_string
called by 5
train_n_est_multi_scale.py
_variable_with_weight_decay
called by 5
utils/tf_util.py
draw_point_cloud
called by 5
utils/pc_util.py

Shape

Method 181
Function 120
Class 54

Languages

Python100%

Modules by API surface

utils/plyfile.py77 symbols
utils/tf_util.py26 symbols
utils/pcpnet_dataset.py24 symbols
models/AdaFit_multi_scale.py24 symbols
dataset_single_scale.py24 symbols
dataset_multi_scale.py24 symbols
AdaFit_multi_scale.py24 symbols
models/AdaFit_single_scale.py21 symbols
AdaFit_single_scale.py21 symbols
utils/provider.py13 symbols
utils/normal_estimation_utils.py13 symbols
utils/pc_util.py11 symbols

For agents

$ claude mcp add AdaFit \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact