标题:<Enhancing Monocular 3D Scene Completion with Diffusion Model>
代码:https://github.com/CharlieSong1999/FlashDreamer
来源:澳大利亚国立大学

文章目录

  • 摘要
  • 一、前言
  • 二、相关工作
    • 2.1 场景重建
    • 2.2 扩散模型
    • 2.3 Vision language model (视觉语言模型)
  • 三、问题定义
  • 四、FlashDreamer
  • 五、Flash3D
  • 六、3DGS: Merge and align
  • 实验


摘要

  三维场景重建对于虚拟现实、机器人技术和自动驾驶等应用至关重要,它使机器能够理解复杂环境并与之互动。传统的三维高斯泼溅技术依赖从多视角拍摄的图像以获得最佳性能,但这种依赖性限制了其在仅能获取单张图像场景中的应用。本研究提出了FlashDreamer这一创新方法,通过单张图像实现完整三维场景重建,大幅减少了对多视角输入的需求。该方法利用预训练的视觉-语言模型生成场景描述性提示,引导扩散模型生成多视角图像,继而融合形成连贯的三维重建。大量实验表明,我们的方法能高效稳健地将单张图像输入扩展为完整三维场景,无需额外训练即可扩展单目三维重建能力。

一、前言

  三维场景重建通过多幅输入图像生成场景的三维表征。这项计算机视觉领域的基础任务为自动驾驶[31]、机器人技术[25]、游戏开发[27]以及虚拟/增强现实(VR/AR)[35]等应用提供空间表征基础。近年来,三维高斯泼溅(3DGS)技术凭借其能以极少输入实现高质量实时渲染的特性,已成为三维表征的热门方法[3,8,14–16,21]。但3DGS通常需要多视角图像才能达到最佳效果[3,30,32],这限制了其在单图像场景中的适应性[17]。Flash3D[28]通过单图像三维重建技术解决了这一问题,然而当从其他角度观察此类重建结果时,原始图像信息不足常导致伪影产生。例如旋转视角时,初始输入范围外的区域常会出现空白或边界伪影。

  为突破这些限制,可采用扩散模型[23]等生成式模型合成新视角图像。然而扩散模型在生成同一场景的多幅图像时往往存在一致性问题[1]——例如生成图像间的重叠区域可能出现偏差,导致内容不一致。为此我们提出FlashDreamer:该方法通过预定义角度生成视图,在Flash3D初始化的基础上完成场景的三维高斯溅射建模。FlashDreamer利用中间3DGS表征对三维空间中的重叠区域进行对齐,从而解决一致性问题。此外,视觉语言模型(VLM)提供的辅助指导能增强扩散过程。本研究的主要贡献包括:

  • FlashDreamer Pipeline:我们推出FlashDreamer流程,该流程利用预训练的Flash3D、扩散模型和视觉语言模型(VLMs),从输入图像及周边视角构建完整3D场景。
  • Alternative Configurations(可选配置):FlashDreamer的多种变体方案,包括采用不同扩散模型、旋转角度以及为扩散模型选择不同提示词。
  • 实验验证:定性与定量评估表明,FlashDreamer无需额外训练即可实现高效的3D场景补全。

  

  

二、相关工作

2.1 场景重建

  场景重建指从一个或多个图像创建真实环境三维表征的过程。在多重视角(图像)重建领域已有诸多重要成果,从多视角立体视觉[24]、神经辐射场(NeRF)到三维高斯泼溅(3DGS)]。另一些方法专注于少样本图像重建[pixelsplat, latentsplat],展示了通过少量视角构建场景的能力。这些方法在多视角设置下能提供精确的实时渲染性能,但要么需要大量输入图像,要么要求输入图像间存在特定关联[Gaussianobject],限制了其在少视角或单视角重建中的表现。为突破这一局限,最新研究提出了双视角[Dust3R]和单视角重建器[Large spatial model:End-to-end unposed images to semantic 3d],利用Transformer在训练期间捕捉跨视角关系。Flash3D[28]通过采用轻量级卷积层实现单图像单目场景重建,以简洁高效的方法推动了该领域发展。

  尽管如此,这些少视角重建方法仅能复原输入图像中的内容,使得场景缺失内容的补全成为难题。部分研究[15,16]采用全景图像进行重建,得益于360度全覆盖特性,这类方法能实现良好的场景闭环且不存在内容缺失。以PixelSynth[21]、Text2Room[11]和LucidDreamer[4]为代表的迭代式场景生成方法,则通过从局部视角或文本描述自回归生成场景提供了新思路。

