【论文简述】GeoMVSNet: Learning Multi-View Stereo with Geometry Perception(CVPR 2023)

news2024/11/24 10:30:43

一、论文简述

1. 第一作者:Jie Zhu

2. 发表年份:2023

3. 发表期刊:CVPR

4. 关键词:MVS、级联结构、几何感知、频域增强、高斯混合模型

5. 探索动机:基于级联的结构以从粗到细的方式计算不同分辨率的深度图,并逐步缩小假设平面指导,以降低计算复杂度。然而,这些方法并不考虑早期阶段所包含的有价值的洞察,只考虑像素级深度属性。 一些方法,例如基于可变形核和基于transformer,引入了更精细的设计过的外部结构来进行特征提取,但没有充分利用嵌入MVS场景中的几何线索。

6. 工作目标:虽然最近的一些工作试图通过变形卷积或多尺度信息聚合来获得大上下文,但对于MVS,还没有探索在每个视图中挖掘全局上下文的解决方案。此外,探索一种获取三维一致性特征的方法对于MVS中鲁棒可靠的匹配至关重要。

7. 核心思想:

  1. We propose the geometric prior guided feature fusion and the probability volume geometry embedding approaches for robust cost matching.
  2. We enhance geometry awareness via the frequency domain filtering strategy and adopt the idea of curriculum learning for progressively introducing geometric clues
    from easy to difficult.
  3. We model the depth distribution of MVS scenarios using the Gaussian-Mixture Model assumption and build the full-scene geometry perception loss function.

8. 实验结果:

The proposed method is extensively evaluated on the DTU dataset and both intermediate and advanced sets of Tanks and Temples benchmark, all achieving brandnew state-of-the-art performance.

9.论文下载:

https://openaccess.thecvf.com/content/CVPR2023/papers/Zhang_GeoMVSNet_Learning_Multi-View_Stereo_With_Geometry_Perception_CVPR_2023_paper.pdf

二、实现过程

1. GeoMVS-Net概述

总体架构见图。在水平数据流中,首先通过几何融合网络从输入图像中提取的深度图像特征Fi,单应性变化得到特征体Vi。然后将多个特征体聚合为单个代价体C∈G×M×H×W,其中G为组相关通道。然后对C进行轻量级代价正则化,得到概率体P∈M×H×W,表示像素的可能性“粘”在深度平面上,用于几何感知。基于高斯混合模型的深度分布相似度损失和具有课程学习策略的频域滤波用于全场景几何增强。前一阶段的几何先验输出用于指导更精细阶段的几何感知,如数字标签(0)~(2)所示。

2. 鲁棒代价匹配的几何感知

MVSNet及相关工作中代价匹配的聚合和正则化过程比传统的利用归一化互相关(NCC)来测量图像块相似度MVS方法更具鲁棒性。然而,在最流行的级联MVS方案中,不同阶段的图像特征和代价体通常具有相同的成分,这不能充分挖掘早期阶段提供的广泛几何信息。与现有的依赖于费力的外部依赖的工作不同,本文建议明确地融合粗深度估计的几何先验,并将粗阶段的粗概率体嵌入到细阶段的代价匹配中。

几何先验引导特征融合。以l和l+1层为例,在更精细阶段的参考图像的几何先验引导的特征表示为:

其中z表示图像像素,[:,:]和⊕分别表示连接和逐元素相加操作。双分支网络结构在深度补全任务中得到了很好的研究。在这里,通过两个神经子模块B和B~融合参考图像的纹理和之前粗深度的上采样几何先验,并将该组合称为Branch。然后,通过经典FPN得到的特征F0r+1通过Fusion网络合融合。下图给出了用于结构特征提取的几何融合网络的结构。可以清楚地看到,与参考图像对齐的几何先验被显式地编码到基本的FPN特征,几何融合的参考特征可以与各向异性源特征进行鲁棒匹配。

概率体几何嵌入。如前所述,概率体P表示某个像素的深度假设的可能性。现有的基于金字塔的方法没有充分利用Pi包含的大量洞察力,而只是使用它派生的粗深度图来减少更密集的空间划分的计算消耗。由于概率体在不同阶段的尺度和空间范围不同,可以使用Pi作为嵌入到代价正则化网络中的三维“位置图”,而不像特征融合那样将它们分解成代价体的构建。特别是,在三维代价正则化网络中,将卷积核大小从k × k × k减小到1 × k × k,其中第一维表示深度方向。同时,在深度方向上由于缺乏庞大但功能强大的三维卷积而造成的缺陷被明确的粗概率体嵌入所弥补。

首先将粗阶段的Pl经过多个3D Maxpooling层,构建不同稀疏率的几何感知金字塔。然后将它们显式编码到不同较大的感受野寻找,U-Net的跳跃连接层形成轻量级正则化网络,以构建融合的空间相关性。3D几何位置嵌入的数学表达式为:

其中(u, v)为M个预定义总深度平面中第M个候选假设中的体素的像素坐标,u0, v0, fx, fy为相机内参的一部分。从粗糙到精细的阶段的概率体的几何嵌入如图所示,其中沿深度方向的几何嵌入切片编码了关于场景整体结构的空间感知,而不仅仅是提供像素级的“置信度”。在网络中连续传递细粒度几何感知,实现鲁棒的代价匹配。(a)从粗到细的嵌入过程概述:(b)由不同阶段的概率体得出的几何感知的基础。

几何先验引导的特征融合在不引入外部复杂依赖的情况下,在更精细的阶段加强了深层特征的区别性和结构,为鲁棒聚合奠定了坚实的基础。嵌入概率体不仅提供体素坐标和深度感知位置编码,实现鲁棒的代价体正则化,而且还将全场景深度分布特征引入到更精细层的深度感知中。

3. 频域几何增强

粗深度图融合和概率体嵌入可以有效地将逐步增强的几何感知融入到代价匹配中。尽管如此,对粗糙深度图中固有的杂乱纹理的严重错误估计,例如帧中的无限天空和图像边缘附近的区域,重投影极容易出界,不可避免地增加了融合网络和代价正则化网络的学习负担。

为了修复严重错误的深度值,尝试使用预训练的RGB引导的深度改进模块。插件深度优化模块确实在视觉上润色深度图,特别是在物体轮廓处。然而,对深度图进行光谱分析如图4 (a),发现润色后的深度具有明显更高的频率信息,这给网络学习带来了负担。更重要的是,看似准确
“改进”操作降低了几何一致性约束的满意度,导致点云的整体质量显著恶化(0.200 vs . 0.704)。主要原因是RGB引导的深度优化倾向于拟合数据集中的深度分布,而MVS通过匹配来估计几何上一致的深度。

相反,通过离散傅里叶变换使用频域滤波来解决问题(DFT)。将粗深度图视为二维离散信号,并通过方程将其变换到频域,其中j是虚单位。

在FFT-shift之后,如图(b)用一个基础理想的矩形低通滤波器从粗深度图中消除高频信息,式用于逆域转换。简单而有效的频率滤波巧妙地从显式建模的粗几何嵌入中去除复杂和不可理解的知识,同时避免产生更多的学习参数。 同时,在不使用手工标记的视觉掩码的情况下,严重的错误估计和高频负荷信号得到了缓解,使网络能够更专注于全场景几何感知。

此外还参考了课程学习的思想,在教学困难的深度嵌入样本融合网络和代价正则化网络。设D定义为第l阶段估计深度图D的随机变量,并且场景的目标分布为N。设0≤Wl(dl)≤1是应用于课程序列中示例 dl 的权重。训练分布为:

通过调制频域滤波器的截断核比(ρ)来调节单调的递增权值Wℓ,并保留从粗到细方案的最后阶段的未装饰的几何线索(ρ=1)。课程学习策略如图所示(c)为代价正则化网络引入了更好的几何线索消费模式,有效增强了MVS网络的全场景几何感知能力。

4. 混合高斯深度分布模型

基于sfm算法的稀疏重建给定预估深度范围[dmin, dmax],现有的基于学习的MVS方法始终遵循均匀深度分布假设,将参考相机截锥体划分为M个深度假设平面。CIDER提出在逆深度空间中划分假设平面,Yang引入了多模态深度分布。然而,这些方法只考虑像素深度特性,而没有模拟全场景深度分布,这是几何感知的关键。

目前研究中需要重建的场景可分为三类:a)中心物体和绕转相机;B)周围物体和自旋转相机;C)航拍照片。下图显示了BlendedMVS数据集上每个类别的图像和全场景深度分布。自然场景的深度范围往往集中在几个特定的区域,太近和太远的位置隐藏在深度分布曲线的长尾中。

根据观察,假设随机变量深度值d符合高斯混合模型(GMM)分布。样本分布可以建模为N (d;µi,σi2),其中θi={µi,σi}分别为第i个高斯分量的均值和标准差。概率密度函数由:

式中Ω={wi},i=(1,2,…,K)是模拟了变量d落在近似估计区间内满足约束的概率的先验分布集,满足约束条件:

在K=1或2时,大多数场景都可以很好地描述,只有少数场景可以用K≥3时的分布来建模。而PauTa准则允许在几个(µi−3σi,µi+3σi)区间的组合内很好地描述整个场景的深度分布。无穷点的长期负担(例如:天空)不会给学习带来负面影响当采用PauTa准则的GMM,可以更好地利用全场景深度分布增强空间感知。

5. 损失函数

基于像素的分类建模更适合本文表示,因为回归模型和最近发表的联合模型在早期阶段往往会陷入局部最优解。逐像素监督的交叉熵损失为:

其中Ψ为具有真实精度的有效像素集,PGT为真实概率体。

此外,全场景深度分布的感知是本文研究的重点。使用Kullback-Leibler散度度量来计算滤波深度估计和真实深度之间样本分布的相似度。深度分布相似度损失为:

其中p ~(:)表示过滤后的深度分布,将每个场景的深度空间分割为M′= 48个离散区间,计算深度分布的相似度。

总损失是Losspw和Lossdds的权重加权和,λ∗1=0.8,λ∗2=0.2。

6. 实验

6.1. 实现细节

Our model consumes 0.26s and 5.98G memory for the full-resolution DTU depth estimation and 0.47s and8.85G memory for the T&T. As for depth fusion, we use the open-source 3D data processing library Open3D for dense point cloud fusion for the DTU, and adopt the commonly used dynamic fusion strategy for the T&T.

6.2. 与先进技术的比较

6.3. 消融实验

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

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

相关文章

数据结构与算法练习(二)数组模拟队列

文章目录 1、队列2、数组实现队列3、数组实现循环队列 1、队列 队列是一个有序列表,可以用数组或链表来实现 遵循先入先出的原则 在队尾插入元素叫做入队,对头删除元素叫做出队。2、数组实现队列 思路: 用front和rear记录队列前后的下标&a…

【MCS-51单片机汇编语言】期末复习总结⑤——定时器中断方式与查询方式程序设计(题型五)

文章目录 知识准备工作方式寄存器TMODTCON寄存器IE寄存器 定时/计数器的使用初始化 常考题型例题1题目描述题目解析题解 例题2题目描述题目解析题解 知识准备 工作方式寄存器TMOD D7D6D5D4D3D2D1D0TF1TR1TF0TR0IE1IT1IE0IT0 [注]:TMOD高4位与T1相关,低…

iptables和防火墙

文章目录 1.防火墙2.Iptables基本介绍2.1 什么是iptables2.2 什么是包过滤防火墙2.3 包过滤防火墙如何实现 1.防火墙 Linux防火墙主要工作在网络层,针对 TCP/IP 数据包实施过滤和限制,典型的包过滤防火墙,基于内核编码实现,具有非…

Qt(C++)绘制指针仪表盘显示当前温度

一、功能介绍 当前文章要实现的功能: 使用Qt绘制一个仪表盘,用来显示当前的温度,绘制刻度、绘制数字、绘制温度指针。仪表盘全程使用QPainter进行绘制,QPainter是Qt框架中非常重要的一个类,绘制功能的实现离不开它。如果想要使用Qt进行高质量的绘图或UI设计,必须掌握QP…

Groovy 基本语法

一、简介 类型转换:当需要时,类型之间会自动发生类型转换: 字符串(String)、基本类型(如int) 和类型的包装类(如Integer) 类说明:如果在一个groovy 文件中没有任何类定义,它将被当做script 来处理,也就意味着这个文件将…

DragGAN-点对点的手动P图

原文网站link以及论文链接: https://vcai.mpi-inf.mpg.de/projects/DragGAN/ https://arxiv.org/pdf/2305.10973.pdf 简介 深度生成模型近年在合成随机真实感图像方面取得了不错的成绩。在现实世界的应用中,这种基于学习的图像合成方法中一个关键功能是…

文心一言 VS 讯飞星火 VS chatgpt (31)-- 算法导论5.2 3题

三、利用指示器随机变量来计算掷n 个骰子之和的期望值。 文心一言: 为了计算掷n个骰子之和的期望值,我们需要先了解一个重要的概念:指示器随机变量。 指示器随机变量是一种特殊的随机变量,它只有两个取值:0和1。通常…

《计算机网络——自顶向下方法》精炼——3.7(2)

读书有三到:谓心到,眼到,口到。——明朱熹 文章目录 对链接吞吐量的简化描述高带宽路径的TCP公平性 对链接吞吐量的简化描述 为了简化对一条TCP连接吞吐量的描述,我们首先忽略连接过程中处于慢启动状态的时间,因为这一…

