Unsupervised MVS论文笔记

Unsupervised MVS论文笔记

    • 摘要
    • 1 引言
    • 2 相关工作
    • 3 实现方法

Tejas Khot and Shubham Agrawal and Shubham Tulsiani and Christoph Mertz and Simon Lucey and Martial Hebert. Tejas Khot and Shubham Agrawal and Shubham Tulsiani and Christoph Mertz and Simon Lucey and Martial Hebert. arXiv: 1905.02706, 2019.
https://doi.org/10.48550/arXiv.1905.02706

摘要

在2019年6月6日,作者提出了一种基于学习的多视图立体视觉(MVS)的方法。虽然目前的深度MVS方法取得了令人印象深刻的结果,但它们关键地依赖于真实的3D训练数据,而获取这种精确的3D几何图形用于监督是一个主要障碍。相反,作者的框架利用多个视图之间的光度一致性作为监督信号,在一个较宽的基线MVS设置中学习深度预测。然而,仅用光度一致性约束是不可取的。为了克服这一问题,作者提出了一个有效的损失公式: a)强制一阶一致性,b)对每个点,有选择性地强制与一些视图进行一致性,从而隐式地处理遮挡。在不使用真实数据集进行3D监督的情况下,此方法是有效的,并表明提出的有效损失每个组成部分都对重建结果具有显著的改进。作者定性地观察到,作者的重建往往比获得的事实数据更完整,进一步显示了这种方法的优点。
在这里插入图片描述

1 引言

从图像中恢复场景密集的三维结构一直是计算机视觉的一个长期目标。多年来,有几种方法通过利用潜在的几何和光度约束来解决这个多视图立体视觉(MVS)任务——一个图像中的一个点沿着极线投射到另一个图像上,并且正确的匹配在光学上是一致的。虽然实施这一见解导致了显著的成功,但这些纯粹的基于几何的方法对每个场景独立,并无法对世界隐式地捕获和利用通用先验,例如表面往往是平的,因此当信号稀疏时有时表现不佳,如无纹理表面。

为了克服这些限制,一项新兴的工作集中于基于学习的MVS任务解决方案,通常训练CNN来提取和合并跨视图的信息。虽然这些方法产生了令人印象深刻的性能,但它们在学习阶段依赖于真实的3D数据。作者认为,这种形式的监督过于繁琐,不是自然可行的,因此,寻求不依赖这种3D监督的解决方案具有实用和科学意义

作者建立在最近的这些基于学习的MVS方法的基础上,这些方法呈现了具有几何归纳偏差的CNN架构,但在用于训练这些CNN的监督形式上存在显著差异。作者不依赖于真实的三维监督,而是提出了一个以无监督的方式学习多视图立体视觉的框架,仅依赖于多视图图像的训练数据集。能够使用这种形式的监督的见解类似于经典方法中使用的见解——正确的几何形状将产生光学上一致的重投影,因此可以通过最小化重投影误差来训练CNN

虽然类似的重投影损失已经被最近的方法成功地用于其他任务,如单眼深度估计,但作者注意到,天真地将它们应用于学习MVS是不够的。这是因为不同的可用图像可能捕获到不同的可见场景。因此,一个特定的点(像素)不需要在光度学上与所有其他视图一致,而是只需要那些它没有被遮挡的视图。然而,明确地推理遮挡来恢复几何,提出了一个鸡和蛋的问题,因为遮挡的估计依赖于几何,反之亦然。

为了避免这一点,作者注意到,虽然正确的几何估计不需要与所有视图的光度一致性,但它应该至少与某些视图一致性。此外,在MVS设置中,跨视图的照明变化也很重要,因此只在像素空间中强制执行一致性是不可取的,而作者认为强制执行额外的基于梯度的一致性

作者提出了一个有效的重投影损失,使我们能够捕获上述要求的照片,并允许使用所需的监督形式学习MVS。该方法的公式允许处理遮挡,但没有明确地为图像建模。该方法的设置和示例输出如上图1所示。该模型在没有三维监督的情况下进行训练,以一组图像作为输入,预测每幅图像的深度图,然后将其结合起来,得到一个密集的三维模型

总之,该论文的主要贡献是:
1)提出一个以无监督的方式学习多视图立体视觉的框架,只使用来自新视图的图像作为监督信号。
2)一种用于学习无监督深度预测的有效多视图光度一致性损失,允许隐式地克服跨训练视图之间的照明变化和遮挡。

2 相关工作

