This is a draft.
This project is part of my project thesis, in which I tried to find a way to find descriptive parameters from a given geometry represented by a point cloud. I wanted to answer the question: it is feasible to solve this problem using Deep Learning Neural Networks?
I had the chance to present my results on the CAESES User Conference and a short summary of the presentation can be found on their website here and here.
I haven't worked with Neural Networks before, but I relatively quickly found out that working with point clouds as input parameters for NN is quite challenging. Some papers I found that adress this challenge are:
- PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation
- PointNet++: Deep Hierarchical Feature Learning on Point Sets in a Metric Space
- PointCNN: Convolution On X -Transformed Points
For programming, I used Tensorflow and Keras. I followed this example of Point cloud classification with PointNet for feeding the point cloud data into my NN.
-
example_hull/: Example for one hull geoemtry. This folder contains all necessary input data for executing the training as well as the output of one training validation procedure, consisting of 5x5 training runs.
-
lib/: contains all codes for reading in the data, executing the training and postprocessing.
Prerequirements for executing the scripts are:
- python 3
- tensorflow version > 2.0
- keras
- numpy
- pandas
- scikit-learn
Navigate into example_hull/. Extract the input data data/preparedData/DF_features. Rhen run
python trainNetwork.py
for executing the training. Run
python postProcess.py
for postprocessing the result data.