PhyCAGE:符合物理规律的图像到 3D 生成

Paper: Yan H, Zhang M, Li Y, et al. PhyCAGE: Physically Plausible Compositional 3D Asset Generation from a Single Image[J]. arXiv preprint arXiv:2411.18548, 2024.
Introduction: https://wolfball.github.io/phycage/
Code: Unreleased

PhyCAGE 是一种 image-to-3D 方法,完成的任务是保证 3D 物体中的两个组成部分的嵌入方式在物理学上尽可能可信。
在这里插入图片描述

PhyCAGE 的生成过程如下:

  1. 先根据输入图像生成多视角的图像;
  2. 用多视角的图像训练 3D GS 场景。为了保证生成 3D 物体的物理合理性,引入 PSE-SDS 损失函数,使用物理模拟器修正 Gaussians 的位置信息。

在这里插入图片描述

目录

  • 一. Multi-view Generation
  • 二. Multi-view Images to 3D
  • 三. Physical Simulation-Enhanced Optimization

一. Multi-view Generation

输入图像 I I I 包含背景 O 1 O_1 O1 和前景 O 2 O_2 O2,分别对应文本描述 τ 1 \tau_1 τ1 τ 2 \tau_2 τ2。使用 Grounded-SAM 从 I I I 中分割出前景目标 O 2 O_2 O2
{ M 1 , M 2 } = GroundedSAM ⁡ ( I ; τ 1 , τ 2 ) \left\{M_1, M_2\right\}=\operatorname{GroundedSAM}\left(I ; \tau_1, \tau_2\right) {M1,M2}=GroundedSAM(I;τ1,τ2)

然后修复 O 1 O_1 O1 中被 O 2 O_2 O2 遮挡的区域:
I ^ = Inpainting ⁡ ( I ∗ ( ∼ M 2 ) + I noise  ∗ M 2 ; τ 1 ) \hat{I}=\operatorname{Inpainting}\left(I *\left(\sim M_2\right)+I_{\text {noise }} * M_2 ; \tau_1\right) I^=Inpainting(I(M2)+Inoise M2;τ1)

再使用 SyncDreamer 生成 16 个视角的全景和背景图像:
{ I i } i = 1 16 = SyncDreamer ⁡ ( I ) , { I ^ i } i = 1 16 = SyncDreamer ⁡ ( I ^ ) \begin{gathered} \{I_i\}_{i=1}^{16}=\operatorname{SyncDreamer}(I), \\ \{\hat{I}_i\}_{i=1}^{16}=\operatorname{SyncDreamer}(\hat{I}) \end{gathered} {Ii}i=116=SyncDreamer(I),{I^i}i=116=SyncDreamer(I^)

并使用 Grounded-SAM 获取每张全景图 I i I_i Ii 中的语义 mask S i S_i Si,-1 代表背景,1 代表 O 1 O_1 O1,2 代表 O 2 O_2 O2

二. Multi-view Images to 3D

上一步已经获得了多视角的全景 RGB 图像、全景图像的 mask、背景 RGB 图像,现在来重建 3DGS 场景。但由于 Grounded-SAM 分割得到的 mask 并不能保证多视角连续性,因此使用 Part123 根据全景 RGB 图像和 mask 优化一个 SDF 场和语义场以提供几何引导:
{ f , g } = Part123 ⁡ ( { I i , S i } i = 1 16 ) \{f, g\}=\operatorname{Part123}(\left\{I_i, S_i\right\}_{i=1}^{16}) {f,g}=Part123({Ii,Si}i=116)

再使用 Marching Cubes 算法从 SDF 场中提取顶点 V V V,并将其分为 V 1 V_1 V1 V 2 V_2 V2,分别表示背景和前景的顶点。

然后使用背景 RGB 图像 I ^ i \hat{I}_i I^i 重建 GS 场景 G 1 G_1 G1,使用全景 RGB 图像 I i I_i Ii 结合 V 2 V_2 V2 顶点重建 GS 场景 G 2 G_2 G2
G 1 =  GaussianSplatting  ( { I ^ i } i = 1 16 ) , G 2 = GaussianSplatting ⁡ ( { I i } i = 1 16 ; μ ∈ V 2 ) \begin{gathered} G_1=\text { GaussianSplatting }\left(\left\{\hat{I}_i\right\}_{i=1}^{16}\right), \\ G_2=\operatorname{GaussianSplatting}\left(\left\{I_i\right\}_{i=1}^{16} ; \mu \in V_2\right)\\ \end{gathered} G1= GaussianSplatting ({I^i}i=116),G2=GaussianSplatting({Ii}i=116;μV2)

三. Physical Simulation-Enhanced Optimization

