Microsoft's original intention for the Kinect sensor was to track body movements for gaming. It served that purpose well, but engineers found that the hardware is great for many other applications, too. For instance, a Kinect sensor can detect finger touches on a mundane wall, turning that wall into a massive touch matrix. The typical range for such a system is less than 1.5 meters, which limits its practicality. But FarOut utilizes several techniques to extend the range of Kinect touch sensing out to 3 meters.
This setup is ideal for giving presentations or for turning a wall into a huge control panel. You could touch one part of the wall to turn on lights or another part to adjust a thermostat — whatever you want. Even at 3 meters distance between the Kinect sensor and the wall, FarOut allows for touch precision less than 10mm. That means that even a small wall could have hundreds of virtual buttons. It allows facilitates more complex interactions, such as drawing when the system is paired with a projector.
Most Kinect setups like this have 1.5 meter range because they're limited by resolution—both pixel count in the X and Y axes and depth measurements in the Z axis. FarOut extends that range without altering the sensors inside of a standard Kinect V2 sensor. It does so by processing image data using a series of techniques and affordable hardware. The image processing pipeline combines known methodology with sensor movement to improve the results.
To move the Kinect sensor, FarOut utilizes a custom pan-tilt mount. The mount has two steppers motors that an Arduino Uno board controls via a CNC shield. The movements are minute, but the slight changes in camera angle allow FarOut to better resolve the image over the course of multiple frames by filtering out noise. The results are impressive and FarOut should be useful for a wide range of applications.