AWD练习平台搭建 附虚拟机资源

文章目录 前言基本环境平台搭建系统安装平台部署环境启动实现效果 参考后记 前言 最近需要准备线下AWD了,但是没有那么多金币每天上BugKu的PVP在线AWD对战进行练习,于是想着可以自己搭建一个团队内部使用的AWD攻防平台,浅浅的记录一下 基本…

基于SSM框架的学生信息管理系统

项目介绍 主要功能: 基于Spring、SpringMVC、Mybatis框架LayUI完成了这么一套系统 ①角色登录:管理员登录、教师登录、学生登录 ②基本管理:学生管理、教师管理、班级管理、专业管理、教室管理 ③教务管理:课程管理、开课管理、课…

Packet Tracer - 综合技能练习

Packet Tracer - 综合技能练习 拓扑 地址分配表 32-1913 2^132^8*2^5 256*32 32个C 16 16 (1)172.16.128.0~172.16.143.255 255.255.240.0 (2)172.16.144.0~172.16.159.255 255.255.240.0 G0/0 172.16.159.254 G0/1 172.16.143.254 设备 接口 IP 地址 子网掩码 …

深入理解API网关Kong:初识Kong网关

深入理解API网关Kong:初识Kong网关 介绍 Kong是一个开源的、可扩展的、微服务 API 网关,它已经在全球范围内的各种规模的组织中广泛使用。Kong的设计原则是为了处理服务到服务的通信,通过提供功能丰富的平台,实现对API的全面管理…

Verilog基础之一、触发器实现

目录 一、触发器简介 1.1 触发器作用 1.2 触发器信号 1.3 使用规范 1.4 Vivado综合触发器 二、代码实现 三、综合结果 一、触发器简介 1.1 触发器作用 触发器是工程中基础的单元结构也是相当重要的组成,时序电路的实现离不开触发器。触发器是具有存储功能的器件&…

chatgpt赋能python:Python升序排序不用sort

Python 升序排序不用 sort 如果你在Python编程领域有多年的经验,那么你肯定对sort函数非常熟悉。sort是Python自带的用于列表或数组进行排序的函数。sort函数可以根据元素的值进行升序排序或降序排序,非常方便。但是,如果你需要在不使用sort…

【小白教程】Docker安装使用教程,以及常用命令!

【小白教程】Docker安装使用教程,以及常用命令! - 带你薅羊毛最近调试Docker内容,顺手记录一下,我常用的几个命令!这里总结一下,方便自己也同时方便大家使用! 内容慢慢完善更新!如有…

Linux 之JavaEE定制篇-搭建JavaEE 环境

Linux 之JavaEE 定制篇-搭建JavaEE 环境 注意 本篇软件链接提供 链接:https://pan.baidu.com/s/1y5qqQvWGQ-iz5M2WUrjD3A?pwdv5l2 提取码:v5l2 如果嫌自己下载麻烦或者难找可以考虑 概述 如果需要在Linux 下进行JavaEE 的开发,我们需要…

极速版手机蓝牙APP开发

极速版手机蓝牙APP开发 零、效果展示一、环境介绍二、开发过程控件布局代码逻辑蓝牙部分摇杆部分其他部分 三、整体优化四、结束语 零、效果展示 “这是一个充满科技风的手机蓝牙APP” 一、环境介绍 App Inventor是一款谷歌公司开发的手机编程软件,主要支持各种…

vue 实现 dragover拖拽到页面底部时元素自动向下滚动

公司要求做一个类似于企业微信的日程功能 然后呢 日程组件 需要能拖拽时间段创建 这里 我们使用 dragstartdragenddragover 记录被拖动位置完成的 如果没接触过 可以查看我的文章 vue记录鼠标拖拽划过位置并将划过位置变色 这里的话 其实可以在dragover中做操作 界面上 drag…

【C++ 基础篇:20】:类的 (const)static 静态成员:面试题:实现一个类,计算程序中创建出了多少个类对象?

本系列 C 相关文章 仅为笔者学习笔记记录,用自己的理解记录学习!C 学习系列将分为三个阶段:基础篇、STL 篇、高阶数据结构与算法篇,相关重点内容如下: 基础篇:类与对象(涉及C的三大特性等&#…

区块链基础之共识机制

1.1共识机制 1.1.1核心定义 区块链上的共识机制主要解决由谁来构造区块,以及如何维护区块链统一的问题 1.1.2共识机制分类 1.1.3 共识算法 1.1.3.1 POW(工作量证明) 代表项目:BTC 由于不同的节点接受数据有所区别,为了保证数据一致性&a…