Bundle安装基于win10+vs2017+CUDA10.1

  • 安装调试环境
  1. 硬件环境:ASUS笔记本、Intel(R) Core(TM)i7-8750H CPU @ 2.20GHz 2.21GHz、RAM(8GB)
  2. 操作系统:win10,64位
  3. 环境:win10+BundleFusion+CUDA 10.1+c++(64)

VS2017与PCL1.8.1之前学习PCL时已经配合cmake跑了很多例程应该没什么问题。其余方面未验证。个人相关文件后续发在评论中,网盘上传太慢了,那些相关文件在github或者一些官网都是也可以下载的。

  • 安装预备

win10+PCL1.8.1+CUDA10.1

  1. 安装vs2017

这个方面就不多去叙述了,直接从官网下载vs2017 即可。不建议过高版本,个人感觉不能再超过2019以上,太高了好像是CUDA还是哪个会跟不上vs版本。13可能是最适配最容易的。

  1. 安装CUDA10.1

下载方式有两种:

第一种,直接从谷歌或百度搜索CUDA10.1,按照如下选择

Bundle安装基于win10+vs2017+CUDA10.1_第1张图片

 

第二种,直接安装我的文件中的,双击CUDAexe文件后同意协议,设置安装路径(记住),后续选择自定义安装,不要选择other components,其余全选

这一步的图的地址要记下来,配置系统环境变量需要,不要改路径

Bundle安装基于win10+vs2017+CUDA10.1_第2张图片

 

后面就是一直安装。

按照默认安装位置即可,如需更改位置建议记住安装位置,后面再配置系统环境变量时要用到,这里建议按照默认安装位置安装。

安装完毕后,“此电脑”右键->属性->高级系统设置->环境变量。发现系统中会出现如下两个新增环境变量

 

然后再手动添加如下五个环境变量

 

 

在Path中添加

Bundle安装基于win10+vs2017+CUDA10.1_第3张图片

 

完成上述CUDA10.1即安装完毕,还需验证是否安装完毕

Win+r打开cmd,输入nvcc -V

Bundle安装基于win10+vs2017+CUDA10.1_第4张图片

安装成功

  1. 下载安装Meshlab

比较方便的三维点云工具,可将bundlefusion的结果保存到本地后可以通过这个工具浏览,之间安装我发的可执行文件即可

 

  1. Realsense SDK2.0

相机的sdk,如果不使用相机仅仅使用.sense作为输入,则不用下载,

也在我发的文件夹中,可直接安装,一直点下一步即可

  1. DirectX SDK安装

安装老师发的文件中的对应可执行文件即可,在下图这一步我选择了第一项

Bundle安装基于win10+vs2017+CUDA10.1_第5张图片

 

出现错误S1023

在控制面板卸载下图两项

 

重新点击可执行文件安装DX即可,不用删除和卸载之前的

后面显示安装成功

  1. BundleFusion代码修改

所需准备文件有三个:

BundleFusion-master

mLibExternal

mLib external

可以用老师发的,但是有一个文件大小不太一样,我就自己去下载了个,也可以看我的文件夹BundleFusion_sources中的

得到如下:

Bundle安装基于win10+vs2017+CUDA10.1_第6张图片

 

下图为代码结构,也可根据我的文件夹来布置,与下图一样

Bundle安装基于win10+vs2017+CUDA10.1_第7张图片

不要有重复命名目录,就是上下级目录不要出现同名的,可能会导致失败。

将我文件夹下的下图两个文件放在BundleFusion-master\FriedLiver\Source文件夹里,如下图所示

 

之后修改

修改 BundleFusion-master\FriedLiver\FriedLiver.vcxproj 文件,用vs code打开该文件(记事本也可),并修改如下两行:

# 第35行

# 将7.0,修改为我们10.1的cuda版本

# 第375行

# 将7.0,修改为10.1

因为以前把vscode卸载了,我就没有用vscode去打开,我是通过点击卸载项目然后重新编辑此文件,随后再重新加载。用记事本打开修改都是可以的。

下一步打开FriedLiver.sln文件,如果你不是13版本的vs,会有一个重定向的窗口弹出,点击确认让其适配就好

随后再sensor文件夹点击右键添加现有项,添加的是RealSenseSensor的源文件与头文件,如下图

Bundle安装基于win10+vs2017+CUDA10.1_第8张图片

 

