Hardware Implementation of Microsoft Kinect's Body Part Recognition

The Microsoft Kinect has received little to no attention by the hardware community, specifically those interested in reconfigurable hardware via field-programmable gate-arrays (FGPAs). This is likely due to both the lack of interfaces and to potential hardware applications. This research project takes a step forward in both directions. It presents our findings with attempting to interface the Kinect device to a modern Xilinx MLxxx development board; a common platform for hardware development using FPGAs. In addition, and most importantly, we present a fully-functional hardware implementation of a body part recognition algorithm written entirely in a hardware descriptive language (HDL). The algorithm uses randomized decision trees for computing the probabilistic location of body parts on a human. This research presents a complete architecture and hardware simulation for the algorithm. It predicts significant speed-ups over even parallelized software versions of the algorithm and discusses future optimizations.

A nice detailed talk I gave on the project at the end of my internship at Microsoft Research can be found here:
The Kinect's Body part Recognition Algorithm on an FPGA--MSR presentation

Relevant Publications

[FPL'12] Random Decision Tree Body Part Recognition Using FPGAs
Jason Oberg, Ken Eguro, Ray Bittner, and Alessandro Forin
The International conference on Field Programmable Logic and Applications (FPL 2012)

[US Patent] Decision Tree Computation In Hardware
Jason Oberg, Ken Eguro, Victor Tirva, Padma Parthasarathy, Susan Carrie, Alessandro Forin, and Jonathan Chow.
US Patent App. 13/344,473, 2012