Giter Club home page Giter Club logo

pcreg.pytorch's Introduction

Our recent registraion works:

Introduction

A Simple Point Cloud Registration Pipeline based on Deep Learning. Detailed Information Please Visit this Zhihu Blog.

Install

  • requirements.txt pip install -r requirements.txt
  • open3d-python==0.9.0.0 python -m pip install open3d==0.9
  • emd loss cd loss/cuda/emd_torch & python setup.py install

Start

  • Download data from [here, 435M]

  • evaluate and show(download the pretrained checkpoint [Complete, pwd: c4z7, 16.09 M] or [Paritial, pwd: pcno, 16.09] first)

    # Iterative Benchmark
    python modelnet40_evaluate.py --root your_data_path/modelnet40_ply_hdf5_2048 --checkpoint your_ckpt_path/test_min_loss.pth --cuda
    
    # Visualization
    # python modelnet40_evaluate.py --root your_data_path/modelnet40_ply_hdf5_2048 --checkpoint your_ckpt_path/test_min_loss.pth  --show
    
    # ICP
    # python modelnet40_evaluate.py --root your_data_path/modelnet40_ply_hdf5_2048 --method icp
    
    # FGR
    # python modelnet40_evaluate.py --root your_data_path/modelnet40_ply_hdf5_2048 --method fgr --normal
    
    
  • train

    CUDA_VISIBLE_DEVICES=0 python modelnet40_train.py --root your_data_path/modelnet40_ply_hdf5_2048
    

Experiments

  • Point-to-Point Correspondences(R error is large due to EMDLoss, see here)
Method isotropic R isotropic t anisotropic R(mse, mae) anisotropic t(mse, mae) time(s)
ICP 11.44 0.16 17.64(5.48) 0.22(0.07) 0.07
FGR 0.01 0.00 0.07(0.00) 0.00(0.00) 0.19
IBenchmark 5.68 0.07 9.77(2.69) 0.12(0.03) 0.022
IBenchmark + ICP 3.65 0.04 9.22(1.66) 0.11(0.02)
  • Noise Data(infer_npts = 1024)
Method isotropic R isotropic t anisotropic R(mse, mae) anisotropic t(mse, mae)
ICP 12.14 0.17 18.32(5.86) 0.23(0.08)
FGR 4.27 0.06 11.55(2.43) 0.09(0.03)
IBenchmark 6.25 0.08 9.28(2.94) 0.12(0.04)
IBenchmark + ICP 5.10 0.07 10.51(2.39) 0.13(0.03)
  • Partial-to-Complete Registration(infer_npts = 1024)
Method isotropic R isotropic t anisotropic R(mse, mae) anisotropic t(mse, mae)
ICP 21.33 0.32 22.83(10.51) 0.31(0.15)
FGR 9.49 0.12 19.51(5.58) 0.17(0.06)
IBenchmark 15.02 0.22 15.78(7.45) 0.21(0.10)
IBenchmark + ICP 9.21 0.13 14.73(4.43) 0.18(0.06)

Note:

  • Detailed metrics information please refer to RPM-Net[CVPR 2020].

Train your Own Data

  • Prepare the data in the following structure
    |- CustomData(dir)
        |- train_data(dir)
            - train1.pcd
            - train2.pcd
            - ...
        |- val_data(dir)
            - val1.pcd
            - val2.pcd
            - ...
    
  • Train
    python custom_train.py --root your_datapath/CustomData --train_npts 2048 
    # Note: train_npts depends on your dataset
    
  • Evaluate
    # Evaluate, infer_npts depends on your dataset
    python custom_evaluate.py --root your_datapath/CustomData --infer_npts 2048 --checkpoint work_dirs/models/checkpoints/test_min_loss.pth --cuda
    
    # Visualize, infer_npts depends on your dataset
    python custom_evaluate.py --root your_datapath/CustomData --infer_npts 2048 --checkpoint work_dirs/models/checkpoints/test_min_loss.pth --show
    

Acknowledgements

Thanks for the open source code for helping me to train the Point Cloud Registration Network successfully.

pcreg.pytorch's People

Contributors

jmargeta avatar zhulf0804 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

pcreg.pytorch's Issues

PCReg.Pytorch

when I run modelnet40_train.py, there is a mistake . ModuleNotFoundError : No module named '_emd_ext'. Please help me.

Pretrained checkpoints

Hello there,

first off, thanks for your work! The code is very easy to follow and I also liked the article on your blog. However, can you please upload the pretrained checkpoints to some other service? I am (and probably other people as well) unable to create account on the Baidu.com website as I live in EU...

Thanks in advance!

can't install emd_loss

Hello

Getting errors when trying to install emd_loss. In ubuntu:
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
In windows:
error: command 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\HostX86\x64\cl.exe' failed with exit status 2

I have build tools installed in Win
Thanks for your insight

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.