DROID-SLAM复现(服务器端复现,yaml创建env,)

news2024/11/17 21:46:19

环境配置

代码地址:https://github.com/princeton-vl/DROID-SLAM

git 代码

官方方法,直接拉取:

git clone --recursive https://github.com/princeton-vl/DROID-SLAM.git

如果从github拉取很慢,可以直接从gitee上拉取同步的代码,那样会快很多,从gitee导入仓库这里就能找到gitee同步的仓库
在这里插入图片描述
拉取代码

git clone https://gitee.com/ssmem/DROID-SLAM

创建环境

我在服务器端,无法可视化界面,就选择如下的yaml文件进行conda环境创建:

conda env create -f environment_novis.yaml

直接使用原本的yaml文件不行,我在github的issue里找到了修改为适合自己这个的方法,修改environment_novis.yaml其中的内容为:

name: droidenv
channels:
  - rusty1s
  - pytorch
  - nvidia
  - conda-forge
  - defaults
dependencies:
  - _libgcc_mutex=0.1=conda_forge
  - _openmp_mutex=4.5=2_kmp_llvm
  - absl-py=1.4.0=pyhd8ed1ab_0
  - aiohttp=3.8.4=py39h72bdee0_0
  - aiosignal=1.3.1=pyhd8ed1ab_0
  - alsa-lib=1.2.8=h166bdaf_0
  - aom=3.5.0=h27087fc_0
  - async-timeout=4.0.2=pyhd8ed1ab_0
  - attr=2.5.1=h166bdaf_1
  - attrs=23.1.0=pyh71513ae_1
  - blas=2.116=mkl
  - blas-devel=3.9.0=16_linux64_mkl
  - blinker=1.6.2=pyhd8ed1ab_0
  - brotli=1.0.9=h166bdaf_8
  - brotli-bin=1.0.9=h166bdaf_8
  - brotlipy=0.7.0=py39hb9d737c_1005
  - bzip2=1.0.8=h7f98852_4
  - c-ares=1.19.0=hd590300_0
  - ca-certificates=2023.5.7=hbcca054_0
  - cachetools=5.3.0=pyhd8ed1ab_0
  - cairo=1.16.0=ha61ee94_1014
  - certifi=2023.5.7=pyhd8ed1ab_0
  - cffi=1.15.1=py39he91dace_3
  - charset-normalizer=2.1.1=pyhd8ed1ab_0
  - click=8.1.3=unix_pyhd8ed1ab_2
  - colorama=0.4.6=pyhd8ed1ab_0
  - contourpy=1.0.7=py39h4b4f3f3_0
  - cryptography=40.0.2=py39h079d5ae_0
  - cudatoolkit=11.3.1=ha36c431_9
  - cycler=0.11.0=pyhd8ed1ab_0
  - dbus=1.13.6=h5008d03_3
  - expat=2.5.0=hcb278e6_1
  - ffmpeg=5.1.2=gpl_h8dda1f0_106
  - fftw=3.3.10=nompi_hc118613_107
  - font-ttf-dejavu-sans-mono=2.37=hab24e00_0
  - font-ttf-inconsolata=3.000=h77eed37_0
  - font-ttf-source-code-pro=2.038=h77eed37_0
  - font-ttf-ubuntu=0.83=hab24e00_0
  - fontconfig=2.14.2=h14ed4e7_0
  - fonts-conda-ecosystem=1=0
  - fonts-conda-forge=1=0
  - fonttools=4.39.4=py39hd1e30aa_0
  - freeglut=3.2.2=h9c3ff4c_1
  - freetype=2.12.1=hca18f0e_1
  - frozenlist=1.3.3=py39hb9d737c_0
  - gettext=0.21.1=h27087fc_0
  - glib=2.76.2=hfc55251_0
  - glib-tools=2.76.2=hfc55251_0
  - gmp=6.2.1=h58526e2_0
  - gnutls=3.7.8=hf3e180e_0
  - google-auth=2.18.1=pyh1a96a4e_0
  - google-auth-oauthlib=1.0.0=pyhd8ed1ab_0
  - graphite2=1.3.13=h58526e2_1001
  - grpcio=1.54.2=py39h227be39_2
  - gst-plugins-base=1.22.0=h4243ec0_2
  - gstreamer=1.22.0=h25f0c4b_2
  - gstreamer-orc=0.4.33=h166bdaf_0
  - harfbuzz=6.0.0=h8e241bc_0
  - hdf5=1.14.0=nompi_hb72d44e_103
  - icu=70.1=h27087fc_0
  - idna=3.4=pyhd8ed1ab_0
  - importlib-metadata=6.6.0=pyha770c72_0
  - importlib-resources=5.12.0=pyhd8ed1ab_0
  - importlib_resources=5.12.0=pyhd8ed1ab_0
  - jack=1.9.22=h11f4161_0
  - jasper=2.0.33=h0ff4b12_1
  - jpeg=9e=h0b41bf4_3
  - keyutils=1.6.1=h166bdaf_0
  - kiwisolver=1.4.4=py39hf939315_1
  - krb5=1.20.1=h81ceb04_0
  - lame=3.100=h166bdaf_1003
  - lcms2=2.15=hfd0df8a_0
  - ld_impl_linux-64=2.40=h41732ed_0
  - lerc=4.0.0=h27087fc_0
  - libabseil=20230125.2=cxx17_h59595ed_2
  - libaec=1.0.6=hcb278e6_1
  - libblas=3.9.0=16_linux64_mkl
  - libbrotlicommon=1.0.9=h166bdaf_8
  - libbrotlidec=1.0.9=h166bdaf_8
  - libbrotlienc=1.0.9=h166bdaf_8
  - libcap=2.67=he9d0100_0
  - libcblas=3.9.0=16_linux64_mkl
  - libclang=15.0.7=default_h7634d5b_2
  - libclang13=15.0.7=default_h9986a30_2
  - libcups=2.3.3=h36d4200_3
  - libcurl=8.1.0=h409715c_0
  - libdb=6.2.32=h9c3ff4c_0
  - libdeflate=1.17=h0b41bf4_0
  - libdrm=2.4.114=h166bdaf_0
  - libedit=3.1.20191231=he28a2e2_2
  - libev=4.33=h516909a_1
  - libevent=2.1.10=h28343ad_4
  - libexpat=2.5.0=hcb278e6_1
  - libffi=3.4.2=h7f98852_5
  - libflac=1.4.2=h27087fc_0
  - libgcc-ng=12.2.0=h65d4601_19
  - libgcrypt=1.10.1=h166bdaf_0
  - libgfortran-ng=12.2.0=h69a702a_19
  - libgfortran5=12.2.0=h337968e_19
  - libglib=2.76.2=hebfc3b9_0
  - libglu=9.0.0=he1b5a44_1001
  - libgpg-error=1.46=h620e276_0
  - libgrpc=1.54.2=hb20ce57_2
  - libhwloc=2.9.1=hd6dc26d_0
  - libiconv=1.17=h166bdaf_0
  - libidn2=2.3.4=h166bdaf_0
  - liblapack=3.9.0=16_linux64_mkl
  - liblapacke=3.9.0=16_linux64_mkl
  - libllvm15=15.0.7=hadd5161_1
  - libnghttp2=1.52.0=h61bc06f_0
  - libnsl=2.0.0=h7f98852_0
  - libogg=1.3.4=h7f98852_1
  - libopencv=4.7.0=py39h2ca4621_1
  - libopus=1.3.1=h7f98852_1
  - libpciaccess=0.17=h166bdaf_0
  - libpng=1.6.39=h753d276_0
  - libpq=15.3=hbcd7760_1
  - libprotobuf=3.21.12=h3eb15da_0
  - libsndfile=1.2.0=hb75c966_0
  - libsqlite=3.42.0=h2797004_0
  - libssh2=1.10.0=hf14f497_3
  - libstdcxx-ng=12.2.0=h46fd767_19
  - libsystemd0=253=h8c4010b_1
  - libtasn1=4.19.0=h166bdaf_0
  - libtiff=4.5.0=h6adf6a1_2
  - libtool=2.4.7=h27087fc_0
  - libudev1=253=h0b41bf4_1
  - libunistring=0.9.10=h7f98852_0
  - libuuid=2.38.1=h0b41bf4_0
  - libuv=1.44.2=h166bdaf_0
  - libva=2.18.0=h0b41bf4_0
  - libvorbis=1.3.7=h9c3ff4c_0
  - libvpx=1.11.0=h9c3ff4c_3
  - libwebp-base=1.3.0=h0b41bf4_0
  - libxcb=1.13=h7f98852_1004
  - libxkbcommon=1.5.0=h79f4944_1
  - libxml2=2.10.3=hca2bb57_4
  - libzlib=1.2.13=h166bdaf_4
  - llvm-openmp=16.0.4=h4dfa4b3_0
  - lz4-c=1.9.4=hcb278e6_0
  - markdown=3.4.3=pyhd8ed1ab_0
  - markupsafe=2.1.2=py39h72bdee0_0
  - matplotlib=3.7.1=py39hf3d152e_0
  - matplotlib-base=3.7.1=py39he190548_0
  - metis=5.1.0=h58526e2_1006
  - mkl=2022.1.0=h84fe81f_915
  - mkl-devel=2022.1.0=ha770c72_916
  - mkl-include=2022.1.0=h84fe81f_915
  - mpfr=4.2.0=hb012696_0
  - mpg123=1.31.3=hcb278e6_0
  - multidict=6.0.4=py39h72bdee0_0
  - munkres=1.1.4=pyh9f0ad1d_0
  - mysql-common=8.0.32=hf1915f5_2
  - mysql-libs=8.0.32=hca2cd23_2
  - ncurses=6.3=h27087fc_1
  - nettle=3.8.1=hc379101_1
  - nspr=4.35=h27087fc_0
  - nss=3.89=he45b914_0
  - numpy=1.24.3=py39h6183b62_0
  - oauthlib=3.2.2=pyhd8ed1ab_0
  - opencv=4.7.0=py39hf3d152e_1
  - openh264=2.3.1=hcb278e6_2
  - openjpeg=2.5.0=hfec8fc6_2
  - openssl=3.1.0=hd590300_3
  - p11-kit=0.24.1=hc5aa10d_0
  - packaging=23.1=pyhd8ed1ab_0
  - pcre2=10.40=hc3806b6_0
  - pillow=9.4.0=py39h2320bf1_1
  - pip=23.1.2=pyhd8ed1ab_0
  - pixman=0.40.0=h36c2ea0_0
  - platformdirs=3.5.1=pyhd8ed1ab_0
  - ply=3.11=py_1
  - pooch=1.7.0=pyha770c72_3
  - protobuf=4.21.12=py39h227be39_0
  - pthread-stubs=0.4=h36c2ea0_1001
  - pulseaudio=16.1=hcb278e6_3
  - pulseaudio-client=16.1=h5195f5e_3
  - pulseaudio-daemon=16.1=ha8d29e2_3
  - py-opencv=4.7.0=py39hcca971b_1
  - pyasn1=0.4.8=py_0
  - pyasn1-modules=0.2.7=py_0
  - pycparser=2.21=pyhd8ed1ab_0
  - pyjwt=2.7.0=pyhd8ed1ab_0
  - pyopenssl=23.1.1=pyhd8ed1ab_0
  - pyparsing=3.0.9=pyhd8ed1ab_0
  - pyqt=5.15.7=py39h5c7b992_3
  - pyqt5-sip=12.11.0=py39h227be39_3
  - pysocks=1.7.1=pyha2e5f31_6
  - python=3.9.16=h2782a2a_0_cpython
  - python-dateutil=2.8.2=pyhd8ed1ab_0
  - python_abi=3.9=3_cp39
  - pytorch=1.10.2=py3.9_cuda11.3_cudnn8.2.0_0
  - pytorch-mutex=1.0=cuda
  - pytorch-scatter=2.0.9=py39_torch_1.10.0_cu113
  - pyu2f=0.1.5=pyhd8ed1ab_0
  - pyyaml=6.0=py39hb9d737c_5
  - qt-main=5.15.8=h5d23da1_6
  - re2=2023.03.02=h8c504da_0
  - readline=8.2=h8228510_1
  - requests=2.29.0=pyhd8ed1ab_0
  - requests-oauthlib=1.3.1=pyhd8ed1ab_0
  - rsa=4.9=pyhd8ed1ab_0
  - scipy=1.10.1=py39h6183b62_3
  - setuptools=67.7.2=pyhd8ed1ab_0
  - sip=6.7.9=py39h3d6467e_0
  - six=1.16.0=pyh6c4a22f_0
  - suitesparse=5.10.1=h9e50725_1
  - svt-av1=1.4.1=hcb278e6_0
  - tbb=2021.9.0=hf52228f_0
  - tensorboard=2.13.0=pyhd8ed1ab_0
  - tensorboard-data-server=0.7.0=py39h079d5ae_0
  - tk=8.6.12=h27826a3_0
  - toml=0.10.2=pyhd8ed1ab_0
  - tomli=2.0.1=pyhd8ed1ab_0
  - torchaudio=0.10.2=py39_cu113
  - torchvision=0.11.3=py39_cu113
  - tornado=6.3.2=py39hd1e30aa_0
  - tqdm=4.65.0=pyhd8ed1ab_1
  - typing-extensions=4.5.0=hd8ed1ab_0
  - typing_extensions=4.5.0=pyha770c72_0
  - tzdata=2023c=h71feb2d_0
  - unicodedata2=15.0.0=py39hb9d737c_0
  - urllib3=1.26.15=pyhd8ed1ab_0
  - werkzeug=2.3.4=pyhd8ed1ab_0
  - wheel=0.40.0=pyhd8ed1ab_0
  - x264=1!164.3095=h166bdaf_2
  - x265=3.5=h924138e_3
  - xcb-util=0.4.0=h166bdaf_0
  - xcb-util-image=0.4.0=h166bdaf_0
  - xcb-util-keysyms=0.4.0=h166bdaf_0
  - xcb-util-renderutil=0.3.9=h166bdaf_0
  - xcb-util-wm=0.4.1=h166bdaf_0
  - xkeyboard-config=2.38=h0b41bf4_0
  - xorg-fixesproto=5.0=h7f98852_1002
  - xorg-inputproto=2.3.2=h7f98852_1002
  - xorg-kbproto=1.0.7=h7f98852_1002
  - xorg-libice=1.0.10=h7f98852_0
  - xorg-libsm=1.2.3=hd9c2040_1000
  - xorg-libx11=1.8.4=h0b41bf4_0
  - xorg-libxau=1.0.9=h7f98852_0
  - xorg-libxdmcp=1.1.3=h7f98852_0
  - xorg-libxext=1.3.4=h0b41bf4_2
  - xorg-libxfixes=5.0.3=h7f98852_1004
  - xorg-libxi=1.7.10=h7f98852_0
  - xorg-libxrender=0.9.10=h7f98852_1003
  - xorg-renderproto=0.11.1=h7f98852_1002
  - xorg-xextproto=7.3.0=h0b41bf4_1003
  - xorg-xproto=7.0.31=h7f98852_1007
  - xz=5.2.6=h166bdaf_0
  - yaml=0.2.5=h7f98852_2
  - yarl=1.9.1=py39hd1e30aa_0
  - zipp=3.15.0=pyhd8ed1ab_0
  - zlib=1.2.13=h166bdaf_4
  - zstd=1.5.2=h3eb15da_6
