Case study: processing Kinect data using OpenCL
Interactive technologies have become extremely important in a world where busy users demand intuitive devices which demand little to no learning time. In this modern scenario, tablets have emerged with their easy-to-use touchscreens, gaming consoles have been successfully exploring movement controls (Wii, PS3 eye, Kinect) and augmented reality has started to emerge as a viable technology.
However, implementation of intelligent systems using devices such as the Kinect usually involves real-time processing of data from multiple sensors (RGB camera, depth camera, audio, accelerometers). This task can be achieved using OpenCL to harness the processing power of multicore GPUs and CPUs.
CMSoft brings you a tutorial on how to create a C# framework to capture Microsoft Kinect sensor data and transfer it to an OpenCL GPU Device, thus enabling the development of software that can potentially process Kinect data hundreds of times faster when compared to pure CPU processing.
In the results we show two OpenGL textured quads which are used to display RGB and depth information acquired from a Kinect sensor. Notice that there is a full false coloring procedure which includes highlighting players detected by Kinect.