Epipolar-Free 3D Gaussian Splatting for Generalizable Novel View Synthesis 论文解读

目录

一、概述

二、相关工作

1、单场景3DGS

2、跨场景生成3DGS

3、几何方法解决3D任务

三、eFreeSplat

1、预训练跨视角模块 

2、无外极线跨视角交互感知模块

3、迭代跨视角高斯对齐

4、高斯参数预测


一、概述

        该论文设计了一种不依赖于极线约束的情况实现可推广的新视角合成。与现有依赖于极线约束的方法不同,eFreeSplat利用自监督的ViT和跨视角交叉自注意力完成预训练来捕捉跨稀疏视角的3D结构信息。

(1)不依赖于极线约束实现可推广的新视角合成,而通过自监督的ViT和跨视角注意力。

(2)提出了一种迭代跨视角高斯对齐(ICGA)技术,确保不同视角之间的深度尺度一致,解决了渲染过程中出现的伪影和像素位移问题。

(3)eFreeSplat在几何重建和新视角合成质量方面均优于依赖于极线约束的方法。

二、相关工作

1、单场景3DGS

        单场景3D高斯散射(3DGS)方法标志着3D场景表示的一个重要转变。它使用数百万个可学习的3D高斯分布来显式地将空间坐标映射到像素值,通过光栅化的散射方法提高了渲染效率和质量,并增强了各种下游任务。与早期的3D神经表示方法[]相比,3DGS可以实现实时渲染和可编辑性,同时计算需求大大降低。现有的单场景3DGS相关方法需要通过昂贵的逐场景梯度反向传播过程获得每个场景的密集视角。而该论文,我们采用单个前馈网络,仅使用两个图像就可以推断高斯原语的参数。

2、跨场景生成3DGS

        跨场景泛化是一种从少量观测合成新场景视图的方法。利用从大规模多视角数据集学习的鲁棒先验,可以直接生成新场景的视图,消除了需要针对每个场景进行重新训练的限制。

        pixelSplat和LatentSplat利用外极性Transformer来寻找跨视图对应关系和学习每个像素的深度分布。然而在非重叠和封闭区域会性能下降,导致不准确的几何形状和表面重建。Splatter Image合并了来自单视图回归的高斯参数,但缺乏跨视角信息。GPS-Gaussian和MVSplat通过成本体积和特征匹配来获得更好的几何信息。Triplane-Gaussian通过单视图编码为潜在三维点云和三平面的特征,并通过MLP解码器输出三维高斯参数。然而这侧重于单视图重建,而不能做到跨视图的重建。

3、几何方法解决3D任务

        基于重投影特征、成本体积和图像变形等几何先验的方法在3D视觉任务中表现良好,但这些方法依赖于特定任务的设计,在复杂场景如遮挡或视角不重叠时会遇到困难。

        为了解决这一问题,一些无几何先验的替代方法被提出,如SRT和GS-LRM。这些方法摒弃了任何显式的几何归纳偏差,但由于缺乏针对性的场景编码,它们要么局限于特定数据集,要么计算效率和碳足迹都不可接受。

        一些无需姿态的可泛化的NVS方法,如LEAP和PF-LRM,也是无极线先验的。但由于缺乏已知的相机姿态,它们在执行极线采样时面临挑战,通常需要通过特殊设计的特征表示来降低任务复杂度,但这也会降低模型的泛化能力。

        与上述方法不同,该论文的eFreeSplat关注数据驱动的3D先验,不需要任何耗时复杂的结构化特征表示,如体积代价。它利用自监督的跨视角完成预训练来恢复图像中被遮挡的部分,显著增强了下游3D视觉任务的性能。

三、eFreeSplat

        eFreeSplat的框架分为预训练跨视角模块,无外极线跨视角交互感知模块,迭代跨视角高斯对齐,高斯参数预测。

1、预训练跨视角模块 

        利用CroCo v2模型,一个基于自监督跨视角预测被遮挡图像区域的模型,对输入图像其一进行了一定的图像掩码操作,另一个不做影响,也就是上图存在一定掩码的图像,经过ViT+Cross-Attention,通过预测被遮挡的图像区域来学习跨视角的空间关系,实现自监督的跨视角预训练,也为后续的大规模数据集上学习到鲁棒性的几何偏差和后续全局3D表示提供支撑。

2、无外极线跨视角交互感知模块

        直接共享上一模块的权重,有效获得跨视角的3D几何先验,并且通过跨视角交互,来输出两张图片的特征F_1,F_2

