KinFu --- KinectFusion的开源实现

时间:2024-03-01 17:16:26
KinectFusion是微软研究院的一个项目,研究用Kinect来实时地重构3D表面,最终用于人机交互。

先看视频:http://research.microsoft.com/en-us/projects/surfacerecon/

算法在此:http://research.microsoft.com/pubs/155378/ismar2011.pdf

 

KinFu是KinctFusion的开源实现,由PCL开发团队开发,目前还没有进入release版本。

看这里:http://pointclouds.org/news/kinectfusion-open-source.html

 

迫不及待想试试效果,便直接编译代码,运行时才发现我的显卡不支持。。。。

KinFu对显卡的要求很高,现在也没有正式的最低配置发布出来,以下是猜测可以运行的配置:

Nvidia的Fermi架构显卡;支持CUDA,而且CC(Compute Capability)在2.0以上;显存至少750M;

 

有强悍显卡的同学可以按照以下步骤编译,看能否运行(能运行的请将配置发到评论里,谢谢):

Windows下的详细过程在这里:

http://pointclouds.org/documentation/tutorials/compiling_pcl_windows.php

http://razorvision.tumblr.com/post/14221437255/compiling-the-open-source-kinect-fusion-pcl-point

 

以下附加简要说明:

我的系统:Windows 7, VS2010 Pro

 

1. 代码的SVN Repository URL:http://svn.pointclouds.org/pcl/trunk      

     // 我用的是TortoiseSVN,没用过的可Google

2. 代码版本是rev 5477. 代码更新比较快,有些是无法编译的,这个版本可以。

3. 运行CMake-GUI后需要改几个设置:

   a. CMAKE --> CMAKE_INSTALL_PREFIX     // 默认是在C:\Program Files\PCL,可以改成C:\PCL,

        避免写权限的问题。

   b. BUILD --> BUILD_GPU   // 勾上这个

   c. Ungrouped Entries --> USE_PROJECT_FOLDERS   // 如果用的是Pro版本的Visual Studio,

       可以勾上这个,方便浏览工程

 

4. 编译代码前请先安装:

   a. CUDA toolkit: http://developer.nvidia.com/cuda-downloads   // 安装后没有重启提示,需要手工重启

   b. 更新显卡驱动到最新

 

5. 编译“ALL BUILD”需要花很长时间(我用了20多分钟),中间出了几个Marco问题

(这个是VS2010的问题,还没解决),点cancel继续编译。编译结束后会提示重新加载工程,

    因为生成了几个新的工程。加载后再编译一次“ALL BUILD”,新的工程便可以编译到.

 

6. 打开命令行窗口运行你编译的KinFu,这样可以看到打印信息。我的路径是

    C:\PCL\kinfu_app_debug.exe,编译的是debug版本。

7. 如果一切正常,到这里就能看到效果了。