简体   繁体   中英

Is there any existing (public) source code for large-scale kinect fusion?

Kinect Fusion requires the client code to specify what is effectively a bounding-box and voxel resolution within the box before initialisation. The details of the reconstruction within the box are held in GPU memory, and therefore one runs into limits rather quickly. Certainly for a space the size of, say, a standard residential house at high resolution the amount of GPU memory required is (way too) high.

The Fusion SDK allows one to copy the data to/from GPU memory, and to reset the bounding volume, resolution etc at any time, so in theory one could synthesise a large volume by stitching together a number of small volumes, each of which a normal GPU can handle. It seems to me to be a technique with quite a few subtle and difficult problems associated with it though.

Nevertheless this seems to have been done with kintinuous . But kintinuous does not seem to have any source code (or object code for that matter) publicly available. This is also mentioned in this SO post .

I was wondering if this has been implemented in any form with public source code. I've not been able to find anything on this except the above mentioned kintinuous.

You can have a experimental open source large-scale kinect fusion source code in PCL. they do volume stitch when camera pose crosses some threshold. check this

and there is actually new version of scalable kinect fusion in MSR, but they haven't yet put it into the SDK, so you can't use it right a way.

They use a hierarchical data structure to store the unbouded reconstruction volume. you can go check this then download their paper, and implement it by yourself.

============EDIT=============

you can have another code from technology university of Munich, named 'fastfusion' . they use a multi-resolution octree to store the voxels, and extract mesh every second in other thread. It uses OpenNI. It doesn't contain camera tracking, but you can use their dvo-slam for visual odometry.

and a recently released project named InfiniTAM use Hash table to store the voxels. it can runs on Kinect v2.

Kintinuous is opensource now since it's first commit on Oct 22, 2015

Here is another blog on the tag kintinuous : https://hackaday.com/tag/kintinuous/

I found this code that supports moving volume:

http://www.ccs.neu.edu/research/gpc/rxkinfu/index.html

It is based on KinFu from PCL.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM