3D 生成重建013-ProlificDreamer将SDS拓展到VSD算法进行高质量的3D生成

news2024/11/17 5:40:27

3D 生成重建013-ProlificDreamer将SDS拓展到VSD算法进行高质量的3D生成


文章目录

    • 0论文工作
    • 1论文方法
    • 2效果

0论文工作

**分数蒸馏采样(SDS)**通过提取预先训练好的大规模文本到图像扩散模型,在文本到3d生成方面显示出了巨大的前景,但存在过饱和、过平滑的问题g和低多样性问题。在这项工作中,作者提出将三维参数建模为一个随机变量,而不是像SDS中那样的一个常数,并提出了变分分数蒸馏(VSD),一个有原则的pa基于粒子的变分框架来解释和解决上述文本到3d生成中的问题。作者表明,SDS是VSD的一种特殊情况,会导致采样结果较差且CFG系数很大,这和过饱和关联密切。相比之下,VSD对不同的CFG权重作为扩散模型的祖先采样效果很好,同时使用共同的CFG权重提高了多样性和样本质量。
论文经典的套路,证明某个解法是我们算法的一个特例,我们提出的算法是更一般的更泛化的方案。不过这个论文的效果和对理论的扩展确实很独到的视角和很深刻的理论拓展。几乎是这两年看到对sds解释最全面的三篇文章了,Dreamfusion和SJC。更加详细的解释可以在作者论文中找到更详细的公式介绍。这是一个提升优化方法生成质量的一个答案,当然还有很多不同的角度去理解并缓解其中存在的问题。当我们从不同视角去看一个问题,得到的结论不同,也会有不统计解决思路。

ProlificDreamer
参考知乎

1论文方法

我们首先从2d图像生成理解这个问题,文本生成图像的时候,要在多样性和生成质量之间有一个权衡,这个开关用CFG系数来控制。CFG在2d的时候一般是10以内。这个系数越小我们对文本的依赖小生成结果会越多。越大的话就是生成结果越确定。通常要有一个权衡。
现在回到3d问题,那么每个视图怎么和原来文本保持尽可能的一致,就需要一个很大的CFG系数。这也是dreamfusion 过饱和比较严重的一个原因。cfg确实能支持整体风格的一致,但是在差不多1000次的优化步骤中,还是无法保证每次的生成结果朝着完全一致的方法,这就导致最终结果是在很多个优化方向中找一个中间状态,即缺乏细节,因为细节在平均过程中被相互抵消了。
接下来看一看ProlificDreamer作者的分析
∇ θ L SDS ( ϕ , x ) = g ( θ ) ≜ E t , ϵ [ w ( t ) ( ϵ ^ ϕ ( Z t ; y , t ) − ϵ ) ∂ x ∂ θ ] \nabla_{\theta} \mathcal{L}_{\text{SDS}}(\phi, x) = g(\theta) \triangleq \mathbb{E}_{t,\epsilon} \left[ w(t) \left( \hat{\epsilon}_\phi(Z_t; y, t) - \epsilon \right) \frac{\partial x}{\partial \theta} \right] θLSDS(ϕ,x)=g(θ)Et,ϵ[w(t)(ϵ^ϕ(Zt;y,t)ϵ)θx]
对于一个用 θ \theta θ进行参数化的3D表示,给定文本 y ,通过对随机采样的视角下渲染的2D图像,优化SDS loss,就能让3D越来越逼真。
SDS 的更新方向有两个来源。首先,预训练的图像扩散模型引导渲染出的二维图像趋向真实。具体来说,扩散模型预测噪声大小,经线性变换后得到分布的 score,即似然函数的梯度(这部分与 SJC 从得分函数角度解释 DreamFusion 中 SDS 的方式一致)。此过程旨在最大化渲染图像的likelihood。而这种持续增大似然函数的行为,也称为“mode seeking”,本质上是在寻找似然函数的峰值。
SDS 的目标是在概率密度函数中寻找具有高似然度的模式。然而,在生成模型中,高似然度并不总是等同于高质量的生成结果。以高维高斯分布为例。高维高斯分布的典型样本和似然度最高的样本存在显著差异。对于一个 d d d 维的高斯分布 N ( 0 , I d ) N(0, I_d) N(0,Id),大部分概率密度集中在距离原点半径为 d \sqrt{d} d 的球面上,其样本类似于“雪花噪声”。然而,高维高斯分布的似然函数在原点 (全零向量) 处达到最大值,对应的样本是一张纯色图像,这显然不符合我们对高斯噪声样本的预期。高维高斯分布的典型样本与似然最大的样本很不一样。我们希望采到灰色圆环上的typical sample。
在这里插入图片描述
如下图所示,SDS的优化过程会让样本都偏离“典型样本”。并且由于不同的起始点可能都会收敛到同一个mode,所以还会导致多样性比较差。SDS的优化过程会让样本都偏离“典型样本”,并且还会导致多样性比较差。
在这里插入图片描述
为了解决上面提到的SDS的问题,VDS对SDS进行了一些小改动。我们同时优化多个样本,我们把样本们视为一个变分分布。如下图所示,把SDS更新方向的第二项由零均值的高斯换成了变分分布的Score。
在这里插入图片描述
额外的变分分布的score可以让样本收敛到图中灰色圆环上的典型样本,同时增大样本多样性。
在这里插入图片描述
这个变分分布在优化过程中会不断地变化,需要不断地更新对于变分分布score的建模。在这里作者用了LoRA,可以快速的学习变分分布。同时因为LoRA有一些先验知识,所以我们能够用很少量的样本就学到一个不错的score。
在这里插入图片描述

