Monday, February 7, 2011
I was trying to browse the Internet for how to use Fakenect. But couldn't find a good straightforward description. After it got working for me, I thought I would myself write one :)
What is Fakenect
In essence, it's a way to get Kinect applications working without actual physical Kinect available with you. You fake the Kinect by replaying a pre-recorded Kinect capture.
(1) Build Library
assuming that you have the OpenKinect source code, to first build the fakenect library, you would just "cmake ." and then "make" in the OpenKinect directory (the one I have is "OpenKinect-libfreenect-2ea3ebb"). Now you must have a libfreenect.so at OpenKinect-libfreenect-2ea3ebb/fakenect/lib/fakenect/.
Now, to record, just go to OpenKinect-libfreenect-2ea3ebb/utils/ And run "./record some_directory_name". A new directory name some_directory_name will be created as "/utils/some_directory_name", all the record data will be dumped there. While the record program is running, you can stop recording by hitting cntrl+C.
Now, you should have a record-dump in the specified directory.
(3)Run Your Recording
Say, you want to run the glview program now, so go to the OpenKinect-libfreenect-2ea3ebb/examples folder and run the following:
LD_PRELOAD="/usr/local/lib/fakenect/libfreenect.so" FAKENECT_PATH="../utils/myself/" ../bin/glview.
That's it, you should see your capture being replayed now.
Benchmarking Kinect For Modelling/Surface Reconstruction
1) How good is Kinect at preserving the planarity of real-world-planar objects?
2) How consistent are Kinect frames for the exact same scene?
3) Can we create a bump map/ normal map of an object using Kinect?
* Figure out which points correspond to the object
* Figure out the triangles
* For each triangle figure out the normals
* is such a set of the normals a normal map? :O