三维视觉论文阅读:MVSNet2018多视立体匹配

2023-05-16

论文

MVSNet: Depth Inference for Unstructured Multi-view Stereo

摘要

MVSNet是深度学习多视立体匹配的开山之作(我个人认为),虽然其在网络结构上与双目立体匹配并没有太大的改进,但是其解决了如何进行多视下怎么可微的进行cost volumn构建。

方法

下图展示了MVSNet的主要结构,如果排除掉cost volumn的构建方法,可以说其与GCNet/PSMNet可以说没啥太大的区别;总体来说,MVSNet也可以分为四个部分,哈斯特征提取、cost volumn构建、cost volumn代价聚合,以及深度优化。
在这里插入图片描述

1. 特征提取

此模块无需多言,与其他方法并没有什么太大的区别。

2. cost volumn构建

多张影像进行深度估计,此处有两种方法:第一种先两张两张的做,转化成双目立体匹配,最后融合;第二种,选定一张reference image,估计其深度,同时与多张source image匹配,最后将多个reference image的点云融合起来,得到最终的结果。
相比而言,第二种方法比较优雅,再传统的方法领域里也有非常多的成果(例如colmap等等)。本篇文章也是基于这个思路,但是这个时候就比较头痛了,应该怎么高效的可微的构建cost volumn呢?因为,显然根据不同的深度来投影并计算特征的效率是很低的。
这个时候,MVSNet就充分应用了一个“多视图几何”的常识,假如多张影像共同可见一个平面,那么这些影像之间存在一个单应变换(证明百度即可)。MVSNet假设物方空间都是一系列与Reference Image平行的平面,平面的深度由近及远;然后根据影像之间的位姿和深度,即可求出当前深度下,reference image和source image之间的单应变换,从而高效的完成cost volumn的构建。单应变换的计算公式如下
在这里插入图片描述
考虑reference image有多个source image,那么就可以构建多个cost volumn。最后这些cost volumn通过以下公式合并成一个cost volumn,就是就是方差。
在这里插入图片描述

3. cost代价聚合和深度优化

cost的代价聚合模式,就是一个3D UNet,没啥好说的。最后回归出深度也用的是GCNet那种方式,soft max,公式如下
在这里插入图片描述
深度优化就没啥好说的了,就是导向滤波。

训练及后处理

loss没啥好说的,就是直接比较即可,公式如下
在这里插入图片描述
MVSNet还有很多的后处理过程,主要是多张reference image的深度图融合,这里边有滤波啊、融合啊等等之类的东西。

结果

MVSNet开创了一个新的领域,取得的效果也非常不错。唯一的缺点就是,对GPU要求实在是太高了。。。
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

