美文网首页
Mac 下配置并运行DSO(Direct Sparse Odom

Mac 下配置并运行DSO(Direct Sparse Odom

作者: 八千米落空 | 来源:发表于2018-07-11 15:07 被阅读0次

    现将本人之前发在CSDN上的内容搬迁至简书,转载请注明来源https://www.jianshu.com/p/e20c2c0d101d,谢谢。

    目前关于DSO(Direct Sparse Odometry)在Linux下的安装运行网上已经有了很多教程,我是在Mac 上跑的DSO,搭环境的时候在网上没找到Mac下的方法。
    总得讲Mac下的搭建环境和Linux下基本相似,个别的地方有所出入。
    下文中安装依赖包使用的都是brew命令,还没有安装Homebrew的自行安装
    DSO的源代码在https://github.com/JakobEngel/dso,首先我们将dso工程git到电脑上,先cd到想要git的路径

    git clone https://github.com/JakobEngel/dso.git 
    

    然后安装依赖项
    1.安装依赖项
    (1)安装suite-sparse

    brew install suite-sparse
    

    suite-sparse库中包含了很多基础依赖的文件,如果之后cmake的时候提示了 can not find CHOLMOD_INCLUDE_DIR等一般是因为没有安装suite-sparse或者是在cmakelist中没有设置好CHOLMOD等的路径
    **
    (2)安装eigen

    brew install eigen
    

    (3)安装opencv(可选)
    建议安装opencv,一般以后跑各种项目都会需要用到opencv

    brew install opencv
    

    (4)安装Pangolin(可选)
    Pangolin是DSO的可视化库,如果不安装Pangolin就看不到重建的效果了,所以建议安装
    首先安装glew

    brew install brew
    

    安装cmake
    说起来cmake我是又爱又恨,很多时候cmake确实很好用,但是学习cmake又需要一定的学习成本,之后在使用cmake编译的时候出现的问题除了环境没有搭好外应该就是cmakelist中路径设置出现问题,关于cmake路径设置烦请大家自行搜索学习

    brew install cmake
    

    安装Pangolin
    首先进入dso文件下thirdparty文件下

    cd /Users/charlie/dso/thirdparty
    git clone https://github.com/stevenlovegrove/Pangolin.git 
    cd Pangolin 
    mkdir build 
    cd build 
    cmake .. 
    make
    
    

    (5)安装libzip(可选)
    这个包是用来自动解压zip文件的,建议安装不然之后需要自行解压zip文件,很麻烦

    brew install libzip
    cd /Users/charlie/dso/thirdparty
    tar -zxvf libzip-1.1.1.tar.gz 
    cd libzip-1.1.1/ 
    ./configure 
    make 
    make install 
    sudo cp lib/zipconf.h /usr/local/include/zipconf.h
    

    到此环境就搭好啦
    2.编译并运行DSO
    首先cd进dso文件内

    mkdir build 
    cd build 
    cmake .. 
    make 
    

    如果cmake通过并make成功的话在dso/build/lib中有libdso.a库文件,如果上述过程安装了Pangolin的话,在dso/build/bin中有dso_dataset文件,使用data_set可运行数据集。数据集从https://vision.in.tum.de/data/datasets/mono-dataset?redirect=1下载。
    下载完后将数据集复制到build/bin下并解压,以下以01数据集为例,用其他数据集自行修改一下,在终端中运行

    ./dso_dataset files=./sequence_01/images.zip calib=./sequence_01/camera.txt gamma=./sequence_01/pcalib.txt vignette=./sequence_01/vignette.png preset=0 mode=0
    

    若未安装ziplib需要手动解压images.zip并将代码修改为images即可。
    此外,在Mac上我使用的Xcode 9 存在一个问题就是在make的时候出现static_assert failed "Allocator::value_type must be same type as value_type",这个问题通过https://github.com/JakobEngel/dso/issues/111的方法可以解决。

    相关文章

      网友评论

          本文标题:Mac 下配置并运行DSO(Direct Sparse Odom

          本文链接:https://www.haomeiwen.com/subject/pqphpftx.html