KinFu --- KinectFusion的开源实现
先看视频: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. 如果一切正常,到这里就能看到效果了。
KinFu --- KinectFusion的开源实现的更多相关文章
- 2019/02/09 对于KinectFusion 的理解
网上有很多关于Kinect Fusion 的详细介绍,包括各个部分的算法,思路,以及应用上的限制和优化. 在此就不多介绍了. KinectFusion 提供了非常基础的用RGB-D 相机实现的 Den ...
- ORB-SLAM2:一种开源的VSLAM方案(译文)
摘要: ORB-SLAM2是基于单目,双目和RGB-D相机的一套完整的SLAM方案.它能够实现地图重用,回环检测和重新定位的功能.无论是在室内的小型手持设备,还是到工厂环境的无人机和城市里驾驶的汽车, ...
- 83 项开源视觉 SLAM 方案够你用了吗?
作者:吴艳敏 来源:83 项开源视觉 SLAM 方案够你用了吗? 前言 1. 本文由知乎作者小吴同学同步发布于https://zhuanlan.zhihu.com/p/115599978/并持续更新. ...
- 【原】Android热更新开源项目Tinker源码解析系列之三:so热更新
本系列将从以下三个方面对Tinker进行源码解析: Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Android热更新开源项目Tinker源码解析系列之二:资源文件热更新 A ...
- 【原】Android热更新开源项目Tinker源码解析系列之一:Dex热更新
[原]Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Tinker是微信的第一个开源项目,主要用于安卓应用bug的热修复和功能的迭代. Tinker github地址:http ...
- 【原】Android热更新开源项目Tinker源码解析系列之二:资源文件热更新
上一篇文章介绍了Dex文件的热更新流程,本文将会分析Tinker中对资源文件的热更新流程. 同Dex,资源文件的热更新同样包括三个部分:资源补丁生成,资源补丁合成及资源补丁加载. 本系列将从以下三个方 ...
- 哪种缓存效果高?开源一个简单的缓存组件j2cache
背景 现在的web系统已经越来越多的应用缓存技术,而且缓存技术确实是能实足的增强系统性能的.我在项目中也开始接触一些缓存的需求. 开始简单的就用jvm(java托管内存)来做缓存,这样对于单个应用服务 ...
- 开源:Taurus.MVC 框架
为什么要创造Taurus.MVC: 记得被上一家公司忽悠去负责公司电商平台的时候,情况是这样的: 项目原版是外包给第三方的,使用:WebForm+NHibernate,代码不堪入目,Bug无限,经常点 ...
- 终于等到你:CYQ.Data V5系列 (ORM数据层)最新版本开源了
前言: 不要问我框架为什么从收费授权转到免费开源,人生没有那么多为什么,这些年我开源的东西并不少,虽然这个是最核心的,看淡了就也没什么了. 群里的网友:太平说: 记得一年前你开源另一个项目的时候我就说 ...
随机推荐
- SOAPUI参数中xml中CDATA包含问题
<![CDATA[ <Request> <CardNo>000002629518</CardNo> <SecrityNo/> <BankTr ...
- ESP8266 NON-OS SDK 和 RTOS SDK实现GPIO中断不同点
ESP8266 Non-OS SDK 和 RTOS SDK 实现GPIO的方法稍有不同: 对于 Non-OS SDK,比如需要把 MTDO 配置成输入,同时下降沿触发中断: gpio_init(voi ...
- tensorflow中tensor与数组之间的转换
# 主要是两个方法: # 1.数组转tensor:数组a, tensor_a=tf.convert_to_tensor(a) # 2.tensor转数组:tensor b, array_b=b.eva ...
- Java EE平台介绍(译)
Java EE平台介绍 2.1 企业应用总览 这一部分将对企业应用及其设计和开发进行简单介绍. 就像之前说的,Java EE 平台是为了帮助开发者开发大规模.多层次.可伸缩.服务可靠.网络安全的应用而 ...
- Python列表推导式和嵌套的列表推导式
列表推导式提供了一个更简单的创建列表的方法.常见的用法是把某种操作应用于序列或可迭代对象的每个元素上,然后使用其结果来创建列表,或者通过满足某些特定条件元素来创建子序列. 例如,假设我们想创建一个平方 ...
- Viper--方便好用的Golang 配置库
前言 本文主要是为读者介绍一个轻便好用的Golang配置库viper 正文 viper 的功能 viper 支持以下功能: 1. 支持Yaml.Json. TOML.HCL 等格式的配置 ...
- HPUX 配置zabbix开机自动启动
1. 在/etc/rc.config.d目录下创建zabbixd文件,并增加以下内容: #!/sbin/sh # v1.0 ?zabbixd startup/kill config ...
- [转载] Centos7的安装、Docker1.12.3的安装,以及Docker Swarm集群的简单实例
1.环境准备 本文中的案例会有四台机器,他们的Host和IP地址如下 c1 -> 10.0.0.31 c2 -> 10.0.0.32 c3 -> 10.0.0.33 c4 -&g ...
- mysql 转换13位数字毫秒时间
MySQL毫秒值和日期转换,MYSQL内置函数FROM_UNIXTIME: select FROM_UNIXTIME(t.createDate/1000,'%Y-%m-%d %h:%i:%s') as ...
- Bean的装配
1.可以从ApplicationContext上下文获取和bean工厂获取容器,bean工厂只建议在移动端应用使用. 2.如果使用的是applicationContext配置的是bean,如果作用域是 ...