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

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


看起来还不错?这都来自于以下的这篇研究。

  • 论文地址:https://arxiv.org/abs/2009.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.


© THE END 转载请联系本公众号获得授权投稿或寻求报道:content@jiqizhixin.com

相关推荐

  • 「Meta版ChatGPT」背后的技术:想让基础LLM更好地处理长上下文,只需持续预训练
  • 值得一试的开源模型!开源社区上季度都有哪些靠谱项目?
  • 字节跳动李航:对语言大模型的若干观察和思考
  • 炸裂,包装三年经验,朋友代替面试,还过了。。。
  • 【高通】宣布大幅裁员
  • 高中同桌,大学毕业后,他去了互联网大厂,我考上公务员。目前,他失业在家
  • 给你看一张触目惊心的截图
  • Redis只能做缓存?太out了!
  • 《一书解决几乎所有机器学习问题》.PDF下载
  • 打造ChatGPT平替,成本暴降95%!OpenAI硬核更新下月发布,视觉API要来
  • 哈佛全奖,师从四院院士,曾火遍全网的“复旦女神”,发完Science,再发子刊!
  • 老刘说知识图谱实践指引:知识图谱代表性全流程开源项目、NER/RE关键模型与开放课程概述
  • Azure Database将陆续终止支持MariaDB
  • JVM 语言比较研究:Java、Kotlin 和 Scala 的利与弊
  • Facebook 的全球网络大揭秘:构建社交帝国的科技奇迹
  • 京东辟谣“刘姓商人涉嫌违法被抓”;比特大陆全员工资暂停发放;一周可居家办公3 天,去哪儿灵活办公制度出炉|Q资讯
  • 这泼天的富贵终于来了,彻底爆单了。。。
  • 前端如何实现原生 JS 的拖拽效果 ?
  • 11年逆袭,寒门专升本职高生终成MIT博士生!自学CMU课狂发5篇顶会,全网热议
  • 键盘侠