三维视觉论文阅读:MVSNet2018多视立体匹配 的相关文章

  • libcurl API介绍及简单编程

    libcurl编程 xff0c 主要采用callback function 回调函数 的形式完成传输任务 xff0c 用户在启动传输前设置好各类参数 和回调函数 xff0c 当满足条件时 libcurl 将调用用户的回调函数实现特定功能 下
  • git patch

    git patch用于将所做的修改进行打包 xff0c 然后再别的分支或给别人可以直接应用该patch xff0c 达到修改复用的效果 diff命令 git diff gt xxxx patch git diff xx file gt xx
  • WIFI知识 - MCS简介

    WIFI知识 MCS简介 MCS简介 802 11n 射频速率的配置通过 MCS xff08 Modulation and Coding Scheme xff0c 调制与编码策略 xff09 索引值实现 MCS 调制编码表是 802 11n
  • 802.11 QoS

    到了空调西瓜WiFi的夏日时光了 xff0c 家里用网的人一多 xff0c 难免会抢占起宽带资源来 有没有什么办法 xff0c 让家里所有人都可以得到一个比较不错的网络体验呢 xff1f 那今天你可以试试打开你路由器的QoS功能了 xff0
  • Wireshark抓包分析WLAN连接过程

    一个完整的WLAN连接过程 xff1a 一 xff1a WLAN扫描 主动扫描 xff1a 两种方式 xff1a xff08 1 xff09 向各个信道发出Probe Request帧并制定某个SSID xff0c 只有能够提供指定SSID
  • 802.11X用户身份验证 EAPOL

    EAPOL是什么 sogou com 802 11X用户身份验证 走看看 zoukankan com EAPOl的由来是基于802 1x网络访问认证技术 xff1a 802 1x协议起源于802 11协议 xff0c 后者是IEEE的无线局
  • git reset

    git reset 三种模式分别为 mixed 默认 soft hard 直接看官方的解释 其中HEAD代表版本库 xff0c index代表暂存区 xff0c 另外还有一个我们改代码的工作区 mixed 回退版本库 xff0c 暂存区 m
  • git reset还是git revert?

    reset和revert都可以用来回滚代码 但他们是有区别的 xff0c 准确来说 xff0c reset是用来 34 回退 34 到某个提交 xff0c 而revert是用来 34 撤销 34 某次或者某几次提交 xff0c 撤销也会作为
  • PR and MR

    GitHub 的 Pull Request 是指什么意思 xff1f 作者 xff1a 知乎用户 链接 xff1a https www zhihu com question 21682976 answer 79489643 来源 xff1a
  • python--基础知识点--subprocess模块

    subprocess 模块的介绍与使用 一 介绍 subprocess模块可以生成新的进程 xff0c 连接到它们的input output error管道 xff0c 同时获取它们的返回码 二 基本操作方法 1 subprocess的ru
  • Homebus(HBS)通信协议学习

    HBS通信主控与从机连接示意图 两根HBS总线之间的电压差大约为15V xff0c 差分信号分别加载到HBS的这两根总线上 用示波器的探头测得 xff08 探头的地在任意一根HBS总线上 xff0c 探头的信号输入端在另一根HBS总线上 x
  • RSA参数及RSA用法

    RSA算法n e d三个参数的意义 n为q p乘机 e为加密质数数值 d为解密质数数值 其中 e d p 1 q 1 61 1余数为1 其中p和q为2个足够大的素数 RSA的算法涉及三个参数 xff0c n e1 e2 其中 xff0c n
  • STM32的CAN

    一 CAN控制器简介 STM32自带了基本扩展CAN外设 xff0c 又称bxCAN xff0c bxCAN的特点如下 xff1a 1 支持CAN协议2 0A和2 0B主动模式 2 波特率最高达1Mbps 3 支持时间触发通信 4 具有3个
  • VSCode使用ssh密钥,不用每次输密码登录服务器的方法

    如果已经用ssh keygen 生成密钥了 xff0c 则跳过生成密钥这一步 客户端机器生成密钥 也就是vscode运行的机器 xff0c 在终端任意路径下输入 ssh keygen 生成密钥 本地 ssh keygen 默认目录在 ssh
  • Wi-Fi 802.11协议 管理帧 之 Auth帧详解

    Auth xff1a 链路认证 链路认证阶段主要是 AP 用来确认 Station 是否是 802 11 设备 xff0c 确认彼此是否可以正常通讯 xff0c 身份认证一般有为两种方式 xff0c 一种是开放系统认证 xff0c 另一种是
  • 802.11 协议介绍

    802 11协议基础 前言 OSI七层网络 开放式系统互联模型 xff08 Open System Interconnection Model xff09 是一种概念模型 xff0c 由国际标准化组织提出 xff0c 一个试图使各种计算机在
  • 802.11标准deauth报文的reason code中文版

    代码 原因 0 保留 1非特定原因 2以前的身份验证不再有效 3由于发送STA离开 xff08 或已经离开 xff09 ibs或ESS而被取消身份验证 4由于不活动而解除关联 5已解除关联 xff0c 因为AP无法处理所有当前关联的STA
  • 虚拟机ubuntu单向ping通

    可以单向ping通 xff0c 到win端查看VMnet8 xff0c 发现VMnet8不见了 找回方法 xff1a 在VMware中对NAT模式进行 还原默认设置 操作或者配置好后点击确定 xff08 注意 xff1a 虚拟机开机后无法还
  • Beyond compare文件夹内容自动比较

    前言 xff1a 在一开始比较文件都是手动一个个去点击文件 xff0c 如果是几万个代码文件这将是巨大的工程 xff0c 带着偷懒的想法跑去找方法真找到了 默认会全部的文件标红 xff0c 这就很难受了 解决方案 xff1a 顶部的菜单 会
  • 从MIT协议谈契约精神

    以前看到过李笑来讲的发生在他身上的故事 xff0c 说他当年 2001年 住在双榆树 xff0c 经常去双安商场的地下超市买东西 xff0c 有一次买了个什么东西觉得不好 xff0c 要退 xff0c 超市服务员说按规定 xff0c 该类商

