Code for PCN: Point Completion Network in 3DV'18 (Oral)
PCN is a learning-based shape completion method which directly maps a partial point cloud to a dense, complete point cloud without any voxelization. It is based on our 3DV 2018 publication PCN: Point Completion Network. Please refer to our project website or read our paper for more details.
If you find our work useful for your research, please cite:
@inProceedings{yuan2018pcn,
title = {PCN: Point Completion Network},
author = {Yuan, Wentao and Khot, Tejas and Held, David and Mertz, Christoph and Hebert, Martial},
booktitle = {3D Vision (3DV), 2018 International Conference on},
year = {2018}
}
pip3 install -r requirments.txt
.make
under pc_distance
. Make sure the paths in makefile are correct.This code is built using Tensorflow 1.12 with CUDA 9.0 and tested on Ubuntu 16.04 with Python 3.5.
Run python3 demo.py
. Use --input_path
option to switch between the input examples in demo_data
.
shapenet
folder on Google Drive. Specifically, this experiment requires test
, test_novel
, test.list
and test_novel.list
.python3 test_shapenet.py
. Use --model_type
option to choose different model architectures. Type python3 test_shapenet.py -h
for more options.kitti
folder on Google Drive.python3 test_kitti.py
. Type python3 test_kitti.py -h
for more options.python3 kitti_registration.py
. Type python3 kitti_registration.py -h
for more options.train.lmdb
, train.lmdb-lock
) and validation (valid.lmdb
, valid.lmdb-lock
) data from shapenet
or shapenet_car
directory on Google Drive. Note that the training data for all 8 categories in shapenet
takes up 49G of disk space. The training data for only the car category takes 9G instead.python3 train.py
. Type python3 train.py -h
for more options.To generate your own data from ShapeNet, first Download ShapeNetCore.v1. Then, create partial point clouds from depth images (see instructions in render
) and corresponding ground truths by sampling from CAD models (see instructions in sample
). Finally, serialize the data using lmdb_writer.py
.
This project Code is released under the MIT License (refer to the LICENSE file for details).