SIGGRAPH Asia 2022 | 一句话生成高清360度场景及光照,可直接渲染数字资产

本文主要是介绍SIGGRAPH Asia 2022 | 一句话生成高清360度场景及光照,可直接渲染数字资产,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

d5c6b1dd977963dbd571b09c26a90bce.png

来源:机器之心

本文约2000字,建议阅读9分钟

来自南洋理工大学 S-Lab 的研究者提出了一个基于零次学习文本驱动的 HDR 全景图合成框架。

作者:MMLab@NTU

伴随着元宇宙的浪潮和虚拟现实技术的不断进步,业内对于 3D 逼真写实渲染的需求愈发凸显。除去建模精细度,环境光照也是影响渲染质量的重要因素。在所有的图形学技术中,高动态范围全景贴图(HDRI)能够提供逼真的场景光照和沉浸式的环境纹理,是最通用且高效的方法。

然而,能够直接应用到渲染管线中的 HDRI 应具有足够多的场景细节、极高的分辨率和记录线性光照的高动态范围。这使得不论是采集还是编辑 HDRI 都变得十分困难和昂贵。这自然而然地引出一个问题,我们能否使用图像生成模型来合成 HDRI,同时给予用户足够简单的输入(例如文本),即文本驱动的高动态范围全景图生成。这样一来,在任何虚拟现实应用中,没有专业知识的用户也可以仅仅通过一句话合成出自己想要的逼真场景,同时获得与之匹配的写实光照。

举个直观的例子,当用户输入「brown wooden dock on lake surrounded by green trees during daytime」,我们期望模型能够输出与文本匹配的 4K 分辨率、高动态范围的 360 度全景图,且能够直接应用到任何图形学管线中用于渲染数字资产。

efa0addef93865893bdf7835a2dd51e6.gif

想要达成这样的目标,面临着如下四个挑战:

1)超高分辨率:已有图像生成模型难以在超高分辨率(大于 4K)下合成场景级别的内容,同时保证丰富的细节。

2)空间一致性与整体感:不同于以物体或人为中心的图像合成,场景级别的全景图常常包含很多物体和特定的空间结构。在图像合成过程中保持空间连续性及场景语义完整是一个很难的问题。

3)文本一致性:不同于 DALLE2 和 stable-diffusion 等文本驱动的生成模型,我们难以收集到足够的文本 - 全景图数据对于训练使用,因此在缺失成对训练数据的情况下,如何将场景语义与输入文本对齐通过自监督的方式对齐也是一项挑战。

4)高动态范围:不同于传统图像(动态范围在 0-255 之间),HDRI 记录了线性域下的光辐照度,常常具有较大的动态范围,会导致不稳定的学习。

为此,我们提出了一个基于零次学习(Zero-Shot Learning)文本驱动的 HDR 全景图合成框架——Text2Light,能够根据输入的场景描述合成分辨率超过 4K 的具有高动态范围的全景图。模型的输出可以直接在 Blender、UE、Maya 等现代图形学渲染管线中,作为场景纹理和光照使用。

54d8cb9671a9e69de45243416a2a7538.png

  • 项目主页:https://frozenburning.github.io/projects/text2light/

  • 代码:https://github.com/FrozenBurning/Text2Light

  • 论文:https://arxiv.org/abs/2209.09898

  • Colab demo:https://colab.research.google.com/github/FrozenBurning/Text2Light/blob/master/text2light.ipynb

181e54ba17831cadb3015af7283f1660.png

上图展示了 Text2Light 的工作流程,主要由两个阶段组成,并分别对应着离散和连续的两种不同表征。阶段一基于层级码本的离散表征实现文本驱动的低动态范围全景图合成;阶段二基于结构化球面场的连续表征实现超分辨率逆向色调映射,将阶段一的低动态范围全景图转化为高动态范围的高清全景图。

在阶段一中,我们采用了层级化的框架,将全局外观与局部细节解耦到各自独立的模块中进行建模。具体而言,阶段一由三个模块组成,如下图所示:

1)全局 - 局部层级码本:我们使用 VQVAE 的训练方法,将极低分辨率的全景图嵌入到全局 (global) 码本中,将高分辨率的图像块 (patch) 嵌入到局部 (local) 码本中。这样一来就可以从全局码本中采样具有空间一致性和整体感的全局特征,同时从局部码本中采样获得局部细节。

2)基本文本的全局采样器:我们使用 CLIP 预训练得到的图像编码器将训练数据中的全景图转化到文本 - 图像空间中,同时获得数据集中相应样本的 K 近邻特征向量,进而采样器通过自监督学习获得根据文本采样全局特征的能力。

3)具备结构感知的局部采样器:根据全局采样器输出的全局语义特征,我们进而训练一个局部采样器来合成全景图中的局部细节。为了保持全景图的特有球面空间结构,我们还引入了球面位置编码作为一种特殊的归纳偏置。

5b998aacaf5f7335308286d6894719d2.png

在阶段二中,作为阶段一中离散表征的补充,我们将全景图建模为连续球面场,即可以使用任意球面坐标来查询得到一个高动态范围像素值。这一建模同时满足了超分辨率(低分辨率到高分辨率)和逆向色调映射(低动态范围到高动态范围)两种需求。具体而言,如下图所示,我们首先使用卷积网络将图像块编码为与像素对齐的潜在特征向量。对于连续球面上的任意位置,我们利用区域插值从其四个近邻特征向量中获得其特征,并最终使用两个 MLP 得到输出的 HDR 像素值。

9b8f5bf105c349e1d73e64faff7e86b8.png