多视图立体视觉重建
关于MVS的工作有着悠久而丰富的历史。在这里只讨论有代表性的作品,感兴趣的读者可以进行相关调查。MVS的实现有四个主要步骤:视图选择、传播方案、补丁匹配和深度图融合。已经有研究为每个像素聚合多个视图的方案,作者的构思可以看作是在训练过程中通过损失函数整合了其中的一些想法。基于补丁匹配的立体匹配的方法取代了经典的种子和扩展传播方案。补丁匹配已被用于多视图立体视觉结合迭代实现传播方案,深度估计和法线。深度图融合将单个深度图合并到一个单一点云中,同时确保结果点在多个视图之间保持一致,并删除不正确的估计。深度表示继续主导MVS基准测试和寻找深度图像作为输出的方法,从而将MVS问题解耦成更易于处理的部分。

基于学习的MVS
利用CNN学习到的特征能够很自然地适合于MVS的第三步:匹配图像补丁。CNN特征已被用于立体匹配,同时使用度量学习来定义相似度的概念。这些方法需要一系列的后处理步骤来最终生成成对的视差图。专注于学习MVS所有步骤的工作相对较少。体素表示自然地从不同的视图编码表面可见性,这已经在一些工作中得到证实。选择这种表示的常见缺点是不清楚如何将它们缩放到更多样化和大规模的场景。有些工作使用CNN特征创建代价体,视差值通过可微soft argmin操作回归获得。结合上述方法的优点,并借鉴经典方法的见解,最近的工作为多个视图生成深度图像,并将它们融合以获得三维重建。至关重要的是,上述所有方法都依赖于3D监督,本篇工作放宽了这一要求。

无监督深度估计
由于减少监督需求的类似动机,最近的一些单目]或双目立体深度预测方法利用了光度一致性损失。作为监督信号,这些图像依赖于训练过程中来自双目图像对或单目视频的图像。作为可见性推理的手段,网络用于预测可解释性、失效掩模或通过加入观察置信度的概率模型。这些方法在一个狭窄的基线设置上运行,在训练过程中使用的帧之间的视觉变化有限,因此不会由于遮挡和照明变化而遭受显著的影响。当前的目标是在MVS设置中利用光度损失进行学习,因此Unsupervised MVS提出一个有效的构思来处理这些挑战。

3 实现方法

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【java】想要限制每次查询的结果集不能超过10000行,该如何实现?

文章目录 前言 前言 对于一些Saas化软件,当某个租户在执行查询SQL时,如果查询条件出现了BUG,导致去查了所有租户的数据,这种情况是非常严重的,此时就需要在架构层面做限制,禁止一些特殊SQL的执行&#xff…

Axios 请求响应结果的结构

