【3DGS】Ubuntu20.04系统搭建3D Gaussian Splatting及可视化环境

2024-07-10 1595阅读

目录

安装CUDA

下载Gaussian Splatting的源码

创建Gaussian Splatting虚拟环境

下载数据集并训练

模型可视化

更新gcc和g++

更新cmake

安装eigen3.4.0

安装opencv4.9.0

安装远程可视化


  • 安装CUDA

    官方说we used 11.8, known issues with 11.6。因此需要确保CUDA版本高于11.8。

    CUDA官网链接:https://developer.nvidia.com/cuda-toolkit-archive

    【3DGS】Ubuntu20.04系统搭建3D Gaussian Splatting及可视化环境

    wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run
    sudo sh cuda_11.8.0_520.61.05_linux.run

    安装完成后,配置并更新环境变量:

    vim ~/.bashrc
    #添加路径(此处展示的是默认路径,根据自己的路径来)
    export PATH=/usr/local/cuda-11.8/bin${PATH:+:${PATH}}
    export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
    source ~/.bashrc

    使用下面的命令查看你的CUDA版本:

    nvcc -V

    【3DGS】Ubuntu20.04系统搭建3D Gaussian Splatting及可视化环境

    • 下载Gaussian Splatting的源码

      注意:最后的--recursive特别重要,不加的话submodules和sibr_viewers中部分东西装不上,影响后续环境配置。

      git clone https://github.com/graphdeco-inria/gaussian-splatting --recursive
      • 创建Gaussian Splatting虚拟环境

        使用下面的命令执行,会自动为你创建一个名为 gaussian_splatting 的虚拟环境。并在安装完所需要的依赖库后激活。

        conda env create --file environment.yml
        conda activate gaussian_splatting
        • 下载数据集并训练

          数据集:3D Gaussian Splatting for Real-Time Radiance Field Rendering (inria.fr)。

          scenes数据集包含了4个场景的图片,并已经通过convert.py进行colmap转换,可以直接用来做train.py。

          【3DGS】Ubuntu20.04系统搭建3D Gaussian Splatting及可视化环境

          我新建了一个data文件夹用来放数据和输出结果,然后可以开始训练了(-s后接数据路径-m后接输出路径):

          python train.py -s data/truck/ -m data/truck/output

          训练速度真的很快!其中L1是L1损失;PSNR是图像峰值信噪比,单位是dB,数值越大代表MSE越小,MSE越小代表两张图片越接近,失真就越小,因此PSNR值数值越大表示失真越小。

          【3DGS】Ubuntu20.04系统搭建3D Gaussian Splatting及可视化环境

          生成的output文件夹结构如下(程序会保存训练7000轮与30000轮时的模型):

          【3DGS】Ubuntu20.04系统搭建3D Gaussian Splatting及可视化环境

          • 模型可视化

            更新gcc和g++

            cd /usr/bin
            sudo rm gcc
            sudo ln -s gcc-9 gcc
            sudo rm g++
            sudo ln -s g++-9 g++

            更新cmake

            cmake官方列表:Index of /files (cmake.org) (官方文件说recent version, we used 3.24)

            #下载
            wget https://cmake.org/files/v3.25/cmake-3.25.0-linux-x86_64.tar.gz
            #解压
            tar -zxvf cmake-3.25.0-linux-x86_64.tar.gz
            

            cmake-3.25.0-Linux-x86_64.tar.gz压缩包里的文件是已经编译过的,解压就可以用!

            #将解压出来的包移到 /opt 目录下
            sudo mv cmake-3.25.0-linux-x86_64 /opt/cmake-3.25.0
            #建立软连接
            sudo ln -sf /opt/cmake-3.25.0/bin/* /usr/bin/

            查看版本

            【3DGS】Ubuntu20.04系统搭建3D Gaussian Splatting及可视化环境

            安装eigen3.4.0

            不知道为什么我一直进不去eigen官网https://eigen.tuxfamily.org/index.php?title=Main_Page

            后面找到了这个下载链接:发布 · libeigen / eigen · GitLab

            (写在前面:555安装这个是因为make opencv的时候提示egien版本不够新,所以就用源码安装了一下。但是呢后续安装colmap的时候又提示eigen版本过高咋咋的,所以我又把它卸载了。大家可以根据自己的情况试试,我也是非常的迷惑。)

            【3DGS】Ubuntu20.04系统搭建3D Gaussian Splatting及可视化环境

            #下载
            wget https://gitlab.com/libeigen/eigen/-/archive/3.4.0/eigen-3.4.0.zip
            #解压
            unzip eigen-3.4.0
            #进入文件夹
            cd eigen-3.4.0
            #创建build文件夹并进入
            mkdir build
            cd build
            #cmake构建
            cmake..
            make 
            #安装
            sudo make install
            #复制文件夹(方便以后查找)
            sudo cp -r /usr/local/include/eigen3 /usr/include 
            #查看当前版本
            pkg-config --modversion eigen3

            安装opencv4.9.0

            官网:Releases - OpenCV

            github地址:https://github.com/opencv

            #下载opencv
            git clone https://github.com/opencv/opencv.git
            #进入源码文件夹
            cd opencv
            #下载opencv_contrib
            git clone https://github.com/opencv/opencv_contrib.git

            安装依赖

            sudo apt-get update
            sudo apt-get upgrade
            sudo apt-get install cmake gfortran
            sudo apt-get install python3 python3-dev python3-numpy
            sudo apt-get install libjpeg-dev libtiff-dev libgif-dev
            sudo apt-get install libgstreamer1.0-dev gstreamer1.0-gtk3
            sudo apt-get install libgstreamer-plugins-base1.0-dev gstreamer1.0-gl
            sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev
            sudo apt-get install libgtk2.0-dev libcanberra-gtk*
            sudo apt-get install libxvidcore-dev libx264-dev libgtk-3-dev
            sudo apt-get install libtbb2 libtbb-dev libdc1394-22-dev libv4l-dev
            sudo apt-get install libopenblas-dev libatlas-base-dev libblas-dev
            sudo apt-get install protobuf-compiler
            

             编译安装

            #在opencv文件夹下
            mkdir build
            cd build
            cmake -D WITH_TBB=ON -D WITH_EIGEN=ON -D OPENCV_GENERATE_PKGCONFIG=ON -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules -D OPENCV_ENABLE_NONFREE=ON ..
            sudo make -j8
            sudo make install
            

            环境配置

            #修改文件
            sudo vim /etc/ld.so.conf
            #在文件中输入,并保存退出
            /usr/local/lib
            #执行命令
            sudo ldconfig 
            
            #修改文件
            sudo vim /etc/bash.bashrc
            #在文件中输入,并保存退出
            PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
            export PKG_CONFIG_PATH
            #执行命令
            source /etc/bash.bashrc
            

            查看版本号:pkg-config --modversion opencv4

            【3DGS】Ubuntu20.04系统搭建3D Gaussian Splatting及可视化环境

            安装远程可视化

            #安装依赖
            sudo apt install -y libglew-dev libassimp-dev libboost-all-dev libgtk-3-dev libopencv-dev libglfw3-dev libavdevice-dev libavcodec-dev libeigen3-dev libxxf86vm-dev libembree-dev
            #进入文件夹
            cd SIBR_viewers
            #因为我是20.04版本,所以还要加一句
            #22.04版本不需要加
            git checkout fossa_compatibility
            #构建安装
            cmake -Bbuild . -DCMAKE_BUILD_TYPE=Release
            cmake --build build -j24 --target install

            在这个过程中出现了非常多的问题hai

            大多数都是版本不一致造成的(所以大家可能不会遇到)

            我的解决办法就是遇到一个解决一个 耗时很久

            终于在众多编译的警告下安装成功(看的真是心脏怦怦跳)

            在SIBR_viewers/install/bin文件夹内如下:

            【3DGS】Ubuntu20.04系统搭建3D Gaussian Splatting及可视化环境

            接下来就是见证奇迹的时刻(我用的MobaXterm):

            ./SIBR_gaussianViewer_app -m /home/lyc/3dgs-code/gaussian-splatting/data/truck/output

            【3DGS】Ubuntu20.04系统搭建3D Gaussian Splatting及可视化环境

            • 自采数据集实验

              【3DGS】Ubuntu系统下完成3D Gaussian Splatting自采数据集的重建、评估及可视化-CSDN博客

VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]