Bundlefusion学习

在尝试使用BundleFusion结合Intel RealSense D435i进行实时三维建图时,遇到CUDA编译错误,具体表现为无法找到boost/serialization/array_wrapper.hpp头文件。该错误可能源于Boost库未正确安装或路径未被编译器识别。同时,CUDA编译命令返回错误代码2,可能与CUDA版本、Visual Studio配置或依赖项设置有关。解决方法包括检查Boost库的安装,确保其包含在项目路径中,以及检查CUDA和Visual Studio的配置,确保所有依赖项都已正确设置并指向正确的版本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.refer articles

1.BundleFusion使用Intel RealSense D435i深度相机实现
1.2 结合1参考-BundleFusion在win10+vs2013+cuda8.0上的实现
2.Intel RealSense D435i + BundleFusion 实现实时三维建图

2.方案生成errors

错误	18	error C1083: 无法打开包括文件: “boost/serialization/array_wrapper.hpp”: No such file or directory	D:\vs2013\BundleFusion-master\external\mlib\include\core-base\common.h	61
错误	19	error MSB3721: 命令“"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin\nvcc.exe" -gencode=arch=compute_35,code=\"sm_35,compute_35\" --use-local-env --cl-version 2013 -ccbin "D:\vs2013\VC\bin\x86_amd64" -rdc=true -IInclude\cutil\inc -I"D:\vs2013\BundleFusion-master\FriedLiver" -ISource\DXUT\Optional -ISource\DXUT\Core -IInclude\Uplink -I"C:\Program Files (x86)\Intel RealSense SDK 2.0\include" -I"C:\Program Files (x86)\Intel RealSense SDK 2.0\third-party\\" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\include" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\include"     --keep-dir x64\Release -maxrregcount=62  --machine 64 --compile -cudart static    -use_fast_math -DWIN32 -DNDEBUG -D_WINDOWS -DD3DXFX_LARGEADDRESS_HANDLE -D_CRT_SECURE_NO_WARNINGS -DNOMINMAX -D_UNICODE -DUNICODE -Xcompiler "/EHsc /W0 /nologo /Ox /FS /Zi  /MT " -o x64\Release\CUDACache.cu.obj "D:\vs2013\BundleFusion-master\FriedLiver\Source\CUDACache.cu"”已退出,返回代码为 2。	C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\BuildCustomizations\CUDA 8.0.targets	689
错误	20	error C1083: 无法打开包括文件: “boost/serialization/array_wrapper.hpp”: No such file or directory	D:\vs2013\BundleFusion-master\external\mlib\include\core-base\common.h	61
错误	21	error MSB3721: 命令“"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin\nvcc.exe" -gencode=arch=compute_35,code=\"sm_35,compute_35\" --use-local-env --cl-version 2013 -ccbin "D:\vs2013\VC\bin\x86_amd64" -rdc=true -IInclude\cutil\inc -I"D:\vs2013\BundleFusion-master\FriedLiver" -ISource\DXUT\Optional -ISource\DXUT\Core -IInclude\Uplink -I"C:\Program Files (x86)\Intel RealSense SDK 2.0\include" -I"C:\Program Files (x86)\Intel RealSense SDK 2.0\third-party\\" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\include" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\include"     --keep-dir x64\Release -maxrregcount=62  --machine 64 --compile -cudart static    -use_fast_math -DWIN32 -DNDEBUG -D_WINDOWS -DD3DXFX_LARGEADDRESS_HANDLE -D_CRT_SECURE_NO_WARNINGS -DNOMINMAX -D_UNICODE -DUNICODE -Xcompiler "/EHsc /W0 /nologo /Ox /FS /Zi  /MT " -o x64\Release\CUDAImageUtil.cu.obj "D:\vs2013\BundleFusion-master\FriedLiver\Source\CUDAImageUtil.cu"”已退出,返回代码为 2。	C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\BuildCustomizations\CUDA 8.0.targets	689
错误	22	error C1083: 无法打开包括文件: “boost/serialization/array_wrapper.hpp”: No such file or directory	D:\vs2013\BundleFusion-master\external\mlib\include\core-base\common.h	61
错误	23	error MSB3721: 命令“"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin\nvcc.exe" -gencode=arch=compute_35,code=\"sm_35,compute_35\" --use-local-env --cl-version 2013 -ccbin "D:\vs2013\VC\bin\x86_amd64" -rdc=true -IInclude\cutil\inc -I"D:\vs2013\BundleFusion-master\FriedLiver" -ISource\DXUT\Optional -ISource\DXUT\Core -IInclude\Uplink -I"C:\Program Files (x86)\Intel RealSense SDK 2.0\include" -I"C:\Program Files (x86)\Intel RealSense SDK 2.0\third-party\\" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\include" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\include"     --keep-dir x64\Release -maxrregcount=62  --machine 64 --compile -cudart static    -use_fast_math -DWIN32 -DNDEBUG -D_WINDOWS -DD3DXFX_LARGEADDRESS_HANDLE -D_CRT_SECURE_NO_WARNINGS -DNOMINMAX -D_UNICODE -DUNICODE -Xcompiler "/EHsc /W0 /nologo /Ox /FS /Zi  /MT " -o x64\Release\SBA.cu.obj "D:\vs2013\BundleFusion-master\FriedLiver\Source\SBA.cu"”已退出,返回代码为 2。	C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\BuildCustomizations\CUDA 8.0.targets	689
错误	24	error C1083: 无法打开包括文件: “boost/serialization/array_wrapper.hpp”: No such file or directory	D:\vs2013\BundleFusion-master\external\mlib\include\core-base\common.h	61
错误	25	error MSB3721: 命令“"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin\nvcc.exe" -gencode=arch=compute_35,code=\"sm_35,compute_35\" --use-local-env --cl-version 2013 -ccbin "D:\vs2013\VC\bin\x86_amd64" -rdc=true -IInclude\cutil\inc -I"D:\vs2013\BundleFusion-master\FriedLiver" -ISource\DXUT\Optional -ISource\DXUT\Core -IInclude\Uplink -I"C:\Program Files (x86)\Intel RealSense SDK 2.0\include" -I"C:\Program Files (x86)\Intel RealSense SDK 2.0\third-party\\" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\include" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\include"     --keep-dir x64\Release -maxrregcount=62  --machine 64 --compile -cudart static    -use_fast_math -DWIN32 -DNDEBUG -D_WINDOWS -DD3DXFX_LARGEADDRESS_HANDLE -D_CRT_SECURE_NO_WARNINGS -DNOMINMAX -D_UNICODE -DUNICODE -Xcompiler "/EHsc /W0 /nologo /Ox /FS /Zi  /MT " -o x64\Release\OnlineBundler.cu.obj "D:\vs2013\BundleFusion-master\FriedLiver\Source\OnlineBundler.cu"”已退出,返回代码为 2。	C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\BuildCustomizations\CUDA 8.0.targets	689
错误	26	error C1083: 无法打开包括文件: “boost/serialization/array_wrapper.hpp”: No such file or directory	D:\vs2013\BundleFusion-master\external\mlib\include\core-base\common.h	61
错误	27	error MSB3721: 命令“"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin\nvcc.exe" -gencode=arch=compute_35,code=\"sm_35,compute_35\" --use-local-env --cl-version 2013 -ccbin "D:\vs2013\VC\bin\x86_amd64" -rdc=true -IInclude\cutil\inc -I"D:\vs2013\BundleFusion-master\FriedLiver" -ISource\DXUT\Optional -ISource\DXUT\Core -IInclude\Uplink -I"C:\Program Files (x86)\Intel RealSense SDK 2.0\include" -I"C:\Program Files (x86)\Intel RealSense SDK 2.0\third-party\\" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\include" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\include"     --keep-dir x64\Release -maxrregcount=62  --machine 64 --compile -cudart static    -use_fast_math -DWIN32 -DNDEBUG -D_WINDOWS -DD3DXFX_LARGEADDRESS_HANDLE -D_CRT_SECURE_NO_WARNINGS -DNOMINMAX -D_UNICODE -DUNICODE -Xcompiler "/EHsc /W0 /nologo /Ox /FS /Zi  /MT " -o x64\Release\SIFTImageManager.cu.obj "D:\vs2013\BundleFusion-master\FriedLiver\Source\SiftGPU\SIFTImageManager.cu"”已退出,返回代码为 2。	C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\BuildCustomizations\CUDA 8.0.targets	689
错误	28	error C1083: 无法打开包括文件: “boost/serialization/array_wrapper.hpp”: No such file or directory	D:\vs2013\BundleFusion-master\external\mlib\include\core-base\common.h	61
错误	29	error MSB3721: 命令“"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin\nvcc.exe" -gencode=arch=compute_35,code=\"sm_35,compute_35\" --use-local-env --cl-version 2013 -ccbin "D:\vs2013\VC\bin\x86_amd64" -rdc=true -IInclude\cutil\inc -I"D:\vs2013\BundleFusion-master\FriedLiver" -ISource\DXUT\Optional -ISource\DXUT\Core -IInclude\Uplink -I"C:\Program Files (x86)\Intel RealSense SDK 2.0\include" -I"C:\Program Files (x86)\Intel RealSense SDK 2.0\third-party\\" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\include" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\include"     --keep-dir x64\Release -maxrregcount=0 --ptxas-options=-v --machine 64 --compile -cudart static    -use_fast_math -DWIN32 -DNDEBUG -D_WINDOWS -DD3DXFX_LARGEADDRESS_HANDLE -D_CRT_SECURE_NO_WARNINGS -DNOMINMAX -D_UNICODE -DUNICODE -Xcompiler "/EHsc /W0 /nologo /Ox /FS /Zi  /MT " -o x64\Release\SolverBundling.cu.obj "D:\vs2013\BundleFusion-master\FriedLiver\Source\Solver\SolverBundling.cu"”已退出,返回代码为 2。	C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\BuildCustomizations\CUDA 8.0.targets	689
错误	30	error C2146: 语法错误: 缺少“;(在标识符“gridh”的前面)	D:\vs2013\BundleFusion-master\FriedLiver\Source\SiftGPU\ProgramCU.cu	471
错误	31	error C2059: 语法错误:>”	D:\vs2013\BundleFusion-master\FriedLiver\Source\SiftGPU\ProgramCU.cu	471
错误	32	error C2146: 语法错误: 缺少“;(在标识符“gridv”的前面)	D:\vs2013\BundleFusion-master\FriedLiver\Source\SiftGPU\ProgramCU.cu	478
错误	33	error C2059: 语法错误:>”	D:\vs2013\BundleFusion-master\FriedLiver\Source\SiftGPU\ProgramCU.cu	478
错误	34	error MSB3721: 命令“"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin\nvcc.exe" -gencode=arch=compute_35,code=\"sm_35,compute_35\" --use-local-env --cl-version 2013 -ccbin "D:\vs2013\VC\bin\x86_amd64" -rdc=true -IInclude\cutil\inc -I"D:\vs2013\BundleFusion-master\FriedLiver" -ISource\DXUT\Optional -ISource\DXUT\Core -IInclude\Uplink -I"C:\Program Files (x86)\Intel RealSense SDK 2.0\include" -I"C:\Program Files (x86)\Intel RealSense SDK 2.0\third-party\\" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\include" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\include"     --keep-dir x64\Release -maxrregcount=62  --machine 64 --compile -cudart static    -use_fast_math -DWIN32 -DNDEBUG -D_WINDOWS -DD3DXFX_LARGEADDRESS_HANDLE -D_CRT_SECURE_NO_WARNINGS -DNOMINMAX -D_UNICODE -DUNICODE -Xcompiler "/EHsc /W0 /nologo /Ox /FS /Zi  /MT " -o x64\Release\ProgramCU.cu.obj "D:\vs2013\BundleFusion-master\FriedLiver\Source\SiftGPU\ProgramCU.cu"”已退出,返回代码为 2。	C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\BuildCustomizations\CUDA 8.0.targets	689

