论文介绍 VolumeDiffusion

news2025/1/23 4:06:12

论文介绍 VolumeDiffusion: Flexible Text-to-3D Generation with Efficient Volumetric Encoder

关注微信公众号: DeepGo

源码地址: https://github.com/tzco/VolumeDiffusion

论文地址: https://arxiv.org/abs/2312.11459

VolumeDiffusion模型是一个从文本描述生成3D对象的创新方法。它通过一个轻量级的体积编码器和扩散模型来实现高效、灵活的3D生成。该模型通过编码多视图图像的特征体积,显著提高了扩散模型训练数据的可扩展性。关键在于使用新的噪声计划和低频噪声来处理高维特征体积,提高模型训练效率。VolumeDiffusion在从文本提示生成多样且可识别的3D对象方面表现出色,提供了对对象特征的改进控制,并促进了单个对象内多个概念的创造性结合。

方法概述

论文作者的文本到3D生成框架分为两个主要阶段:体积编码和扩散建模。在体积编码阶段,论文作者选择使用特征体积作为3D表示,并利用轻量级网络将多视图图像转换为3D体积。这种方法既高效又能绕过之前方法所需的昂贵优化过程。在扩散建模阶段,作者利用文本驱动的扩散模型来建模先前获得的特征体积分布。面对特征体积的高维性和数据集中对象标题的不准确性,作者开发了几项关键设计来缓解训练过程中的这些挑战。

alt 图1展示了VolumeDiffusion框架的整体结构,它包含了体积编码和扩散建模两个阶段。编码器将多视图图像解投影(Unproject)到特征体积中,并进行进一步的细化处理。扩散模型学习在给定噪声体积和文本条件下预测原标签(GT)真实情况

体积编码器

体积表示

体积编码器的设计旨在将多视图图像有效地转换为能够代表3D对象的特征体积。作者采用了一种新颖的表示方法,结合轻量级解码器和特征体积来描述场景。选取合适的3D表示对于训练3D生成模型至关重要。作者的3D表示能够捕捉输入对象的几何和纹理细节,并对细粒度文本控制具有灵活性。此外,这种3D表示在获取和重构对象方面高度效率,有助于扩展性。

特征体积不直接存储显式值,而是存储隐式特征,通过最近体素的三线性插值获得空间点的特征,从而有效减少内存成本。

前馈编码器

多视图到特征体积的编码: 编码器接受一个对象的多视图照片( ),其中 代表N个视图的图像和深度, 代表相应的摄像机参数,包括摄像机姿态和视场(FOV)。作者首先用一个小型网络 从2D图像中提取特征,然后根据深度和摄像机姿态将特征解投影到粗糙体积 中:

其中, 表示解投影操作。对于摄像机光线上的每个点,作者首先计算其到摄像机的距离,然后获得权重 ,其中 是计算距离与真实深度的差异。每个体素的特征是从不同视图解投影的特征的加权平均。

作者进一步应用3D U-Net模块对聚合的特征体积进行细化,生成更平滑的体积: . 然后执行射线追踪和神经渲染,从目标视角渲染图像。在训练阶段,作者使用L2和LPIPS损失,对特征提取网络、3D U-Net和MLP解码器进行端到端优化。

提出的体积编码器由于两个主要原因而高度效率:首先,一旦训练完成,它能够使用32张或更少的图像生成高质量的3D体积。其次,作者的体积编码器可以在大约30毫秒内使用单个GPU编码一个对象。这种速度使作者能够在几小时内生成500K个模型,有效消除了与特征体积相关的昂贵存储开销。

扩散模型

高维空间中的挑战

不同于传统的文本到图像扩散模型,作者的文本到3D扩散模型旨在学习一个显著更高维的潜在分布。例如,在作者的实验中,作者利用的维度如 ,这与Stable Diffusion使用的 形成了鲜明对比。这种高维性使得扩散模型的训练更具挑战性。

新的噪声计划

