Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/Xharlie/Grid-GCN

Grid-GCN for Fast and Scalable Point Cloud Learning
https://github.com/Xharlie/Grid-GCN

3d-vision 3dvision classification computer-vision cvpr2020 graphconv graphconvoltution grid-gcn point-cloud pointnet s3dis scannet segmentation self-driving-car

Last synced: about 2 months ago
JSON representation

Grid-GCN for Fast and Scalable Point Cloud Learning

Awesome Lists containing this project

README

        

# Grid-GCN for Fast and Scalable Point Cloud Learning (CVPR2020)
Please cite us:
```
@article{1912.02984,
Author = {Qiangeng Xu and Xudong Sun and Cho-Ying Wu and Panqu Wang and Ulrich Neumann},
Title = {Grid-GCN for Fast and Scalable Point Cloud Learning},
Year = {2019},
Eprint = {arXiv:1912.02984},
Howpublished = {Proceedings of the IEEE Conference on Computer Vision and Pattern
Recognition (CVPR 2020)}
}
```

## Requirement: GGCN implemented by MXNET 1.5.0

make sure you have gcc version suggested by MXNET 1.5.0

## Install Our CUDA modules to MXNET Libary:
```
cd gridifyop
vim Makefile # then change mx_home to your mxnet-apache directory, and adjust nvcc command according to your gpu model and cuda version. here we use compute power 61 and 75 for 1080 ti and 2080 ti. save the change
make
cd ..
```

## Data Preparation

* ### Classification

* #### ModelNet40
We refer to pointnet https://github.com/charlesq34/pointnet/blob/master/provider.py
```
cd data/
wget https://shapenet.cs.stanford.edu/media/modelnet40_ply_hdf5_2048.zip
unzip modelnet40_ply_hdf5_2048.zip
unzip it and put it inside data/
```
* #### ModelNet10
please refer to pointnet++'s github
```
download modelnet40_normal_resampled from https://github.com/charlesq34/pointnet2
take the modelnet10_train.txt, modelnet10_test.txt and extract from modelnet40_ply_hdf5_2048 to create a modelnet10_ply_hdf5_2048
or use modelnet40_normal_resampled directly, but configuration file configs_10.yaml new: True -> False
```

* ### Segmentation/ScanNet
Please refer to pointnet++ for downloading ScanNet use link:
```
# in data/
wget https://shapenet.cs.stanford.edu/media/scannet_data_pointnet2.zip
unzip scannet_data_pointnet2.zip
mv data scannet

## Training
* ### Classification

* #### ModelNet40
```
cd classification
nohup python -u train/train_gpu_ggcn_mdl40.py &> mdl40.log &

```
* #### ModelNet10
please refer to pointnet++
```
cd classification
nohup python -u train/train_gpu_ggcn_mdl10.py &> mdl10.log &

```

* ### Segmentation
* #### ScanNet
Please refer to pointnet++ for downloading ScanNet use link:
```
cd segmentation

### then you cd configs -> go to configs.yaml to choose 8192 points model or 81920 points model by leaving one of them uncommented

nohup python -u train_test/train_ggcn_scannet.py &> train.log &
```
## Testing
* ### Segmentation
* #### ScanNet
```
cd segmentation

### then you cd configs -> go to configs.yaml to choose 8192 points model or 81920 points model by leaving one of them uncommented
### you should also change load_model_prefix to the intented trained model file in your output directory.

nohup python -u train_test/test_ggcn_scannet.py &> test.log &
```