3D 生成重建006-3DFuse 形状引导一致性的文生3d的方法

news/2025/2/19 7:39:25/

3D生成重建006-3DFuse 形状引导一致性的文生3d的方法


文章目录

    • 0 论文介绍
    • 1 论文方法
      • 1.1 semantic code
      • 1.2 稀疏深度信息PointE
      • 1.3 lora部分
    • 2 效果

0 论文介绍

在004-DreamFusion and SJC 中dreamfusion提到将2D观测结果“提升”到3D世界的任务本质上是模糊的,并可能受益于更健壮的3D先验。这篇论文就是基于这个点出发,对文生3d进行拓展。这篇论文基于dreamfusion的思路,引入PointE的图生3d模型,生成一个初步的粗糙的点云,然后将稀疏的深度引导加入到扩散模型中,因为加入了更多的约束条件,所以进一步控制nerf往一个固定的方向去优化,这一定程度上能帮助缓解CFG过大问题,让模型可能不需要那么大的CFG系数。这个点是论文的核心点。另外设计的两个点一个就是类似gan inversion的思路,通过文本生成图像之后,去反优化text表示 e ∗ e^* e,这种做法有利于减少文本的歧义性。第三个点就是为了在风格上保持一致,论文在中间微调了一个lora层,在进行深度扩散的时候可以让生成的结果在风格上保持一致,这和第一点有点类似的效果,应该一定程度能让CFG系数不那么大,从而减轻过饱和过度光滑问题。值得一提的是,虽然引入了形状先验,但是他使用的稀疏的深度信息,但是依然不能存在Janus problem(多面体问题)。在使用形状引导这点他和同期的latent nerf是很接近的,换一种角度理解这跟通过文本给mesh着色也是很接近,只不过3dfuse的形状更加粗糙。
参考
论文资料链接3dfuse

1 论文方法

下面这个图是论文的整体结果图。整体上也是围绕前面的三点进行,只不过与介绍顺序不同。这张图最左边的部分,生成semantic code这部分约等于inversion操作。右上角绿色的部分包含一个形状先验,是通过PointE实现的。其中橙色方框中的LoRA layers是要根据左边生成的几张视图进行训练的,训练好之后,才会和深度信息一起跟扩散模型的Unet结果结合。右下角部分就是一个nerf场。
请添加图片描述

1.1 semantic code

这个部分基本上就是扩散模型中textual inversion论文来实现的。输入一个promt,扩散模型生成一张图像,然后基于生成的图像和输入的prompt进行反向优化得到更新的 e ∗ e^* e,公式原理如下 e ∗ = arg ⁡ min ⁡ e ∣ ∣ ϵ θ ( x t ^ , e ) − ϵ ∣ ∣ 2 2 e^*=\mathop{\arg\min}\limits_{e}||\epsilon_{\theta}(\hat{x_t},e)-\epsilon||_2^2 e=eargmin∣∣ϵθ(xt^,e)ϵ22
其中 x t ^ \hat{x_t} xt^表示对生成的图像添加噪声。
这个操作在其他3d生成算法中也有出现,比如realFusion和Chasing Consistency等,下面两个图中有体现。
请添加图片描述
请添加图片描述

1.2 稀疏深度信息PointE

pointE是openAi在大型的3d数据集上训练的一个点云扩散模型。效果虽然比较粗糙,但是能够提供一定的先验信息,他的升级版本是shapE,d都是很贵的模型。请添加图片描述

1.3 lora部分

LoRA在大模型很火热的今天,属于很重要的工具,因为动不动就去调整几百几千亿参数的大模型是很吃力的,LoRA就是一个很优秀的微调算法。参考链接lora
请添加图片描述

如上图,在原始 PLM (Pre-trained Language Model) 旁边增加一个旁路,做一个降维再升维的操作,来模拟所谓的intrinsic rank。训练的时候固定 PLM 的参数,只训练降维矩阵 与升维矩阵 ,而模型的输入输出维度不变,输出时将 与 PLM 的参数叠加。用随机高斯分布初始化 ,用 0 矩阵初始化 ,保证训练的开始此旁路矩阵依然是 0 矩阵。参考知乎

2 效果

可以看出来,还是存在确实细节和多面体问题,但是过饱和得到一定缓解。

3dfuse


http://www.ppmy.cn/news/1147362.html

相关文章

R实现动态条件相关模型与GARCH模型结合研究中美股市动态相关性(DCC-GARCH模型)

大家好,我是带我去滑雪! 中美两国是全球最大的经济体,其经济活动对全球产业链和贸易体系都具有巨大影响。中美之间的经济互动包括大规模的贸易、投资和金融往来。这些互动不仅仅反映在经济数据上,还体现在股市上。中美股市的联动关…

3D全景虚拟样板间展销系统扩展用户市场范围

VR样板间,能够真实还原现场,定制需要的场景。让一切比真实更真实。用户可以720度看房,自由行走在空间里,直观感受各空间的大小,看到自己家中的“未来样子”,同时通过操控手柄,控制整个智能家居系…

CentOS 系统如何在防火墙开启端口

在 CentOS 上,你可以使用 firewall-cmd 命令来开启防火墙的特定服务或端口。以下是在 CentOS 上开启 3306 端口的步骤: 检查防火墙状态:可以使用以下命令检查防火墙的状态: sudo firewall-cmd --state如果防火墙处于活动状态&…

Vue项目中的字段格式化工具(进阶版)

场景: 对于一些全局公用的状态,或是字典,甚至是后端枚举,为了方便维护,我们应尽量使它们全局公用,但我们在开发往往会忽略这个问题,总想着后面再改,可随着项目的不断推进&#xff0c…

常见SQL错误用法案例和总结

1. LIMIT 语句 分页查询是最常用的场景之一,但也通常也是最容易出问题的地方。比如对于下面简单的语句,一般DBA想到的办法是在type, name, create_time字段上加组合索引。这样条件排序都能有效的利用到索引,性能迅速提升。 SELECT * FROM …

推荐开源工具带带弟弟ocr_ddddocr_各种验证码都可以识别_滑动_点击_等等---验证码识别工作笔记001

这个很强大了,常见的各种验证码都可以识别,如果你项目上也有需要,比如需要实现系统的自动登录,这个时候就很有用了,这里仅仅给出方案,具体如何用,用的时候在做研究吧,好东西要记录,分享给需要的人.使用的时候 自己去查一下如何使用非常简单. 支持点击的验证码,支持数字验证码就…

以全新的视角审视重构——世界软件大师“鲍勃大叔”作序推荐

编程不只是写代码,更是一门艺术。编写优雅代码是一种极致追求,这需要一种极客精神才可以达到。高质量的代码不仅可以增加代码可读性,还可以确保所写的代码能够高质量运行和高效维护。 编程也是一门沟通语言,是团队沟通的方式。对代…

C语言,洛谷题,压缩技术2.0

题目如下: 这题用C语言实现有一些难度,要用到一个库函数,strcat(头文件是string.h),用于连接两个字符串数组,strcat(str,arr)就是将arr字符数组后面的\0清除,再将arr字符拼接到str上…