BundleTrack 编译日记

BundleTrack 编译日记

BundleTrack: 6D Pose Tracking for Novel Objects without Instance or Category-Level 3D Models

记录一下编译BundleTrack过程中遇到的问题。

WSL2 + cuda 环境

考虑到BundleTrack需要使用cuda,而虚拟机上cuda无法使用,故选择用WSL来运行。
本机的显卡是Nvidia Geforce MX110,安装了cuda9.2和cudnn7.4,在主机的anaconda环境中能正常使用。

在WSL2里安装cuda的过程参考此博客,注意检查windows版本,确保高于20150。
下载驱动时发现cuda9.2可用的ubuntu版本最高只有17.10,故另外开了一个WSL2环境,安装了ubuntu16.04。

安装完cuda用pytorch测试,可用。但tensorflow导入失败,出现以下问题:

ImportError: libcublas.so.9.0: cannot open shared object file: No such file

未解决,暂且搁置。

安装依赖

BundleTrack要求cmake版本在3.10及以上,下载cmake3.10,安装。
安装boost,用apt-get安装了。

开始安装pcl,按照要求应该安装pcl 1.9,安装方法参考
pcl需要依赖eigen,flann,vtk,应该先安装这几个库。
下载eigen,下载了3.4.0版本,编译安装。
下载flann,下载了1.9.1版本,编译安装。
下载vtk

安装openssl,参考
编译pcl 1.9.1出现问题,根据这篇文章,vtk版本改为8.2.0,编译安装。

报错:

undefined reference to `qh_zero’

安装qhull,解决。

pcl安装失败,报错无法解决,换成1.9.0和最新的1.12.0都无法安装成功,最后1.11.0终于成功。

安装opencv,以及opencv_contrib

安装yaml-cpp,编译安装了0.6.0版本。
安装blas和lapack,参考

编译

报错:

nvcc fatal : Unsupported gpu architecture ‘compute_75’

参考文章,修改CMakeLists.txt中

arch=compute_75,code=sm_75

75改为70。

报错:

no matching function for call to ‘passFilterPointCloud’

这下就不是库的问题了,涉及PointCloudRGBNormal::Ptr和boost::shared_ptr转换失败的问题。
尝试修改代码使类型一致,但牵连太多,治标不治本,怀疑pcl版本不同造成。
文章获得启发,将所有boost::shared_ptr改成std::shared_ptr,boost::make_shared也改成std::make_shared。
成功解决,果然是因为pcl版本问题,似乎从pcl 1.11起用的就是std::shared_ptr而非boost::shared_ptr。

报错:

fatal error: opencv2/cudafeatures2d.hpp: No such file or directory

opencv没有安装带有cuda的,需重新安装。
参考文章

报错:

ERROR: Maxwell, Pascal, Volta, Turing, Ampere, Auto Generations are supported.

cmake参数CUDA_GENERATION=Kepler需改为CUDA_GENERATION=Auto

安装完成后继续编译,报错:

undefined reference to `uuid_unparse_lower@UUID_1.0’

undefined reference to `uuid_generate@UUID_1.0’

参考文章,获得解决。

报错:

error: ‘cv::xfeatures2d::SIFT’ has not been declared

opencv_contrib模块出现问题。
参考文章提供的测试代码,发现同样报错,检查发现明明已经成功安装,合理怀疑存在版本问题。
参考网站,将cv::xfeatures2d::SIFT改为cv::SIFT,问题解决。

报错,与anaconda有关,参考文章,得到解决。

报错:

No rule to make target ‘/usr/local/lib/libyaml-cpp.so’

yaml-cpp库安装问题。
参考文章,修改参数重新编译安装。

终于编译成功!

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值