2.2 扩散模型

  计算机视觉中的扩散模型[5]旨在学习从受高斯噪声干扰的图像中去噪的过程,进而生成高质量且多样化的图像。作为深度生成方法之一,基于扩散的模型被广泛应用于图像合成[23]、视频生成[10]和密集视觉预测[13]等现实场景中。以潜在扩散模型(LDMs)形式呈现的Stable Diffusion[19,23]在高分辨率图像合成任务中取得了巨大成功。除图像生成外,扩散模型在图像修复领域同样成果斐然——这项图像编辑技术能根据用户以文本描述、遮罩或布局[12]等形式提出的需求,对给定图像进行编辑或补全。Ledits++[2]允许用户通过提供标注待编辑目标区域的遮罩,结合描述该区域预期生成内容的文本来实现编辑。这种编辑流程与我们补全特定图像区域的目标高度契合。

2.3 Vision language model (视觉语言模型)

  视觉语言模型(VLM)能够捕捉图像与文本之间的关联性,无需微调即可应用于下游视觉语言任务[34]。开创性模型CLIP[20]采用文本嵌入与图像嵌入的对比学习方法,二者分别通过独立的编码器提取。其核心目标是最大化匹配文本-图像对的相似度,同时最小化非匹配对的相似度。尽管CLIP在图文匹配方面表现卓越,但并未解决图像到文本的生成问题。CoCa[33]通过提出解耦编码器与解码器的图像描述生成框架解决了这一局限,实现了从图像生成文本的功能。该模型中,图像和文本先经过独立编码,随后在多模态解码器中进行交叉注意力处理以生成描述文本。本项工作中,我们采用当前最先进的开源视觉语言模型LLama3[6],基于输入图像为我们的处理流程生成文本描述。

  

三、问题定义

  给定单张图像I0∈RH×W×3I_0∈R^{H×W×3}I0RH×W×3,生成完整的三维场景表征RNR_NRN,流程如图1。定义一组三维场景集合{Ri′R'_iRi}i=0N^N_{i=0}i=0N,在每一步中通过Flash3D[28]从单一视角生成,而{RiR_iRi}i=0N^N_{i=0}i=0N表示每一步经过合并对齐后获取的多视角累积三维场景。此外,我们还定义了一组渲染变换{TiT_iTi}i=0N^N_{i=0}i=0N和几何变换角度{gig_igi}i=0N^N_{i=0}i=0N,用于从多视角渲染场景。其中Ii′∈RH×W×3I'_i∈R^{H×W×3}IiRH×W×3代表扩散模型修复前的图像,Ii∈RH×W×3I_i∈R^{H×W×3}IiRH×W×3表示经过扩散模型修复后的图像。

在这里插入图片描述

四、FlashDreamer

在这里插入图片描述

  如图2所示,包含两个主要步骤:(i) 修复(inpaint)新视角的图像;(ii) 三维高斯泼溅(3DGS)的合并与对齐过程。首先,输入图像I0I_0I0将被输入Flash3D 主干网络,通过以下方程生成场景的初始三维表示R0′R'_0R0

在这里插入图片描述

  R0′R'_0R0因未被观测到的部分而包含遮挡或不完整区域。随后,我们通过预定义的几何变换 g1g_1g1(即第一步旋转的特定角度)从原始重建的三维场景R0R_0R0渲染出新视角图像I1′I'_1I1 (对于 i=0i=0i=0R0=R0′R_0 = R'_0R0=R0i=0i=0i=0 时,使用 RiR_iRi 进行渲染)。

在这里插入图片描述

  I1′I'_1I1中的黑色mask区域表示需要通过扩散模型进行修复的区域。随后,Stable Diffusion模型[23]对I1′I'_1I1进行扩展,生成扩展后的新视角图像I1I_1I1。这一优化过程由原始图像I0I_0I0的文本描述t0t_0t0引导——该描述由视觉语言模型VLM生成(具体采用LLaMA-3-1-8B模型)。需注意的是,为确保每个生成视角的一致性,我们在每一步都始终使用描述t0t_0t0作为扩散提示。

在这里插入图片描述

  当我们获得修复后的场景图像I1I_1I1时,会重新应用公式1来渲染R1′R'_1R1,该渲染是基于几何变换角度g1g_1g1的视点重建的。R1′R'_1R1将与R0′R'_0R0进行合并和对齐,从而获得更完整的三维表示R1R_1R1(见图2中的红色方框)

在这里插入图片描述

  该序列化流程通过应用预定义的几何变换 {gig_igi}i=0N^N_{i=0}i=0N继续执行,并生成 {RiR_iRi}i=0N^N_{i=0}i=0N集合。最终,RNR_NRN 是流程的输出场景表征,既包含原始输入图像 I0I_0I0,也包含扩散模型生成的新视角图像{IiI_iIi}i=1N^N_{i=1}i=1N

五、Flash3D

  场景补全过程采用增量式处理,未观测场景会逐步填充由Flash3D[28]模型生成的3D高斯体素。这些高斯体的三维坐标首先根据数据集相机内参进行重缩放以确保尺度一致性。重缩放后,坐标将从相机坐标系转换至世界坐标系。图3展示了Flash3D示意图,对应方程式简化为公式(1)。

在这里插入图片描述
  

  

在这里插入图片描述

六、3DGS: Merge and align

  新渲染的图像可能包含两个部分:已见区域和未见区域。只需补全未观测部分,因此基于现有3DGS创建一个mask,定义为:

在这里插入图片描述

  MMM作为扩散模型的过滤器,基于现有RGB信息完成图像补全。新图像生成后再次输入Flash3D,使用相同msdk来保留与先前未观测区域像素相对应的输出3DGS:
在这里插入图片描述

  其中 Ri′R'_iRi 表示由 Flash3D 从图像 IiI_iIi 生成的 3D 高斯集合,Ri~\tilde{R_i}Ri~ 表示我们需要保留的 3DGS。将先前和新增的3D高斯模型合并为完整的场景重建 (Ri=Ri−1+Ri′~)(R_i = R_{i−1} + \tilde{R'_i})(Ri=Ri1+Ri~),并通过优化3D高斯参数使渲染图像更接近Flash3D输入数据。渲染图像与Flash3D输入图像的对比采用RGB损失函数,定义为:

在这里插入图片描述

实验

   定性分析 主要考量三个维度:(i)旋转角度(ii)扩散模型选择(iii)提示词多样性 定量评估 方面,我们采用弗雷谢特初始距离(FID)[9]和CLIP分数[20]两项指标,对不同旋转角度下的生成质量进行系统测量,旨在明确驱动高质量场景生成的核心参数。

  实验设置Flash3D结合预训练的Stable Diffusion-v2模型,实现多视角场景图像扩展。为提升扩散模型的生成精度,向LLaMA-3.1-8B输入引导提示词"请简要描述该场景",通过视觉语言模型(VLM)生成的描述文本作为扩散模型的提示输入。最终采用标准3DGS流程完成三维场景重建。实验在Replica数据集的子集,包含18个高真的室内三维场景的图像帧,随机选取的20张图像,每张图像以10°为旋转单位、在-30°至30°范围内选取6个新视角,即子集共含20张输入图像和120张groundtruth图像。所有实验均在NVIDIA Tesla V100 GPU上完成。

  Baseline。PixelSynth [2021CVF] 单目场景补全模型,通过训练生成对抗网络(GAN)[9]来生成像素内容,补全输入图像之外的内容,作为对比基准。该研究未利用场景的三维表征。

  旋转角度。如图4首行,展示了从多视角渲染原始图像的过程,其中黑色mak区域表示扩散模型需要修复的区域。通过组合不同角度的修复图像,我们构建出最终的三维场景,这使得旋转角度增量的选择对模型性能至关重要。本研究探讨了5°和10°两种旋转增量对扩散模型生成质量的影响,角度范围设定在-30°至30°之间,如图4中间行与底行所示。结果表明:较小的增量虽然能提供更精细的调整,但会导致跨视角的边缘重叠,从而引入更多可能影响修复质量的伪影。

在这里插入图片描述

  扩散模型比较。Stable Diffusion-v2能实现更具摄影质感的生成效果。这种品质优势对于需要多视角真实感的应用场景尤为重要。相反,Stable Diffusion-xl虽然在生成多样化艺术视觉风格方面更具灵活性,但可能会引入与源图像风格偏离的元素。Stable Diffusion-xl增强的艺术表现力对创意应用大有裨益,但在需要风格统一性的场景中,可能导致生成结果与原始图像存在风格不一致的问题。

在这里插入图片描述

  提示词对比。视觉语言模型(VLMs)能够描述场景特征[34]:(i)扩散模型可输入的token长度有限;(ii)好的描述提示词未必能生成高质量场景。为此在Stable Diffusionv2[22]上开展实验,采用两种扩散提示词——绿色框标注的"短提示词"与"长提示词"。长提示词详细描述房间内的具体物品、相对位置及附加场景元素,为模型提供更丰富的上下文信息;而短提示词则简要概述场景中的物品。

在这里插入图片描述

  定量结果:表1比较了PixelSynth与本方法FlashDreamer在不同旋转角度下的弗雷谢特起始距离(FID)和CLIP分数。 FID指标用于评估生成图像质量,数值越低代表图像保真度越高;CLIP分数则衡量文本提示对齐程度,数值越高越好。随着旋转角度绝对值减小,两种方法的FID分数均呈现逐步下降趋势,表明图像质量持续提升。同样在较小角度下,CLIP分数呈现上升态势,提示对齐效果更佳。总体而言,这些数据证明较小旋转角度有助于生成更高质量的图像。

在这里插入图片描述

  图7呈现了Replica数据集的修复后房间图像,生成的图像展示了多样化的视角与场景配置,涵盖了办公室、客厅和会议室等不同环境。图8展示了我们的三维重建示例,这些成果通过展现结构完整性与空间纵深感,清晰地阐释了房间的几何特征。这些结果凸显了在捕捉精细细节与保持跨视角纹理一致性方面所面临的挑战。

在这里插入图片描述

  

  

  

  

#pic_center =80%x80%







d\sqrt{d}d 18\frac {1}{8}81 xˉ\bar{x}xˉ D^\hat{D}D^ I~\tilde{I}I~ ϵ\epsilonϵ
ϕ\phiϕ ∏\prod abc\sqrt{abc}abc ∑abc\sum{abc}abc
/ $$

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

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CANFD记录仪设备在无人驾驶快递车的应用

随着物流行业的快速发展&#xff0c;无人驾驶快递车因其高效、低成本的优势&#xff0c;逐渐成为“最后一公里”配送的重要解决方案。然而&#xff0c;无人驾驶系统的稳定性和安全性高度依赖车辆总线数据的精准采集与分析。南金研CANFDlog4 4路记录仪凭借其多通道、高带宽、高可…

Kubernetes存储入门

目录 前言 一、Volume 的概念 二、Volume 的类型 常见的卷类型 Kubernetes 独有的卷类型 三、通过 emptyDir 共享数据 1. 编写 emptyDir 的 Deployment 文件 2. 部署该 Deployment 3. 查看部署结果 4. 登录 Pod 中的第一个容器 5. 登录 Pod 中的第二个容器查看/mnt下…

