Giter VIP home page Giter VIP logo

fkaconv's Introduction

FKAConv products

Paper: FKAConv, Feature-Kernel Alignment for Point Cloud Convolution

Please consider consider citing our ACCV 2020 paper:

@inproceedings{boulch2020fka,
  title={{FKAConv: Feature-Kernel Alignment for Point Cloud Convolution}},
  author={Boulch, Alexandre and Puy, Gilles and Marlet, Renaud},
  booktitle={15th Asian Conference on Computer Vision (ACCV 2020)},
  year={2020}
}

Dependencies

FKAConv code uses LightConvPoint as backend. Please note that we used the v0.2 for experiments. As the library is under develeopment, we do not garanty compatibility with current head. Please download the v0.2 version.

Installation

pip install -ve /path/to/fkaconv/repository/

Dataset preparation

Dataset are prepared according to the LightConvPoint data preparation. We use the provided dataloaders.

Examples

We provide examples classification and segmentation datasets:

The training scripts use Sacred to manage options. The options can be managed by modifying the 'config.yaml' files or with the with statement in command line (e.g., python train.py with training.batchsize=16).

ModelNet40 and ShapeNet

In order to train the model, you must modify the config.yaml with the right path for the data (dataset-->dir) and the path where to save the results (training-->savedir). Then, run the folowing commands:

cd examples/modelnet40/
python train.py

To evalutate the model on the test set of ModelNet40:

python test.py -c path_to_save_dir/config.yaml --iter 16 --batchsize 64

The --iter (-i) (the number of iterations per shape) and --batchsize (-b) (the batchsize to be used at test time) are optional. If not provided, their value are the one defined in the config.yaml file.

S3DIS

In order to train the model, you must modify the config.yaml with the right path for the data (dataset-->dir) and the path where to save the results (training-->savedir) and validation area. Then, run the folowing commands:

cd examples/s3dis/
python train.py

To evaluate the model on the validation set (this is the val_area parameter set at the training phase):

python test.py -c path_to_save_dir/config.yaml --step 0.2 --savepts

The --step (-s) (the step of the test sliding window) and --savepts (save the points and labels) are optional. If not provided, their value are the one defined in the config.yaml file.

Semantic8

In order to train the model, you must modify the config.yaml with the right path for the data (dataset-->dir) and the path where to save the results (training-->savedir). Then, run the folowing commands:

cd examples/semantic8/
python train.py

To evaluate the model on the test set of Semantic8, modify the test path parameter in the config.yaml file saved in the save directory and run:

python test.py -c path_to_save_dir/config.yaml --step 0.8 --savepts

The --step (-s) (the step of the test sliding window) and --savepts (save the points and labels) are optional. If not provided, their value are the one defined in the config.yaml file.

NPM3D

In order to train the model, you must modify the config.yaml with the right path for the data (dataset-->dir) and the path where to save the results (training-->savedir). Then, run the folowing commands:

cd examples/npm3d/
python train.py

To evaluate the model on the test set of Semantic8, modify the test path parameter in the config.yaml file saved in the save directory and run:

python test.py -c path_to_save_dir/config.yaml --step 0.8 --savepts

The --step (-s) (the step of the test sliding window) and --savepts (save the points and labels) are optional. If not provided, their value are the one defined in the config.yaml file.

Training/Testing with fusion model

Once two segmentation models have been trained (one with color information and one without), you can train a fusion model. To do so, we use the ``config_fusion.yaml` file. The path to fusion model subdirectory must be filled in this file.

Then train the model:

python train.py with config_fusion.yaml

The test procedure is the same as for single networks.

fkaconv's People

Contributors

aboulch avatar

Watchers

James Cloos 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.