【论文简述】IS-MVSNet:Importance Sampling-based MVSNet(ECCV 2022)

这篇具有很好参考价值的文章主要介绍了【论文简述】IS-MVSNet:Importance Sampling-based MVSNet(ECCV 2022)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、论文简述

1. 第一作者:Likang Wang

2. 发表年份:2022

3. 发表期刊:ECCV

4. 关键词:MVS、3D重建、重要性采样、无监督误差分布估计

5. 探索动机:以粗到细的方式预测深度图,部分缓解了对于分辨率的限制。从粗到细算法背后的基本假设是,粗阶段的预测是可靠的真值估计。但即使采用了从粗到细的策略,深度分辨率仍然是阻碍同时获得高精度和高效率的关键因素。现有的从粗到细的算法由于在深度范围内平等地对待每个候选深度值,因此没有充分利用以前可靠的预测假设。

6. 工作目标:本文把精力放在选择了最有希望的候选值上。 那么,新的问题是区分哪些深度是最值得信赖的。 虽然粗预测假定接近实际深度,但并非百分之百准确。 因此,为了更精确地定位真值,估计粗预测的误差分布变得至关重要。

7. 核心思想:基于以上考虑,提出基于重要性抽样的MVSNet(IS-MVSNet),引入了一种有效的候选深度采样策略,通过显著提高真实值附近的深度分辨率,以无成本的方式进行更精确的深度预测。

  1. We proposed an importance-sampling module for sampling candidate depth, effectively achieving higher depth resolution and yielding better point-cloud results while introducing no additional cost.
  2. Furthermore, we proposed an unsupervised error distribution estimation method for adjusting the density variation of the importance-sampling module.
  3. Notably, the proposed sampling module does not require any additional training and works reasonably well with the pre-trained weights of the baseline model.

8. 实验结果:

Tanks & Temples(TNT), ETH3D and DTU demonstrate IS-MVSNet’s superiority over current SOTAs. With an F-score of 62.82%, ISMVSNet surpasses all the published MVS algorithms on TNT’s intermediate benchmark by a clear margin.

9.论文下载:

https://www.ecva.net/papers/eccv_2022/papers_ECCV/papers/136920663.pdf

https://github.com/NoOneUST/IS-MVSNet

二、实现过程

1. IS-MVSNet概述

IS-MVSNet延续了从粗到细的网络结构,如下图。

  1. IS-MVSNet采用特征金字塔网络 (FPN)提取参考图像和源图像的多层次表示。
  2. 对一组假设的深度进行采样,以便进一步评估。对于最粗的阶段S=1,在预定义的深度范围内对假设深度进行均匀采样。对于阶段S>1,提出了一种基于重要性采样的深度假设选择策略,该策略在不牺牲效率的前提下,为IS-MVSNet提供了更高效的的采样方式。 还提出一种无监督的方法来估计合适的重要性采样的超参数。
  3. 计算代价体。
  4. 采用3D CNN对代价体正则化,并预测每个真值假设深度的概率。
  5. 计算深度采样与相应预测的概率的内积作为当前阶段的深度预测。

【论文简述】IS-MVSNet:Importance Sampling-based MVSNet(ECCV 2022)

2. 基于重要性采样的假设深度选择

作为一种从粗到精的算法,IS-MVSNET逐步细化深度预测。 在阶段S>1的情况下,虽然前者的预测Ds1与实际深度DGT大体接近,但两者仍有差距。 假设我们可以估计每个像素的深度预测误差,进一步在更大的分辨率的真值周围采样假设深度。在这种情况下,模型捕捉精细细节的能力可以大大增强。

虽然估计每个像素的误差是困难和不切实际的,但我们提出了估计整个数据集的误差分布并相应地调整假设的深度采样。 而现有的MVS算法都没有考虑误差估计,盲目地将预测误差看作一个均匀随机变量。在IS-MVSNET中,我们提出了一种在阶段S>1对每个像素求出Ns个很好的候选深度值di,基于前一阶段的深度预测Ds1和深度预测误差δ️️的概率密度函数(PDF)F(δ),对数据集中的所有像素进行估计。然后,我们在di处采样,以生成更精确的深度预测Ds:

【论文简述】IS-MVSNet:Importance Sampling-based MVSNet(ECCV 2022)

其中p(di)表示候选深度Di是dgt最近邻的概率。

