Skip to content

Commit a0fe411

Browse files
committed
Initial license and readme
0 parents  commit a0fe411

File tree

2 files changed

+91
-0
lines changed

2 files changed

+91
-0
lines changed

LICENSE

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
MCCNN: Monte Carlo Convolution for Learning on Non-Uniformly Sampled Point Clouds
2+
3+
Copyright (c) 2018, Visual Computing group form Ulm University, Germany
4+
5+
The MIT License (MIT)
6+
7+
Copyright (c) 2018 Pedro Hermosilla
8+
9+
Permission is hereby granted, free of charge, to any person obtaining a copy
10+
of this software and associated documentation files (the "Software"), to deal
11+
in the Software without restriction, including without limitation the rights
12+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13+
copies of the Software, and to permit persons to whom the Software is
14+
furnished to do so, subject to the following conditions:
15+
16+
The above copyright notice and this permission notice shall be included in all
17+
copies or substantial portions of the Software.
18+
19+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
25+
SOFTWARE.

README.md

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
### MCCNN: *Monte Carlo Convolution for Learning on Non-Uniformly Sampled Point Clouds*
2+
Created by <a href="https://www.uni-ulm.de/en/in/mi/institute/mi-mitarbeiter/pedro-hermosilla-casajus/" target="_blank">Pedro Hermosilla</a>, <a href="http://www.homepages.ucl.ac.uk/~ucactri/">Tobias Ritschel</a>, <a href="https://www.cs.upc.edu/~ppau/index.html" target="_blank">Pere-Pau Vazquez</a>, <a href="https://www.cs.upc.edu/~alvar/" target="_blank">Alvar Vinacua</a>, <a href="https://www.uni-ulm.de/in/mi/institut/mi-mitarbeiter/tr/" target="_blank">Timo Ropinski</a>.
3+
4+
![prediction example]()
5+
6+
### Citation
7+
If you find this code useful please consider citing us:
8+
9+
@article{hermosilla2018mccnn,
10+
title={Monte Carlo Convolution for Learning on Non-Uniformly Sampled Point Clouds},
11+
author={Hermosilla, P. and Ritschel, T. and Vazquez, P-P and Vinacua, A. and Ropinski, T.},
12+
journal={arXiv preprint arXiv:1806.01759},
13+
year={2018}
14+
}
15+
16+
### Introduction
17+
18+
We propose an efficient and effective method to learn convolutions for non-uniformly sampled point clouds, as they are obtained with modern acquisition techniques. Learning is enabled by four key novelties: first, representing the convolution kernel itself as a multilayer perceptron; second, phrasing convolution as a Monte Carlo integration problem, third, constructing an unstructured Poisson disk hierarchy for pooling, and fourth, using Monte Carlo convolution as pooling and upsampling operation at different resolutions simultaneously. The key idea across all these contributions is to guarantee adequate consideration of the underlying non-uniform sample distribution function from a Monte Carlo perspective. To make the proposed concepts applicable for real-world tasks, we propose an efficient implementation which significantly reduces the required GPU memory. By employing our method in hierarchical network architectures we can outperform most of the state-of-the-art networks on established point cloud segmentation, classification and normal estimation benchmarks. Furthermore, in contrast to most existing approaches, our method is robust to sampling variations even when only trained on uniformly sampled models.
19+
20+
In this repository we release the code of our tensor operations and network architectures for classification, segmentation and normal estimation tasks, which realize the ideas presented in our <a href="https://arxiv.org/abs/1806.01759">arxiv paper</a>. For further detials of the techniques implmemented here you can refer to the papaer.
21+
22+
### Installation
23+
24+
First, install <a href="https://www.tensorflow.org/install/">TensorFlow</a>. The code presented here was developed using TensorFlow v1.5 GPU version, python 2.7, and Ubuntu 16.04 TLS. However, it should also work with TensorFlow v1.8 GPU version and python 3. All the operation where implemented on GPU, no CPU implementation is provided. Therefore, a workstation with a state-of-the-art GPU is required.
25+
26+
#### Compiling tensorflow operations
27+
28+
In order to train the networks provided in this repository, first we have to compile the new tensor operations which implement the Monte Carlo convolutions. These operations are located on the folder `tf_ops`. To compile them we should execute the following commands:
29+
30+
python genCompileScript.py --cudaFolder *path_to_cuda*
31+
sh compile.sh
32+
33+
34+
### Tasks
35+
36+
37+
38+
#### Classification
39+
40+
41+
MCClassSmall: python ModelNet.py --grow 128 --useDropOut
42+
python ModelNetEval.py --grow 128
43+
44+
MCClass: python ModelNet.py --model MCClass --useDropOut --useDropOutConv
45+
python ModelNetEval.py --model MCClass
46+
47+
MCClassH: python ModelNet.py --model MCClassH --useDropOut --useDropOutConv
48+
python ModelNetEval.py --model MCClassH
49+
50+
#### Segmentation
51+
52+
53+
MCSeg: python ShapeNet.py --useDropOut
54+
python ShapeNetEval.py
55+
56+
#### Normal Estimation
57+
58+
59+
MCNorm: python ModelNetNormals.py
60+
python ModelNetNormalsEval.py
61+
62+
MCNormSmall: python ModelNetNormals.py --model MCNormSmall
63+
python ModelNetNormalsEval.py --model MCNormSmall
64+
65+
#### Custom Architectures
66+

0 commit comments

Comments
 (0)