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数据层)最新版本开源了
前言: 不要问我框架为什么从收费授权转到免费开源,人生没有那么多为什么,这些年我开源的东西并不少,虽然这个是最核心的,看淡了就也没什么了. 群里的网友:太平说: 记得一年前你开源另一个项目的时候我就说 ...
随机推荐
- 移动端推广APP防作弊机制之依我见
本文来自网易云社区 在广告投放过程中,虚假流量常常给广告运营人员带来麻烦,影响广告投放的效果,如何预防作弊,不妨先来重现一下流量产生的场景,用户点击广告之后,一般都会落到广告主的网页,或者安装广告主的 ...
- 我们一起学习WCF 第三篇头消息验证用户身份
前言:今天我主要写的是关于头消息的一个用处验证用户信息 下面我画一个图,可以先看图 第一步:我们先开始做用户请求代码 首先:创建一个可执行的上下文对象块并定义内部传输的通道 using (Operat ...
- 用MYSQLworkbench导出数据excel
步骤: 1.先从数据库中将表导出,右键需要导出的表格——>Table Data Export Wizard 2.点击Next,选择你需要把数据存放的文件路径.导出的数据格式(表格的话就默认选择C ...
- qt linux系统下出现Qt5: Unknown module(s) in QT: serialport问题解决
需要单独安装这个模块, manjaro linux打开包管理器,搜索安装,就好了
- HttpServletResponse 之 sendError( )
直接返回http 401状态,提示重新登录 response.sendError(401, "当前账户未登录或会话失效,请重新登录!) HTTP状态码列表: 100Continue继续.客户 ...
- 运输层(TCP/UDP)详解
TCP和UDP的区别: tcp是面向连接的可靠的传输协议 udp是非连接的不可靠的传输协议 TCP组成 可以看到虽然tcp是面向字节流的,但是其传输的基本单位还是报文(tcp首部和数据,ip报文和ud ...
- Java:有关try、catch和finally的学习(供自己参考)
Java:有关try.catch和finally的学习 在看到书本的时候对finally的介绍是:不论是否在try块中产生异常,都会执行finally.当时对这句话的理解不够深,误以为在try...c ...
- Python:集合操作总结
集合是一组无序排列的不重复元素集 [注]:集合的最大作用是对一个序列进行去重操作 一.集合的分类 在Python中集合分为两类,为可变集合(set)和不可变集合(frozenset).对于可变集合(s ...
- HDU 5154 Harry and Magical Computer 有向图判环
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5154 题解: 有向图判环. 1.用dfs,正在访问的节点标记为-1,已经访问过的节点标记为1,没有访 ...
- asp.net如何实现负载均衡方案讨论
请注意,本文内容分多次修改,如需阅读,请阅读完整,因为早期的观点是不太合理的,后面由于水平进步,已经做了修改! 我的目标是我一个人搭建一个负载均衡网站.不接受这是网络部,或者运维,或者系统部的事情,所 ...