10.Docker安装mysql

(1)docker pull mysql:版本号eg&#xff1a;docker pull mysql(默认安装最新版本)docker pull mysql:5.7(2)启动并设置mysql镜像docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD123456 --name mysql1 mysql其他参数都不多讲&#xff0c;下面这个参数指的是设置数据库用户ro…

Debian-10编译安装Mysql-5.7.44 笔记250706

Debian-10编译安装Mysql-5.7.44 笔记250706 单一脚本安装 ### 1. 安装编译依赖 sudo apt install -y cmake gcc g build-essential libncurses5-dev libssl-dev \ pkg-config libreadline-dev zlib1g-dev bison curl wget libaio-dev \ libjson-perl libnuma-dev libsystemd-d…

HarmonyOS 中状态管理 V2和 V1 的区别

鸿蒙ArkUI框架中的ComponentV2与V1在状态管理、组件开发模式、性能优化等方面存在显著差异。以下是两者的核心区别及技术解析&#xff1a;一、状态管理机制V1的局限性V1的Observed装饰器只能观察对象的第一层属性变化&#xff0c;需配合ObjectLink手动拆解嵌套对象。例如&#…

centos7 安装jenkins

文章目录前言一、pandas是什么&#xff1f;二、安装依赖环境1.前提准备2.安装git3.安装jdk&#xff0c;以及jdk版本选择4.安装maven5.安装NodeJS6.验证三、安装Jenkins四、验证Jenkins总结前言 正在学习jenkinsdocker部署前后端分离项目&#xff0c;安装jenkins的时候遇到了一…

Leetcode刷题营第二十题:删除链表中的重复节点

面试题 02.01. 移除重复节点 编写代码&#xff0c;移除未排序链表中的重复节点。保留最开始出现的节点。 示例1&#xff1a; 输入&#xff1a;[1, 2, 3, 3, 2, 1]输出&#xff1a;[1, 2, 3]示例2&#xff1a; 输入&#xff1a;[1, 1, 1, 1, 2]输出&#xff1a;[1, 2]提示&…

关于市场主流自动化测试工具和框架的简要介绍

下面我会分别讲解 Selenium、Appium、Playwright 等主流自动化框架的区别、联系、适用场景和归属范畴&#xff0c;帮助你更系统地理解它们。&#x1f527; 一、它们都属于哪一类工具&#xff1f;Selenium、Appium、Playwright、Cypress 等都属于&#xff1a;▶️ 自动化测试框架…

基于cornerstone3D的dicom影像浏览器 第三十二章 文件夹做pacs服务端,fake-pacs-server

文章目录 前言一、实现思路二、项目与代码三、dicom浏览器调用1. view2d.vue前言 本系列最后一章,提供一个模拟pacs服务,供访问dicom图像测试。 修改nodejs本地目录做为http服务根目录,提供一个根目录,其中的每个子目录代表一个检查。在dicom浏览器url中带入参数studyId=目…

【Python 核心概念】深入理解可变与不可变类型

文章目录一、故事从变量赋值说起二、不可变类型 (Immutable Types)三、可变类型 (Mutable Types)四、一个常见的陷阱&#xff1a;当元组遇到列表五、为什么这个区别如此重要&#xff1f;1. 函数参数的传递2. 字典的键 (Dictionary Keys)3. 函数的默认参数陷阱六、进阶话题与扩展…

wpf使用webview2显示网页内容(最低兼容.net framework4.5.2)

