Distributions.jl icon indicating copy to clipboard operation
Distributions.jl copied to clipboard

Implement the Bingham Distribution

Open kam3k opened this issue 11 years ago • 4 comments

The Bingham distribution is used to describe axial data on the unit spheres (of any dimension). It is gaining popularity in describing the orientation and rotation of objects in 3D (e.g., a unit quaternion can describe the 3D orientation of an object as a point on the 3-sphere in 4D). It has applications in robotics and computer vision [1][2]. It is only recently becoming popular (2011-present), but could become the standard distribution to describe uncertain orientations and rotations in the future.

Jared Glover has a nice implementation written in both C and MATLAB (https://code.google.com/p/bingham/).

[1] I. Gilitschenski et al., "Unscented Orientation Estimation Based on the Bingham Distribution" (http://arxiv.org/abs/1311.5796) [2] J. Glover, L. Pack Kaelbling, "Tracking 3-D Rotations with the Quaternion Bingham Filter" (http://dspace.mit.edu/bitstream/handle/1721.1/78248/MIT-CSAIL-TR-2013-005.pdf)

kam3k avatar Feb 16 '14 14:02 kam3k

Jared Glover's implementation is BSD, so we could easily base ours on that. That particular file should be BSD-licensed, but that doesn't conflict with the entire package from being MIT-licensed.

StefanKarpinski avatar Feb 16 '14 18:02 StefanKarpinski

As far as sampling goes, I think the current state-of-the-art for Bingham is the approach of Kent, Ganeiber and Mardia (2013): they also provide a handy summary for what they think is the optimal approach for a bunch of spherical and other manifold distributions.

simonbyrne avatar Feb 16 '14 21:02 simonbyrne

Let me know if you have any questions about libbingham. I'm pretty busy finishing my thesis at the moment, but I might be able to help out with development in the future.

jglov3id avatar Apr 30 '14 16:04 jglov3id

Ge, Lee, Lu (2021) gives an exact algorithm for arbitrary dimension. I could not find an implementation online.

3f6a avatar May 05 '25 21:05 3f6a