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. 更新显卡驱动到最新
4. 编译“ALL BUILD”需要花很长时间(我用了20多分钟),中间出了几个Marco问题(这个是VS2010的问题,还没解决),点cancel继续编译。编译结束后会提示重新加载工程,因为生成了几个新的工程。加载后再编译一次“ALL BUILD”,新的工程便可以编译到.
5. 打开命令行窗口运行你编译的KinFu,这样可以看到打印信息。我的路径是C:\PCL\kinfu_app_debug.exe,编译的是debug版本。
6. 如果一切正常,到这里就能看到效果了。