prefix: /.../.conda/envs/droidenv

这样就不会一直卡在solving environment了

继续安装

pip install evo --upgrade --no-binary evo
pip install gdown

编译扩展

python setup.py install

测试

下载模型droid.pth

找到 tools/download_sample_data.sh 脚本里的数据集,下载需要的数据集,解压后放在data里

运行 abandonedfactory 数据集下的测试,在服务器下运行,不可视化

python demo.py --imagedir=data/abandonedfactory --calib=calib/tartan.txt --stride=2 --disable_vis

想要保存重建的深度图,需要额外再加上 --reconstruction_path,运行

python demo.py --imagedir=data/abandonedfactory --calib=calib/tartan.txt --stride=2 --disable_vis --reconstruction_path ./result

这样结果就会存在reconstructions/result里面

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/972373.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

code阶段——gitgitlab安装

在code阶段,我们需要将不同版本的代码存储到一个仓库中,常见的版本控制工具就是SVN或者Git,这里我们采用Git作为版本控制工具,GitLab作为远程仓库。 Git安装 https://git-scm.com/(傻瓜式安装) GitLab安…

【业务功能篇97】微服务-springcloud-springboot-电商购物车模块-获取当前登录用户的购物车信息

购物车功能 一、购物车模块 1.创建cart服务 我们需要先创建一个cart的微服务&#xff0c;然后添加相关的依赖&#xff0c;设置配置&#xff0c;放开注解。 <dependencies><dependency><groupId>com.msb.mall</groupId><artifactId>mall-commo…

