This is official implementation for the paper "Occlusion Guided Scene Flow Estimation on 3D Point Clouds"
If you find our work useful in your research, please cite:
@InProceedings{Ouyang_2021_CVPR,
author = {Ouyang, Bojun and Raviv, Dan},
title = {Occlusion Guided Scene Flow Estimation on 3D Point Clouds},
booktitle = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR) Workshops},
month = {June},
year = {2021},
pages = {2805-2814}
}
To run our model, please install the following package (we suggest to use the Anaconda environment):
- Python 3.6+
- PyTorch==1.6.0
- CUDA CuDNN
- scipy
- 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 ../
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
In order to train our model on the Flyingthings3D dataset with 8192 points, 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
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 --ckp_path ./pretrained_model/OGSFNet_94.8932_090_0.1636.pth
for the evaluation on KITTI dataset, run the following:
$ python evaluate.py --num_points 8192 --dataset kitti --ckp_path ./pretrained_model/OGSFNet_94.8932_090_0.1636.pth
For help on how to use this script, type:
$ python evaluate.py --help
All the following experiments were tested on a single GTX2080Ti GPU
- Evaluationg results on Flyingthings3D and KITTI datasets:
EPE_full | EPE | ACC05 | ACC10 | Outliers | |
---|---|---|---|---|---|
Flyingthings3D | 0.1634 | 0.1217 | 0.5518 | 0.7767 | 0.5180 |
KITTI (without fine tune) | 0.0751 | ~ | 0.7060 | 0.8693 | 0.3277 |
- Inference time on the test set of Flyingthings3D and KITTI datasets:
batch size | Flyingthings3D(min) | KITTI(min) |
---|---|---|
5 | 1.35 | 0.21 |
In this project we use parts of the official implementations of the following libraries and repositories: