SuperPoint_SLAM在Ubuntu18.04上的运行

代码链接
代码主要思想是使用神经网络(SuperPoint)提取特征点,以替代ORB SLAM2中使用的ORB特征点。

配置

1、cmake的版本
推荐11,查看cmake版本可以使用指令:

$ cmake --version

在这里插入图片描述
确认自己的cmake版本为11。
安装cmake11可以参考博客:https://blog.csdn.net/qq_32526087/article/details/88616116
2、安装Pangolin、OpenCV、Eigen3、DBoW3 and g2o(不要用代码Thirdparty里的,不全并且无法sudo make install)。
安装可以参考博客:https://www.cnblogs.com/hloay/p/13344073.html
3、Libtorch(大坑,博主卡在这好几天,嘤嘤嘤)
编译指令:

git clone --recursive -b v1.0.1 https://github.com/pytorch/pytorch
cd pytorch && mkdir build && cd build
python ../tools/build_libtorch.py

最开始使用的的30系列显卡,由于只支持cuda11.0以上版本(cuda11.0对应需要下载v1.7.0版本的Libtorch),编译时总是报错

在这里插入图片描述
显示找不到cudnn。
后来看到一条这样的帖子
在这里插入图片描述
于是装了v8.0.1版本的cudnn。以前一直以为cudnn版本和cuda版本一致即可,第一次发现对应同一版本的cuda还有不同的cudnn,如下图所示:
在这里插入图片描述
用于时间不同,以cuda11.0为例,目前有v8.0.1,v8.0.2,v8.0.3,v8.0.4四款,卸载和安装cudnn代码如下:
卸载:

$ sudo rm -rf /usr/local/cuda/include/cudnn.h
$ sudo rm -rf /usr/local/cuda/lib64/libcudnn*

安装

$ sudo cp cuda/include/cudnn.h /usr/local/cuda/include/
$ sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/
$ sudo chmod a+r /usr/local/cuda/include/cudnn.h
$ sudo chmod a+r /usr/local/cuda/lib64/libcudnn*

改装v8.0.1版本cudnn后可以成功编译,但是后面编译SuperPoint_SLAM时仍然会报错,初步估计是硬件兼容性不足,30系列显卡对Libtorch兼容性不足。实测发现这和直接从pytorch官网上下载编译好的Libtorch结果一致,编译SuperPoint_SLAM时报相同的错误。
在这里插入图片描述
博主能力有限,没能解决这个问题,希望网友不吝赐教。

自己的解决方案(笨办法)

拿出自己好久不用的笔记本(MX150显卡)
各软件版本:
cuda 9.2
cudnn v7.6.5
opencv 3.4.3
cmake 3.11.3
Libtorch v1.0.1


下载SuperPoint_SLAM:

git clone https://github.com/KinglittleQ/SuperPoint_SLAM.git SuperPoint_SLAM

编译:

cd SuperPoint_SLAM
chmod +x build.sh
./build.sh

第一次编译SuperPoint_SLAM里的./build.sh时会报这样一个错:
在这里插入图片描述
原因是找不到Torch的配置文件,修改SuperPoint_SLAM里CMakeLists.txt
在这里插入图片描述

set(Torch_DIR "/home/victor/pytorch/torch/lib/tmp_install/share/cmake/Torch")  # libtorch

根据自己的路径做相应修改即可。
最终成功编译


