Week 5 Summary


The KinectFusion – the next step in the connect evolution provides a tool that uses the depth information from the Kinect camera to rapidly construct a model of a room as it is moved through the room. The Kinect camera uses structured lighting techniques to gather a point cloud of data for a scene, and this process is inherently a noisy process. The secret to removing this noise, is to take the data from many different viewpoints in the room and average the data together. As the camera is moved, camera tracking and point tracking are used to infer the new meshes.

The goal of Kinect is to be fast enough, to achieve interactive reconstruction rates. Kinect also seeks to address the dynamic scene, and not just a static one. The technology provides for an environment where low-cost scanning can occur without camera stability requirements. In fact, a non-stable camera actually improves the process. The paper then goes into a very interesting part where it talks about AR and pushing virtual physics models into the physical modeled scene. This is where the paper starts getting into the details of the implementation and the math.

Question: The paper states that objects in the dynamic scene can collide with the physics particle models. I would like to know more about the scene object collision detection, can the system determine where two objects in the scene are colliding, or about to collide?

Going Out

This paper combines a few technologies into a a system that improves on all of these technologies individually. Here the tracking system combines the technologies of an edge-based filter as well as sensor information into a Kalman filter in order to get improved results. The system also uses textured models from the camera to produce more realistic environment maps. This paper argues that the point based texture models are more accurate than edge based models used in previous contexts or research. There is a lot of math not worth detailing here in this paper.a

The system discussed here produces about 15 frames per second, which is not bad, but not good enough either. The system is robust, and capable of maintaining it’s behavior in many environments.

Question: What would be necessary to be able to increase the frame-rate of such a system?