docker使用(一)生成,启动,更新(容器暂停,删除,再生成)

docker使用&#xff08;一&#xff09; 编写一个 Dockerfile构建镜像构建失败构建成功 运行镜像运行成功 修改代码后再次构建请不要直接进行构建&#xff0c;要将原有的旧容器删除或暂停停止成功删除成功再次构建且构建成功&#xff01; 要创建一个镜像&#xff0c;你可以按照以…

OpenCV(十八):图像直方图

目录 1.直方图统计 2.直方图均衡化 3.直方图匹配 1.直方图统计 直方图统计是一种用于分析图像或数据的统计方法&#xff0c;它通过统计每个数值或像素值的频率分布来了解数据的分布情况。 在OpenCV中&#xff0c;可以使用函数cv::calcHist()来计算图像的直方图。 calcHist(…

Docker使用数据卷挂载进行数据存储与共享

一、挂载和数据卷 在 Docker 中&#xff0c;挂载&#xff08;Mounting&#xff09;和数据卷&#xff08;Data Volumes&#xff09;是用于在容器和宿主机之间共享数据的机制。 挂载&#xff1a;将宿主机文件系统中的目录或文件与容器中的目录或文件进行关联的过程。数据卷&…

Linux系统--基础IO

文章目录 文件的概念 C语言 文件 IO 相关操作 系统调用接口 文件描述符 一、文件的概念 1.在系统角度上来说 文件内容属性 如果在磁盘上建立一个为0KB的文件&#xff0c;磁盘上也会存储文件的属性。(因为文件的属性也是数据). 文件的操作 1.一种是对于文件内容做操作。2.另…