3、迭代跨视角高斯对齐

        首先用2D U-Net,预测每个像素点的高斯深度d和特征G。之后计算第一视图的特征G_1在第二视图上的投影特征G_{1,2},并与第一视图的特征G_1进行相似度,计算得到相似度S_1S_2

        最后使用S_1S_2更新第一视图的高斯特征G_1和深度d_1,并将更新后的特征和深度再次作为输入,进行下一轮迭代。

4、高斯参数预测

        首先基于细化的深度和相机参数预测每个视图的高斯中心\mu

        之后对于其他的参数基于额外的U-Net方法预测\Sigma,\alpha,SH

        最后利用3DGS中的可微渲染来重建模型。

参考项目:eFreeSplat

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

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

相关文章

c++视频图像处理

打开视频或摄像头 打开指定视频 /*VideoCapture(const String &filename, apiPreference);filename:读取的视频或者图像序列的名称apiPreference:读取数据时设置的属性*/ VideoCapture video; //定义一个空的视频对象 video.open("H:/BaiduNetdiskDownlo…

青少年强网杯线上ctf-crypto-wp

目录 AliceAES Classics AliceAES 进入环境,给一个key值和一个iv值 意思是,用这两个值AES编码‘Hello,Bob!’,然后把结果输入进去 把key值和iv值带入解得 然后得出flag Classics 题目是下面这个 根据他解码的顺序,反着写出编码顺序 一开…

工具使用_docker容器_crossbuild

1. 工具简介 2. 工具使用 拉取 multiarch/crossbuild 镜像&#xff1a; docker pull multiarch/crossbuild 创建工作目录和示例代码&#xff1a; mkdir -p ~/crossbuild-test cd ~/crossbuild-test 创建 helloworld.c &#xff1a; #include <stdio.h>int main() …

【Linux系统】—— 基本指令(三)

【Linux系统】—— 基本指令&#xff08;三&#xff09; 1 一切皆文件2 重定向操作2.1 初始重定向2.2 重定向的妙用2.3 追加重定向2.4 输入重定向2.5 一切皆文件与重定向结合 3 Linux 中的文件类型4 日志5 「more」命令6 「less」命令7 「head」与「tail」7.1 查看文件开头和结…

搜索引擎中广泛使用的文档排序算法——BM25(Best Matching 25)

在搜索场景中&#xff0c;BM25能计算每个文档与查询的匹配度&#xff0c;从中找出最相关的文档&#xff0c;并按相关性高低排序展示。 要理解BM25&#xff0c;需要掌握以下几个关键概念&#xff1a; 1. 词频&#xff08;Term Frequency, TF&#xff09;&#xff1a;某关键词在文…

Jupyter Notebook的安装和配置提示功能

Python开发环境搭建conda管理环境-CSDN博客 安装anaconda和对接到编译器的教程可以看上面这一篇 Jupyter Notebook是一种交互式计算环境&#xff0c;它允许用户在单个文档中编写和执行代码、方程、可视化和文本。与其他编译器相比&#xff0c;Jupyter Notebook的突出点在于其交…

Oracle SQL*Plus中的SET VERIFY

在 Oracle SQL*Plus 中&#xff0c;SET VERIFY ON 和 SET VERIFY OFF 是两个用于控制命令执行前后显示变量值的命令。这些命令主要用于调试和验证 SQL 脚本中的变量替换情况。 一、参数说明 1.1 SET VERIFY ON 作用&#xff1a;启用变量替换的验证功能。当启用时&#xff0c;S…

【C】错误的变量定义导致sprintf()‌输出错误

问题描述 刚刚写一个用AT指令透传相关的函数&#xff0c;需要用到sprintf()‌拼接字符串。 结果发现sprintf()‌拼接出来的内容是错误的&#xff0c;简化后的代码如下&#xff1a; const char AT_CIPSEND_FIX_LENGTH_HEADER[11] "ATCIPSEND"; // 错误的&#xff0…

【PHP】部署和发布PHP网站到IIS服务器

欢迎来到《小5讲堂》 这是《PHP》系列文章&#xff0c;每篇文章将以博主理解的角度展开讲解。 温馨提示&#xff1a;博主能力有限&#xff0c;理解水平有限&#xff0c;若有不对之处望指正&#xff01; 目录 前言安装PHP稳定版本线程安全版解压使用 PHP配置配置文件扩展文件路径…

Docker安装RabbitMq详细教程

