Learning to Segment Rigid Motions from Two Frames 代码复现

环境配置

https://github.com/gengshan-y/rigidmask

1.拉取代码

git clone https://github.com/gengshan-y/rigidmask.git
cd rigidmask

2.创建conda环境,修改rigidmask.yml

name: rigidmask
channels:- pytorch- pytorch3d- conda-forge- defaults
dependencies:- python=3.7- numba- tqdm- tbb- joblib- h5py- pytorch=1.7.0- torchvision=0.8.0- cudatoolkit=11.0- pip:- absl-py==0.11.0- cachetools==4.1.1- chardet==3.0.4- cloudpickle==1.6.0- cython==0.29.21- dataclasses==0.6
#    - dcnv2==0.1- future==0.18.2- fvcore==0.1.2.post20201122- google-auth==1.23.0- google-auth-oauthlib==0.4.2- grpcio==1.34.0- idna==2.10- joblib==0.17.0
#    - kornia==0.4.2+74cc0cf- markdown==3.3.3
#    - ngransac==0.0.0- oauthlib==3.1.0# - opencv-python==4.4.0.46- portalocker==2.0.0- protobuf==3.14.0- pyasn1==0.4.8- pyasn1-modules==0.2.8
#    - pycocotools==2.0.2- pydot==1.4.1- pypng==0.0.20- pyyaml==5.3.1- requests==2.25.0- requests-oauthlib==1.3.0- rsa==4.6- tabulate==0.8.7- tensorboard==2.4.0- tensorboard-plugin-wit==1.7.0- termcolor==1.1.0- tqdm==4.54.0- urllib3==1.26.2- werkzeug==1.0.1- yacs==0.1.8- imageio==2.9.0- trimesh==3.9.3
conda env create -f rigidmask.yml
conda activate rigidmask
pip install scipy==1.2.0
pip install timm==0.6.5
pip install pytorch3d-0.2.5
pip install opencv-python==3.4.9.33
pip install opencv-contrib-python==3.4.9.33
conda install -c conda-forge kornia=0.5.3 # install a compatible korna version
python -m pip install detectron2 -f https://dl.fbaipublicfiles.com/detectron2/wheels/cu110/torch1.7/index.html
# sudo apt-get install libopencv-dev
conda install libopencv

DCNv2和ngransac

cd models/networks/DCNv2/; python setup.py install; cd -
cd models/ngransac/; python setup.py install; cd -

测试

1.下载数据集和模型
KITTI-SF: https://s3.eu-central-1.amazonaws.com/avg-kitti/data_scene_flow.zip

Sintel rigidity map : http://files.is.tue.mpg.de/jwulff/mrflow/sintel_rigiditymaps.zip

gdown https://drive.google.com/uc?id=1Up2cPCjzd_HGafw1AB2ijGmiKqaX5KTi -O ./input.tar.gz
gdown https://drive.google.com/uc?id=12C7rl5xS66NpmvtTfikr_2HWL5SakLVY -O ./rigidmask-sf-precomputed.zip
tar -xzvf ./input.tar.gz 
unzip ./rigidmask-sf-precomputed.zip -d precomputed/

2.测试一下

# modelname=rigidmask-sf
# CUDA_VISIBLE_DEVICES=1 
# python submission.py --dataset seq-coral --datapath input/imgs/coral/   --outdir ./weights/$modelname/ --loadmodel ./weights/$modelname/weights.pth --testres 1
# python eval/generate_visual.py --datapath weights/$modelname/seq-coral/ --imgpath input/imgs/coralmodelname=rigidmask-sf
CUDA_VISIBLE_DEVICES=1 
python submission.py --dataset seq-kitti --datapath input/imgs/kitti_2011_09_30_drive_0028_sync_11xx/   --outdir ./weights/$modelname/ --loadmodel ./weights/$modelname/weights.pth --testres 1.2 --refine
python eval/generate_visual.py --datapath weights/$modelname/seq-kitti/ --imgpath input/imgs/kitti_2011_09_30_drive_0028_sync_11xx
# python eval/render_scene.py --inpath weights/rigidmask-sf/seq-kitti/pc0-0000001110.ply

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

什么情况会造成电表不走数?