Solidworks PDM二次开发---文件相关操作

本文介绍如何把文件增加到库&#xff0c;并检入。 上一篇文章简单的讲解了文件夹的创建等操作&#xff0c;这一次来讲文件相关操作&#xff0c;相对来说比较重要。界面 漂亮的界面&#xff0c;不接受反驳&#xff01; 代码 private void btnFile_Click(object sender, Even…

MASM32编程状态栏显示字符动画,按钮跑马灯

一、需求分析 由于sysInfo扫描的内容比较多&#xff0c;打算为它增加一点动画效果&#xff0c;提醒用户程序正在运行&#xff0c;耐心等待。 二、构建测试窗口 测试窗口上放置有一个按钮&#xff0c;按钮上的初始文字是“开始扫描”&#xff1b;并使用状态栏&#xff0c;状态…

喜报 | 再度中标南网项目!AR 开启电力远程运维新智慧

近日&#xff0c;中国南方电网官网发布《2023年南方电网数字平台科技 (广东)有限公司物资品控远程协助软件采购项目中标公告》&#xff0c;ALVA Systems 凭借 ALVA Rainbow 创新应用竞得此标。 随着相关技术的逐步成熟&#xff0c;基础问题远程化解决已经在工业领域广泛应用。 …

Python中的装饰器

