出格网站建设,网站经营跟备案不符,电子商务网站数据库怎么做,网站建设预算表制作前言#xff1a;第一个解耦式Photo-SLAM#xff0c;亮点和效果。
参考#xff1a;https://zhuanlan.zhihu.com/p/715311759
全网最细PhotoSLAM的conda环境配置教程#xff0c;拒绝环境污染#xff01;#xff01;-CSDN博客
1. 环境搭建
硬件#xff1a;RTX 4090D wi…前言第一个解耦式Photo-SLAM亮点和效果。
参考https://zhuanlan.zhihu.com/p/715311759
全网最细PhotoSLAM的conda环境配置教程拒绝环境污染-CSDN博客
1. 环境搭建
硬件RTX 4090D with 24 GB VRAMi9 64 GB RAM。
系统Ubuntu22.04gcc11.4,cmake3.22.1CUDA 11.8 CUDNN8.9.7。具体配置参考WIN11安装Ubuntu22.04双系统驱动cuda配置3D GS_535.230.02 最高支持cuda版本-CSDN博客
需要安装opencv及-contriblibtorch。
1.0 依赖源码下载
sudo apt-get update
sudo apt-get install libssl-dev
sudo apt install libeigen3-dev libboost-all-dev libjsoncpp-dev libopengl-dev mesa-utils libglfw3-dev libglm-dev
git clone https://github.com/HuajianUP/Photo-SLAM.git --recursive
1.1 OpenCV
从OpenCV realeases和 opencv_contrib下载4.8.0的压缩包然后解压缩到同一文件夹下比如 ~/opencv然后在终端中
cd opencv
cd opencv-4.8.0
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPERELEASE -DWITH_CUDAON -DWITH_CUDNNON -DOPENCV_DNN_CUDAON -DWITH_NVCUVIDON -DCUDA_TOOLKIT_ROOT_DIR/usr/local/cuda-11.8 -DOPENCV_EXTRA_MODULES_PATH../../opencv_contrib-4.8.0/modules -DBUILD_TIFFON -DBUILD_ZLIBON -DBUILD_JASPERON -DBUILD_CCALIBON -DBUILD_JPEGON -DWITH_FFMPEGON .. //注意要提供CUDA11.8和opencv-contrib的路径
但是可能会报错
1.1.1 报错ippicv下载不了网络连接的问题
首先下载报错处的ippicv版本我的是2021.8并解压解压后包含文件夹ippicv_lnx。
链接: https://pan.baidu.com/s/1ZIsyONF21cw6NNFG9mcQkA 提取码: astz
然后修改opencv-4.8.0/3rdparty/ippicv/ippicv.cmake第42行将下载地质从网址https://raw.githubusercontent.com/opencv/opencv_3rdparty/${IPPICV_COMMIT}/ippicv/“改为包含下载文件ippicv_lnx的路径 /xxx path xxx/ippicv_2021.8_lnx_intel64_20230330_general/
然后继续上述cmake。
1.1.2 报错找不到cudnn
我已经成功安装了cudnn参考Ubuntu22.04安装视觉环境(CUDA CUDNN TensorRT realsense PCL OpenCV) _multiple kernel module types are available for thi-CSDN博客
在cmake指令中增加
-D CUDNN_VERSION8.9.7 \ -D CUDNN_INCLUDE_DIR/usr/local/cuda/include \
-D CUDNN_LIBRARY/usr/local/cuda-11.8/lib64/libcudnn.so.8.9.7
然后继续上述cmake。直至configure done。
然后
make -j8 //这个过程比较长尤其是97%-99%这一段等一会直到完成。
sudo make install //将opencv安装到系统路径/usr/local/lib/cmake/opencv4。其中可执行文件在/usr/local/bin库文件在/usr/local/lib头文件在/usr/local/include。
1.2 安装 LibTorch 2.1.2
cxx11-abi-shared-with-deps-2.0.1cu118, cxx11-abi 表示使用了 C11 ABI, with-deps 表示该版本包含了所有的依赖项。
下载并解压 wget https://download.pytorch.org/libtorch/cu118/libtorch-cxx11-abi-shared-with-deps-2.0.1%2Bcu118.zip -O libtorch-cu118.zip unzip libtorch-cu118.zip -d ./the_path_to_where_you_extracted_LibTorch rm libtorch-cu118.zip
修改Photo_SLAM的CMakeLists.txt添加 set(Torch_DIR ./LibTorch解压文件路径/libtorch/share/cmake/Torch)
1.3 编译Photo-SLAM
cd Photo-SLAM/ chmod x ./build.sh ./build.sh
我是没有遇到编译问题。
1.4下载数据集 Photo_SLAM的作者使用了Replica(NICE-SLAM版)、TUM-RGBD、EUROC三个数据集进行评估提供了scripts/对应数据集的下载脚本download_xxx.sh。
cd scripts chmod x ./*.sh ./download_replica.sh ./download_tum.sh ./download_euroc.sh
我选择手动下载到我创建的数据集路径下。
2. 效果评估
2.1 实际运行界面
以replica/office1为例指令./bin/replica_rgbd ./ORB-SLAM3/Vocabulary/ORBvoc.txt ./cfg/ORB_SLAM3/RGB-D/Replica/office1.yaml ./cfg/gaussian_mapper/RGB-D/Replica/replica_rgbd.yaml /your path to/Replica/office1 ./your path to/results/replica/office1。 最终保存的结果包括相机位姿、关键帧位姿按TUM、EUROC、KITTI格式GPU使用峰值每帧跟踪用时渲染图像、点云3D GS场的psnr dssim指标每个关键帧。
3. 论文代码理解
3.1 论文摘要
目的虽然目前基于隐式神经NeRF表征的SLAM系统相比传统SLAM增加了逼真视觉重建的能力但是依赖于计算资源违背了SLAM系统的应用需求。作者将3DGS实时渲染能力与传统的基于稀疏特征的SLAM系统ORB-SLAM3结合从而保证能在嵌入式平台上实时运行。
创新点基于几何特征主动致密化超级基元hyper primitive参数除了高斯椭球自带的位置、协方差旋转和缩放、密度、SH系数以外还有ORB特征可以理解为传统地图点和高斯椭球的结合用图像的高斯金字塔而不是单张图像渐进式训练高斯场。
方法基于ORB-SLAM3的跟踪和局部建图。然后对每个新关键帧ORB-SLAM3会检测特征点是否有匹配地图点如果没有Photo-SLAM定义为inactive不活跃特征然后用来初始化新的超级基元。在高斯场优化时学习率固定为0.2除了上述几何引导的致密化技巧作者先用图像高斯金字塔3层中最顶层即分辨率最低/最模糊的观测图像训练参数然后向下层遍历直至底层原始分辨率图像。
验证指标包括定位准确性ATE的RMSE和STD统计值图像重建质量的PSNRSSIMLPIPS跟踪帧率、渲染帧率GPU现存使用峰值。每个序列运行5次取均值。 总结跟踪准确性和实时性最好证明了传统方法ORB-SLAM3跨场景的鲁棒性和泛化能力相比于DROID-SLAM相比于nerf-based SLAM的图像重建质量也是最优的当时没有发表过同期的3DGS-based SLAM工作证明了所提出的致密化和高斯金字塔优化方法的效果内存占据最少说明本方法基于稀疏特征点初始化高斯球并结合致密化和优化技巧对场景表征高效冗余度很少。
3.2 代码架构
3.3 贡献和对应的代码细节
4. 运行结果
4.1 Replica
4.2 TUM-RGBD
4.3 EuRoC
4.4我的室内数据集