Create the 'car' dataset (ModelNet40 data will automatically be downloaded to data/modelnet40_ply_hdf5_2048
if needed) and log directories:
mkdir log
mkdir log/baseline
python data/create_dataset_torch.py
Point clouds of ModelNet40 models in HDF5 files (provided by Qi et al.) will be automatically downloaded (416MB) to the data folder. Each point cloud contains 2048 points uniformly sampled from a shape surface. Each cloud is zero-mean and normalized into an unit sphere. There are also text files in data/modelnet40_ply_hdf5_2048
specifying the ids of shapes in h5 files.
To train a PCRNet model to register point clouds, use:
CUDA_VISIBLE_DEVICES=1 python main.py -o log/baseline/SSACCR1 --sampler fps --train-pcrnet --epochs 250 --noise_type crop -in 1024
To test a PCRNet model to register point clouds, use:
CUDA_VISIBLE_DEVICES=1 python main.py -o log/SAMPLENET64 --pretrained log/baseline/SSACCR_model_best.pth --sampler fps -in 1024 --test --noise_type crop
Additional options for training and evaluating can be found using python main.py --help
.
This code builds upon the code provided in samplenet, PointNetLK, Pointnet2_PyTorch and KNN_CUDA. We thank the authors for sharing their code.