安装带有Kinfu和GPU并行运算版本的PCL

  这几天看到kinect fusion 的效果后,对其非常感兴趣,于是也想搭建一个kinect fusion 的框架自己玩玩,无奈PCL中kinfu的开源代码一直是测试版本,并没有release发布版,于是只能默默的卸载之前安装的1.7.1版本换上PCL的测试版本。

  Pcl的测试版本同样可以在github主页上下载,只要选中首页的master分支,并download into ZIP即可,kinfu的代码就在gpu文件夹下。

  相比于安装1.7.1版本,想要运行kinfu的话需要通过显卡GPU进行加速,事前需要安装的第三方库也更多,贴一张我的所有第三方库的截图:

  

一. 具体安装步骤:

  • 事先准备:

    1. 确认你的电脑显卡是N卡,并且运算能力在2.x (Fermi) or 3.x (Kepler) 以上;
    2. 去英伟达官方网站下载cuda最新版本,并更新自己的显卡驱动,我的cuda是6.5版本,显卡为650M;
    3. 还是更新自己的显卡驱动,显卡较新的驱动能够让最终kinfu的帧率更快!
    4. 安装第三方库,BOOST EIGEN FLANN QHULL VTK qt4.8.0 ,在安装前请清理干净原来的这些第三方库;
  • 开始安装:
    1. cmake编译源码,configure第一次后会出现很多红色的build,勾选上build_gpu即可,网上也有说勾选build_tools build_visulation build_cuda build_apps的,但是我的这里前两个是默认勾选了的,build_cuda build_apps我最终也没选;

    2. 在点击generate前仔细看看cmake下方的输出信息,to built里面是否包含了你所需要的所有功能;
    3. 点击generate;
    4. vs打开生成的功能进行编译并install;

二. Tips and bugs:

  1. 运行kinfu需要openni和primesense的支持,pcl从kinect抓取点云是基于openni的框架的,需要注意的是,事先千万不能安装kinect的微软官方SDK,因为官方的会屏蔽pcl的openni接口,最终pcl读取不出深度数据,显示

    can’t open depth source

  2. 进行测试时,可以先生成工程里的openni-viewer,测试pcl是否能成功获取kinect的数据,之后再生成kinfu-app进行测试,最终无误后生成全部的pcl,并install;
  3. 此次版本的pcl源码存在的问题1:

      在源码中进行编译时,无论选不选择BUILD_GPU,都会出现

    libboost_thread-vc100-mt-gd-1_50.lib(thread.obj) : error LNK2019

    这个错误 。

    文章 http://blog.csdn.net/lming_08/article/details/19114417

    给出了这个问题的解决方法,在源码文件里的cmake/pcl_find_boost.cmake里把

    Required boost modules find_package(Boost 1.40.0 REQUIRED COMPONENTS

    system filesystem thread date_time iostreams)

    修改为

    Required boost modules find_package(Boost 1.40.0 REQUIRED COMPONENTS

    system filesystem thread date_time iostreams chrono)

  4. 此次版本的pcl源码存在的问题2:

      本来以为这下快要大功告成了,没想到1个小时后编译结果是130+成功,2个失败,当时特别丧气。。失败的原因在于出现了有关PNG的错误,贴图如下:

    网上公开的解决方案是在源码的tools文件夹里的cmakelist打开后,屏蔽掉

    PCL_ADD_EXECUTABLE(pcl_pcd2png “${SUBSYS_NAME}” pcd2png.cpp)

    target_link_libraries(pcl_pcd2png pcl_common pcl_io)

    PCL_ADD_EXECUTABLE (pcl_organized_pcd_to_png “${SUBSYS_NAME}”organized_pcd_to_png.cpp)

    target_link_libraries (pcl_organized_pcd_to_png pcl_common pcl_io)

    这四句就可以了,最终可以正确安装完整的pcl

  5. 安装过程中还有一个问题是,在卸载了kinect的微软官方SDK后,还要卸载pcl的openni和premesense,并重新安装,但是安装好后,cmake会提示找不到openni,无法得到kinfu和gpu的工程,找不到具体原因,第二天先利用cmake编译pcl1.7.1的源码能够找到openni,之后转到新的含有kinfu的pcl-master源码,此时才成功找到openni,并最终成功安装,这个问题的原因后来没有深究。

下面上几张kinfu的截图,简单的试了下,rgb图是按时间间隔采集的,所以有些地方有模型但是没纹理,另外纹理交界的地方并没有做纹理融合,这两个问题是我将来准备优化代码的方向。

补充一下:我下载的pcl-master源码,是在2014年11月8日的版本,官方后续版本应该会陆续修复已有bug。

       