迷途小书童的 Note 读完需要 5分钟 速读仅需 2 分钟 装饰器是一个非常有用而又常被误解的功能&#xff0c;可以让我们在不修改函数或类的源代码情况下给它们提供扩展功能。本文将通过具体示例带你深入理解 Python 装饰器的用法。 1 装饰器基础 装饰器本质上是一个函数&#xff…

SpringMVC的简介及工作流程

一.简介 Spring MVC是一个基于Java的开发框架&#xff0c;用于构建灵活且功能强大的Web应用程序。它是Spring Framework的一部分&#xff0c;提供了一种模型-视图-控制器&#xff08;Model-View-Controller&#xff0c;MVC&#xff09;的设计模式&#xff0c;用于组织和管理Web…

职责链设计模式

职责链模式又叫命令链、CoR、Chain of Command、Chain of Responsibility。 该模式允许你将请求沿着处理者链进行发送&#xff0c;使多个对象都可以处理请求&#xff0c;每个对象有权决定处理或传递给下个节点。 客户端&#xff1a;用来定义职责链条。 处理者&#xff1a;声明…

基于Vgg-Unet模型自动驾驶场景检测

1.VGG VGG全称是Visual Geometry Group属于牛津大学科学工程系&#xff0c;其发布了一些列以VGG开头的卷积网络模型&#xff0c;可以应用在人脸识别、图像分类等方面,VGG的输入被设置为大小为224x244的RGB图像。为训练集图像上的所有图像计算平均RGB值&#xff0c;然后将该图像…

