Giter VIP home page Giter VIP logo

3d-ogflow's Introduction

Occlusion Guided Self-supervised Scene Flow Estimation on 3D Point Clouds

This is the official implementation for the paper "Occlusion Guided Self-supervised Scene Flow Estimation on 3D Point Clouds"

Requirement

To run our model (3D-OGFlow), please install the following package (we suggest to use the Anaconda environment):

  • Python 3.6+
  • PyTorch==1.6.0
  • CUDA CuDNN
  • Pytorch-lightning==1.1.0
  • numpy
  • tqdm

Compile the furthest point sampling, grouping and gathering operation for PyTorch. We use the operation from this repo.

cd pointnet2
python setup.py install
cd ../

Data preperation

We use the Flyingthings3D and KITTI dataset preprocessed by this work. Download the Flyingthings3D dataset from here and KITTI dataset from here. Create a folder named datasets under the root folder. After the downloading, extract the files into the datasets. The directory of the datasets should looks like the following:

datasets/data_processed_maxcut_35_20k_2k_8192   % FlyingThings3D dataset
datasets/kitti_rm_ground                        % KITTI dataset

Get started

Supervised Training

In order to train our model on the Flyingthings3D dataset with the supervised loss, run the following:

$ python train.py --num_points 8192 --batch_size 8 --epochs 120 --use_multi_gpu True

for the help on how to use the optional arguments, type:

$ python train.py --help

Self-supervised Training

In order to train our model on the Flyingthings3D dataset by using our proposed self-supervised scheme, run the following:

$ python train_self_ln.py --num_points 8192 --batch_size 3 --epochs 150 --num_gpu 2

for the help on how to use the optional arguments, type:

$ python train_self_ln.py --help

Notice that in order to speed up the running time and to have a better utilization of the GPUs, our self-supervised training code is implemented using the PyTorch Lightning library.

Evaluation

We provide two pretained weights of 3D-OGFlow, one from the supervised training and the other from the self-supervised training. In order to evaluate our pretrained model under the pretrained_model folder with the Flyingthings3D dataset, run the following:

$ python evaluate.py --num_points 8192 --dataset f3d --weight_path ./pretrained_model/supervised/PointPWOC_88.6285_114_0.1409.pth

for the evaluation on KITTI dataset, run the following:

$ python evaluate.py --num_points 8192 --dataset kitti --weight_path ./pretrained_model/supervised/PointPWOC_88.6285_114_0.1409.pth

For help on how to use this script, type:

$ python evaluate.py --help

3d-ogflow's People

Contributors

billouyang avatar

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.