作者的文本到3D扩散模型的主要目标是学习一个比文本到图像模型更高维的潜在分布。正如之前章节所讨论,常规的噪声计划在应用于如体积这样的高维空间时,可能导致信息破坏不足。

为了解决这一问题,在训练阶段,如果物体信息保留了很大一部分,网络将很快过拟合于训练集中的带噪体积,而忽略文本条件。因此,作者决定降低所有时间步的 ,从而降低最终信噪比,从 降低到 ,并在中间时间步均匀降低

低频噪声

图像或特征体积是典型的数字信号,可以被视为不同频率的数字信号组合。向体积的每个体素添加独立同分布的高斯噪声,信号本质上被白噪声扰动。独立同分布的噪声通过扩散过程均匀地破坏所有成分的信息。然而,低频成分的幅度通常较大,白噪声无法有效破坏它们。因此,整个体积的平均值作为最低频率成分,在扩散过程中最有可能不被注意到,从而导致信息泄露。因此,作者提出了低频噪声策略,以有效地破坏信息并训练扩散模型。

其中, 是为每个位置独立采样的高频噪声, 是在同一通道中所有值共享的单一值, 是一个超参数。通过这种方法,作者引入了可调整的额外信息破坏,有效地去除了物体信息,如图2(b)所示。

alt 图2展示了噪音体积的渲染效果。通过比较,我们可以看到: (a) 常规噪声计划下的扩散:即使在较大的时间步长下,使用常规独立同分布(i.i.d.)噪声的体积仍然具有较高的可识别性。这表明标准噪声计划不能有效地破坏信息,导致即使在扩散过程后期,体积的结构依然清晰可辨。 (b) 低频噪声下的扩散:引入低频噪声后,扩散过程能更有效地移除信息。图示展现了低频噪声如何帮助模糊体积的细节,与常规噪声计划相比,低频噪声显著提高了扩散模型的信息破坏能力。

精细化(Refinement)

虽然扩散模型能够生成特征体积,但其固有限制在于输出的低分辨率,这限制了纹理细节。为了克服这一点,作者利用了现有的文本到图像模型来生成更详细的纹理,从而增强扩散模型获得的初始结果。

具体来说,作者引入了第三阶段,涉及对结果的精细调整。鉴于扩散模型提供了良好的初始输出,作者在这一阶段整合了SDS(文献[37]中提出的方法),以优化结果,确保更好的图像质量和减少错误。考虑到作者的初始结果已经令人满意,这一阶段只需少量迭代,使得作者的整个过程仍然高效。作者的方法充分利用了现有的文本到图像模型来生成原始训练集中未覆盖的纹理,增强了纹理细节,并促进了生成图像的多样性。同时,作者的方法还解决了在文献[37]中遇到的多面问题。

数据过滤(Data Filtering)

作者发现数据过滤对于训练至关重要。Objaverse主要由未经过滤的用户上传的3D模型组成,这些模型从网上爬取,包括许多几何形状、平面扫描和无纹理对象,以及基于图像的缺陷重建。此外,注释通常缺失或与旋转和位置的变化无关,3D模型的质量相比图像数据集相对较差。 作者使用一组筛选出的最高质量对象来训练扩散模型。作者发现,扩散模型能够从文本条件中学习语义关系。相反,当作者使用整个Objaverse数据集进行训练时,模型无法收敛。

实验结果

alt 实验结果强调了作者的方法在处理复杂场景和多对象组合,以及更好地与文本提示对齐方面的能力,而其他方法只能捕捉到部分概念。作者的方法和Shap·E都是原生方法,即直接在3D表示上进行监督并使用3D数据集进行训练。值得注意的是,这些原生方法生成的形状比基于图像到3D重建或蒸馏的方法更清晰、更对称。

总结

本文介绍了一种从文本提示高效且灵活生成3D对象的新方法。通过采用轻量级网络从多视图图像获取特征体积,证明了这种方法能够有效扩大扩散模型训练所需的训练数据规模。