这个是论文结构图,用lora来学习变分分布。
在这里插入图片描述

2效果

在这里插入图片描述

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

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

相关文章

【机器学习】期望最大化(EM)算法

文章目录 一、极大似然估计1.1 基本原理1.2 举例说明 二、Jensen不等式三、EM算法3.1 隐变量 与 观测变量3.2 为什么要用EM3.3 引入Jensen不等式3.4 EM算法步骤3.5 EM算法总结 参考资料 EM是一种解决 存在隐含变量优化问题 的有效方法。EM的意思是“期望最大化(Exp…

初识Java--开启我的Java学习之旅

目录 一、JAVA语言概述二、JAVA语言的重要性2.1语言使用广泛程度2.2工作领域2.3在校招岗位的需求2.4 java语言发展简史2.5Java语言特性 三、初识java的main方法四、运行java程序五、【面试题】JDK、JRE、JVM之间的关系? 一、JAVA语言概述 Java是一种优秀的程序设计…

在线人才测评在企业招聘和大学生求职中的应用场景

每年的春招秋招,都是毕业生们忙着找工作的季节,相比社招来说,春招秋招是每个毕业生务必重视的机会,大厂名企毕竟名额有限,如果找到自己心仪的职业岗位,作为毕业生就必须提前准备,深入了解招聘的…

09.责任链模式

09. 责任链模式 什么是责任链设计模式? 责任链设计模式(Chain of Responsibility Pattern)是一种行为设计模式,它允许将请求沿着处理者对象组成的链进行传递,直到有一个处理者对象能够处理该请求为止。这种模式的目的…

docker ps显示的参数具体是什么意思

1,运行一个容器 docker run -d ubuntu:15.10 /bin/sh -c "while true; do echo hello world; sleep 1; done"这段命令的作用是使用 docker run 命令运行一个基于 ubuntu:15.10 镜像的 Docker 容器,并在容器中执行一个无限循环的命令。 具体解…

PID控制中的积分到底是什么,为什么它可以将矩形线转换为曲线?simulink搭建PID控制,积分模块1/s

PID控制中的积分到底是什么,为什么它可以将矩形线转换为曲线, 这个问题呢其实道理很简单,用到的是初中的知识 我们做几个测试案例 如下面matlab搭建了积分1/s 那显示如下(红色曲线相当于加速度、蓝色曲线相当于速度)&a…

从0到1!得物如何打造通用大模型训练和推理平台

1.背景 近期,GPT大模型的发布给自然语言处理(NLP)领域带来了令人震撼的体验。随着这一事件的发生,一系列开源大模型也迅速崛起。依据一些评估机构的评估,这些开源模型大模型的表现也相当不错。一些大模型的评测情况可…

【MSSQL】因为数据库正在使用,所以无法获得对数据库的独占访问权” 解决方案汇总

文章目录 前言一、事故现场方案一:设置数据库再单用户模式下工作:方案二:利用SQL语句,断开所有用户连接,并回滚所有事务,具体SQL语句如下:方案三:利用SQL语句,杀死正在使用该数据库的所有进程方案四:修改数据库的登录密码或重启数据库服务(不太建议)二、结尾日志备份…

MDS800-16-ASEMI整流模块800A 1600V

编辑:ll MDS800-16-ASEMI整流模块800A 1600V 型号:MDS800-16 品牌:ASEMI 封装:MDS 批号:2024 分类:整流模块 特性:整流模块、整流桥 平均正向整流电流(Id)&#…

C语言实现Hash Map(2):Map代码实现详解

在上一节C语言实现Hash Map(1):Map基础知识入门中,我们介绍了Map的基础概念和在C中的用法。但我写这两篇文章的目的是,能够在C语言中实现这样的一个数据结构,毕竟有时我们的项目中可能会用到Map,但是C语言库中并没有提…

香蕉成熟度检测YOLOV8NANO

香蕉成熟度检测YOLOV8NANO,采用YOLOV8NANO训练,得到PT模型,然后转换成ONNX模型,让OEPNCV调用,从而摆脱PYTORCH依赖,支持C。python,安卓开发。能检测六种香蕉类型freshripe freshunripe overripe…

下载CentOS系统或者下载Ubuntu系统去哪下?

因为Centos官网是挂在国外的服务器上,下载镜像时相比于国内的下载速度会慢很多,分享国内的镜像站去阿里巴巴下载Centos镜像。 首先分享两种下载方式,如果只想下载Centos那么就访问方式一的下载地址即可,如果还想下载其他的系统&a…

Xfce4桌面背景和桌面图标消失问题解决@FreeBSD

问题:Xfce4桌面背景和桌面图标消失 以前碰到过好几次桌面背景和桌面图标消失,整个桌面除了上面一条和下面中间的工具条,其它地方全是黑色的问题,但是这次重启之后也没有修复,整个桌面乌黑一片,啥都没有&am…

[书生·浦语大模型实战营]——第二节:轻松玩转书生·浦语大模型趣味 Demo

1. 部署InternLM2-Chat-1.8B 模型进行智能对话 1.1配置环境 创建开发机 Intern Studio 官网网址:https://studio.intern-ai.org.cn/ 进入官网后,选择创建开发机,填写 开发机名称 后,点击 选择镜像 使用 Cuda11.7-conda 镜像&am…

楼房vr安全逃生模拟体验让你在虚拟环境中亲身体验火灾的紧迫与危险

消防VR安全逃生体验系统是深圳VR公司华锐视点引入了前沿的VR虚拟现实、web3d开发和多媒体交互技术,为用户打造了一个逼真的火灾现场应急逃生模拟演练环境。 相比传统的消防逃生模拟演练,消防VR安全逃生体验系统包含知识讲解和模拟实训演练,体…

码蹄集部分题目(2024OJ赛16期;单调栈集训+差分集训)

&#x1f9c0;&#x1f9c0;&#x1f9c0;单调栈集训 &#x1f96a;单调栈 单调递增栈伪代码&#xff1a; stack<int> st; for(遍历数组) {while(栈不为空&&栈顶元素大于当前元素)//单调递减栈就是把后方判断条件变为小于等于即可{栈顶元素出栈;//同时进行其他…

C语言笔记22 •结构体•

C语言结构体 1.结构体类型的声明 struct Stu { char name[ 20 ]; // 名字 int age; // 年龄 char sex[ 5 ]; // 性别 char id[ 20 ]; // 学号 }; 2.结构体变量的创建和初始化 #include <stdio.h>// 定义一个结构体类型 Point struct Point {int x;int y; };i…

【三个数的最大乘积】python

三层循环必然超时&#xff0c;是的 hhh,换种思路&#xff0c;就很巧 class Solution:def maximumProduct(self, nums: List[int]) -> int:nums.sort()mxnums[-1]*nums[-2]*nums[-3]if nums[0]*nums[1]*nums[-1]>mx:mxnums[0]*nums[1]*nums[-1]return mx

装修:尽显个性品味

家&#xff0c;是心灵的港湾&#xff0c;也是生活的舞台。装修&#xff0c;不仅是对空间的改造&#xff0c;更是对生活态度的诠释。无论是温馨的北欧风&#xff0c;还是华丽的欧式古典&#xff0c;或是简约的现代感&#xff0c;我们的专业团队都能为您量身打造。每一个细节&…

分布式数据库HBase入门指南

目录 概述 HBase 的主要特点包括: HBase 的典型应用场景包括: 访问接口 1. Java API: 2. REST API: 3. Thrift API: 4. 其他访问接口: HBase 数据模型 概述 该模型具有以下特点&#xff1a; 1. 面向列: 2. 多维: 3. 稀疏: 数据存储: 数据访问: HBase 的数据模型…