这里所说的物理合理性指的就是前景和背景位置关系的合理性,因此只需要优化与位置相关的参数即可:位置 μ \mu μ、放缩矩阵 Σ \Sigma Σ(原文是 S S S)、旋转四元数 q q q,不透明度 α \alpha α 和球谐系数 c c c 直接冻结。其中 μ \mu μ 使用模拟器进行优化, Σ \Sigma Σ q q q 正常使用优化器优化(文中将 Σ \Sigma Σ q q q 记为 t t t)。

优化过程中计算 SDS 损失和图像 RGB 损失:
∇ θ L S D S = E t , ϵ [ w ( t ) ( ϵ ϕ ( I t p ; y , t ) − ϵ ) ∂ I t p ∂ θ ] L Image  = ( 1 − λ 1 ) L 1 ( I c , I ) + λ 1 L S S I M ( I c , I ) L : = L Image  ( θ μ , θ t ) + λ 3 L S D S ( θ μ , θ t ) \nabla_\theta \mathcal{L}_{S D S}=\mathbb{E}_{t, \epsilon}\left[w(t)\left(\epsilon_\phi\left(I_t^p ; y, t\right)-\epsilon\right) \frac{\partial I_t^p}{\partial \theta}\right] \\ \mathcal{L}_{\text {Image }}=\left(1-\lambda_1\right) \mathcal{L}_1\left(I^c, I\right)+\lambda_1 \mathcal{L}_{S S I M}\left(I^c, I\right)\\ \mathcal{L}:=\mathcal{L}_{\text {Image }}\left(\theta_\mu, \theta_t\right)+\lambda_3 \mathcal{L}_{S D S}\left(\theta_\mu, \theta_t\right) θLSDS=Et,ϵ[w(t)(ϵϕ(Itp;y,t)ϵ)θItp]LImage =(1λ1)L1(Ic,I)+λ1LSSIM(Ic,I)L:=LImage (θμ,θt)+λ3LSDS(θμ,θt)

然而,直接优化会导致穿透和伪影,因此将 μ \mu μ 的优化过程交给 MLS-MPM 模拟器,将损失函数关于 μ \mu μ 的梯度作为粒子的速度:
x n + 1 , v n + 1 = MPM ⁡ ( x n , v n , Δ t , ψ ) \mathbf{x}^{n+1}, \mathbf{v}^{n+1}=\operatorname{MPM}\left(\mathbf{x}^n, \mathbf{v}^n, \Delta t, \psi\right) xn+1,vn+1=MPM(xn,vn,Δt,ψ)

在这里插入图片描述

在这里插入图片描述

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

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

相关文章

游戏为什么失败?回顾某平庸游戏

1、上周玩了一个老鼠为主角的游戏,某平台喜1送的, 下载了很久而一直没空玩,大约1G,为了清硬盘空间而玩。 也是为了拔掉心中的一根刺,下载了而老是不玩总感觉不舒服。 2、老鼠造型比较写实,看上去就有些讨…

上位机工作感想-2024年工作总结和来年计划

随着工作年限的增增长,发现自己越来越不喜欢在博客里面写一些掺杂自己感想的东西了,或许是逐渐被工作逼得“成熟”了吧。2024年,学到了很多东西,做了很多项目,也帮别人解决了很多问题,唯独没有涨工资。来这…

Android系统开发(六):从Linux到Android:模块化开发,GKI内核的硬核科普

引言: 今天我们聊聊Android生态中最“硬核”的话题:通用内核镜像(GKI)与内核模块接口(KMI)。这是内核碎片化终结者的秘密武器,解决了内核和供应商模块之间无尽的兼容性问题。为什么重要&#x…

5G 核心网 相关概念快速入门

在我们开始阅读3GPP协议来学习5G核心网之前, 不妨来看看我之前整理的PPT,快速学习核心网相关概念, 以及5G转发面PFCP协议的相关核心知识。 涵盖了最精简的核心骨干内容,助你轻松上阵。 讲解目标 3GPP和相关协议 5G核心网架构模…

2025/1/20 学习Vue的第三天

玩性太大了玩得也不开心,天天看电视刷视频。 内心实在空洞。 最近天天看小红书上的外国人,结实外国友人(狗头)哈哈哈认识了不少人,有埃及的有美国的,还有天天看菲利普吃糖葫芦哈哈哈哈哈一个阳光的德国大男…

虚幻基础1:hello world

能帮到你的话,就给个赞吧 😘 文章目录 hello world创建项目创建关卡创建蓝图将蓝图插入关卡中运行 hello world 本文引擎为5.5.1 创建项目 如图 创建后如图。 创建关卡 如图 创建蓝图 如图 选择actor 双击进入蓝图节点 选择事件图表 创…

SAP POC 项目完工进度 - 收入确认方式【工程制造行业】【新准则下工程项目收入确认】

1. SAP POC收入确认基础概念 1.1 定义与原则 SAP POC(Percentage of Completion)收入确认方式是一种基于项目完工进度来确认收入的方法。其核心原则是根据项目实际完成的工作量或成本投入占预计总工作量或总成本的比例,来确定当期应确认的收…