Text2Light 能够根据任意输入文本来合成高清 HDR 全景图,生成的结果能够提供逼真的环境光照,该方法可直接用于渲染三维资产或虚拟现实。

下面是一个交互式 UI,例如我们输入 brown wooden floor with white wall, text2light 可以生成出对应的 HDR 全景图,并且能够直接用来渲染,将物体逼真地放进场景中!

fb581c846b40b0b4613ca860c2a6dec2.gif

输入 (green grass field with trees and mountains in the distance), 我们能得到下面这样沉浸式的 VR 体验!

Text2light 更多的结果:

ad629c88015caa654f7121635353b617.png

15cb0cdad578cb7507f610c8889d1ed7.png

我们的生成结果甚至可以直接在 blender 中用来渲染大规模城市场景:

660e17cce9fc15646a2072914ccbfd49.png

同时我们还展示了 text2light 在编辑全景图上的潜在能力。

12aa99919fac7c6c2761245fb6f74f54.png

本工作提出了 Text2Light,一个基于零次学习文本驱动的 HDR 全景图合成框架,能够根据一段场景描述合成高分辨率、高动态范围的全景图,并可以直接用在下游图形学任务和应用上,例如逼真地渲染数字资产。我们希望本工作能够为虚拟现实和元宇宙生态提供了一种全新的可能。

编辑:黄继彦

c000d0e23b49a3754895db4d9bae0687.png

这篇关于SIGGRAPH Asia 2022 | 一句话生成高清360度场景及光照,可直接渲染数字资产的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

防止Linux rm命令误操作的多场景防护方案与实践

《防止Linuxrm命令误操作的多场景防护方案与实践》在Linux系统中,rm命令是删除文件和目录的高效工具,但一旦误操作,如执行rm-rf/或rm-rf/*,极易导致系统数据灾难,本文针对不同场景... 目录引言理解 rm 命令及误操作风险rm 命令基础常见误操作案例防护方案使用 rm编程 别名及安全删除

Java使用Javassist动态生成HelloWorld类

《Java使用Javassist动态生成HelloWorld类》Javassist是一个非常强大的字节码操作和定义库,它允许开发者在运行时创建新的类或者修改现有的类,本文将简单介绍如何使用Javass... 目录1. Javassist简介2. 环境准备3. 动态生成HelloWorld类3.1 创建CtC

Python从Word文档中提取图片并生成PPT的操作代码

《Python从Word文档中提取图片并生成PPT的操作代码》在日常办公场景中,我们经常需要从Word文档中提取图片,并将这些图片整理到PowerPoint幻灯片中,手动完成这一任务既耗时又容易出错,... 目录引言背景与需求解决方案概述代码解析代码核心逻辑说明总结引言在日常办公场景中,我们经常需要从 W

Spring Security 前后端分离场景下的会话并发管理

《SpringSecurity前后端分离场景下的会话并发管理》本文介绍了在前后端分离架构下实现SpringSecurity会话并发管理的问题,传统Web开发中只需简单配置sessionManage... 目录背景分析传统 web 开发中的 sessionManagement 入口ConcurrentSess

C#使用Spire.XLS快速生成多表格Excel文件

《C#使用Spire.XLS快速生成多表格Excel文件》在日常开发中,我们经常需要将业务数据导出为结构清晰的Excel文件,本文将手把手教你使用Spire.XLS这个强大的.NET组件,只需几行C#... 目录一、Spire.XLS核心优势清单1.1 性能碾压:从3秒到0.5秒的质变1.2 批量操作的优雅

Python使用python-pptx自动化操作和生成PPT

《Python使用python-pptx自动化操作和生成PPT》这篇文章主要为大家详细介绍了如何使用python-pptx库实现PPT自动化,并提供实用的代码示例和应用场景,感兴趣的小伙伴可以跟随小编... 目录使用python-pptx操作PPT文档安装python-pptx基础概念创建新的PPT文档查看

99%的人都选错了! 路由器WiFi双频合一还是分开好的专业解析与适用场景探讨

《99%的人都选错了!路由器WiFi双频合一还是分开好的专业解析与适用场景探讨》关于双频路由器的“双频合一”与“分开使用”两种模式,用户往往存在诸多疑问,本文将从多个维度深入探讨这两种模式的优缺点,... 在如今“没有WiFi就等于与世隔绝”的时代,越来越多家庭、办公室都开始配置双频无线路由器。但你有没有注

在ASP.NET项目中如何使用C#生成二维码

《在ASP.NET项目中如何使用C#生成二维码》二维码(QRCode)已广泛应用于网址分享,支付链接等场景,本文将以ASP.NET为示例,演示如何实现输入文本/URL,生成二维码,在线显示与下载的完整... 目录创建前端页面(Index.cshtml)后端二维码生成逻辑(Index.cshtml.cs)总结

Python实现数据可视化图表生成(适合新手入门)

《Python实现数据可视化图表生成(适合新手入门)》在数据科学和数据分析的新时代,高效、直观的数据可视化工具显得尤为重要,下面:本文主要介绍Python实现数据可视化图表生成的相关资料,文中通过... 目录前言为什么需要数据可视化准备工作基本图表绘制折线图柱状图散点图使用Seaborn创建高级图表箱线图热

基于Python实现数字限制在指定范围内的五种方式

《基于Python实现数字限制在指定范围内的五种方式》在编程中,数字范围限制是常见需求,无论是游戏开发中的角色属性值、金融计算中的利率调整,还是传感器数据处理中的异常值过滤,都需要将数字控制在合理范围... 目录引言一、基础条件判断法二、数学运算巧解法三、装饰器模式法四、自定义类封装法五、NumPy数组处理