(转载请注明作者和出处:http://blog.csdn.net/gh234505 未经允许请勿用于商业用途)

时间: 2024-10-07 03:38:59

安装带有Kinfu和GPU并行运算版本的PCL的相关文章

Visual Studio 2012出现“无法访问T-SQL组件和安装了不兼容伯 DacFx版本”的解决办法

参考:Visual Studio 2012出现“无法访问T-SQL组件和安装了不兼容伯 DacFx版本”的解决办法 Vs2012的下载地址: https://msdn.microsoft.com/en-us/jj650015

NodeJS、NPM安装配置与测试步骤(windows版本)

1.windows下的NodeJS安装是比较方便的(v0.6.0版本之后,支持windows native),只需要登陆官网(http://nodejs.org/),便可以看到首页的“INSTALL”按钮,直接点击就会自动下载安装了. 2.安装过程基本直接“NEXT”就可以了.(windows的安装msi文件在过程中会直接添加path的系统变量,变量值是你的安装路径,例如“C:\Program Files\nodejs”). 3.安装完成后可以使用cmd(win+r然后输入cmd进入)测试下是否

Mahout安装(Hadoop 1.2.1 版本)

1       安装环境 Hadoop1.2.1 分布式集群环境下安装(192.168.1.53-56) Mahout 0.9 2       安装介质 下载地址:http://archive.apache.org/dist/mahout/0.9/ 文件名(二进制):mahout-distribution-0.9.tar.gz 3       安装步骤 3.1     上传安装介质: #rz 上传目录为:/home/hadoop/ 3.2     解压到相关目录 #cd   /app/hadoo

如何在CentOS/RHEL上安装或升级新的内核版本

Linux内核版本 Linux内核版本分为主线.稳定和长期版本.(所有内核版本都可以在内核开发官方网站https://www.kernel.org上获取)目前我们看到最新的稳定内核版本为4.10.12. 主线版本代表整个Linux内核的一个树干,新的主线版本每2-3个月发布一次,所有的新功能及特性都将会包含主线版本中.稳定内核则是在主线版本中,被认为是"稳定的"得出.稳定内核的任何错误修复都将从主线树中返回,也就是主线内核出现的任何错误(包括之前的任何旧版本内核的错误和BUG)在得到修

【Java】Linux下安装配置Oracle JDK 1.7版本

1 环境 Vmware虚拟机中的Ubuntu 12.04 32位系统 2具体安装步骤 ①下载最新的jdk包 注意jdk区分32位版本和64位版本,要与Ubuntu兼容才行 下载地址 http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html ②创建一个目录,解压压缩包 mkdir usr/lib/jvm 移动到该目录,并解压 [email protected]:/usr/lib$ sudo

【web】Ubuntu上安装nodejs 4.x 5.x版本方法

在Linux(ubuntu server)上面安装NodeJS的正确姿势 上一篇文章,我介绍了 在Windows中安装NodeJS的正确姿势,这一篇,我们继续来看一下在Linux上面安装和配置NodeJS. 为了保持一致,这里也列举三个方法 第一个方法:通过官网下载安装 https://nodejs.org/en/download/ 这种方式的问题是我们需要自己去找网页,找到链接,然后下载 第二个方法:使用apt工具进行安装 默认情况下,在apt的源中只有比较老的版本(注意,需要先apt-get

UWP DEP0700: 应用程序注册失败。[0x80073CF9] 另一个用户已安装此应用的未打包版本。当前用户无法将该版本替换为打包版本。

原文:UWP DEP0700: 应用程序注册失败.[0x80073CF9] 另一个用户已安装此应用的未打包版本.当前用户无法将该版本替换为打包版本. 最近电脑抽风,我在[应用程序和功能]中重置了以下我的App自然灾害,居然,搞出大新闻了. 它居然从列表中消失了... vs再次编译代码的时候,提示 严重性 代码 说明 项目 文件 行 禁止显示状态 错误 DEP0700: 应用程序注册失败.[0x80073CF9] 另一个用户已安装此应用的未打包版本.当前用户无法将该版本替换为打包版本.冲突程序包为

全网最详细的大数据集群环境下如何正确安装并配置多个不同版本的Cloudera Hue(图文详解)

不多说,直接上干货! 为什么要写这么一篇博文呢? 是因为啊,对于Hue不同版本之间,其实,差异还是相对来说有点大的,具体,大家在使用的时候亲身体会就知道了,比如一些提示和界面. 下载版本: cdh版本 http://archive-primary.cloudera.com/cdh5/cdh/5/ 假设,我已经安装了如下的一个Hue版本 具体,见 https://www.cnblogs.com/zlslch/category/996966.html 而,我现在,安装另一个Hue版本 下载需要的系统

ubuntu 14.04 安装cuda,开启GPU加速

1 首先要开启GPU加速就要安装cuda.安装cuda,首先要安装英伟达的驱动.ubuntu有自带的开源驱动,首先要禁用nouveau.这儿要注意,虚拟机不能安装ubuntu驱动.VMWare下显卡只是模拟出的一块显卡,如果你安装cuda,会卡在ubuntu图形界面无法登陆系统.所以首先我们需要装双系统. 2 win10下安装ubuntu.win10,win8,是使用uefi引导的.不同于win7等老版本.所以不可以使用EasyBCD. 首先我们对C盘进行分区.我的C盘是固态硬盘,使用win10