教授专栏87 | 谭平: 突破3D生成领域关键性问题

2024-03-01 01:10

本文主要是介绍教授专栏87 | 谭平: 突破3D生成领域关键性问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文 / 谭平教授

生成模型在图像生成领域取得了巨大的成功,但将这一技术扩展到 3D 领域一直面临着重重挑战。典型的多头怪问题,即文本生成3D中多视角一致性问题,一直得不到很好的解决。本研究团队最新的研究论文都致力于解决这一基础问题,为这一领域带来了突破和创新。

ac4016551b1424735b52954df6842b0b.jpeg

论文原文地址:https://arxiv.org/abs/2310.03602

团队和腾讯、华南理工共同合作的SweetDreamer 重点解决文本生成 3D 物体中的多视角不一致性问题,通过改进 2D 扩散模型,成功将文本转化为高质量的3D对象,实现了文本到3D生成的重大突破。

解决了文本到 3D 生成中的多视图不一致性问题。团队指出,现有方法中的主要问题来自几何不一致性,即在将 2D 结果提升到 3D 世界时,由于 2D 模型仅学习视角无关的先验知识,导致多视图不一致性问题。这种问题主要表现为几何结构的错位,而解决这些错位结构可以显著减轻生成结果中的问题。因此,研究团队通过使 2D 扩散模型具备视角感知能力,并生成规范坐标映射(CCM),从而在提升过程中与 3D 几何结构对齐,解决了这一问题。

论文中的方法只使用了粗略的 3D 信息,只需要少量的 3D 数据。这种方式不仅解决了几何不一致性问题,还保留了 2D 扩散模型生成从未见过的多样化高质量物体的能力。

最终,此方法在人类评估中取得了 85% 以上的一致性,远超过以往的方法 30% 左右的结果,这意味着他们的方法在文本到 3D 生成领域实现了新的技术突破。这一研究不仅对于 3D 生成具有重要意义,还对于虚拟现实、游戏开发、影视制作领域等有着广泛的应用前景,为实现更高质量、更多样化的 3D 生成打开了新的可能性。

方法介绍

核心目标是解决多视角不一致性的问题。这个问题主要可以从两个角度来看:几何不一致性问题,以及外观不一致性问题。团队通过研究发现,大多数 3D 不一致性问题的主要原因是几何结构的错位,因此这项技术的主要目标是通过改进 2D 先验模型,使其能够生成 3D 一致的几何结构,同时保持模型的通用性。

为了实现这一目标,团队提出了一种方法,即通过与 3D 数据集中的规范坐标映射(CCM)对齐的方式,确保 2D 扩散模型中的几何先验能够正确生成 3D 一致的几何结构。这项技术依赖 3D 数据集,并假设数据集中的模型都具有规范的方向和标准化的尺寸。然后,从随机角度渲染深度图,并将其转换为规范坐标。需要注意的是,这个过程的目标是对齐几何先验,而不是生成几何细节。

最后,通过对 2D 扩散模型进行微调,就能够在指定的视角下生成规范坐标图,从而对齐 2D 扩散模型中的几何先验。这些对齐的几何先验(AGP)可以轻松集成到各种文本到 3D 生成管道中,从而显著减轻了不一致性问题,最终产生高质量和多样化的 3D 内容。

5c904e3ff78c328ec98b335651bf93f3.jpeg

关键步骤如下

规范坐标映射(CCM)。首先,为了简化建模过程,研究人员假设在训练数据中,同一类别的所有物体都遵循规范的方向。然后,他们将物体的大小归一化,使得其包围框的最大范围长度为 1,并且位于原点的中心。此外,他们还对从物体渲染的坐标映射进行了各向异性缩放,以增强不同视角下薄结构的空间坐标差异,从而改善了对 3D 结构的感知。

相机信息注入。虽然规范坐标映射包含粗略的视角信息,但研究人员发现扩散模型难以有效利用它。因此,他们将相机信息注入模型以提高视角感知。这个步骤的目的是生成粗略的几何结构,而不是准确的 3D 模型。

微调 2D 扩散模型。在获得规范坐标映射和相应的相机参数之后,研究人员微调 2D 扩散模型,以在特定视角条件下生成规范坐标映射,最终对齐 2D 扩散模型中的几何先验。

这一技术不仅解决了多视角 3D 结构一致,并且保持了 2D 扩散模型的灵活性和丰富性,可以被集成到不同的渲染管线中。团队在文中展示了两种不同的渲染管线,分别是基于神经辐射场(NeRF)的 DreamFusion 和基于传统三角网格的 Fantasia3D。

391f94a592576341e32f28d1806db912.jpeg

基于神经辐射场的管线:团队对 3D 对象进行体素渲染,以获取 RGB 图像,并将其输入到扩散模型以计算 SDS 损失。在优化期间,团队渲染规范坐标映射(CCM),并将其输入到对齐几何先验(AGP),以计算几何 SDS 损失来更新 NeRF 的几何分支。

基于传统三角网格的管线:这里只需要添加一个额外的并行分支,将对齐几何先验(AGP)纳入原始流程的几何建模监督中。在优化的时候,团队将对齐几何先验(AGP)在粗略和精细几何建模阶段都作为额外的监督引入,就可以轻松获得高质量和视角一致的结果。

实验结果呈现

通过将 AGP 集成到文本生成 3D 的网络中,结果得到了显著改善。原始的方法容易受到多视角不一致性的干扰,而生成多头、多手等几何结构错乱的结果。团队发现新的方法对结果有明显的提升,生成的结果明显具有高度的 3D 一致性。

