码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 实验笔记之——DPVO(Deep Patch Visual Odometry)


    本博文记录本文测试DPVO的过程,本博文仅供本人学习记录用~

    《Deep Patch Visual Odometry》

    代码链接:GitHub - princeton-vl/DPVO: Deep Patch Visual Odometry

    目录

    配置过程

    测试记录

    代码解读

    参考资料


    配置过程

    首先下载代码以及创建conda环境

    1. git clone https://github.com/princeton-vl/DPVO.git --recursive
    2. cd DPVO
    3. conda env create -f environment.yml
    4. conda activate dpvo

    然后安装eigen以及下载DPVO对应的模型及数据,同时安装DPVO

    1. wget https://gitlab.com/libeigen/eigen/-/archive/3.4.0/eigen-3.4.0.zip
    2. unzip eigen-3.4.0.zip -d thirdparty
    3. # install DPVO
    4. pip install .
    5. # download models and data (~2GB)
    6. ./download_models_and_data.sh

    安装成功~

    可视化工具,采用Pangolin Viewer

    1. ./Pangolin/scripts/install_prerequisites.sh
    2. mkdir Pangolin/build && cd Pangolin/build
    3. cmake ..
    4. make -j8
    5. sudo make install
    6. cd ../..

    然后安装viewer

    pip install ./DPViewer

    采用MobaXterm来运行下面代码从而观看demo

    1. conda activate dpvo
    2. python demo.py \
    3. --imagedir=<path to image directory or video> \
    4. --calib=<path to calibration file> \
    5. --viz # enable visualization
    6. --plot # save trajectory plot
    7. --save_reconstruction # save point cloud as a .ply file
    8. --save_trajectory # save the predicted trajectory as .txt in TUM format
    9. Iphone数据
    10. CUDA_VISIBLE_DEVICES=3 python demo.py \
    11. --imagedir=movies/IMG_0482.MOV \
    12. --calib=calib/iphone.txt\
    13. --viz \
    14. --plot \
    15. --save_reconstruction \
    16. --save_trajectory
    17. CUDA_VISIBLE_DEVICES=2 python demo.py --imagedir=mav0/cam0/data --calib=calib/euroc.txt --stride=2 --plot --viz

    如果报错ImportError: libpango_windowing.so: cannot open shared object file: No such

    那么安装sudo ldconfig。

    如果出现错误:

    ImportError: /home/gwp/miniconda3/envs/dpvo/bin/../lib/libstdc++.so.6: version `GLIBCXX_3.4.30' not found (required by /usr/local/lib/libpango_core.so)
    先使用"ll"命令查看一下该文件的概况:

    然后用下面命令查看

     strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX
    

    可以发现,GLIBCXX_3.4.30是存在的。既然已经存在了上述目标文件,所以只需要重新创建软连接使得anaconda3 能够识别到这个目标文件就可以了。

    1. ln -sf /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /home/gwp/miniconda3/envs/dpvo/bin/../lib/libstdc++.so.6

    然后再次运行,就没有报错了~

    但是运行会出现:Framebuffer with requested attributes not available. Using available framebuffer. You may see visual artifacts.Segmentation fault (core dumped)

    好像是类似ORBSLAM2的问题导致的

    因此,搜全文-march=native,并注释掉。再试试。还是一样的错误。从博客(DPVO服务器端复现-CSDN博客)中发现可能是原来的可视化有点问题~~~

    然后再运行就可以了~读者可选用博客(DPVO服务器端复现-CSDN博客)提供的代码或者下面提供的代码。均可实现运行

    https://github.com/KwanWaiPang/DPVO_commenticon-default.png?t=N7T8https://github.com/KwanWaiPang/DPVO_comment

    测试记录

    python demo.py --imagedir=movies/IMG_0492.MOV --calib=calib/iphone.txt --stride=5 --viz
    

    DPVO testing 0482

    DPVO testing 0497

    DPVO testing 0493

    DPVO testing 0492

    代码解读

    代码的注释以及理解的笔记截图见下面仓库:

    GitHub - KwanWaiPang/DPVO_commentContribute to KwanWaiPang/DPVO_comment development by creating an account on GitHub.icon-default.png?t=N7T8https://github.com/KwanWaiPang/DPVO_comment

    参考资料

    DPVO服务器端复现-CSDN博客

    如何解决 :libstdc++.so.6: version `GLIBCXX_3.4.30‘ not found-CSDN博客

  • 相关阅读:
    私有化轻量级持续集成部署方案--06-私有镜像仓库-Harbor
    IO 多路复用
    分享从零开始学习网络设备配置--任务3.7 使用动态路由RIPv2实现网络连通
    在 MIT 教了大半辈子书,他学会 10 件事
    clang vectorization
    C++【STL】【STL容器的使用与实现】
    Feign远程调用
    Mockito -- 如何Mock Util类中的static 方法?
    C语言题目练习
    Hadoop集群简介
  • 原文地址:https://blog.csdn.net/gwplovekimi/article/details/139436796
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号