通过这种方式,我们可以更精确地定位最有希望的候选深度,然后分配更多的注意力。其结果是,由于在真值附近有最细的深度分辨率增量,从而提高了深度精度。

误差公式化。第一个问题是如何公式化误差分布。我们认为将误差PDF近似为一个单模态函数是合理的,原因有三。首先,由于影响预测误差的因素很多,中心极限定理表明误差趋向于零均值单模态分布;其次,通过均匀采样产生粗预测,从而实现无偏估计;第三,我们在各种真实数据集上的实验验证了误差确实服从均值接近于零的单模态分布。值得注意的是,我们不要求前一阶段给出给定像素的假设深度的单模态概率预测。相反,我们希望从实际深度到从所有假设深度计算的深度预测的距离遵循一个单模态分布。

假设前一阶段的大多数像素深度估计是正确的,我们的方法明显优于均匀采样。在图 4d,  我们在实际数据集上的实验表明,遵循零均值高斯分布的采样确实显著优于均匀分布。此外,即使在前一阶段的极端情况下大多数像素深度估计都错误,遵循高斯分布的采样通过在这些像素的实际深度处提供更高的采样密度而使大多数像素受益。 即使我们不服从零均值高斯分布估计均值和采样,我们的方法仍然比均匀采样受益更多的像素。 即使在包含错误预测最多的区域,如重复和无纹理区域,远离背景的细小物体,我们的采样方法也优于均匀采样或与均匀采样相媲美。

离散区间。与从连续PDF中采样相比,离散间隔有两个优点。首先,给定有限的深度数,例如8,离散间隔会产生比i.i.d采样,采样密度更稳定,更接近实际误差分布。其次,离散间隔有利于卷积,因为相邻像素具有相似的采样深度,并且空间相关性对卷积至关重要。

基于这些考虑,我们进一步建议按照预定义的间隔序列对候选深度进行不均匀采样。准确地说,误差PDF应控制深度间隔:在PDF较大的位置,间隔应较小;否则,它应该更大。设µs e−1表示s−1阶段的平均误差,则接近Dps−1+µs e−1的深度间隔应该较小,否则应该较大。我们采用一个简单而典型的几何序列来拟合区间模式以满足要求。请注意,其他具有类似趋势的序列也可以接受,如果它们具有高斯分布N(μes−1,σse−1)的类似性质,即它们在μes−1处只有一个单模态,并且序列具有与σes−1的(N(μ se−1,σes−1))类似效果的参数。此外,没有必要严格强制区间序列收敛于
N(µs e−1,σes−1)当区间个数取向∞。例如,等差数列也可以很好地工作。通过这种方法,我们在保持局部一致性的同时,对误差分布的深度进行采样。详细的重要性采样算法如下所述。

算法细节。使用离散区间将深度假设放在深度范围内,而不是直接从连续的PDF中采样深度。在第一阶段,将整个深度范围R1划分为n1−1个大小为R1/n1−1的等效区间,因为在阶段s=1时没有给出先验无偏深度估计。在接下来的阶段s∈{2,3,…}中,采用普通的几何级数来生成深度假设,并在中心区域提高采样密度。离散化的区间用ks参数化,ks是一个决定区间形状的超参数。如图2所示,最小间隔减小为1ks,间隔长度变化速度为cs,它是由ks控制的。较大的ks意味着在修正后的之前预测Dps−1+μes−1附近采样更密集。当ks > 1时,中心假设深度的间隔减小到1/ks,而边缘深度的间隔增大。也就是说,中心区间rs/ks比均匀抽样区间rs小1/ks。当ks=1时,重要性采样降级为均匀抽样。当0<ks<1时,该方法可以处理大多数先前预测错误的情况。

【论文简述】IS-MVSNet:Importance Sampling-based MVSNet(ECCV 2022)

图2:深度数为6时的深度选择示意图。该采样策略中,深度范围保持不变。最小深度间隔减小到1 ks,间隔长度以cs的比值增加,这是由公式(1)所特有的ks控制的。ks越大,最小间隔越小,cs越大,间隔长度变化速度越快。

具体地说,深度间隔形成对称的几何级数:

【论文简述】IS-MVSNet:Importance Sampling-based MVSNet(ECCV 2022)

 cs是相邻间隔的公比。由于希望保持网络的深度范围和假设深度数与基线模型相同,因此根据Eq. (1), cs由ks、Rs和ns唯一控制。在实践中,cs作为Eq.(1)的根进行数值计算。

