KPConv-PyTorch/README.md

60 lines
2.2 KiB
Markdown
Raw Normal View History

2020-03-31 19:56:08 +00:00
2023-05-15 14:24:56 +00:00
![Intro figure](./doc/Github_intro.png)
2020-03-31 19:56:08 +00:00
Created by Hugues THOMAS
## Introduction
2020-04-27 22:18:00 +00:00
This repository contains the implementation of **Kernel Point Convolution** (KPConv) in [PyTorch](https://pytorch.org/).
2020-03-31 19:56:08 +00:00
2020-04-27 23:27:31 +00:00
KPConv is also available in [Tensorflow](https://github.com/HuguesTHOMAS/KPConv) (original but older implementation).
Another implementation of KPConv is available in [PyTorch-Points-3D](https://github.com/nicolas-chaulet/torch-points3d)
2020-03-31 19:56:08 +00:00
KPConv is a point convolution operator presented in our ICCV2019 paper ([arXiv](https://arxiv.org/abs/1904.08889)). If you find our work useful in your
research, please consider citing:
```
@article{thomas2019KPConv,
Author = {Thomas, Hugues and Qi, Charles R. and Deschaud, Jean-Emmanuel and Marcotegui, Beatriz and Goulette, Fran{\c{c}}ois and Guibas, Leonidas J.},
Title = {KPConv: Flexible and Deformable Convolution for Point Clouds},
Journal = {Proceedings of the IEEE International Conference on Computer Vision},
Year = {2019}
}
```
## Installation
2020-04-27 22:18:00 +00:00
This implementation has been tested on Ubuntu 18.04 and Windows 10. Details are provided in [INSTALL.md](./INSTALL.md).
2020-03-31 19:56:08 +00:00
## Experiments
2020-04-27 22:18:00 +00:00
We provide scripts for three experiments: ModelNet40, S3DIS and SemanticKitti. The instructions to run these
experiments are in the [doc](./doc) folder.
* [Object Classification](./doc/object_classification_guide.md): Instructions to train KP-CNN on an object classification
task (Modelnet40).
* [Scene Segmentation](./doc/scene_segmentation_guide.md): Instructions to train KP-FCNN on a scene segmentation
task (S3DIS).
* [SLAM Segmentation](./doc/slam_segmentation_guide.md): Instructions to train KP-FCNN on a slam segmentation
task (SemanticKitti).
* [Pretrained models](./doc/pretrained_models_guide.md): We provide pretrained weights and instructions to load them.
* [Visualization scripts](./doc/visualization_guide.md): For now only one visualization script has been implemented:
the kernel deformations display.
2020-03-31 19:56:08 +00:00
## Acknowledgment
Our code uses the <a href="https://github.com/jlblancoc/nanoflann">nanoflann</a> library.
## License
Our code is released under MIT License (see LICENSE file for details).
## Updates
2020-04-27 22:18:00 +00:00
* 27/04/2020: Initial release.
2022-04-13 12:36:58 +00:00
* 27/04/2020: Added NPM3D support thanks to @GeoSur.