Home

Awesome

Fast Point Transformer

Project Page | Paper

This repository contains the official code of Fast Point Transformer for 3D object detection experiments below:

3D object detection with VoteNet using Torch-Points3D

BackboneVoxel SizemAP@0.25mAP@0.5Reference
MinkowskiNet42<sup></sup>5cm55.332.8Checkpoint
FastPointTransformer5cm59.135.4Checkpoint

Installation

This repository is developed and tested on

Environment Setup

Since this repo is forked from the Torch-Points3D repo, you can setup the environment by following the the Torch-Points3D repo. We also provide a docker image to ease the environment setup. You can pull and run the docker image via the following commands:

~$ docker pull chrockey/fpt-votenet:v0.1.0
~$ docker run {docker_arguments} chrockey/fpt-votenet:v0.1.0 # interactive mode

Within the docker container, you may find a conda environment named tp3d-fpt:

~$ conda activate tp3d-fpt
(tp3d-fpt) ~$ python -c "import torch; import cuda_sparse_ops"

Dataset Preparation

First, you need to make a symbolic link for raw ScanNet V2 dataset via the following command:

~/FastPointTransformer-VoteNet$ ln -s {dir_to_scannet_v2_dataset} data/scannet-sparse/raw

And then, your data directory should look like the structure below:

~/FastPointTransformer-VoteNet/data/scannet-sparse
└── raw
    ├── metadata
    ├── scans
    ├── scans_test
    └── scannetv2-labels.combined.tsv

Training & Evaluation

After linking the raw dataset, run the provided training script (train_scripts/train_votenet_fpt.sh). The training outputs will be saved in the outputs directory.

~/FastPointTransformer-VoteNet$ conda activate tp3d-fpt
(tp3d-fpt) ~/FastPointTransformer-VoteNet$ sh train_scripts/train_votenet_fpt.sh

And then, you can evaluate the model as:

(tp3d-fpt) ~/FastPointTransformer-VoteNet$ sh eval_scripts/eval_votenet_fpt.sh

Note that you may need to modify the checkpoint directory within the script (eval_scripts/eval_votenet_fpt.sh).

LICENSE

For Torch-Points3D repo, please check the license.

Acknowledgement

This repo is forked from Torch-Points3D repo. If you use our model, please consider citing Torch-Points3D and VoteNet as well.