Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

CityDreamer:一键生成无边界的3D城市

近些年,3D 自然场景的生成出现了大量的研究工作,但是 3D 城市生成的研究工作还寥寥无几。这主要是因为 3D 城市生成更难,人类对于其中的结构失真更敏感。近日,来自南洋理工大学 S-Lab 的研究者提出了一个新的框架 CityDreamer,专注于生成无边界的 3D 城市,让我们先看一下效果。

看起来还不错?这都来自于以下的这篇研究。
图片
  • 论文地址:https://arxiv.org/abs/2309.00610
  • 项目地址:https://haozhexie.com/project/city-dreamer
  • 代码地址:https://github.com/hzxie/city-dreamer

为满足元宇宙中对 3D 创意工具不断增长的需求,三维场景生成最近受到了相当多的关注。其中,生成 3D 城市比 3D 自然场景更复杂。在自然场景中,相同类别的物体通常有相似的外观,例如树通常是绿色的。但是在城市中,建筑的外观非常多样,但它们被赋予了相同的类别,这将导致建筑外观的质量下降。

为了解决这个问题,研究人员提出了 CityDreamer 以生成无边界的 3D 城市,它将建筑和城市背景(包括道路、绿化、水域)生成分别用 2 个不同的模块生成。这两个模块都采用鸟瞰(Bird's Eye View, BEV)作为场景表示,并采用体积渲染器(Volumetric Renderer )通过对抗训练生成逼真的图像。

值得注意的是,场景参数化的方式经过精心定制,以适应背景物体和建筑物的独特特征。每个类别中的背景对象通常具有相似的外观,同时呈现出不规则的纹理。因此,CityDreamer 引入生成哈希网格来保持自然性,同时维护 3D 一致性。相比之下,建筑实例表现出各种各样的外观,但其立面的纹理通常显示出规则的周期性图案。研究人员因此,设计了周期性位置编码,这对于处理多样性的建筑立面来说是简单而有效的。

为了使生成的城市在布局上和外观上都更逼真,研究人员们构建了 2 个数据集:OSM 和 GoogleEarth。前者从 OpenStreetMap [1] 提取了超过 80 个知名城市、超过 6000km2 的俯视视角的高度图和语义分割图;后者从 Google Earth Studio [2] 上提取了美国纽约市的 400 环形轨迹,包含 24,000 张图像及对应的语义分割和建筑实例分割标注。这些标注是通过将从 OSM 数据集生成的 3D 城市布局投影至图像上生成的。这种方式可以很容易地将标注数据扩展至世界上的其他城市。方法
图片
CityDreamer 将 3D 城市生成分解为 4 步:无边界城市布局生成、城市背景生成、建筑实例生成和图像融合。

无边界城市布局生成

CityDreamer 将无限的城市布局生成转化为可扩展的语义地图和高度场的生成问题。为此,CityDreamer 采用了基于 MaskGIT [3] 的无边界布局生成器(Unbounded Layout Generator, ULG),它天然地支持 inpainting 和 outpainting 功能。具体来说,ULG 使用了 VQVAE 来编码语义图和高度场的图像切片,将它们转换为离散潜在空间并创建 Codeboook。在推理过程中,ULG 以自回归的方式生成 Codebook 索引,随后,ULG 使用 VQVAE 的解码器生成一对语义图和高度场。由于 VQVAE 生成固定大小的语义图和高度场,因此 ULG 使用图像 outpainting 来创建任意大小的语义图和高度场。在此过程中,ULG 采用滑动窗口来预测每一步的局部 Codebook 索引,滑动期间有 25% 的重叠。

城市背景生成

City Background Generator (CBG) 主要用于生成城市的背景,具体包括道路、绿化和水域。该模块使用了鸟瞰视图(BEV)作为场景的表示。具体而言,该表示使用由语义图和高度图组成的 BEV 表征来表达一个大尺度三维场景。

针对城市背景相同类别通常具有相似外观的特性,CBG 引入生成哈希网格(Generative Hash Grid)作为场景的参数化:保持自然性,同时维护 3D 一致性。具体而言,CBG 使用哈希函数图片来将场景特征图片 和空间点坐标图片映射到多尺度混合的可学习参数上:
图片
为了保证渲染的三维一致性,我们使用基于体积渲染的渲染网络来完成三维空间特征到二维图像的映射。对于相机光线上的一点,我们经过查询生成式哈希网格得到其对应的特征,使用经风格噪声调制的多层 MLP 来得到其对应点的颜色和体密度,最终通过体渲染来将一条相机光线上的所有点积分为对应像素的颜色。

建筑实例生成

Building Instance Generator (BIG) 用于生成城市的建筑。和城市背景生成一样,我们使用了鸟瞰视图作为场景的表示,使用基于体积渲染的渲染网络来完成三维空间特征到二维图像的映射。观察到建筑立面和屋顶分布的显著差异,建筑立面和屋顶在 BIG 中被分配了 2 个不同的类别标签。

针对建筑立面所呈现出的周期性规律,我们设计了更轻量化的场景参数化方式:基于周期性函数的场景参数化。具体而言,BIG 将建筑特征图片和空间坐标图片通过周期性函数映射到一个高维空间中:
图片
其中,$\rm Concat$ 表示连接(Concatenation)操作,图片 被定义为
图片
图像融合

给定城市背景的图像和掩膜(分别用 图片图片表示) 以及 建筑实例的图像和掩膜的集合( 分别用 图片图片表示),CityDreamer 使用如下方式得到融合后的图像图片
图片
其中 n 表示建筑实例的数量。

实验

下图展示了 CityDreamer 和其他 SOTA 方法的对比,这些方法包括 PersistentNature [4]、SceneDreamer [5] 和 InfiniCity [6]。实验结果表明,CityDreamer 的效果明显优于其他方法。
图片
图片
下图展示了更多视角的生成结果,该结果证明了 CityDreamer 的鲁棒性。
参考文献:
[1] https://openstreetmap.org
[2] https://earth.google.com/studio
[3] Chang et al. MaskGIT: Masked Generative Image Transformer. CVPR 2022.
[4] Lin et al. InfiniCity: Infinite-Scale City Synthesis. ICCV 2023.
[5] Chai et al. Persistent Nature: A Generative Model of Unbounded 3D Worlds. CVPR 2023.
[6] Chen et al. SceneDreamer: Unbounded 3D Scene Generation from 2D Image Collections. arXiv 2023.
MMLab
MMLab

MMLab是深度学习领域的先驱之一,致力于计算机视觉和深度学习研究,在香港中文大学、南洋理工大学、香港大学和悉尼大学等地均设有实验室。 官网地址: https://www.mmlab-ntu.com/ https://mmlab.ie.cuhk.edu.hk/

https://www.mmlab-ntu.com
专栏二维码
理论南洋理工大学 S-LabCityDreamer
1
相关数据
参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

对抗训练技术

对抗训练涉及两个模型的联合训练:一个模型是生成器,学习生成假样本,目标是骗过另一个模型;这另一个模型是判别器,通过对比真实数据学习判别生成器生成样本的真伪,目标是不要被骗。一般而言,两者的目标函数是相反的。

查询技术

一般来说,查询是询问的一种形式。它在不同的学科里涵义有所不同。在信息检索领域,查询指的是数据库和信息系统对信息检索的精确要求

哈希函数技术

散列函数(英语:Hash function)又称散列算法、哈希函数,是一种从任何一种数据中创建小的数字“指纹”的方法。散列函数把消息或数据压缩成摘要,使得数据量变小,将数据的格式固定下来。该函数将数据打乱混合,重新创建一个叫做散列值(hash values,hash codes,hash sums,或hashes)的指纹。散列值通常用一个短的随机字母和数字组成的字符串来代表。好的散列函数在输入域中很少出现散列冲突。在散列表和数据处理中,不抑制冲突来区别数据,会使得数据库记录更难找到。

语义分割技术

语义分割,简单来说就是给定一张图片,对图片中的每一个像素点进行分类。图像语义分割是AI领域中一个重要的分支,是机器视觉技术中关于图像理解的重要一环。

实例分割技术

实例分割是检测和描绘出现在图像中的每个不同目标物体的任务。

量化技术

深度学习中的量化是指,用低位宽数字的神经网络近似使用了浮点数的神经网络的过程。

暂无评论
暂无评论~