Development on the last few weeks
I should take time to write here more often. I’ll present a summarized view that describes more or less what I’ve been doing lately on this project, and later go a bit into detail of a few problems I met along the way.
After failing to dabble with KinFu to produce any kind of meaningful results I decided to drop that approach. As can be seen in this video I posted a few weeks ago, the capture was still a little sluggish and included more information in the range scan than I hoped for. KinFu is oriented to large scale reconstruction, so in my scope it didn’t quite make much sense. Plus, I was losing a considerable amount of time and needed to pick up the planning.
I tried different approaches then. The first was using Skanect, which although featuring a more polished interface, is even more focused in large area reconstruction. On the opposite end of the vector there is Autodesk’s 123D Catch, which although being targeted at capturing small objects, seems to struggle often with geometric reconstruction.
Then, through “3D Puppetry : A Kinect-based Interface for 3D Animation” I was directed to ReconstructMe which offers something of an inbetween solution. It also implements ways to built large scale room reconstruction by allowing to merge captures, but the primary difference is that it defines a parameterizable cubic volume. This immediately caught my attention since it solved one of my problems which was the background removal I was secretly hoping not having to deal with directly. ReconstructMe also allows surface texturing and other fine applications. I recommend looking into them if you’re interested but they need not be mentioned in my work’s context. I posted an example of ReconstructMe’s use here.
Now, long I’ve feared that Kinect’s low sensitivity would make feature point estimation a tough nut to crack, especially since I’ll not be capturing range scans with plenty of detail. My target is small househeld items (you heard it first here!) which, by definition, are small. My fears weren’t short lived, since when I cut the volume to near the object’s size, ReconstructMe was unable to maintain the camera track at any time. My solution is to isolate the objects-to-capture amidst a noisy capture volume, 80cm by 80cm. Later I will cut the target objects from the mesh individually. The isolation within the scene is done by exploiting one of the Kinect’s weaknesses. Capturing chrome or transparent materials. An example can be seen here, and is more to be posted in the near future. Later I will be writing about the benchmark definition and cataloging process.