Bundle安装基于win10+vs2017+CUDA10.1_第9张图片 

下一步调出属性管理器(视图-其他窗口-属性管理器)然后分别再debug和release中添加现有属性表,找到Realsense SDK2.0的安装目录下的intel.realsense,默认是C:\Program Files (x86)\Intel RealSense SDK 2.0\intel.realsense。这是这个相机的相关配置,一键添加就可以了。这一步操作很简单

下面进行修改代码,打开BundleFusion-master\external\mLib\include\core-base\common.h

将代码第61行改为#include

就是把array后面原有的几个英文字母删除掉。

打开 mLibExternal\include\Eigen\src\Core\util\Macros.h将310行加上

#if defined(_MSC_VER) && (_MSC_VER < 1900) && (!defined(__INTEL_COMPILER))

注意图片

Bundle安装基于win10+vs2017+CUDA10.1_第10张图片

 

接下来打开\SiftGPU\ProgramCU.cu找到此处记事本打开搜索,注释掉。这一行是CUDA中原子性操作相关内容,随着CUDA版本更新,源码这样的写法会导致程序死锁。正在上传…重新上传取消Bundle安装基于win10+vs2017+CUDA10.1_第11张图片

 

然后打开FriedLiver.cpp,从sln文件里进入修改即可,在此处加new

Bundle安装基于win10+vs2017+CUDA10.1_第12张图片

 

后续打开FriedLiver.h文件找到26行及51行,作下图修改,别看漏

Bundle安装基于win10+vs2017+CUDA10.1_第13张图片

 

Bundle安装基于win10+vs2017+CUDA10.1_第14张图片

 

再GlobalApp.h中作以下修改

Bundle安装基于win10+vs2017+CUDA10.1_第15张图片

 

右键点击项目生成即可,应为生成成功,不过我有很多警告,但是绝大部分都可能是默认编码格式导致的Unicode的那些,应该没啥影响

Bundle安装基于win10+vs2017+CUDA10.1_第16张图片

 

  1. 修改其余参数

生成完成后打开BundleFusion-master\FriedLiver\zParametersDefault.txt,第一个参数改为6,s_hashNumSDFBlocks 改为100000

Bundle安装基于win10+vs2017+CUDA10.1_第17张图片

 

Bundle安装基于win10+vs2017+CUDA10.1_第18张图片

 

然后再打开zParametersBundlingDefault.txt将s_maxNumImages改为400.

 

  1. 通过相机调用

如果出现找不到FreeImage.dll,就去BundleFusion-master\mLibExternal\libsWindows\dll64目录下找到这个dll,复制到项目目录。

然后再点击本地windows调试器就可以了

但是具体还没实操,后续更新

  1. 通过离线数据包调用

在bundlefusion\BundleFusion-master\FriedLiver\x64下新建data文件夹,然后把需要实现.sens文件放到data中。

将zParametersDefault.txt中修改第二行为8,如果用深度相机去实时运行,可以改为其对应序列号,这里表示离散序列号为8.再修改第58行,对应于下图,把路径改为刚才设置的data文件下需要运行的.sens文件

Bundle安装基于win10+vs2017+CUDA10.1_第19张图片

 

之后用本地windows调试器运行即可

如果弹出以下错误,则zParametersBundlingDefault.txt将s_maxNumImages改回1200.

Bundle安装基于win10+vs2017+CUDA10.1_第20张图片

 

如果弹出找不到或者无法打开data文件下的sens文件则把zParametersDefault.txt中的sens文件路径改为绝对路径。

修改完后结果如下

Bundle安装基于win10+vs2017+CUDA10.1_第21张图片

 

参考网站:BundleFusion:VS2019 2017 ,CUDA11.5,win11,Realsense D435i+离线数据包跑通,环境搭建 - 知乎 Win10+VS2017+CUDA10.1环境下配置BundleFusion - 知乎
bundlefusion之环境配置_hehehetanchaow的博客-CSDN博客_bundlefusionhttps://blog.csdn.net/sinat_16423171/article/details/120910846?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522166544785116781432968922%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=166544785116781432968922&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-1-120910846-null-null.142^v52^new_blog_pos_by_title,201^v3^control_2&utm_term=BundleFusion&spm=1018.2226.3001.4187

你可能感兴趣的:(人工智能,视觉检测)