发送请求 this.$axios.get(https://apis.jxcxin.cn/api/title?urlhttps://apis.jxcxin.cn/,{params: {id: 10}}).then(res > {console.log(res)})输出返回结果 confing 请求时的配置对象,如果请求的url,请求的方法,请求的参数&#xff0c…

数字孪生助力污水处理升级

随着科技的发展,数字孪生技术在各行各业中得到了广泛应用。在污水处理领域,数字孪生技术为流程监控、效率提升、问题诊断等提供了强有力的支持。本文就借用山海鲸可视化软件的污水处理解决方案为大家介绍数字孪生在污水处理领域的作用。 一、实时监控 …

MAX/MSP SDK学习04:Messages selector的使用

其实消息选择器在simplemax示例中就接触到了,但这文档非要讲那么抽象。目前为止对消息选择器的理解是:可判断接收过来的消息是否符合本Object的处理要求,比如加法对象只可接收数值型的消息以处理,但不能接收t_symbol型的消息&…

【华为OD题库-032】数字游戏-java

题目 小明玩一个游戏。系统发1n张牌,每张牌上有一个整数。第一张给小明,后n张按照发牌顺序排成连续的一行。需要小明判断,后n张牌中,是否存在连续的若干张牌,其和可以整除小明手中牌上的数字. 输入描述: 输入数据有多组…

DB2—03(DB2中常见基础操作)

DB2—03(DB2中常见基础操作) 1. 前言1.1 oracle和mysql相关 2. db2中的"dual"2.1 SYSIBM.SYSDUMMY12.2 使用VALUES2.3 SYSIBM.SYSDUMMY1 "变" dual 3. db2中常用函数3.1 nvl()、value()、COALESCE()3.2 NULLIF() 函数3.3 LISTAGG() …

成为AI产品经理——AI产品经理工作全流程

一、业务背景 背景:日常排球训练,中考排球项目和排球体测项目耗费大量人力成本和时间成本。 目标:开发一套用于实时检测排球运动并进行排球垫球计数和姿势分析的软件。 二、产品工作流程 我们这里对于产品工作流程的关键部分进行讲解&…

SQL 中的 MIN 和 MAX 以及常见函数详解及示例演示

SQL MIN() 和 MAX() 函数 SQL中的MIN()函数和MAX()函数用于查找所选列的最小值和最大值,分别。以下是它们的用法和示例: MIN() 函数 MIN()函数返回所选列的最小值。 示例: 查找Products表中的最低价格: SELECT MIN(Price) F…

Vue 重写push和replace方法,解决:Avoided redundant navigation to current location

当我们使用编程式路由导航跳转路径时,如果我们两次携带同样的参数进行跳转,会进行页面报错: 那产生这个问题的原因是什么呢? 我们接收并输出调用push方法返回的结果: 会发现这是一个Promise对象 我们都知道&#xff…

2023年G2电站锅炉司炉证考试题库及G2电站锅炉司炉试题解析

题库来源:安全生产模拟考试一点通公众号小程序 2023年G2电站锅炉司炉证考试题库及G2电站锅炉司炉试题解析是安全生产模拟考试一点通结合(安监局)特种作业人员操作证考试大纲和(质检局)特种设备作业人员上岗证考试大纲…

【Java 进阶篇】Redis 数据结构:轻松驾驭多样性

引言 Redis是一款强大的键值对存储系统,其数据结构的多样性是其引以为傲的特点之一。在这篇博客中,我们将深入探讨Redis的主要数据结构,包括字符串、哈希表、列表、集合和有序集合,并通过实例代码演示它们的用法。 1. 字符串&am…

小程序存在优惠卷遍历,但是歪了

进入小程序,因为是一个小商城,所以照例先查看收货地址是否存在越权,以及能否未授权访问,但是发现不存在这些问题,所以去查看优惠卷 进入领券中心,点击领取优惠券时抓包 发现数据包,存在敏感参数…

基于SpringBoot+Vue的体检预约管理系统

基于SpringBootVue的体检预约管理系统的设计与实现~ 开发语言:Java数据库:MySQL技术:SpringBootMyBatisVue工具:IDEA/Ecilpse、Navicat、Maven 系统展示 主页 管理员界面 用户界面 摘要 体检预约管理系统是一种基于Spring Boot…

Node.js入门指南(一)

目录 Node.js入门 什么是Node.js Node.js的作用 Node.js安装 Node.js编码注意事项 Buffer(缓冲器) 定义 使用 fs模块 概念 文件写入 文件读取 文件移动与重命名 文件删除 文件夹操作 查看资源状态 路径问题 path模块 Node.js入门 什么是Node.js …

SSH连接远程服务器报错:WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED 解决方法

一.错误描述 报错信息里提示了路径信息/root/.ssh/known_hosts:20 二.解决方案 方法一 输入以下指令: ssh-keygen -R XXX(需要连接远程服务器的ip) 按照我的例子ip:10.165.7.136,会返回以下信息: 重新尝试连接: 输…

数据结构学习笔记——多维数组、矩阵与广义表

目录 一、多维数组(一)数组的定义(二)二维数组(三)多维数组的存储(四)多维数组的下标的相关计算 二、矩阵(一)特殊矩阵和稀疏矩阵(二)…

7种SQL的进阶用法

1.自定义排序(ORDER BY FIELD) 在MySQL中ORDER BY排序除了可以用ASC和DESC之外,还可以使用自定义排序方式来实现。 CREATE TABLE movies ( id INT PRIMARY KEY AUTO_INCREMENT, movie_name VARCHAR(255), actors VARCHAR(255), price DEC…

MySQL面试,MySQL事务,MySQL锁,MySQL集群,主从,MySQL分区,分表,InnoDB

文章目录 数据库-MySQLMySQL主从、集群模式简单介绍1、主从模式 Replication2、集群模式3、主从模式部署注意事项 UNION 和 UNION ALL 区别分库分表1.垂直拆分2、水平拆分 MySQL有哪些数据类型1、整数类型**,2、实数类型**,3、字符串类型**,4…

MySQL 事务的底层原理和 MVCC(一)

在事务的实现机制上,MySQL 采用的是 WAL(Write-ahead logging,预写式日志)机制来实现的。 在使用 WAL 的系统中,所有的修改都先被写入到日志中,然后再被应用到系统中。通常包含 redo 和 undo 两部分信息。 …

初识Java 18-2 泛型

目录 构建复杂模型 类型擦除 C中的泛型 迁移的兼容性 类型擦除存在的问题 边界的行为 对类型擦除的补偿 创建类型实例 泛型数组 本笔记参考自: 《On Java 中文版》 构建复杂模型 泛型的一个优点就是,能够简单且安全地创建复杂模型。 【例子&am…