/voxelfeatures

Local geometric features for voxel-based representation of surfaces in 3D

Primary LanguageC++

voxelfeatures

Local geometric features for voxel-based representation of surfaces in 3D

  • A collection of routines to generate voxel features describing local area, curvature and orientation of the surface
  • Efficient octree-based C++ code supporting spatial sparsity
  • Python bindings with surface classification examples

The paper: D. Yarotsky, Geometric features for voxel-based surface recognition, arXiv:1701.04249

Example: feature visualization (/demo/demoPlotFeatures.py)

The original surface:

original

Voxelizations with different features:

feature examples

Example: training a classification model (/demo/demoXGBoostESB.py)

Predictions of an XGBoost model on the ESB data set, with about 15% test set error:

predictions

Installation

System requirements

  • OS Linux (tested on Ubuntu 14.04/16.04)
  • Python 2.7

Dependencies

Installation of dependencies for Ubuntu 14.04/16.04:

sudo apt-get install libarmadillo-dev sparsehash

Installation as a Python module

python setup.py install