文章还强调了高维特征体积所带来的挑战,并提出了新的噪声计划和低频噪声,以改善扩散模型的训练。在实验中,本模型在通过文本提示控制对象特性方面的卓越性能得到了展示。未来的工作将集中于精炼算法和网络架构,以进一步加速过程。我们还将测试模型在包含更复杂对象和多样化文本提示的更广泛数据集上的性能。

更多细节请参阅论文原文

关注微信公众号: DeepGo

本文由 mdnice 多平台发布

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

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

相关文章

分享85个jQuery特效,总有一款适合您

分享85个jQuery特效,总有一款适合您 85个jQuery特效下载链接:https://pan.baidu.com/s/1-n18tdXFuTyYBvGOU94lIQ?pwd8888 提取码:8888 Python采集代码下载链接:采集代码.zip - 蓝奏云 学习知识费力气,收集整理更不…

数制和码制

目录 几种常见的数制 数制 基数 位权 常见的四种数制 十进制数 二进制数 八进制数 十六进制数 不同进制数的相互转换 例如 例如 编码 二-十进制码 例如 格雷码 例如 原码、反码和补码 几种常见的数制 关键术语 数制:以一组固定的符号和统一的规则来表示数值…

###51单片机学习(1)-----单片机烧录软件的使用,以及如何建立一个工程项目

前言:感谢您的关注哦,我会持续更新编程相关知识,愿您在这里有所收获。如果有任何问题,欢迎沟通交流!期待与您在学习编程的道路上共同进步。 一. 两个主要软件的介绍 1.KeiluVision5软件 Keil uVision5是一款集成开发…

Vue中 常用的修饰符有哪些

Vue是一款建立在JavaScript框架上的开源前端库,已经成为当今前端开发人员最喜爱的选择之一。它的简洁语法和强大的功能使得开发者可以轻松地构建交互性的网页应用程序。在Vue中,修饰符是一个重要的概念,它们可以帮助我们更好地控制和定制DOM元…

python多线程连接MySQL查数案例

该博文展示地是基本示例,实际使用时可能需要进行调整。例如,你可能需要添加错误处理来确保数据库连接问题不会导致脚本崩溃,或者你可能需要调整查询以匹配你的数据。 此外,你需要确保你的系统有足够的内存和处理能力来支持并行处理…

Mysql-数据库压力测试

安装软件 官方软件 安装插件提供了更多的监听器选项 数据库驱动 数据库测试 配置 这里以一个简单的案例进行,进行连接池为10,20,30的梯度压测: select * from tb_order_item where id 1410932957404114945;新建一个线程组 新增一个连接池配置 新建一…

用HTML5 + JavaScript绘制花、树

用HTML5 JavaScript绘制花、树 <canvas>是一个可以使用脚本 (通常为JavaScript) 来绘制图形的 HTML 元素。 <canvas> 标签/元素只是图形容器&#xff0c;必须使用脚本来绘制图形。 HTML5 canvas 图形标签基础https://blog.csdn.net/cnds123/article/details/112…

【动态规划】【数学】【C++算法】1449. 数位成本和为目标值的最大数字

作者推荐 【深度优先搜索】【树】【图论】2973. 树中每个节点放置的金币数目 本文涉及知识点 动态规划汇总 LeetCode1449. 数位成本和为目标值的最大数字 给你一个整数数组 cost 和一个整数 target 。请你返回满足如下规则可以得到的 最大 整数&#xff1a; 给当前结果添加…

前端面试题——二叉树遍历

前言 二叉树遍历在各种算法和数据结构问题中都有广泛的应用&#xff0c;如二叉搜索树、表达式的树形表示、堆的实现等。同时也是前端面试中的常客&#xff0c;掌握好二叉树遍历算法对于一名合格的前端工程师来说至关重要。 概念 二叉树遍历&#xff08;Binary Tree Traversa…

【c语言】字符串常见函数 上

&#x1f388;个人主页&#xff1a;甜美的江 &#x1f389;欢迎 &#x1f44d;点赞✍评论⭐收藏 &#x1f917;收录专栏&#xff1a;c语言 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共同学习、交流进步&a…

鸿蒙开发第3篇__大数据量的列表加载性能优化

