by Yujia Liu, Stefano D'Aronco, Konrad Schindler, Jan Dirk Wegner.
This repository is for our ICLR2021 paper 'PC2WF: 3D WIREFRAME RECONSTRUCTION FROM RAW POINT CLOUDS'.
This code relies on FCGF as backbone network. Please make sure that you installed all requirements.
This code has been tested with CUDA 10.0, Python 3.7, Pytorch 1.2.0, MinkowskiEngine 0.2.9.
-
Clone this repository.
git clone https://github.com/YujiaLiu76/PC2WF cd PC2WF
-
Put pointcloud dataset into directory
abc_data/clean/xyz/
. Put corresponding groudtruch files into directoryabc_data/clean/gt/
. (Please refer to the examples in those directories we put into) -
Add noise to clean pointclouds. The default sigma and clip values are both 0.01.
cd gen_data python noise_addnoise.py
-
Generate path dataset for training and evaluation.
cd .. python noise_gen_patch_straight.py
-
Train a model.
python main.py -d abc_data -p 50 -nt 0.01 -lpt 0.01 -lnt 0.01 -s 0.01 -c 0.01
Please refer to
main.py
for detailed explanation of arguments. (We have provided a pretained model with default arguments on abc dataset.) -
Visualize results. We provided scripts for visualizing predicted wireframe results from pointclouds. The following scripts will read metadata generated in
abc_data/pathches_*/test/
and visualize the predicted wireframes. Note that, they will use pretained models as default.- predict vertexes and edges
cd visualize python run_test_line.py
- visualize
python visualize_line.py