Friday, March 25, 2011

Interesting Link

CUDA:

http://people.maths.ox.ac.uk/gilesm/cuda/



Delaunay triangulation of point clouds and much much more stuff here

Thursday, February 17, 2011

Multiple Kinects together

Monday, February 7, 2011

Using Fakenect


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/.

(2) Record
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

Benchmarking Kinect For Modelling/Surface Reconstruction

Open Questions
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

Saturday, January 29, 2011

3D modelling with Kinect VIMP resources

RGBD-SLAM

Time Efficient Reconstruction of 3D Models With Kinect and RGBD-SLAM
- Very recent. (Submitted on 7th Feb 2011)
-They describe it as:
"We extract SURF features from the camera image and localize them in 3D space. We match these features between every pair of acquired images, and use RANSAC to robustly estimate the 3D transformation between them. To achieve real-time processing, we match the current image only versus a subset of the previous images with decreasing frequency. Subsequently, we construct a graph whose nodes correspond to camera views and whose edges correspond to the estimated 3D transformations. The graph is then optimized to reduce the accumulated pose errors."

Juergen Hess (hess@informatik.uni-freiburg.de) and Felix Endres (endres@informatik.uni-freiburg.de) from the University of Freiburg own this work.

Got the Next Pointer

Felix Endres pointed me to two great resources:
1) The source code of the for the above -mentioned algorithm is available here.
2) Dieter Fox, who's a professor at University of Washington has a publication and some work in modelling with Kinect. His publication is titled "RGB-D Mapping: Using Depth Cameras for Dense 3D Modeling of Indoor Environments". I will go through it shortly.


RGB-D Mapping: Using Depth Cameras for Dense 3D Modeling of Indoor Environments

What is the paper about?

Is it about/applicable to Kinect?


How does it relate to my work?


Kinect Calibration : Depth and Color

Issues

(1) RGB camera Calibration
If you already are familiar with usual camera calibration techniques, then the Kinect RGB camera is no different.

(2) RGB-Depth Cross Calibration
There is no hardware registration performed on the images. In other words, the pixels in both the buffers do not correspond to each other one-to-one at hardware level by default. So unless you explicitly come up with an affine matrix that does the correspondence for you Kinect (it differs from one Kinect to another), the depths and colors are going to look inconsistent.
Nicholus Burrus's 'RGB-Demo' helps you calibrate your Kinect. More information here. It can be downloaded and compiled easily.


More Links
* Basics of calibration here.

Kinect FAQ

1) How to get openKinect to work on Windows?

- http://openkinect.org/wiki/Getting_Started#Windows describes the procedure. If you already are using OpenKinect on Linux, then getting it on Windows can be done by using the corresponding wrapper( in the /wrappers directory).