电表是衡量用电量的重要设备,一旦出现不走数的情况,不仅会影响用户对用电量的准确计算,还可能造成电费纠纷。那么,究竟什么情况下会造成电表不走数呢?接下来,小编来为大家介绍下,一起来看下吧&a…

FPGA时序分析与约束(8)——时序引擎

一、概述 要想进行时序分析和约束,我们需要理解时序引擎究竟是如何进行时序分析的,包括时序引擎如何进行建立分析(setup),保持分析(hold),恢复时间分析(recovery)和移除时间分析(removal)。 二、时序引擎进…

第十三章,枚举与泛型例题

例题1 package 例题;interface SeasonInterface{//四季接口int SPRING 1, SUMMER 2, AUTUMN 3, WINTER 4; }enum SeasonEnum{//四季枚举SPRING,SUMMER,AUTUMN,WINTER }public class 例题1 {//定义方法public static void printSeason1(int season){switch (season) {case …

Java 性能优化之直接使用成员变量 VS 拷贝副本

背景 刷到一个大佬的 CSDN 博客,仔细看了一下性能优化专栏。联想到我们的日常开发工作,由于业务比较简单,很容就忽略性能问题。但是,性能优化的一下常见思路,也早有耳闻。看了一个 Java 性能优化的方法 「减少操作指令…

深度学习中Transformer的简单理解

Transformer 网络结构 Transformer也是由编码器和解码器组成的。 每一层Encoder编码器都由很多层构成的,编码器内又是self-attention和前馈网络构成的。Self-attention是用来做加权平均,前馈网络用来组合。 但是decoder有点不同,多了一层En…

【docker使用Jar自定义镜像:基于windows】

在一个空文件夹中创建Dockerfile 将jar包复制到该路径下 在Dockerfile中添加以下内容 # 指定基础镜像 FROM java:8-alpine# 和java项目的包 COPY ./study_dockerfile-1.0.0.jar /tmp/app.jar# 暴露端口 EXPOSE 8081# 入口,java项目的启动命令 ENTRYPOINT java -jar…

Android 如何在Android studio中快速创建raw和assets文件夹

一 方案 1. 创建raw文件夹 切成project浏览模式——>找到res文件粘贴要放入raw文件夹下的文件。 当然此时raw文件还没有,直接在右侧输入框中出现的路径~\res后面加上\raw即可。 2. 创建assets文件夹 同理在main文件夹下粘贴要放入assets文件夹的文件&#xff0…

nodejs国内镜像及切换版本工具nvm

淘宝 NPM 镜像站(http://npm.taobao.org)已更换域名,新域名: Web 站点:https://npmmirror.com Registry Endpoint:https://registry.npmmirror.com 详见: 【望周知】淘宝 NPM 镜像换域名了&…

插件_日期_lunar-calendar公历农历转换

现在存在某需求&#xff0c;需要将公历、农历日期进行相互转换&#xff0c;在此借助lunar-calendar插件完成。 下载 [1] 通过npm安装 npm install lunar-calendar[2]通过文件方式引入 <script type"text/javascript" src"lib/LunarCalendar.min.js">…

电脑如何录制小视频

如果你想在你的电脑上录制视频分享给你的朋友或者亲人&#xff0c;无论你的电脑是win还是mac&#xff0c;都可以在本篇文章中找到电脑录制视频的详细教程。小编为你们整理了2种不同系统电脑的录制详细流程&#xff0c;继续阅读查看吧&#xff01; 第一部分&#xff1a;windows…

Modelsim 使用教程(4)—— Working With Multiple Libraries

一、概述 在文中&#xff0c;我们将练习使用多个库。在实际的项目开发过程中&#xff0c;我们可能有多个库来组织设计&#xff0c;从第三方源代码访问IP&#xff0c;或者在仿真之间共享公共部分。我们将通过创建一个包含计数器设计单元的资源库来开始本文。接下来&#xff0c;我…

小程序day01

简介: 小程序项目的基本结构 页面的组成部分 一个页面对应一个文件夹&#xff0c;所有有关的内容都放在一起。 JSON配置文件 2.app.json文件 3.project.config.json文件 4.sitemap.json文件 5.页面的.json配置文件 6. 新建小程序页面 7.修改项目首页 小程序代码构成 小程序的宿…