然后下载词袋和kitti数据集(具体链接见:https://github.com/KinglittleQ/SuperPoint_SLAM
词袋下载好之后解压放入Vocabulary文件中(需要自己建立):

$ cd SuperPoint_SLAM
$ mkdir Vocabulary

最后启动命令格式(以 sequence 03为例):

$ ./Examples/Monocular/mono_kitti Vocabulary/superpoint_voc.yml Examples/Monocular/KITTI03.yaml /home/victor/SuperPoint_SLAM/data_odometry_gray/dataset/sequences/03

最后一部分的/home/victor/SuperPoint_SLAM/改成自己数据集的存储路径。

运行效果

在这里插入图片描述
笔记本跑起来比较卡,就没有跑完,也没有作评测,原始代码中的评测结果如下:
在这里插入图片描述

  • 6
    点赞
  • 65
    收藏
    觉得还不错? 一键收藏
  • 21
    评论
### 回答1: 要在Ubuntu 18.04上安装ORB_SLAM3,您可以按照以下步骤操作: 1. 安装必要的依赖项: ``` sudo apt-get install build-essential cmake git libgtk2.-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libdc1394-22-dev libeigen3-dev libboost-all-dev libprotobuf-dev protobuf-compiler libgoogle-glog-dev libgflags-dev libatlas-base-dev liblapack-dev libblas-dev ``` 2. 克隆ORB_SLAM3存储库: ``` git clone https://github.com/UZ-SLAMLab/ORB_SLAM3.git ORB_SLAM3 ``` 3. 进入ORB_SLAM3目录并创建build目录: ``` cd ORB_SLAM3 mkdir build cd build ``` 4. 运行cmake: ``` cmake .. ``` 5. 编译ORB_SLAM3: ``` make -j4 ``` 6. 运行ORB_SLAM3: ``` ./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml /path/to/dataset/sequence/ ``` 其中,/path/to/dataset/sequence/是您要运行ORB_SLAM3的数据集的路径。 希望这可以帮助您安装ORB_SLAM3。 ### 回答2: Orb_slam3是一款基于Ubuntu操作系统的开源物体三维建模软件,它可以准确地模拟出物体的运动轨迹、形态等,并对其进行快速的重建。下面是Ubuntu18.04安装Orb_slam3的方法。 1. 下载安装Orb_slam3所需要的依赖库: 首先要安装git库,输入以下命令`sudo apt-get install git`。 然后安装依赖关系`sudo apt-get install build-essential cmake g++ git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev libv4l-dev libxine2-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libopencv-dev libtbb-dev libeigen3-dev libblas-dev liblapack-dev libprotobuf-dev protobuf-compiler libgoogle-glog-dev libgflags-dev libzmq3-dev`。 2. 下载ORB_SLAM3源代码: 安装完依赖库后,请输入以下命令。 ```` cd /home git clone https://github.com/UZ-SLAMLab/ORB_SLAM3.git ORB_SLAM3 ```` 3. 生成ORB_SLAM3的可执行程序: 编译安装ORB-SLAM程序,运行以下命令。 ```` cd ORB_SLAM3 chmod +x build.sh ./build.sh ```` 4. 使用ORB_SLAM3进行物体三维重建: 使用ORB_SLAM3准确地模拟出物体的运动轨迹、形态,然后进行三维重建。进入ORB_SLAM3目录,运行以下命令。 ```` rosrun ORB_SLAM3 Stereo Vocabulary/ORBvoc.txt Examples/Stereo/EuRoC.yaml true ```` 5. 建议:升级显卡驱动 安装了ORB_SLAM3后,建议升级显卡驱动以便更好的使用ORB_SLAM3软件。 以上就是Ubuntu18.04安装ORB_SLAM3的全部步骤,友好的交互界面使得练手极为方便,让使用者轻松地看到所需的信息,这也是它被越来越多的用户所信赖的原因。 ### 回答3: Ubuntu 18.04是一种开源的操作系统,ORB_SLAM3是一种全新的视觉SLAM库,它可以实现精准的视觉定位和建图,能够广泛应用于机器人、自动驾驶、虚拟现实等领域。以下是安装ORB_SLAM3的步骤: 1.安装依赖项 首先,必须安装ORB_SLAM3所需的一些依赖项,如Eigen,Boost,OpenCV和Pangolin等。可以在终端窗口中运行以下命令进行安装: sudo apt-get install libeigen3-dev sudo apt-get install libboost-all-dev sudo apt-get install libopencv-dev sudo apt-get install libopencv-dev sudo apt-get install libglew-dev sudo apt-get install libsuitesparse-dev 2.克隆ORB_SLAM3库 使用git工具从GitHub上克隆ORB_SLAM3库。运行以下命令: git clone https://github.com/UZ-SLAMLab/ORB_SLAM3.git ORB_SLAM3 3.构建ORB_SLAM3库 进入ORB_SLAM3目录并构建ORB_SLAM3库。运行以下命令: cd ORB_SLAM3 chmod +x build.sh ./build.sh 4.下载数据集 如果要测试ORB_SLAM3的性能,需要下载一些数据集。运行以下命令,以下载KITTI数据集: ./tools/kitti_downloader.sh 5.测试ORB_SLAM3 最后,可以使用ORB_SLAM3库来测试视觉SLAM的性能。运行以下命令: ./Examples/Monocular/mono_kitti Vocabulary/ORBvoc.txt Examples/Monocular/KITTI00-02.yaml path_to_dataset_folder/dataset 在执行此命令时,必须将“path_to_dataset_folder”替换为数据集所在的路径。此外,应该将“Examples/Monocular/KITTI00-02.yaml”替换为数据集文件中包含的文件。这将运行ORB_SLAM3并显示视觉定位和建图的结果。 总之,使用这些步骤可以在Ubuntu 18.04上成功安装ORB_SLAM3,并进行视觉定位和建图的测试。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值