Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

3d model construction using multiple images from multiple points (kinect)

is it possible to construct a 3d model of a still object if various images along with depth data was gathered from various angles, what I was thinking was have a sort of a circular conveyor belt where a kinect would be placed and the conveyor belt while the real object that is to be reconstructed in 3d space sits in the middle. The conveyor belt thereafter rotates around the image in a circle and lots of images are captured (perhaps 10 image per second) which would allow the kinect to catch an image from every angle including the depth data, theoretically this is possible. The model would also have to be recreated with the textures.

What I would like to know is whether there are any similar projects/software already available and any links would be appreciated Whether this is possible within perhaps 6 months How would I proceed to do this? Such as any similar algorithm you could point me to and such

Thanks, MilindaD

like image 422
MilindaD Avatar asked Jul 04 '11 10:07

MilindaD


4 Answers

It is definitely possible and there are a lot of 3D scanners which work out there, with more or less the same principle of stereoscopy.

You probably know this, but just to contextualize: The idea is to get two images from the same point and to use triangulation to compute the 3d coordinates of the point in your scene. Although this is quite easy, the big issue is to find the correspondence between the points in your 2 images, and this is where you need a good software to extract and recognize similar points.

There is an open-source project called Meshlab for 3d vision, which includes 3d reconstruction* algorithms. I don't know the details of the algorithms, but the software is definitely a good entrance point if you want to play with 3d.

I used to know some other ones, I will try to find them and add them here:

  • Insight3d

(*Wiki page has no content, redirects to login for editing)

like image 111
drolex Avatar answered Nov 16 '22 13:11

drolex


Check out https://bitbucket.org/tobin/kinect-point-cloud-demo/overview which is a code sample for the Kinect for Windows SDK that does specifically this. Currently it uses the bitmaps captured by the depth sensor, and iterates through the byte array to create a point cloud in a PLY format that can read by MeshLab. The next stage of us is to apply/refine a delanunay triangle algoirthim to form a mesh instead of points, which a texture can be applied. A third stage would then me a mesh merging formula to combine multiple caputres from the Kinect to form a full 3D object mesh.

This is based on some work I done in June using Kinect for the purposes of 3D printing capture.

The .NET code in this source code repository will however get you started with what you want to achieve.

like image 3
LewisBenge Avatar answered Nov 16 '22 11:11

LewisBenge


Autodesk has a piece of software that will do what you are asking for it is called "Photofly". It is currently in the labs section. Using a series of images taken from multiple angles the 3d geometry is created and then photo mapped with your images to create the scene.

like image 2
Brian Avatar answered Nov 16 '22 12:11

Brian


If you interested more in theoretical (i mean if you want to know how) part of this problem, here is some document from Microsoft Research about moving depth camera and 3D reconstruction.

like image 2
Zakus Avatar answered Nov 16 '22 12:11

Zakus