如何用AI生成大世界路网?一文详解原理、挑战与方法|元来是你004
「元来是你」技术交流平台
3D未来,将是技术革新的未来。「元来是你」平台将聚焦 3D 内容生产与消费的相关课题,邀请技术、美术、产品到投资领域专家,交流和探讨前沿技术革新与市场变化,共探3D世界的未知与未来。
元象自研的「端云协同」3D互动技术,能提供庞大、逼真、多人、轻量的次世代交互体验,「庞大世界」正是我们持续关注的课题之一。
本文聚焦「如何用AI自动生成路网」的话题,分为三部分:1)路网生成的技术概念、原理与应用;2)传统和AI路网生成方法的优劣比较、流程及技术挑战;3)元象方案,包括数据集、数据增强、轻量化模型训练设计、算法与效果等。
我们的方案适用于城市风格的场景和关卡设计,希望能为3D内容创作者提供低门槛、高效率、更自由的创作工具。目前产品在不断迭代,之后将逐步开放。未来我们还将进一步深入理解路网数据,为数据集提炼出更多标签,从而提高路网生成的自由度。
全文3400字,阅读时间预计8分钟。
一、路网生成的概念与应用
城市路网是什么?
城市道路网络简称城市路网,由一组点和点之间互相连接的线所组成,代表城市区域的道路系统。城市路网系统复杂度较高,许多研究尝试会对其分析建模,寻找最优路径,即常说的导航。
深圳市道路网络示意图
应用在哪里?
主要是三个领域。1)城市设计:对城市路网布局重复模拟,确保设计方案的有效交通流及连通性。2)自动驾驶:其agent需要路网数据训练和测试,保证在各种环境下驾驶决策的有效性。3)电影和游戏设计:合理的城市路网规划对创造虚拟世界中逼真的城市至关重要。
电影《蜘蛛侠》中的虚拟城市有真实复杂的路网系统
上述领域对自动化路网生成的需求重点各有不同:城市设计中,需要辅助生成符合限制的多个路网候选方案;自动驾驶需要生成无穷数据做训练测试;电影和游戏行业需要将创作者从枯燥重复的机械化操作中解放出来,花更多时间去创造。
二、传统 vs. AI生成方法
技术原理是什么?
自动化路网生成首先要对道路网络建模,方法有拓扑学、网络理论及机器学习等,本质都是对道路网络建立一套描述,再用生成算法适配此描述,不同描述方式会影响生成算法的自由度,决定生成结果的多样性及可控性,不同领域要根据不同需求用不同的建模方式。
传统方法及其优劣势?
传统自动化路网生成绝大多数基于程序化建模理论,2001年提出了L-System方案,以调整参数迭代式生成路网,在它基础上构建了城市路网设计上最为成功的商业软件CityEngine。
L-System后,还有由用户定义的TensorField、区域分裂算法、用地形限制对给定样例路网混合,也有从城市规划出发,模拟人群行为,基于模拟结果约束生成的路网。
虽然传统方案能在用户指定输入标签情况下,生成合理的拓扑结构路网,但这些标签依赖专业的人工设计,使用时极不灵活。
CityEngine生成路网的界面
需学习并调整诸多参数才能生成需要的路网
AI方法及其优劣势?
AI自动化路网生成是用AI算法做路网布局,和基于规则的传统方案不同,它是基于数据驱动的深度学习模型,用现有路网数据驱动路网生成模型,避免从数据中构建Pattern和Knowledge所需的高昂成本。
传统方案生成一个巴黎城市路网,要进行冗长的参数调整和规则构建,这些参数及规则学习成本高昂,而在AI生成方案中,可直接指定城市或其他直观的标签作为模型输入,自动生成大量具有巴黎风格的新路网数据以供选择。
深度学习模型体现了对路网数据的高维连续表征能力,用户能多样化输入,例如输入一个路网的数据样例生成与它形似的路网,或生成一个具备70%巴黎+30%伦敦风格的路网。
AI生成的主流方案是?
AI生成主要有两类技术方案,一是将路网布局当作图(Graph)解析,基于序列模型(如RNN、LSTM)及图神经网络(Graph-based Neural Network),采用逐步生成策略。二是将路网布局作为图像(Image)解析,基于图像生成算法,如生成对抗网络(Generative Adversarial Network, GAN)进行路网布局图像的生成。
元象方案属于后一类。GAN算法由Ian J.Goodfellow等人在2014年NIPS顶会发表的论文《Generative Adversarial Nets》中提出,可学习并模仿任何数据分布,并实际应用到了诸如图像(换脸、换衣)、音乐(AI作曲)、文字(AI写作)等方面。
GAN 生成的并不存在的人脸
来自This-Person-Does-not-Exist.com
GAN生成的艺术图
GAN启发自博弈论中的二人零和博弈(Two-player game),它包含一个生成器(Generator)和一个判别器(Discriminator)。生成器负责生成真实图像,判别器负责判断图像是不是"真实的"。两者用博弈方式优化自身,生成器为了骗过判别器会生成越来越"真"的图像,而判别器为了识别出"虚假的"图像也会不断提升自己的能力。
GAN生成原理图
AI生成的技术难点是?
其挑战在于没有标准的开放数据集可参考,需自行构建数据集。GAN模型需要庞大的数据集进行训练,例如常见的人脸生成任务通常需要使用数十万的人脸数据库,现实中的路网布局数据并不具备如此庞大的数量。
由于路网布局图像和常规图像的差异性,GAN研究中的数据增强研究无法直接应用在路网布局上,因此需要设计出更加适合路网布局图像的数据增强方案,在模型侧改进防止模型过拟合。
三、元象方案:数据、训练到算法
1)城市路网数据集构建
首先按人口对现实世界的城市排名,通过 OpenStreetMap(OSM)开放 API 收集排名靠前城市地图。以最少人口为 50 万为标准,收集约数百张城市地图;
其次将收集到的 OSM 城市地图光栅化,生成大量城市路网图像。只考虑可行驶道路,丢弃人行道并忽略道路方向;
最后在城市路网图像上采用滑动窗口策略,生成格式化图像用于模型训练和测试。保留城市标签用于训练可控制的GAN模型。
城市路网数据集的构建流程
2)数据增强方案
下图展示了大致的模型结构,其与标准的 GAN 模型拥有相似的学习过程,即有一个生成器从随机噪声生成假图像,而鉴别器试图区分真假图像,生成器和鉴别器通过 Hinge GAN 损失函数进行优化。
用于学习城市路网图像的GAN框架
城市路网图像在属性上属于黑白图像,但具较复杂结构。与热门的GAN应用领域,例如人脸生成相比,城市路网图像数据量并不足,在城市路网图像上应用最前沿的 GAN 模型会导致过度拟合或模型崩溃。
由于城市路网图像与 GAN 中流行的人脸图像有很大不同,GAN 中现有的数据增强方法(例如 stylegan2-ada)并不适用于城市路网图像,针对城市路网图像专门设计了数据增强方案以挖掘路网数据中的规律。
3)few-shot learning+轻量化设计
为了让模型更稳健和快速收敛,元象基于few-shot learning思想设计模型结构,同时对于每个模块采用轻量化设计,降低计算成本。可选择地添加Embedding模块,将条件标签信息融合到生成器和判别器中,可将模型转变为条件模型,实现对模型生成结果控制。
4)模型生成
模型使用流程如下图所示,最简单的方式是随机化一个噪声向量,将它应用到训练模型上,并生成一个随机道路布局图像。或选择提供一个路网样例,采用GAN Inversion技术得到对应噪声向量,加入一些扰动,生成与之相似的路网图像。
如果模型用条件标签训练,可指定特定标签控制生成结果,例如输入“东京”获得类似东京的城市路网图像,据此可以生成理想路网,并实现不同尺度、不同风格路网的随机生成。
模型效果如何?
模型学习完毕后,便可进行城市路网生成。下图展示了4个在1.5*1.5KM区域上生成路网的结果,首先生成两种不同的路网,对其高维表征进行线性插值,就可以取得在两种不同路网之间进行"平滑过渡"的结果。
区域级别大小的城市路网生成结果示意图
如前文所述,通过在模型中引入标签信息,模型实现了指定标签(eg. 城市风格)的路网生成(下图)。
通过城市标签控制的区域级别大小的城市路网生成结果示意图
元象还实验性地将整个城市路网(10KM*10KM,通常是千万像素大小级别)作为数据单位让模型学习,其结果(下图)对其高位表征进行线性插值获取两种不同城市的路网之间"平滑过渡"的结果。
城市级别大小的城市路网生成结果示意图
生成合理城市路网后,元象开发两种方案方便生成路网到后续创作。一是将路网矢量化,结果可直接导入创作工具(例如CityEngine)中,下图是矢量化路网在CityEngine中生成城市的效果;二是将路网结果张量化,转换为用于学习城市路网图像的GAN框中的张量场格式,后续可接入程序化城市管线。
矢量化的路网在CityEnging中的生成效果
待优化点和未来方向?
元象的AI生成方案已经可以提供可控、多样性的城市道路设计,但路网数据集目前标签比较匮乏,还需要对路网数据更深入理解,提炼出更多路网标签,推动更可控和富语义的路网生成。
我们还将AI能力积极扩展到程序化生成管线的各个方面,在城市建筑布局、室内装潢设计等领域,利用AI构建更智能化的辅助工具,降低3D内容的制作门槛,也期待更多同行交流,共同进步。