【论文简述】IS-MVSNet:Importance Sampling-based MVSNet(ECCV 2022)

为每个像素定义唯一的深度候选。具体来说,首先,每个像素都有自己的一组由间隔序列定义的离散深度候选;其次,深度候选与深度范围R之间的间隔(即间隔之和)在所有像素的大小上是一致的;第三,将深度范围R沿深度轴的中心位置设置为每个像素先前的深度估计Dps−1。因此,每个像素都有一组唯一的深度候选,其间隔在像素之间是相同的;第四,第四,如果估计平均误差μes−1,则进一步“校正”范围的位置为Ds−1p+μes−1。

3. 无监督误差分布估计

在IS-MVSNet中,我们引入了两个新的超参数ks和µs来调整采样函数gs(x)在s > 1阶段的形状。在实际应用中,深度估计误差集中分布在零附近。因此,在默认情况下,我们处理平均误差µs = 0,只估计ks。然而,本节提出的ks估计方案也适用于µs。如果我们想同时估计ks和µs,我们首先固定ks并估计µs,然后固定µs并估计ks。

如上节所分析的,在已知真实深度的情况下,通过最小化采样函数gs(x)与实际误差分布的差值,可以唯一地确定最优k。然而,我们不知道真实场景中的实际深度,并且不同数据集的尺度、光照和相机内参是不同的。因此有必要为每个数据集估计一个ks。我们将匹配代价作为实际深度的线索,并证明估计误差分布等同于最小化匹配代价,这总是可以实现的。本节提出了一种通用的无监督超参数ks选择策略,使基于重要性的采样模块在所有场景下都不被超参数限制。

回想一下,在MVS中,输入的2D图像和相机参数总是可用的,并且不同视图之间存在光度一致性。给定参考视图中深度为dr、投影为Pr的三维点P,则P在第v源视图中的投影Pv的坐标可计算为Pv = Hv(dr)Pr,其中Hv(dr)是一个单应矩阵。

假设深度估计Dps是正确的,那么Pvs = Hv(Dps)Psr应该代表与Psr相同的3D点,即Psr的特征Frs = Fvs。由于给出了多个视图,我们使用方差Var[Fvs]来度量它们的相似性。因此,最佳深度估计Dp*=argminVar[Fvs]。

如上节所述,k决定了估计误差分布PDF。具体来说,较大的k表示方差较小的误差分布。当k=1时,重要性采样与均匀抽样相同;当k=∞时,只有一个候选点有机会被采样。显然,k ={1,∞}都导致估计和实际PDF之间的差异非最小。因此,当k从1开始增大时,模型的性能先提升后逐渐降低。我们采用了单模态函数来近似性能k曲线。基于此考虑,我们提出了一种基于三元搜索的无监督超参数k选择算法,如算法1、算法2和图3所示。由于三元搜索在每次迭代中以恒定的比例减少搜索范围,因此收敛速度非常快。一般来说,3到5次迭代就可以得到满意的k。我们在图4c中的实验表明,每次扫描随机选取两个参考视图就足以确定k。

【论文简述】IS-MVSNet:Importance Sampling-based MVSNet(ECCV 2022)

【论文简述】IS-MVSNet:Importance Sampling-based MVSNet(ECCV 2022)

【论文简述】IS-MVSNet:Importance Sampling-based MVSNet(ECCV 2022)

图3:误差分布估计模块示意图。我们用光度损失来评估k,并应用三叉搜索来找到算法1和算法2的最优k。

4. 实验

4.1. 数据集

【论文简述】IS-MVSNet:Importance Sampling-based MVSNet(ECCV 2022)

 4.2. 与先进技术的比较

延续Vis-MVSNet,预测了半尺寸的深度图,而其他提到的方法是全尺寸的。由于DTU中的对象非常小,因此深度图需要更高的平面分辨率。因此,在TNT上的改进比在DTU上的改进更显著。尽管UCSNet显示出更好的整体距离,但其优势依赖于深度范围确定策略,这与我们的深度范围不可知采样算法并不冲突。

【论文简述】IS-MVSNet:Importance Sampling-based MVSNet(ECCV 2022)

【论文简述】IS-MVSNet:Importance Sampling-based MVSNet(ECCV 2022)

【论文简述】IS-MVSNet:Importance Sampling-based MVSNet(ECCV 2022)文章来源地址https://www.toymoban.com/news/detail-498494.html

