Skip to content
RAGC: Residual Attention Graph Convolutional Network for Geometric 3D Scene Classification (ICCVW 2019)
Python Shell
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
checkpoints init commit Oct 14, 2019
dataset init commit Oct 14, 2019
results/test init commit Oct 14, 2019
test_scripts init commit Oct 14, 2019
torch_geometric_extension init commit Oct 14, 2019
train_scripts init commit Oct 14, 2019
.gitignore
LICENSE init commit Oct 14, 2019
graph_model.py init commit Oct 14, 2019
h53dclass_dataloader.py init commit Oct 14, 2019
metrics.py init commit Oct 14, 2019
readme.md Updated citation Nov 22, 2019
requirements.txt init commit Oct 14, 2019
test.py init commit Oct 14, 2019
train.py init commit Oct 14, 2019
utils.py init commit Oct 14, 2019

readme.md

RAGC: Residual Attention Graph Convolutional Network for Geometric 3D Scene Classification

See our project website here.

Code Structure

  • ./checkpoints/* - Contains the weights used in the paper.
  • ./dataset/ - Contains the scripts to generate the datasets. Moreover, this folder is used to save the dataset.
  • ./torch_geometric_extension - Contains some piece of code that extends the functionality of torch_geometric
  • ./results - Folder used to save the results of train.py and test.py
  • ./train_scripts - Contains examples to train the different architectures, as it is done in the Article.
  • ./test_scripts - Contains examples to run the test.py using the provided checkpoints.
  • ./* - Contains the model, train and test scripts used to reproduce the results showed in the Article.

Requirements

Install Pytorch 1.2 and Pytorch-Geometric 1.3.1 taking into account your cuda requirements. This code was tested using pyton 3.6 and cuda 10.

Run the following line pip3 install -r ./requirements.txt to install the rest of the requirements.

Datasets

NYU_V1

Download the dataset from here. The data(a .mat file) needs to be located in ./dataset/nyu_v1. Then execute the dataset_preparation_nyu.py script in order to prepare the data to be used.

SUNRGBD

Download the dataset from here. Uncompress the data and put it inside of ./dataset/sunrgbd. Inside the folder you need to have a folder for each sensor of the dataset. Then execute the dataset_preparation_sunrgbd.py script in order to prepare the data to be used.

Training

In order to train the network, the script train.py needs to be used. Please check the script to know which parameters are needed(at the beggining of the main function all the parameters are listed). Moreover, inside the folder train_scripts you can find some examples to use the train.py script. Take into account that some models have been splitted in different gpus. If you have a good gpu you can turn off this functionality and try to train the network in one gpu.

NOTE: Please check graph_model.py in order to understand how you can define your own architecture using the provided operations.

Test

In order to run the test split using the provided checkpoints you need to use the test.py script. Moreover, inside the folder test_scripts you can find some examples to use the test.py script.

Issues

Due to the existence of some non-deterministic operations in pytorch as explained here, some results may not be reproducible or give slightly different values. This effect is also reflected when you use different model of gpus to train and test the network.

Citation

@InProceedings{Mosella-Montoro_2019_ICCV,
author = {Mosella-Montoro, Albert and Ruiz-Hidalgo, Javier},
title = {Residual Attention Graph Convolutional Network for Geometric 3D Scene Classification},
booktitle = {The IEEE International Conference on Computer Vision (ICCV) Workshops},
month = {Oct},
year = {2019}
}

Contact

For questions and suggestions send an e-mail to albert.mosella@upc.edu.

You can’t perform that action at this time.