[ml] WiiMote sync-up

Josh Myer josh at joshisanerd.com
Tue Jun 16 22:15:52 UTC 2009

For the folks who missed the last ML Wednesday, here's a quick
catch-up email (this week, we'll send it out Wednesday night):

We're working on a wiimote gesture recognition library. To that end,
we read through parts of the WiiGee paper, available at

(A few of us have the final paper from the ACM digital library; I need
to double-check that it lines up with the version from that site.  The
ACM paper is more "final" and therefore likely to be better, if there
are any differences.)

We talked through parts of it, and had a quick discussion on what
would motivate the architecture they chose.

We reviewed k-means and hidden markov models a bit, and touched on
things a bit.

A quick poll of the people in the room led to a couple of options for
programming languages.  My call at the end is that C is probably the
best language to use, since it's something everyone present could work
with, and, once you've done it there, you can write library bindings
to any other language.  That said, we can prototype in whatever

Michael got my data capture code working on his laptop, and we
captured some motions.  One thing that we noticed was the inconsistent
time between frames from the wiimote: we need to bake timestamps into
our data.

There was a quick aside on how to smooth/sample that data: my thought
is to place datapoints into buckets of a fixed width, and take the
midpoint of each bucket.  This requires taking the mean of the samples
within each bucket.  Then, to smooth in missing buckets, we do linear
interpolation.  The alternative is to take sample points at the edge
of each bucket, with some form of interpolation.  My gut feeling is
that we want to take means because the sensors are noisy, and making
use of as many samples as possible is beneficial.  We'll see how this
works out as users change direction (ie: an up-to-right transition
might fare poorly with this sampling strategy).

For next week, people were going to look into libraries that implement
k-means and hidden markov models.

We'll talk a bit more about architecture this week, defining our
library interface and maybe getting a crappy version going (one that
always reports the zeroth classification, for instance), so folks in
other languages can start working on integration and other programs.
Josh Myer   650.248.3796
  josh at joshisanerd.com

More information about the ml mailing list