in our experiments to track the ping pong ball through a
bounce on the table. The process model is taken from Ander-
sson’s ball physics derivation [1], and is a complex function
of the ball’s tracked angular and translational velocities,
w
f
= w
i
+
3µ
2r
(ˆv
ry
, −ˆv
rx
, 0)v
iz
(1 + ǫ),
where w
i
and w
f
are the initial and final (pre- and post-
bounce) angular velocity vectors, µ and ǫ are the coefficients
of friction and restitution, r is the ball’s radius, v
iz
is the
ball’s initial translational z-velocity, and ˆv
r
= v
r
/kv
r
k,
where v
r
= (v
iy
+w
ix
r, v
ix
−w
iy
r, 0) is the relative velocity
of the surface of the ball with respect to the table.
Quaternion exponentiation / Continuous-time filters.
Quaternion exponentiation for unit quaternions is akin to
scaling in Euclidean space. If q represents a 3-D rotation
of angle θ about the axis v, then q
a
is a rotation of aθ about
v. This operation would be needed to handle a continuous-
time update in the second-order Bingham filter, since the
orientation needs to be rotated by some fraction of the spin
quaternion at each (time-varying) time step.
It is possible to incorporate quaternion exponentiation
in all parts of the model via a moment-matching method
for Bingham exponentiation (akin to the moment-matching
method for Bingam composition). However, an additional
Taylor-approximation is needed to approximate the second
moments of the exponentiated Bingham as a function of the
second and higher even moments of the original distribution.
(The odd moments of a Bingham are always zero due to
symmetry.)
VI. EXPERIMENTAL RESULTS
We compare the quaternion Bingham filter against an
extended Kalman filter (EKF) approach in quaternion
space [13], where process and observation noise are gen-
erated by Gaussians in R
4
, the measurement function nor-
malizes the quaternion state (to project it onto the unit
hypersphere), and the state estimate is renormalized after
every update. We chose the EKF both due to its popularity
and because LaViola reports in [13] that it has similar
(slightly better) accuracy to the unscented Kalman filter
(UKF) in several real tracking experiments. We adapted
two versions of the EKF (for first-order and second-order
systems) from LaViola’s EKF implementation by changing
from a continuous to a discrete time prediction update.
We also mapped QBF (Bingham) noise parameters to EKF
(Gaussian) noise parameters by empirically matching second
moments from the Bingham to the projected Gaussian—
i.e., the Gaussian after it has been projected onto the unit
hypersphere.
Synthetic Data. To test the first-order quaternion
Bingham filter, we generated several synthetic signals
by simulating a quaternion Bingham process, where the
(velocity) controls were generated so that the nominal
process state (before noise) would follow a sine wave
pattern on each angle in Euler angle space. We chose this
control pattern in order to cover a large area of 3-D rotation
space with varying rotational velocities. Two examples of
(a) slow top-spin (b) fast top-spin
(c) slow side-spin (d) fast side-spin
Fig. 5. Example image sequences from the spinning ping-pong ball
dataset. In addition to lighting variations and low image resolution, high
spin rates make this dataset extremely challenging for orientation tracking
algorithms. Also, because the cameras were facing top-down towards the
table, tracking side-spin relies on correctly estimating the orientation of the
elliptical marking in the image, and is therefore much harder than tracking
top-spin or under-spin.
synthetic signals along with quaternion Bingham filter output
are shown in figure 4. Their observation parameters were
Λ
o
= (−50, −50, −50), which gives moderate, isotropic
observation noise, and Λ
o
= (−10, −10, −1), which yields
moderately high noise in the first two directions, and
near-uniform noise in the third direction. We estimated
the composition approximation error (KL-divergence) for
9 of these signals, with both isotropic and nonisotropic
noise models, from all combinations of (Λ
p
, Λ
o
) in
{(−50, −50, −50), (−200, −200, −200), (−10, −10, −1)}.
The mean composition error was .0012, while the max
was .0197, which occurred when Λ
p
and Λ
o
were both
(−10, −10, −1).
For the EKF comparison, we wanted to give the EKF the
best chance to succeed, so we generated the data from a
projected Gaussian process, with process and observation
noise generated according to a projected Gaussian (in or-
der to match the EKF dynamics model) rather than from
Bingham distributions. We ran the first-order QBF and EKF
on 270 synthetic projected Gaussian process signals (each
with 1000 time steps) with different amounts of process and
observation noise, and found the QBF to be more accurate
than the EKF on 268/270 trials. The mean angular change in
3-D orientation between time steps were 7, 9, and 18 degrees
for process noise parameters -400, -200, and -50, respectively
(where -400 means Λ
p
= (−400, −400 − 400), etc.).
The most extreme cases involved anisotropic observation
noise, with an average improvement over the EKF mean error
rate of 40-50%. The combination of high process noise and
low observation noise also causes trouble for the EKF. Table I
summarizes the results.
Spinning ping-pong ball dataset To test the second-
order QBF, we collected a dataset of high-speed videos of
73 spinning ping-pong balls in flight (Figure 5). On each
ball we drew a solid black ellipse over the ball’s logo to
allow the high-speed (200fps) vision system to estimate the
ball’s orientation by finding the position and orientation
of the logo
2
. However, an ellipse was only drawn on one
side of each ball, so the ball’s orientation could only be
estimated when the logo was visible in the image. Also, since
ellipses are symmetric, each logo detection has two possible
2
Detecting the actual logo on the ball, without darkening it with a marker,
would require improvements to our camera setup.