KinFu - Kinect 3D Scan Software Bundle

This software package enables you to utilize a Microsoft XBOX Kinect for scanning 3D geometry in real-time and saving it in various formats. The KinFu application depends on Fermi instructions of an NVIDIA CUDA-enabled GPU. Therefore, an NVIDIA GeForce GTX 300 graphic card or above is required.

Running the main application will show the depth map of the device and a real-time view of the output. As you then move around or point at an object from different angles the new depth data is continuously added for a complete capture of the scenario you're in.
Once you are satisfied with the result, the data can be stored in order to construct a mesh and the corresponding texture. Please keep in mind that this project is currently being developed and may be unstable. Since Microsoft XBOX Kinect devices are sold separately for about 100$, this is the cheapest option in scanning a scene anyone can use.

Download


Windows DownloadKinFu Kinect 3D Scan Toolkit Win32 MSVC2008
57.0 MB (59.866.150 Bytes)
md5 54642e630effc502f42b2f0db5c8922a

KinFu Kinect 3D Scan Toolkit Win64 MSVC2008
65.0 MB (68.211.306 Bytes)
md5 6bbaf5792088f3b010d1950c370c3b1e

Basic Usage


• Download the package and run the OpenNI and SensorKinect setup files from the install directory.

• Connect your XBOX Kinect device to a USB port and make sure the KinFuSnapshots directory is empty if you've run the application before.

• Now put the Kinect in a starting position and run
kinfu_largeScale_et_r.bat
Please move slowly while scanning. Select the empty view and press 'H' for the following list of hotkeys:

Esc : exit
T : take cloud
A : take mesh
M : toggle cloud exctraction mode
N : toggle normals exctraction
I : toggle independent camera mode
B : toggle volume bounds
* : toggle scene view painting (requires registration mode)
C : clear clouds
1,2,3 : save cloud to PCD(binary), PCD(ASCII), PLY(ASCII)
7,8 : save mesh to PLY, VTK
X, V : TSDF volume utility
L, l : On the next shift, KinFu will extract the whole current cube, extract the world and stop
S, s : On the next shift, KinFu will extract the world and stop

• Save the scene by pressing 'L' and slowly moving away from the captured scene.

• To construct the mesh run
kinfu_largeScale_mesh_output.exe world.pcd


• For a textured mesh, make sure the saved VGA images and corresponding camera coordinates in the KinFuSnapshots directory are placed in the same folder and run
kinfu_largeScale_texture_output.exe world.pcd


• Press 'q' at the visualizer showing all camera positions so the final output is saved to
textured_mesh.obj
and
textured_mesh.mtl

// Please note that there are numerous ways to construct a mesh from a point-cloud, so for example, once the pcd-file is saved, it can easily be loaded to an application like MeshLab.

// In case texture-mapping fails, try limiting the number of captured frames to about 10 or 20 shots.

// Kinect v2 users please grab the Kinect for Windows SDK 2.0 // We need to do some speed-tests.


Screenshots


Kinect 3D Scan Screenshot
3D Scan Screenshot