到了这里,关于【论文简述】IS-MVSNet:Importance Sampling-based MVSNet(ECCV 2022)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【论文简述】Cross-Attentional Flow Transformer for Robust Optical Flow(CVPR 2022)

    1. 第一作者: Xiuchao Sui、Shaohua Li 2. 发表年份: 2021 3. 发表期刊: arxiv 4. : 光流、Transformer、自注意力、交叉注意力、相关体 5. 探索动机: 由于卷积的局部性和刚性权重,有限的上下文信息被纳入到像素特征中,并且计算出的相关性具有很高的随机性,以至于大多数

    2024年02月03日
    浏览(33)
  • importance中信息增益和基尼系数

    信息增益和基尼系数都是用于评价决策树分裂节点的指标,它们有以下主要的相同点和不同点: 相同点: 都用于测度数据集的无序程度(impurity),可以评价分裂后的无序程度减少量 取值范围都在0到1之间,0表示完全有序 都遵循同一思路,优先选择造成无序程度最大减少的特征进行分

    2024年02月10日
    浏览(24)
  • Xgboost.plot_importance 参数解释

    2023年04月08日
    浏览(29)
  • 【MVSNet】结构分析与理解

    MVSNet在理解的时候确实有很多困惑的地方。经过几个月的摸索,简单的讲解一下该模型到底是怎么运作的。 MVSNet本质上就是一个深度估计网络,有 参考视角 和 source视角 两个部分的图像输入,输出的就是每个 参考视角 的深度图。之后依照MVS传统方法介绍的 深度图融合 可以

    2023年04月12日
    浏览(23)
  • MVSNet代码超详细注释(PyTorch)

    网上解读MVSNet的博客已经很多了,大家可以自选学习,但更重要的是阅读理解原文,以及自己动手跑跑代码! MVSNet服务器环境配置及测试 https://blog.csdn.net/qq_43307074/article/details/128011842 【论文简述及翻译】MVSNet:Depth Inference for Unstructured Multi-view Stereo(ECCV 2018) https://blog.csd

    2024年02月02日
    浏览(40)
  • Python机器学习:plot_importance()查看特征重要度

    lightgmb算法里面的plot_importance()方法支持特征重要度的查看,下面将以lightgmb算法为例将特征重要度可视化展示出来。另外xgboost算法的实现也几乎一样哦。 事先准备好模型: 以上模型训练好了,下面查看特征重要度: 代码讲解: import导入lightgbm算法里查看特征重要度的plot_

    2024年02月11日
    浏览(31)
  • DevOps 8. The Importance of Continuously Testing Softwa

    作者:禅与计算机程序设计艺术 软件安全漏洞一直是系统安全面临的一个重要课题。软件漏洞对任何一个系统都是一个巨大的威胁,因此为了保障系统的安全,需要持续不断地测试、检测和修复软件漏洞。 自动化构建、持续集成、部署、测试、监控等是DevOps(开发运维)实

    2024年02月07日
    浏览(35)
  • MVSNet-pytorch版本理解与使用

            GitHub - xy-guo/MVSNet_pytorch: PyTorch Implementation of MVSNet         小于8g的显存是跑不了的!!!连test都跑不了,过不了cost volume这一关。         输入:一些已知相机内参、外参的图片(往往这时候已经用colmap等做过一遍sfm,从而获取到了相机的内参和外参)      

    2023年04月20日
    浏览(26)
  • The importance of value passing and reference passing

    不管哪个语言都有值传递,引用传递两种方式,在C语言里面引用传递用指针搞定。在Java里面没有指针,所以Java就规定(之前的设计)了某些类型是值传递,某些类型是引用传递,当然完全没必要去全部类型分析一遍,比如int是什么XX传递,String是什么XX传递...,浪费时间,因

    2024年02月08日
    浏览(31)
  • 多光源渲染方案 - Many Lights Sampling

    目录 Importance Sampling(IS) Light BVH [2018~2019] 预构建 BVH 重建 BVH 基于 BVH node 的 IS Real-time Stochastic Lightcuts [2020] 莫顿序排序(Morton Order Softing) 构建 Light Tree 基于 Lightcuts 的 IS Cut Sharing ReSTIR( Re servoir S patio- T emporal I mportance R esampling)[2020] Resampled Importance Sampling (RIS) Weighted Res

    2024年02月08日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包