定量评估着重于评估 3D 结果的多视角一致性。具体而言,团队随机选择了 80 个文本提示,执行文本到 3D 合成,生成了每种方法的 80 个结果。然后手动检查和统计 3D 不一致性(例如,多个头、手或腿)的出现次数,并报告成功率,即 3D 一致对象的数量除以生成结果的总数。结果表明,SweetDreamer 在两种渲染管线中的成功率都超过了 85%,而之前的方法只有大约 30%。

204459ac1bfba7a4b07e5b394011db4a.jpeg

尽管同时期的工作 MVDream 也可以解决多视角不一致性问题,但它容易过拟合有限的 3D 数据,扩散模型的泛化性能受到影响。例如使用提示词 “一张猪背着背包的图像”,MVDream 会漏掉 “背包” 的存在。相比而言,AGP 的结果有更丰富的外观,这是因为 AGP 仅对几何建模产生影响,而不会影响由扩散模型从数十亿真实图像中学到的强大的外观先验。

*转载自 澎湃新闻·澎湃号·湃客

谭平教授简介

e307000d1e6dcab432e2a23586e6823a.jpeg

谭平教授,香港科技大学电子与计算机工程学系教授。他曾经担任阿里巴巴达摩院XR实验室负责人,人工智能实验室计算机视觉首席科学家。于近期创立公司光影焕像,依然专注在数据科学与人工智能 (DSAI)、3D领域,将自己多年的研究成果进行转化。

41095c950810ea8795a82cf777ffd786.png

由香港科技大学主理出品的【教授专栏】,汇集来自不同领域教授的学术成果、前沿论断及知识科普,用最新鲜的视角解读社会动态,以最前沿的角度解释科技奥秘。期待通过香港科技大学的平台,聚合更多新锐观点,打造出一期又一期生动又深刻的【教授专栏】!

-end-

这篇关于教授专栏87 | 谭平: 突破3D生成领域关键性问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/760691

相关文章

大数据小内存排序问题如何巧妙解决

《大数据小内存排序问题如何巧妙解决》文章介绍了大数据小内存排序的三种方法:数据库排序、分治法和位图法,数据库排序简单但速度慢,对设备要求高;分治法高效但实现复杂;位图法可读性差,但存储空间受限... 目录三种方法:方法概要数据库排序(http://www.chinasem.cn对数据库设备要求较高)分治法(常

Vue项目中Element UI组件未注册的问题原因及解决方法

《Vue项目中ElementUI组件未注册的问题原因及解决方法》在Vue项目中使用ElementUI组件库时,开发者可能会遇到一些常见问题,例如组件未正确注册导致的警告或错误,本文将详细探讨这些问题... 目录引言一、问题背景1.1 错误信息分析1.2 问题原因二、解决方法2.1 全局引入 Element

关于@MapperScan和@ComponentScan的使用问题

《关于@MapperScan和@ComponentScan的使用问题》文章介绍了在使用`@MapperScan`和`@ComponentScan`时可能会遇到的包扫描冲突问题,并提供了解决方法,同时,... 目录@MapperScan和@ComponentScan的使用问题报错如下原因解决办法课外拓展总结@

MybatisGenerator文件生成不出对应文件的问题

《MybatisGenerator文件生成不出对应文件的问题》本文介绍了使用MybatisGenerator生成文件时遇到的问题及解决方法,主要步骤包括检查目标表是否存在、是否能连接到数据库、配置生成... 目录MyBATisGenerator 文件生成不出对应文件先在项目结构里引入“targetProje

C#使用HttpClient进行Post请求出现超时问题的解决及优化

《C#使用HttpClient进行Post请求出现超时问题的解决及优化》最近我的控制台程序发现有时候总是出现请求超时等问题,通常好几分钟最多只有3-4个请求,在使用apipost发现并发10个5分钟也... 目录优化结论单例HttpClient连接池耗尽和并发并发异步最终优化后优化结论我直接上优化结论吧,

Java内存泄漏问题的排查、优化与最佳实践

《Java内存泄漏问题的排查、优化与最佳实践》在Java开发中,内存泄漏是一个常见且令人头疼的问题,内存泄漏指的是程序在运行过程中,已经不再使用的对象没有被及时释放,从而导致内存占用不断增加,最终... 目录引言1. 什么是内存泄漏?常见的内存泄漏情况2. 如何排查 Java 中的内存泄漏?2.1 使用 J

numpy求解线性代数相关问题

《numpy求解线性代数相关问题》本文主要介绍了numpy求解线性代数相关问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 在numpy中有numpy.array类型和numpy.mat类型,前者是数组类型,后者是矩阵类型。数组

Python使用qrcode库实现生成二维码的操作指南

《Python使用qrcode库实现生成二维码的操作指南》二维码是一种广泛使用的二维条码,因其高效的数据存储能力和易于扫描的特点,广泛应用于支付、身份验证、营销推广等领域,Pythonqrcode库是... 目录一、安装 python qrcode 库二、基本使用方法1. 生成简单二维码2. 生成带 Log

解决systemctl reload nginx重启Nginx服务报错:Job for nginx.service invalid问题

《解决systemctlreloadnginx重启Nginx服务报错:Jobfornginx.serviceinvalid问题》文章描述了通过`systemctlstatusnginx.se... 目录systemctl reload nginx重启Nginx服务报错:Job for nginx.javas

Redis缓存问题与缓存更新机制详解

《Redis缓存问题与缓存更新机制详解》本文主要介绍了缓存问题及其解决方案,包括缓存穿透、缓存击穿、缓存雪崩等问题的成因以及相应的预防和解决方法,同时,还详细探讨了缓存更新机制,包括不同情况下的缓存更... 目录一、缓存问题1.1 缓存穿透1.1.1 问题来源1.1.2 解决方案1.2 缓存击穿1.2.1