1.1通过Docker pull RabbitMq docker pull rabbitmq 1.2 获取镜像 docker images 注&#xff1a;执行1.3之前请使用以下命令创建docker网络 docker network create tm 1.3运行命令启动参数 docker run \-e RABBITMQ_DEFAULT_USERrabbitmq \-e RABBITMQ_DEFAULT_PASSrabbitm…

华为ENSP--IP编址及静态路由配置

项目拓扑 项目任务 一、基础配置和IP编址 在AR1、AR2、AR3上配置设备名称和IP地址 # AR1配置 [AR1]interface GigabitEthernet 0/0/0 [AR1-GigabitEthernet0/0/0]ip address 10.0.13.1 24 [AR1-GigabitEthernet0/0/0]q [AR1]interface GigabitEthernet 0/0/1 [AR1-GigabitEth…

老北京香酥芝麻饼

宝安石岩上屋大道有一家老北京香酥芝麻饼&#xff0c;不仅很好吃&#xff0c;还分量特别厚实。应该这家老店&#xff0c;在上屋大道很多人知道和吃过。我每周末都会去买回去给家人一起吃。工作日由于上下班&#xff0c;想买也买不了&#xff0c;因为太晚去老板就收摊了。就像早…

对于相对速度的重新理解 - 2

回到先前说的&#xff0c;先令真空光速为标准光速&#xff0c; 光子的绝对速度 范围&#xff0c; 物质粒子的 范围&#xff0c; 这样的话&#xff0c;我们就可以根据 和 &#xff0c;把速度分成3个段&#xff0c; 这样就可以出现速度和它的负值&#xff0c;也就是速度的矢量具…

GWO-SVMD分解 | Matlab实现GWO-SVMD灰狼算法优化逐次变分模态分解

GWO-SVMD分解 | Matlab实现GWO-SVMD灰狼算法优化逐次变分模态分解 目录 GWO-SVMD分解 | Matlab实现GWO-SVMD灰狼算法优化逐次变分模态分解效果一览基本介绍程序设计参考资料 效果一览 基本介绍 GWO-SVMD灰狼算法优化逐次变分模态分解 内有15种用以优化svmd的适应度函数&#…

初识Linux—— 基本指令(下)

前言&#xff1a; 本篇继续来学习Linux的基础指令&#xff0c;继续加油&#xff01;&#xff01;&#xff01; 本篇文章对于图片即内容详解&#xff0c;已同步到本人gitee&#xff1a;Linux学习: Linux学习与知识讲解 Linux指令 1、查看文件内容的指令 cat ​ cat 查看文件…

在SQLyog中导入和导出数据库

导入 假如我要导入一个xxx.sql&#xff0c;我就先创建一个叫做xxx的数据库。 然后右键点击导入、执行SQL脚本 选择要导入的数据库文件的位置&#xff0c;点击执行即可 注意&#xff1a; 导入之后记得刷新一下导出 选择你要导出的数据库 右键选择&#xff1a;备份/导出、…

如何进行高级红队测试:OpenAI的实践与方法

随着人工智能&#xff08;AI&#xff09;技术的迅猛发展&#xff0c;AI模型的安全性和可靠性已经成为业界关注的核心问题之一。为了确保AI系统在实际应用中的安全性&#xff0c;红队测试作为一种有效的安全评估方法&#xff0c;得到了广泛应用。近日&#xff0c;OpenAI发布了两…

ES 基本使用与二次封装

概述 基本了解 Elasticsearch 是一个开源的分布式搜索和分析引擎&#xff0c;基于 Apache Lucene 构建。它提供了对海量数据的快速全文搜索、结构化搜索和分析功能&#xff0c;是目前流行的大数据处理工具之一。主要特点即高效搜索、分布式存储、拓展性强 核心功能 全文搜索:…

Java项目实战II基于SPringBoot的玩具销售商城管理系统(开发文档+数据库+源码)

目录 一、前言 二、技术介绍 三、系统实现 四、核心代码 五、源码获取 全栈码农以及毕业设计实战开发&#xff0c;CSDN平台Java领域新星创作者&#xff0c;专注于大学生项目实战开发、讲解和毕业答疑辅导。获取源码联系方式请查看文末 一、前言 随着儿童娱乐与教育需求的…

Python安装出现严重错误的解决方法_0x80070643-安装时发生严重错误

使用这个软件MicrosoftProgram_Install_and_Uninstall.meta.diagcab把关于Python一个个组件全部删除&#xff0c;然后就能够重新安装Python了 修复阻止程序安装或删除的问题 - Microsoft 支持 这里下载