- Notifications
You must be signed in to change notification settings - Fork16
EC-Net: an Edge-aware Point set Consolidation Network, ECCV, 2018
yulequan/EC-Net
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
byLequan Yu, Xianzhi Li,Chi-Wing Fu,Daniel Cohen-Or,Pheng-Ann Heng. Details are inproject page.
This repository is for our ECCV 2018 paper 'EC-Net: an Edge-aware Point set Consolidation Network'. This project is based on our previous projectPU-Net.
This repository is based on Tensorflow and the TF operators from PointNet++. Therefore, you need to install tensorflow and compile the TF operators.
For installing tensorflow, please follow the official instructions inhere. The code is tested under TF1.3 (higher version should also work) and Python 2.7 on Ubuntu 16.04.
For compiling TF operators, please checktf_xxx_compile.sh
under each op subfolder incode/tf_ops
folder. Note that you need to updatenvcc
,python
andtensoflow include library
if necessary. You also need to remove-D_GLIBCXX_USE_CXX11_ABI=0
flag in g++ command in order to compile correctly if necessary.
To compile the operators in TF version >=1.4, you need to modify the compile scripts slightly.
First, find Tensorflow include and library paths.
TF_INC=$(python -c 'import tensorflow as tf; print(tf.sysconfig.get_include())') TF_LIB=$(python -c 'import tensorflow as tf; print(tf.sysconfig.get_lib())')
Then, add flags of-I$TF_INC/external/nsync/public -L$TF_LIB -ltensorflow_framework
to theg++
commands.
We adopt the Dijkstra algorithm implemented in python-graph library, you can follow the instruction inhere to install it.
Clone the repository:
git clone https://github.com/yulequan/EC-Net.gitcd EC-Net
Compile the TF operators:
Follow the above information to compile the TF operators.
Train the model:
cd codepython main.py --phase train --gpu 0 --log_dir ../model/myownmodel
Evaluate the model:
We provide the pretrained model in folder
model/pretrain
.To evaluate the model, you need to put the test point clouds (in .xyz format) in the foldereval_input
.Then run:
cd codepython main.py --phasetest --log_dir ../model/pretrain
You will see the input point cloud, output point cloud, and the identified edge points in the folder
eval_result
.
If EC-Net is useful for your research, please consider citing:
@inproceedings{yu2018ec, title={EC-Net: an Edge-aware Point set Consolidation Network}, author={Yu, Lequan and Li, Xianzhi and Fu, Chi-Wing and Cohen-Or, Daniel and Heng, Pheng-Ann}, booktitle = {ECCV}, year = {2018}
}
Please contact 'lqyu@cse.cuhk.edu.hk'