3.解决errors

error-C1083:
refer1
refer2

实时全局一致的3D重建,使用动态表面重新整合技术实时,高品质,大尺寸场景的3D扫描是混合现实和机器人应用的关键。然而,可扩展性带来了姿态估计漂移的挑战,在累积模型中引入了显着的错误。方法通常需要几个小时的离线处理来全局纠正模型错误。最近的在线方法证明了令人信服的结果,但遭受以下缺点:(1)需要几分钟的时间才能执行在线修正,影响了真正的实时使用; (2)脆弱的帧到帧(或帧到模型)姿态估计导致许多跟踪失败;或(3)仅支持非结构化的基于点的表示,这限制了扫描质量和适用性。我们通过一个新颖的,实时的端对端重建框架来系统地解决这些问题。其核心是强大的姿态估计策略,通过考虑具有高效分层方法的RGB-D输入的完整历史,针对全局摄像机姿态优化每帧。我们消除了对时间跟踪的严重依赖,并且不断地将其定位到全局优化的帧。我们提出了一个可并行化的优化框架,它采用基于稀疏特征和密集几何和光度匹配的对应关系。我们的方法估计全局最优化(即,束调整的姿势)实时,支持从总跟踪故障(即重新定位)恢复的鲁棒跟踪,并实时重新估计3D模型以确保全局一致性;都在一个框架内。我们优于最先进的在线系统,质量与离线方法相同,但速度和扫描速度前所未有。我们的框架导致尽可能简单的扫描,使用方便和高质量的结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值