教授专栏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

相关文章

解决pandas无法读取csv文件数据的问题

《解决pandas无法读取csv文件数据的问题》本文讲述作者用Pandas读取CSV文件时因参数设置不当导致数据错位,通过调整delimiter和on_bad_lines参数最终解决问题,并强调正确参... 目录一、前言二、问题复现1. 问题2. 通过 on_bad_lines=‘warn’ 跳过异常数据3

解决RocketMQ的幂等性问题

《解决RocketMQ的幂等性问题》重复消费因调用链路长、消息发送超时或消费者故障导致,通过生产者消息查询、Redis缓存及消费者唯一主键可以确保幂等性,避免重复处理,本文主要介绍了解决RocketM... 目录造成重复消费的原因解决方法生产者端消费者端代码实现造成重复消费的原因当系统的调用链路比较长的时

深度解析Nginx日志分析与499状态码问题解决

《深度解析Nginx日志分析与499状态码问题解决》在Web服务器运维和性能优化过程中,Nginx日志是排查问题的重要依据,本文将围绕Nginx日志分析、499状态码的成因、排查方法及解决方案展开讨论... 目录前言1. Nginx日志基础1.1 Nginx日志存放位置1.2 Nginx日志格式2. 499

kkFileView启动报错:报错2003端口占用的问题及解决

《kkFileView启动报错:报错2003端口占用的问题及解决》kkFileView启动报错因office组件2003端口未关闭,解决:查杀占用端口的进程,终止Java进程,使用shutdown.s... 目录原因解决总结kkFileViewjavascript启动报错启动office组件失败,请检查of

SpringBoot 异常处理/自定义格式校验的问题实例详解

《SpringBoot异常处理/自定义格式校验的问题实例详解》文章探讨SpringBoot中自定义注解校验问题,区分参数级与类级约束触发的异常类型,建议通过@RestControllerAdvice... 目录1. 问题简要描述2. 异常触发1) 参数级别约束2) 类级别约束3. 异常处理1) 字段级别约束

Python错误AttributeError: 'NoneType' object has no attribute问题的彻底解决方法

《Python错误AttributeError:NoneTypeobjecthasnoattribute问题的彻底解决方法》在Python项目开发和调试过程中,经常会碰到这样一个异常信息... 目录问题背景与概述错误解读:AttributeError: 'NoneType' object has no at

Spring的RedisTemplate的json反序列泛型丢失问题解决

《Spring的RedisTemplate的json反序列泛型丢失问题解决》本文主要介绍了SpringRedisTemplate中使用JSON序列化时泛型信息丢失的问题及其提出三种解决方案,可以根据性... 目录背景解决方案方案一方案二方案三总结背景在使用RedisTemplate操作redis时我们针对

Kotlin Map映射转换问题小结

《KotlinMap映射转换问题小结》文章介绍了Kotlin集合转换的多种方法,包括map(一对一转换)、mapIndexed(带索引)、mapNotNull(过滤null)、mapKeys/map... 目录Kotlin 集合转换:map、mapIndexed、mapNotNull、mapKeys、map

nginx中端口无权限的问题解决

《nginx中端口无权限的问题解决》当Nginx日志报错bind()to80failed(13:Permissiondenied)时,这通常是由于权限不足导致Nginx无法绑定到80端口,下面就来... 目录一、问题原因分析二、解决方案1. 以 root 权限运行 Nginx(不推荐)2. 为 Nginx

python生成随机唯一id的几种实现方法

《python生成随机唯一id的几种实现方法》在Python中生成随机唯一ID有多种方法,根据不同的需求场景可以选择最适合的方案,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习... 目录方法 1:使用 UUID 模块(推荐)方法 2:使用 Secrets 模块(安全敏感场景)方法