wpf使用webview2显示网页内容(最低兼容.net framework4.5.2 一、核心功能与架构混合开发支持‌进程隔离模型‌通信机制‌二、核心优势性能与兼容性‌跨平台部署‌开发效率‌安全机制‌三、适用场景四、开发部署要点WebView2 是微软推出的现代浏览器控件,基于 Chromium 内核的 …

MySQL断开连接后无法正常启动解决记录

问题现象 夜里23点MySQL在还原备份的时候断开连接&#xff0c;尝试重启&#xff0c;表面上是运行中实际上无法通过命令端连接&#xff0c;无法正常启动。 问题检查 可以使用 systemctl start mysql 但是没有监听 3306端口 mysql -ucosmic -p 提示无法找到socket文件 删除原先的…

隧道安全监测系统的应用意义

随着我国交通基础设施建设的快速发展&#xff0c;公路、铁路及城市地铁隧道数量不断增加&#xff0c;隧道安全问题日益凸显。隧道作为地下封闭空间&#xff0c;受地质条件、施工质量、运营环境等多因素影响&#xff0c;易出现结构变形、渗漏水、衬砌开裂等安全隐患。一旦发生事…

前端UI逻辑复杂可以用什么设计模式

中介者模式 当UI组件间存在复杂交互或多个组件需共享状态时&#xff0c;中介者模式能集中管理事件分发和状态更新&#xff0c;减少组件间的直接依赖&#xff0c;提升解耦性。 vue实现中介者模式 在Vue中实现中介者模式&#xff0c;你可以通过创建一个全局的事件中心&#xff08…

WIFI协议全解析05:WiFi的安全机制:IoT设备如何实现安全连接?

&#x1f510; WiFi的安全机制&#xff1a;IoT设备如何实现安全连接&#xff1f;“我的设备明明连上WiFi了&#xff0c;为什么还是能被‘蹭网’&#xff1f;” “WPA3 是什么&#xff1f;ESP32 支持吗&#xff1f;” “我做了MQTT加密就算安全了吗&#xff1f;”IoT设备连接WiF…

HTTP 请求体类型详解:选择最适合的数据提交格式

HTTP 请求体类型详解&#xff1a;选择最适合的数据提交格式 &#x1f680; 本文全面解析 HTTP 请求中不同 Content-Type 的适用场景、数据结构与优劣势&#xff0c;帮助开发者高效选择数据传输方案。 &#x1f4cc; 目录 核心请求体类型对比详细类型解析最佳实践指南总结 &am…

C语言 | 函数核心机制深度解构:从底层架构到工程化实践

个人主页-爱因斯晨 文章专栏-C语言 引言 最近偷懒了&#xff0c;迷上了三国和李贺。给大家分享一下最喜欢的一句诗&#xff1a;吾不识青天高黄地厚&#xff0c;唯见月寒日暖来煎人寿。我还不是很理解27岁的李贺&#xff0c;如何写出如此绝笔。 正文开始&#xff0c;今天我们…

uniapp真机调试“没有检测到设备,请插入设备或启动模拟器后点击刷新再试”

当真机调试&#xff0c;运行到安卓 APP基座 时&#xff0c;有时会检测不到设备&#xff0c;显示下面的问题&#xff1a;此时&#xff0c;可以通过下面的几种方法进行排查&#xff1a;1.在手机中找到“开发者选项”选项&#xff08;可在设置中搜索&#xff0c;如搜索不到&#x…

使用langchain连接llama.cpp部署的本地deepseek大模型开发简单的LLM应用

langchain是一个基于python实现的开源LLM开发框架&#xff0c;llama.cpp是一个基于C框架可以在本地部署大模型并开放服务端接口开放给外部应用使用。 本文结合langchain和llama.cpp&#xff0c;在本地部署轻量级的deepseek大模型&#xff0c;并构建一个简单的链式LLM应用&…

Serverless 数据库来了?无服务器数据库 vs 传统数据库有何不同?

随着云计算技术的迅猛发展&#xff0c;无服务器&#xff08;Serverless&#xff09;架构逐渐成为一种主流趋势。其中&#xff0c;Serverless 数据库作为云原生应用的重要组成部分&#xff0c;为开发者提供了前所未有的灵活性和成本效益。相比传统的数据库管理方式&#xff0c;S…