vscode上搭建go开发环境

前言 Go语言介绍&#xff1a; Go语言适合用于开发各种类型的应用程序&#xff0c;包括网络应用、分布式系统、云计算、大数据处理等。由于Go语言具有高效的并发处理能力和内置的网络库&#xff0c;它特别适合构建高并发、高性能的服务器端应用。以下是一些常见的Go语言应用开发…

静态路由配置出错记录

根据实验手册&#xff0c;配置静态路由&#xff0c;但是怎么也排除不了错误。 最后发现&#xff0c;是自己的默认网关配置错误了。但是使用模拟器抓包看到的&#xff0c;也没有提示网关信息啊。

docker desktop如何一键进入容器内部

对着对应的容器 点击 view files

电压互感器倍频感应耐压试验注意事项

注意事项 被试 PT 在三倍频耐压时呈容性&#xff0c; 对于 110kV、 220kV 互感器进行感应耐压试验时&#xff0c;应在开口 a D x D 端子间励磁&#xff0c; 可在 PT 二次绕组 ax 上接补偿电感&#xff0c; 对于 35kV 电压互感器励磁电压一般加至二次 a—x 间&#xff1b;三倍频…

测开之 Python 自动化全栈工程师 + 性能专项

功能测试基础 接口测试基础 接口的通信原理与本质 cookie、session、token 详解 接口测试的意义与测试方法 接口测试用例的设计 app 测试 app 流程测试 app 兼容性测试 app 稳定性测试 app 性能专项测试 app 抓包 UI 功能测试基础 常见功能测试方法&#xff1a;等价类&…

JVM | 垃圾回收器(GC)- Java内存管理的守护者

引言 在编程世界中&#xff0c;有效的内存管理是至关重要的。这不仅确保了应用程序的稳定运行&#xff0c;还可以大大提高性能和响应速度。作为世界上最受欢迎的编程语言之一&#xff0c;通过Java虚拟机内部的垃圾回收器组件来自动管理内存&#xff0c;是成为之一的其中一项必…

极米RS Pro 3投影参数是多少?极米投影仪RS Pro 3好用吗?

近年来&#xff0c;随着投影技术的快速发展&#xff0c;越来越多的用户开始选择投影产品来打造家庭影院&#xff0c;为生活带来新的观影体验。但要想打造一个家庭影院&#xff0c;选到一台合适的投影仪却并不是一件容易的事&#xff0c;因为家庭影院对画面的亮度、色彩和观影舒…