Nuklei is a C++ library that implements kernel methods for \(SE(3)\) data. Nuklei provides kernel functions for \(SE(3)\) data, algorithms for kernel density estimation, and two-class nonlinear classification of \(SE(3)\) data via kernel logistic regression. Nuklei also provides tools for 3D object pose estimation, for manipulating \(SE(3)\) transformations, and for manipulating point clouds.
Homepage: http://renaud-detry.net/nuklei
GitHub page: https://github.com/renauddetry/nuklei
Added a class for pose estimation (see nuklei::PoseEstimator)
Nuklei includes implementations of efficient algorithms for:
Potential applications of \( SE(3) \) density models: robot position and orientation (navigation), object pose (pose estimation), gripper pose (grasping).
The source code is available from the Sourceforge version control server:
git clone https://github.com/renauddetry/nuklei.git
For more info, see the install page.
The Background section introduces the mathematical concepts applied in Nuklei (density estimation, kernels, 6D poses, quaternions, von Mises-Fisher distributions, ...). This is a good starting point for those who are discovering Nuklei. The page to read next is Kernels, kernel density estimation, kernel regression, which explains how these concepts are implemented in Nuklei.
Other resources are available on the Modules page. The central Nuklei classes are KernelCollection and the kernel classes (kernel::base and its subclasses).
The Bingham statistics library provides another open-source implementation of probability distributions on \( SO(3) \) data. More specifically, The Bingham statistics library contains implementations of the Bingham distribution for directional (axial) statistics on the unit spheres S1, S2, and S3. In addition, finite element approximations are available via tessellations of S2 and S3. If you are looking for an anisotropic, parametric distribution on \( SO(3) \), check it out at http://code.google.com/p/bingham/.
Nuklei is distributed under the terms of the GNU General Public License (GPL).
If the code is used for research purposes, I would appreciate that you cite the following publications:
@article{detry2011a, Author = {R. Detry and D. Kraft and O. Kroemer and L. Bodenhagen and J. Peters and N. Krüger and J. Piater}, Journal = {Paladyn.\ Journal of Behavioral Robotics}, Note = {accepted}, Title = {Learning Grasp Affordance Densities}, Year = {2011}}
@inproceedings{detry2010c, Author = {Renaud Detry and Justus Piater}, Booktitle = {Asian Conference on Computer Vision}, Doi = {10.1007/978-3-642-19318-7_45}, Pages = {572--585}, Title = {Continuous Surface-point Distributions for {3D} Object Pose Estimation and Recognition}, Year = {2010}}
I will be happy to hear from projects that make use of Nuklei, and if desired participate and provide support to these projects. If your project uses Nuklei, please let me know!.
Nuklei is developped by Renaud Detry.