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

news2024/11/25 1:05:00

环境配置

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/coral


modelname=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.coloradmin.cn/o/1162963.html

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

相关文章

HashMap源码分析——Java全栈知识(8)

jdk1.7和jdk1.8的HashMap的原理有一点出入我们就分开讲解: 1、JDK1.7中的HashMap JDK1.7中的HashMap是通过数组加链表的方式存储数据。他的底层维护了一个Entry数组,通过哈希函数的计算出来哈希值,将待填数据根据计算出来的哈希值填入到对应…

memset的用处

这个memset是真的究极坑中坑,这玩意对int数组是压根没法初始化-1,0其他任何数,以后除了-1和0,其他的一概不能用这玩意,这个是真的坑,一旦出了错巨难找 初始-1 初始0 初始1

JTS: 13 Polygonizer 多线合成面

这里写目录标题 版本代码 版本 org.locationtech.jts:jts-core:1.19.0 链接: github 代码 线段 生成之后的面 public class GeometryPolygonization {private static final GeometryFactory geometryFactory new GeometryFactory();private static final Logger LOGGER …

Vue2别踩白块(第二种)

效果图: 点击黑块变灰 游戏结束 功能简介 点击白块直接失败,点击黑块得计一分。 代码逻辑 其实和第一种类似,唯一区别在于此种方式的判断滚动到底部是否有违背点击的黑块的算法。 1、数组存放白块数据:二维数组,数组内部单个元素为一个四位数字的数组,其中1代表黑块,0代…

移动硬盘只读模式怎么取消?

当硬盘驱动器处于为只读模式时,您仅能读取保存在该驱动器中的数据,但却无法添加新数据和修改当前数据。如果您想要对数据做一些改变就需要取消只读模式。那么,移动硬盘只读模式怎么取消? 方案一:使用命令提示符移除只读…

生产环境docke问题排查

查看进程top查看具体的线程 top -H -p 8898如果cpu 过高,就是有问题的地方; 接下来根据docker查看具体的问题 查看dockers容器哪个内存、cpu占用过高 docker stats前言: 有java 启动容器;有jre包启动的容器。如下图 根据cpu很高…

Microsoft 365一键安装、激活!(附安装包)

下面将介绍的是Microsoft 365一键安装。 安装包:https://dnmjun.lanzout.com/iBFGZ1ddxql 安装步骤 1、下载得到安装包后,先解压! 2、双击OfficeSetup开始安装 3、进入正式安装了,耐心等即可。 4、下载过程会需要点时间&#x…

Data Uncertainty Learning in Face Recognition

传统的面部识别方法即使在图片中面部模糊的情况下,耶给出确定的面部识别特征 事实上,这种模糊的代表着数据的不确定性,这个网络向我们展示了在不确定视角下,简单的回归任务和面部识别回归任务共享同样的模式 在这篇论文中&#xf…

数控机床数字孪生可视化平台,推动智能装备水平整体提升

作为智能制造的中重要装备之一,数控机床正朝着智能化、精密化、数字化、可视化的目标发展。数字孪生技术是一种新兴的技术,可以将物理机床仿真为虚拟机床,以实现更高效的数控机床调试。数字孪生是指将实际物理系统与其数字化的虚拟模型相结合…

Confluence未授权管理用户添加漏洞复现 (CVE-2023-22515)

Confluence未授权管理用户添加漏洞复现 【CVE-2023-22515】 一、漏洞描述二、漏洞影响版本三、网络空间测绘查询四、漏洞复现1.手动复现2.自动化复现小龙POC检测nuclei检测 免责声明:请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信…

python脚本-requests模块

python脚本-requests模块 模拟浏览器 import requests url"http://10.9.47.154/php/arrayprac/get.php" headers {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.5195.102 Sa…

创建ABAP数据库表和ABAP字典对象-使用已存在的数据元素增加城市字段04

基于内置域增加一个字段 1.在编辑器中,输入字段的名称,后跟冒号:city:。暂时忽略这个错误。2. 输入/MOC/C并使用自动补全(**Ctrl空格**),输入类型。3. 然后添加一个分号:city: /moc/city;4.在SAP GUI中查看,字段已经新增

Java-数组的定义与使用

本章重点: 1. 理解数组基本概念 2. 掌握数组的基本用法 3. 数组与方法互操作 4. 熟练掌握数组相关的常见问题和代码 1. 数组的基本概念 1.1 为什么要使用数组 public class TestStudent{public static void main(String[] args){int score1 70;int s…

子管理员运营权限管理,实现更加精细的权限控制,管理各个小组的学员、题库和考试

土著刷题Plus专业版,以【录题-分组-刷题-考试】为中心打造一套完备的在线组卷刷题学习平台,自定义品牌名称和Logo,入驻后,您将拥有自己独立的企业级专业运营管理平台。 土著刷题Plus专业版v1.3版本,我们迭代了运营权限…

java--类和对象的一些注意事项

1.类和对象的一些注意事项 ①类名建议用英文单词,首字母大写,满足驼峰模式,且要有意义,比如:Student、Car...(只是建议,你其什么名字都没关系,只是当大部分人都在用这条规矩的时候,…

同时标注分割、检测、多分类属性的工具

1、 https://blog.csdn.net/minstyrain/article/details/82385580/ 2、 https://zhuanlan.zhihu.com/p/656703406

动态规划算法实现------转换(编辑、变换)问题

目录 一、字符串转换问题 1.1问题 1.2确定动态规则(DP、状态转移方程)、初始值 (1)插入操作实现状态转移 (2)删除操作实现状态转移 (3)替换操作实现状态转移 (4)初始值 1.3动态规划算法代码实现 (1)完整代码 (2)程序速度优化 二、矩阵变换问题 2.1问题 2.2矩阵乘法 (1)矩阵相乘…

苹果M3 芯片首个Geekbench跑分出炉 单核成绩比M2 Ultra高9%

在10.31的“来势迅猛”发布会上,苹果正式发布了 M3、M3 Pro、M3 Max 芯片。同时,苹果还发布了搭载 M3 芯片的新一代 24 英寸 iMac,10999 元起。 这是首款采用 3 纳米工艺技术的 PC 芯片,实现了 Apple 芯片史上最大幅的图形处理器架…

SpringBoot 继承 Apollo 应用 简单步骤记录

1、pom.xml 添加依赖&#xff1b; <!--本地项目涉及到该sdk版本冲突时可能需要手动解决版本控制问题--><dependency><groupId>com.ctrip.framework.apollo</groupId><artifactId>apollo-client-tair</artifactId><version>1.4.0<…

c++中httplib使用

httplib文件链接:百度网盘 请输入提取码 提取码:kgnq json解析库:百度网盘 请输入提取码 提取码:oug0 一、获取token 打开postman, 在body这个参数中点击raw,输入用户名和密码 然后需要获取到域名和地址。 c++代码如下: #include "httplib.h" #in…