随机推荐

  • VLC命令行使用帮助

    Usage vlc options stream You can specify multiple streams on the commandline They will be enqueued in the playlist The f
  • 将Conda Prompt Here添加到右键菜单

    如何将Conda Prompt Here添加到右键菜单 Conda是一个非常流行的Python的环境管理工具 xff0c 在做项目的时候把它跟IDE整合在一起用来管理不同项目的环境会很方便 xff0c 但是在日常使用Windows的过程中如
  • AMS-1117

    电路图 说明 10uF 61 10622uF 61 226100nF 61 104106 61 10乘以10的6次方pF xff1b 简单点的说就是106表示容量 10后面加六个零 单位pF 转换成uF就是10uF 电容之间的换算公式 xf
  • ROS---用catkin创建ROS包、编译

    安装好ROS后 xff0c 默认已经安装了catkin xff0c 接着执行以下步骤 用catkin创建ROS包 span class hljs comment 每次都要进入这个目录 xff0c 也就是所有的包都要放在这个目录下 span
  • libQtGui.so: undefined reference to `png

    使用Qt4 包在Centos上编译时 xff0c 出现libQtGui so 找到未定义的png等 首先进行网上搜索 xff0c 没有发现任何思路 执行ldd时 xff0c 发现少了很多依赖库 xff0c 如下 xff1a ldd libQ
  • C/C++中在头文件中定义函数或变量会出现的问题

    在 C C 43 43 中 xff0c 我们一般是把代码分为头文件 xff08 h xff09 和源文件 xff08 c cpp xff09 分开保存 xff0c 这样可以方便代码管理和阅读 但是如果把函数或变量的定义也放在头文件中会出现什
  • C++ 求100的阶乘

    include lt iostream gt using namespace std int main int n int k 61 1 k为当前的位数 int fact 10000 61 1 0 cout lt lt 34 输入阶乘n 3
  • C++ 读入一个整数,将各个数位上的数拆分下来并输出(从高位到低位)。

    include lt iostream gt include lt cmath gt using namespace std void split int num int n 61 num int count 61 0 位数 int tem
  • C++建立一个关于平面点坐标的类

    建立一个关于平面点坐标的类 include lt iostream gt include lt cmath gt using namespace std class Cpoint private int flag flag 61 1时 xf
  • 图---生成树与最小生成树

    今天在做题的时候遇到一个问题 xff0c 如何根据图的邻接表来画出 DFS 生成树和 BFS 生成树 xff0c 有两年的真题中涉及到这个问题 xff0c 在以前的学习中没注意过此问题 xff0c 由于严奶奶的书上也只是一带而过 xff0c
  • 编写一个递归算法,实现将一棵二叉树的左右孩子互换。

    include 34 iostream 34 using namespace std define max 20 定义树的结点数 typedef struct BTNode 定义二叉树结点类型 char data 结点数据类型 struct
  • IIC协议解释

    xff08 1 xff09 概述 I2C Inter Integrated Circuit BUS 集成电路总线 xff0c 该总线由NXP xff08 原PHILIPS xff09 公司设计 xff0c 多用于主控制器和从器件间的主从通信
  • 使用栈非递归实现复制二叉树

    include 34 iostream 34 using namespace std define max 20 the number of node typedef struct BTNode char data struct BTNod
  • stanford-segmenter一个简单例子

    1 简介 stanford分词目前支持 Arabic 和 Chinese 它的原理是基于CRFs CRFs分词的原理不难懂 xff0c 就是把分词当作另一种形式的命名实体识别 xff0c 利用特征建立概率图模型后 xff0c 用Veterb
  • 集中式vs分布式

    Linus一直痛恨的CVS及SVN都是集中式的版本控制系统 xff0c 而Git是分布式版本控制系统 xff0c 集中式和分布式版本控制系统有什么区别呢 xff1f 先说集中式版本控制系统 xff0c 版本库是集中存放在中央服务器的 xff
  • 一个完整的schema验证xml的例子

    xml文件 xff1a lt reference xmlns 61 34 http www w3school com cn 34 xmlns xsi 61 34 http www w3 org 2001 XMLSchema instance
  • 三维视觉论文阅读:DeepPruner2019双目立体匹配

    论文 DeepPruner Learning Efficient Stereo Matching via Differentiable PatchMatch 摘要 DeepPruner这篇文章 xff0c 本人在2019年上半旬就大致读过一
  • 三维视觉论文阅读:RAFT2020双目光流

    论文 RAFT Recurrent All Pairs Field Transforms for Optical Flow 摘要 2020年下半年以来 xff0c 深度学习都逐渐走向了迭代优化 xff08 例如NeRf xff09 xff0
  • 三维视觉论文阅读:high-res-stereo2019双目立体视觉

    论文 Hierarchical Deep Stereo Matching on High resolution Images 摘要 本篇文章本人在看的时候 xff0c 感觉特别像StereoNet和StereoDRNet high res
  • 三维视觉论文阅读:MVSNet2018多视立体匹配

    论文 MVSNet Depth Inference for Unstructured Multi view Stereo 摘要 MVSNet是深度学习多视立体匹配的开山之作 xff08 我个人认为 xff09 xff0c 虽然其在网络结构上