列表 是最常用到的组件 一 ForEach 渲染控制语法————Foreach Foreach的作用 遍历数组项&#xff0c;并创建相同的布局组件块在组件加载时&#xff0c; 将数组内容数据全部创建对应的组件内容&#xff0c; 渲染到页面上 const swiperImage: Resource[] {$r("app.me…

Linux中FIFO管道

介绍&#xff1a; FIFO被称为命名管道&#xff0c;pipe只能用于有血缘关系的进程间通信&#xff0c;但通过FIFO&#xff0c;不相关的进程也可以进程间通信。 FIFO是linux基础文件类型的一种&#xff08;文件类型为p&#xff09;&#xff0c;FIFO文件在磁盘上没有数据块&#…

【Java八股面试系列】JVM-类和对象加载过程

目录 类和对象的加载过程 类的生命周期 类的加载过程 加载 验证 准备 解析 初始化 类卸载 对象的加载过程 类和对象的加载过程 什么是类加载和对象加载? 类加载&#xff08;Class Loading&#xff09;&#xff1a;这是指JVM在运行时将类的字节码文件加载到内存中的…

2000-2021年县域指标统计数据库

2000-2021年县域统计数据库 1、时间&#xff1a;2000-2021年 2、来源&#xff1a;县域统计年鉴 3、范围&#xff1a;2500县 5、指标&#xff1a; 地区名称、年份、行政区域代码、所属城市、所属省份、行政区域土地面积平方公里、乡及镇个数个、乡个数个、镇个数个、街道办…

【数据结构】13:表达式转换(中缀表达式转成后缀表达式)

思想&#xff1a; 从头到尾依次读取中缀表达式里的每个对象&#xff0c;对不同对象按照不同的情况处理。 如果遇到空格&#xff0c;跳过如果遇到运算数字&#xff0c;直接输出如果遇到左括号&#xff0c;压栈如果遇到右括号&#xff0c;表示括号里的中缀表达式已经扫描完毕&a…

物联网和工业4.0

在当今这个快速发展的技术时代&#xff0c;物联网&#xff08;IoT&#xff09;和工业4.0成为了推动全球进入新工业时代的两大驱动力。对于刚入行的人来说&#xff0c;深入理解这两个概念及其背后的技术原理&#xff0c;对于把握未来的职业机会至关重要。 物联网&#xff0c;简…

【JavaEE】_CSS常用属性

目录 1. 字体属性 1.1 设置字体家族 font-family 1.2 设置字体大小 font-size 1.3 设置字体粗细 font-weight 1.4 设置字体倾斜 font-style 2. 文本属性 2.1 设置文本颜色 color 2.2 文本对齐 text-align 2.3 文本装饰 text-decoration 2.4 文本缩进 text-indent 2.…

java+SSM+Mysql学院教室管理系统81671-计算机毕业设计项目选题推荐(免费领源码)

摘 要 随着科学技术的飞速发展&#xff0c;社会的方方面面、各行各业都在努力与现代的先进技术接轨&#xff0c;通过科技手段来提高自身的优势&#xff0c;山西能源学院教室管理系统当然也不能排除在外。山西能源学院教室管理系统是以实际运用为开发背景&#xff0c;运用软件工…

【Web】Redis未授权访问漏洞学习笔记

目录 简介 靶机配置 Redis持久化 Redis动态修改配置 webshell 反弹shell Redis写入反弹shell任务 加固方案 简介 Redis&#xff08;Remote Dictionary Server 远程字典服务器&#xff09;是一个开源的内存数据库&#xff0c;也被称为数据结构服务器&#xff0c;它支持…

【动态规划】【数组】1416. 恢复数组

作者推荐 【深度优先搜索】【树】【图论】2973. 树中每个节点放置的金币数目 本文涉及知识点 动态规划汇总 LeetCode1416. 恢复数组 某个程序本来应该输出一个整数数组。但是这个程序忘记输出空格了以致输出了一个数字字符串&#xff0c;我们所知道的信息只有&#xff1a;…