SparkSQL数据源与数据存储综合实践

文章目录 1. 打开项目2. 查看数据集2.1 查看JSON格式数据2.2 查看CSV格式数据2.3 查看TXT格式数据 3. 添加单元测试依赖4. 创建数据加载与保存对象4.1 创建Spark会话对象4.2 创建加载JSON数据方法4.3 创建加载CSV数据方法4.4 创建加载Text数据方法4.5 创建加载JSON数据扩展方法…

鸿蒙Harmony json转对象(1)

案例1 运行代码如下 上图的运行结果如下: 附加1 Json_msg interface 案例2 import {JSON } from kit.ArkTS; export interface commonRes {status: numberreturnJSON: ESObject;time: string } export interface returnRes {uid: stringuserType: number; }Entry Component …

Maven私服-Nexus3安装与使用

写在前面 安装简单,此博客主要是为了记录下怎么使用,以及一些概念性的东西 安装配置 下载 下载对应版本(科学上网) https://help.sonatype.com/en/download-archives—repository-manager-3.html 设置端口 /etc/nexus-defaul…

MindAgent:基于大型语言模型的多智能体协作基础设施

2023-09-18 ,加州大学洛杉矶分校(UCLA)、微软研究院、斯坦福大学等机构共同创建的新型基础设施,目的在评估大型语言模型在游戏互动中的规划和协调能力。MindAgent通过CuisineWorld这一新的游戏场景和相关基准,调度多智…

【k8s面试题2025】2、练气初期

在练气初期,灵气还比较稀薄,只能勉强在体内运转几个周天。 文章目录 简述k8s静态pod为 Kubernetes 集群移除新节点:为 K8s 集群添加新节点Kubernetes 中 Pod 的调度流程 简述k8s静态pod 定义 静态Pod是一种特殊类型的Pod,它是由ku…

K8S-Pod资源清单的编写,资源的增删改查,镜像的下载策略

1. Pod资源清单的编写 1.1 Pod运行单个容器的资源清单 ##创建工作目录 mkdir -p /root/manifests/pods && cd /root/manifests/pods vim 01-nginx.yaml ##指定api版本 apiVersion: v1 ##指定资源类型 kind: Pod ##指定元数据 metadata:##指定名称name: myweb ##用户…

编辑器Vim基本模式和指令 --【Linux基础开发工具】

文章目录 一、编辑器Vim 键盘布局二、Linux编辑器-vim使用三、vim的基本概念正常/普通/命令模式(Normal mode)插入模式(Insert mode)末行模式(last line mode) 四、vim的基本操作五、vim正常模式命令集插入模式从插入模式切换为命令模式移动光标删除文字复制替换撤销上一次操作…

深度学习 DAY1:RNN 神经网络及其变体网络(LSTM、GRU)

实验介绍 RNN 网络是一种基础的多层反馈神经网络,该神经网络的节点定向连接成环,其内部状态可以展示动态时序行为。相比于前馈神经网络,该网络内部具有很强的记忆性,它可以利用它内部的记忆来处理任意时序的输入序列,…

svn tag

一般发布版本前,需要在svn上打个tag。步骤如下: 1、空白处右击,选择TortoiseSVN->Branch/tag; 2、填写To path,即tag的路基以及tag命名(一般用版本号来命名);填写tag信息;勾选cr…

Astropay之坑

大家可能知道 Astropay 原来在日本也有业务,后来突然有一天业务关掉了,那里面的用户的钱当然也就取不出来了嘛。 我合计那就那么放着呗,等以后你们重返日本的时候我再去取嘛。 嗨,最近收到几个邮件,可把我气笑了。 简…

(7)(7.2) 围栏

文章目录 前言 1 通用设置 2 围栏类型 3 破坏栅栏行动 4 使用 RC 通道辅助开关启用栅栏 5 自动高度规避 6 在任务规划器中启用围栏 7 用于遥控飞行训练 8 MAVLink 支持 前言 ArduPilot 支持基于本机的圆柱形(“TinCan”)和多边形和/或圆柱形、…

ARP 表、MAC 表、路由表、跨网段 ARP

文章目录 一、ARP 表1、PC2、路由器 - AR22203、交换机 - S57004、什么样的设备会有 ARP 表? 二、MAC 表什么样的设备会有 MAC 表? 三、路由表什么样的设备会有路由表? 四、抓取跨网段 ARP 包 所谓 “透明” 就是指不用做任何配置 一、ARP 表…

信号与系统学习(二)

1.3信号的分类:能量与功率信号,因果与反因果 1.能量信号和功率信号 将信号f(t)施加与1Ω电阻上,它所消耗的瞬时功率为|f(t)|,在区间(-∞,∞)的能量和平均功率定义为 能量有限信号:…