CN109215123B - 基于cGAN的无限地形生成方法、系统、存储介质和终端 - Google Patents

基于cGAN的无限地形生成方法、系统、存储介质和终端 Download PDF

Info

Publication number
CN109215123B
CN109215123B CN201811101271.0A CN201811101271A CN109215123B CN 109215123 B CN109215123 B CN 109215123B CN 201811101271 A CN201811101271 A CN 201811101271A CN 109215123 B CN109215123 B CN 109215123B
Authority
CN
China
Prior art keywords
terrain
image
sketch
network
generating
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811101271.0A
Other languages
English (en)
Other versions
CN109215123A (zh
Inventor
匡平
郑庭颖
杜雪梅
付蓉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN201811101271.0A priority Critical patent/CN109215123B/zh
Publication of CN109215123A publication Critical patent/CN109215123A/zh
Application granted granted Critical
Publication of CN109215123B publication Critical patent/CN109215123B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20112Image segmentation details
    • G06T2207/20132Image cropping

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Remote Sensing (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明公开了基于cGAN的无限地形生成方法、系统、存储介质和终端,方法包括:获取草图;数据预处理:将所述草图覆盖已存在的生成地形对应位置,并打包该位置与周围八个方向邻接区域的地形灰度图,形成一整张待处理图像,作为地形生成网络的输入;网络处理:将待处理图像在地形生成网络中进行处理,网络的输出将对中心草图区域进行地形的创作,通过该区域的草图与周围已有地形的高低起伏生成拟合周围走向的中心区域的地形灰度图;后期处理:将输出的中心区域的地形灰度图与已有地形对应位置的区域分别乘以一个权重并相加,再赋值到已有地形中,形成当前的大地形灰度图;主题渲染。本发明通过深度学习,根据用户的简单输入生成复杂的3D地形。

Description

基于cGAN的无限地形生成方法、系统、存储介质和终端
技术领域
本发明涉及3D地形建模领域,尤其涉及基于cGAN的无限地形生成方法、系统、存储介质和终端。
背景技术
3D地形是虚拟环境中不可或缺且极其重要的视觉内容。目前,计算机图形技术在地形生成领域已经取得了很多突破性的工作,但开发人员仍在追求更好质量和更快速度的地形生成。
地形建模在各种可视化应用程序、计算机游戏和计算机图形中都很重要。目前,地形生成的主要方法可分为基于样本、基于仿真和程序生成技术。
在Mandelbrot[1982]的工作中引入了基于仿真的技术,他使用Poisson断层生成了分形地形。Musgrave等[1989]将建模细分为两个步骤:地形生成和侵蚀仿真,使用各种侵蚀来修改分形地形。在计算机图形学中,用于地形生成的侵蚀技术已经被提出近30年了。侵蚀仿真方法用以改善地形特征的真实性[Cordonnier,2018],且可以应用于任何地形模型。在Benes等人[2002]的工作中提出了水力地形侵蚀,为了改善地形的真实感,将侵蚀过程分为四个独立的步骤。
基于样本的方法从现有样本生成新地形。Lagae[2005]提出了一种通过样本进行几何合成的方法,该方法是分为分析阶段和合成阶段。基于纹理的地形与草图相结合,用于通过用户控制来定义地形,该方法可以生成较为真实的地形[Tasse等,2012]。然而,基于样本的方法仅限于,在原有地形之上对地形做出微小的改变,和仅限于基于物理的编辑[Vanek等,2011]。
程序生成技术是当前主流的生成地形方法,使用连续的过程函数来定义地形的高程,具有较高的计算效率。研究人员已经提出了各种方法,将复杂的特征,如河流、丘陵和山脉纳入程序性地形[Kelley,1988;Smelik等,2014]。Génevaux等[2015]提出了基于程序原始的地形表示,其通过组合基元的贡献来描述具有不同细节水平的复杂地形。最近,Guérin等人[2017]引入了地形建模框架,该框架结合了程序建模和交互式草图,实现从输入草图生成复杂的地形。该框架不仅限于编写程序规则或定义基于物理的模拟的参数。然而,我们发现地形在Guérin等人的工作中受限于固定大小。
具体地,深度学习的研究和发展在计算机图形学方面取得了很大进展。在众多的深度学习方法中,GAN模型的训练方法更为彻底,因为它生成了数据本身。
如今,在GAN技术的支持下,可以自动生成电影和游戏中经常出现的图像。用户只需绘制一些草图,就可以自动生成高分辨率的3D地形模型。上述过程是通过程序生成完成的,且无需花费数十小时的工作时间。GAN技术根据手绘图学习如何输出地形图像,然后输入用户绘制的河流、山脊的景观草图,受过训练后的GAN将自动输出高质量的地形高度图。
更理想的方法是使用GAN实现无缝地形拼接,该方法同时生成地形,也可以无限地扩展地形。无限地形的基本思想是生成一块可以与周围环境拼接的地形。如果用户不断输入草图,则GAN将继续生成地形,而整体地形不限于固定大小。我们将用户期望生成的超大地形划分为多个正方形方块。首先给定用户一个初始小块,即当前地形为1×1块大小,用户在该方块绘制草图以生成初始瓦片地形。在绘制草图时,用户可选择的画笔具有两种:山脊和河流。用户绘制了山脊和河流的大致方向,网络根据草图的粗略信息并添加细节而生成地形。其中,草图的概念参考[Guérin等,2017]。然后,用户可以继续在该区域的相邻区域(顶部,底部,左侧,右侧,左下角,右上角和右下角)绘制地形草图,如图1所示,灰色区域被视为初始瓦片地形,并不断扩展其相邻区域。新生成的地形连接到初始瓦片地形的边缘并平滑过渡,即高度不会突然间断。在新地形小块与原有的初始小块进行拼接之后,整张地图便得到扩展,例如若用户在初始小块左侧绘制,则拼接后整体地形大小变为2×1块,若用户在初始块右上角绘制,则拼接后整体地形为2×2大小,其中包含左上角与右下角2个空白区域,空白区域可在后续进行绘制填补。之后,用户可以继续在已有地形小块区域其相邻区域绘制地形草图。因此,用户可以不断扩展地形的大小而不是限制于某一固定大小。如果时间允许,该方法可以实现近无限扩展。
为了实现逼真的实时显示和交互,大规模的3D地形建模和渲染依然面临许多技术挑战。
发明内容
本发明的目的在于克服现有技术的不足,提供一种基于cGAN的无限地形生成方法、系统、存储介质和终端,通过使用cGAN网络(条件生成对抗网络)可以根据用户输入的草图生成复杂的地形。
本发明的目的是通过以下技术方案来实现的:基于cGAN的无限地形生成方法,包括以下步骤:
获取草图,所述的草图包括绘制的山脊线和河流线;
数据预处理:将所述草图覆盖已存在的生成地形对应位置,并打包该位置与周围八个方向邻接区域的地形灰度图,形成一整张待处理图像,作为地形生成网络的输入;
网络处理:将所述待处理图像在地形生成网络中进行处理,其中网络的输出将对中心草图区域进行地形的创作,通过该区域的草图与周围已有地形的高低起伏生成拟合周围走向的中心区域的地形灰度图;
后期处理:将输出的中心区域的地形灰度图与已有地形对应位置的区域分别乘以一个权重并相加,再赋值到已有地形中,形成当前的大地形灰度图;
主题渲染:通过主题渲染器来根据现有的较大地形生成并渲染成3D场景。
进一步地,所述的地形生成网络包括生成器G和鉴别器D;
所述的生成器G由特征/真实图像对(X,Y)训练形成,其中X是九宫格图像,其中心区域是特征图,高度图在其周围随机出现,特征图表示地形的山脊和河流特征,Y是与X对应的真实地形的高度图;受过训练的生成器G对输入的中心区域是特征图的X进行变换,以获得输出中心区域是高度图的G(X);
受过训练的鉴别器D用于判别未知图像是否是由生成器产生的图像G(X),所述的未知图像包括来自数据集的真实目标图像Y或来自生成器G的输出图像G(X);
所述的地形生成网络的目标函数为:
Figure BDA0001806739640000031
其中:
Figure BDA0001806739640000032
式中,D(X,Y)与D(X,G(X))均为鉴别器D对不同图像对的判别结果,代表判断为真的概率;而E(X,Y)表示对来自样本的所有特征/真实图像对(X,Y)的判别计算结果进行累加,并进一步使用概率分布的期望形式写出;EX则表示是对特征/生成图像对(X,G(X))进行上述相应处理;
VL1(G)为L1范数损失函数,其中,λ表示L1范式的影响权重,以增加输出图像与输入图像的相似程度。
进一步地,所述的生成器G包括顺序连接的m层编码器和m层解码器,编码器的输入端输入中心区域是特征图的图像X,解码器的输出端输出输出图像G(X);
其中,每个编码器均包括顺序连接的卷积层、BatchNorm层和ReLU层,每个解码器包括反卷积/上采样层、BatchNorm层和ReLU层;并且第n层的卷积层的输出端与第m-n层的反卷积层的输入端跳跃连接,其中m为层数;
所述的鉴别器D包括顺序连接的多个卷积层,相邻卷积层之间包括BatchNorm层和ReLU层;
生成器G和鉴别器D中的每层网络中包含若干训练优化的参数权重,通过训练动态更新其值。
进一步地,特征图的图像X大小为256×256×3,其中输入通道为3,表示输入图像为RGB三通道,因为对草图中山脉与河流进行了着色区分;输出图像G(X)大小为256×256×1,其中输出通道1,即是输出的图像仅为灰度图,范围是0到255;
而每一层编码器得到的图像大小分别为:64×64×128、32×32×256、16×16×512、8×8×512、4×4×512、2×2×512,编码器的输出端输出的图像大小为1×1×512;而每一层解码器得到的图像大小分别为2×2×512、4×4×512、8×8×512、16×16×512、32×32×256、64×64×128。
进一步地,所述的方法还包括:
训练地形生成网络,包括以下子步骤:
对数据集进行预处理,包括以下子步骤:获取原始地形图;导出所述原始地形图的高度图;对原始地形图进行特征的分析,提取得到一张等大的具有山脉河流走向的特征图;从所述的完整原始地形图中随机选取一块九宫格区域并随机剔除邻接区域,然后用中心区域对应特征图的部分替换该部分地形图;
交替训练生成器G和鉴别器D,包括以下子步骤:将预处理得到的特征遮罩图,送进生成器G进行预测得到输出图像G(X),并将这张图G(X)与原始真实图像X分别被送进鉴别器D判别真伪,由该结果指导训练生成器G与鉴别器D,具体包括:
在训练鉴别器D时,要求生成器G产生图像并将其输出到鉴别器D;根据输入/目标图像对(X,Y)和输入/输出图像对(X,G(X)),鉴别器D识别由生成器G给出的图像是真实图像的概率;鉴别器D根据输入/目标图像对和输入/输出图像对,从下式中计算求得的分类误差来调整鉴别器D内部各层的权重:
VCGAN(G,D)=E(X,Y)[logD(X,Y)]+
EX[log(1-D(X,G(X)))]
在训练生成器G时,根据鉴别器D的判别结果即所述的分类误差、以及从下式中计算求得的输出图像与目标图像之间的差异来调整生成器G内部各层的权重:
Figure BDA0001806739640000041
进一步地,在鉴别器D进行判别时,将图像对(X,Y)和(X,G(X))分割成一组尺寸较小的子小块patch,然后使用鉴别器D来区分每个子小块,判断每一个子小块是真还是假,然后在整张图片上求取所有图像对的平均判断概率,作为图像的最终判别结果。
进一步地,在所述的训练地形生成网络的步骤中,为了给训练数据带来更多的可变性,对输入数据进行随机区域裁剪。
本发明还提供基于cGAN的无限地形生成系统,包括:
草图获取模块:用于获取草图,其中所述的草图包括绘制的山脊线和河流线;
数据预处理模块:用于将所述草图覆盖已存在的生成地形对应位置,并打包该位置与周围八个方向邻接区域的地形灰度图,形成一整张待处理图像,作为地形生成网络的输入;
网络处理模块:用于将所述待处理图像在地形生成网络中进行处理,其中网络的输出将对中心草图区域进行地形的创作,通过该区域的草图与周围已有地形的高低起伏生成拟合周围走向的中心区域的地形灰度图;
后期处理模块:用于将输出的中心区域的地形灰度图与已有地形对应位置的区域分别乘以一个权重并相加,再赋值到已有地形中,形成当前的大地形灰度图;
主题渲染模块:用于通过主题渲染器来根据现有的较大地形生成并渲染成3D场景。
本发明还提供一种存储介质,其上存储有计算机指令,所述计算机指令运行时执行所述的基于cGAN的无限地形生成方法的步骤。
本发明还提供一种终端,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机指令,所述处理器运行所述计算机指令时执行所述的基于cGAN的无限地形生成方法的步骤。
本发明的有益效果是:本发明通过深度学习,可以通过用户的简单输入生成复杂并可以不断扩展的3D地形。一方面,游戏创作者通过绘制简单的草图来生成复杂的地形,同时,可以生成不同的尺寸并拼接成不同形状的地形,实现地形扩充,大大减少了工作量。另一方面,为了增加游戏的乐趣,玩家可以自己绘制地形并实时生成地形。另外,也可以应用于虚拟现实,虚拟现实是虚拟自然场景的重要组成部分。本实施例的地形生成方法具有绘图简单、生成速度快、效果逼真的特点,满足了大规模地形实时漫游的需要。通过使用cGAN网络,可以根据用户输入的草图生成复杂的地形。
附图说明
图1为现有技术绘制地形草图示意图;
图2为本发明方法流程图;
图3为本发明生成器G结构示意图;
图4为数据集预处理流程示意图;
图5为地形生成网络训练流程示意图;
图6为生成地形与对应的山脉河流特征示意图。
具体实施方式
下面结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,属于“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方向或位置关系为基于附图所述的方向或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,属于“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,属于“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
实施例1
实施例1公开了基于cGAN的无限地形生成方法,该方法可用于可以应用于游戏。一方面,游戏创作者通过绘制简单的草图来生成复杂的地形,同时,可以生成不同的尺寸并拼接成不同形状的地形,大大减少了工作量。另一方面,为了增加游戏的乐趣,玩家可以自己绘制地形并实时生成地形。另外,本实施例的无限地形生成方法也可以应用于虚拟现实,虚拟现实是虚拟自然场景的重要组成部分。本实施例的地形生成方法具有绘图简单、生成速度快、效果逼真的特点,满足了大规模地形实时漫游的需要。通过使用cGAN网络,可以根据用户输入的草图生成复杂的地形。
具体地,如图2所示,基于cGAN的无限地形生成方法,包括以下步骤:
S1:获取草图,所述的草图包括绘制的山脊线和河流线。
具体地,在本实施例中,对于草图本身,设计者的输入可以使用两种画笔,分别用于绘制山脊线和河流线,即对草图中山脉与河流进行了着色区分。当点击提交以后,将绘制区域的简图与边缘的简图一起打包作为网络中心区域的输入mask。
S2:数据预处理:将所述草图覆盖已存在的生成地形对应位置,并打包该位置与周围八个方向邻接区域的地形灰度图,形成一整张待处理图像,作为地形生成网络的输入。
也就是说,在该步骤中,所述的待处理图像为九宫格图像,其中中心位置的图像为步骤S1中的草图,而周围八个方向临界区域为原始的地形灰度图。
S3:网络处理:将所述待处理图像在地形生成网络中进行处理,其中网络的输出将对中心草图区域进行地形的创作,通过该区域的草图与周围已有地形的高低起伏生成拟合周围走向的中心区域的地形灰度图。
其中,优选地,地形生成网络为经过训练的cGAN网络。
具体地,在本实施例中:所述的地形生成网络包括生成器G和鉴别器D;
所述的生成器G由特征/真实图像对(X,Y)训练形成,其中X是九宫格图像,其中心区域是特征图,高度图在其周围随机出现,其中特征图表示地形的山脊和河流特征,Y是与X对应的真实地形的高度图;受过训练的生成器G对输入的中心区域是特征图的X进行变换,以获得输出中心区域是高度图的G(X),即生成步骤S3中所述的地形灰度图。
而受过训练的鉴别器D用于判别未知图像是否是由生成器产生的图像G(X),所述的未知图像包括来自数据集的真实目标图像Y或来自生成器G的输出图像G(X)。
所述的地形生成网络的目标函数为:
Figure BDA0001806739640000071
具体地,上述目标函数分为两个部分,对于前一个部分中,为CGAN的目标函数:
VCGAN(G,D)=E(X,Y)[logD(X,Y)]+
EX[log(1-D(X,G(X)))] (1)
式(1)中,D(X,Y)与D(X,G(X))均为鉴别器D对不同图像对的判别结果(其中前者D(X,Y)是数据集中特征遮罩图与真实图成对,后者是数据集中特征遮罩与生成器对应的输出结果的成对,特征遮罩图表示“从所述的完整原始地形图中随机选取一块九宫格区域并随机剔除邻接区域,然后用中心区域对应特征图的部分替换该部分地形图”,后续会进行详述),代表判断为真的概率。
而E(X,Y)表示对来自样本的所有特征/真实图像对(X,Y)的判别计算结果进行累加,并进一步使用概率分布的期望形式写出;EX则表示是对特征/生成图像对(X,G(X))进行上述相应处理。
在训练过程中,生成器G的目标就是尽量生成真实的图片去欺骗判别鉴别器D。而鉴别器D的目标就是尽量把生成器G生成的图片和真实的图片分别开来。这样,生成器G和鉴别器D构成了一个动态的minmax博弈[Isola,2016]:
Figure BDA0001806739640000072
在最理想的状态下,生成器G可以生成足以“以假乱真”的图片G(X)。对于鉴别D来说,它难以判定生成器G生成的图片究竟是不是真实的,因此D(G(X))=0.5。
在CGAN中加入传统的损失函数,如L1和L2范数,会进一步提升网络的有效性,即式(4)中的后部分。因此在式(1)中加入L1范数损失函数[Isola,2016],使得生成图像不仅像真实图像,也更接近于输入图像。L1范数损失函数为
Figure BDA0001806739640000081
因此,在本实施例中,所述的地形生成网络的目标函数为:
Figure BDA0001806739640000082
VL1(G)为L1范数损失函数,其中,λ表示L1范式的影响权重,以增加输出图像与输入图像的相似程度。
另外,基于上述地形生成网络的结构实现,本实施例还公开了地形生成网络中生成器G和鉴别器D的具体结构。具体地:
生成器G的体系结构是编码器-解码器网络,其编码器部分由一系列完全卷积层(卷积大小为4×4)和分辨率降低组成,而解码器由一系列去卷积/上采样组成的。另外,在解码部分中,每层因此连接到较低分辨率的层并且附加的跳过连接将其连接到与其相同分辨率(U-net)的编码器层。这些附加连接允许通过将来自输入的低级信息直接传输到输出来绕过编码器-解码器的瓶颈。
如图3所示,所述的生成器G包括顺序连接的m层编码器和m层解码器,编码器的输入端输入中心区域是特征图的图像X,解码器的输出端输出输出图像G(X);
其中,每个编码器均包括顺序连接的卷积层、BatchNorm层和ReLU层,每个解码器包括反卷积/上采样层、BatchNorm层和ReLU层;并且第n层的卷积层的输出端与第m-n层的反卷积层的输入端跳跃连接,其中m为层数。
具体地,编码器逐渐减少池化层的空间维度,解码器逐步修复物体的细节和空间维度。编码器和解码器之间通常存在快捷连接,因此能帮助解码器更好地修复目标的细节。因为网络中很多信息是在输入与输出间共享,则需要将编码器中的信息直接传递给解码器。为了实现信息贡献,网络中增加了第n层与第m-n层之间的跳跃连接。其中m为网络层数,即每个跳跃连接直接把第n层(编码器)信息传递给第m-n层(解码器)。
而所述的鉴别器D包括顺序连接的多个卷积层,相邻卷积层之间包括BatchNorm层和ReLU层。
生成器G和鉴别器D中的每层网络中包含若干训练优化的参数权重,通过训练动态更新其值。
更为详细地,在本实施例中,特征图的图像X大小为256×256×3,其中输入通道为3,表示输入图像为RGB三通道,因为对草图中山脉与河流进行了着色区分;输出图像G(X)大小为256×256×1,其中输出通道1,即是输出的图像仅为灰度图,范围是0到255;
而每一层编码器得到的图像大小分别为:64×64×128、32×32×256、16×16×512、8×8×512、4×4×512、2×2×512,编码器的输出端输出的图像大小为1×1×512;而每一层解码器得到的图像大小分别为2×2×512、4×4×512、8×8×512、16×16×512、32×32×256、64×64×128。
因此,基于上述内容的实现,所述的方法还包括:
S0:训练地形生成网络。
区别于原始GAN网络,在本实施例中的地形生成网络中,生成器G的输入并不是一个随机向量,而是一张图片,图片的中心区域是该区域地形对应的草图,周围是参照地形或是空白区域,而空白区域是黑色背景,参照地形是灰度图。
本实施例的数据集均从一张原始的真实地形灰度图中得到。具体地,该步骤包括以下子步骤:
S01:对数据集进行预处理,如图4所示,包括以下子步骤:获取原始地形图;导出所述原始地形图的高度图;对原始地形图进行特征的分析,提取得到一张等大的具有山脉河流走向的特征图;从所述的完整原始地形图中随机选取一块九宫格区域并随机剔除邻接区域(覆盖上黑色背景),然后用中心区域对应特征图的部分替换该部分地形图;即上述的特征遮罩图X。
S02:交替训练生成器G和鉴别器D,如图5所示,包括以下子步骤:将预处理得到的特征遮罩图,送进生成器G进行预测得到输出图像G(X),并将这张图G(X)与原始真实图像X分别被送进鉴别器D判别真伪,由该结果指导训练生成器G与鉴别器D,具体包括:
在训练鉴别器D时,要求生成器G产生图像并将其输出到鉴别器D;根据输入/目标图像对(X,Y)和输入/输出图像对(X,G(X)),鉴别器D识别由生成器G给出的图像是真实图像的概率;鉴别器D根据输入/目标图像对和输入/输出图像对,从下式中计算求得的分类误差来调整鉴别器D内部各层的权重:
VCGAN(G,D)=E(X,Y)[logD(X,Y)]+
EX[log(1-D(X,G(X)))]
在训练生成器G时,根据鉴别器D的判别结果即所述的分类误差、以及从下式中计算求得的输出图像与目标图像之间的差异来调整生成器G内部各层的权重:
Figure BDA0001806739640000091
具体地,本实施例的训练遵循图像到图像的网络训练,如图5所示,图中网络结构并非实际采用的结构,而是针对作图的简化,实际采用的结构参见上述内容。首先由真实图做预处理得到特征遮罩图,送进生成器G预测一张图,这张图与原始真实图分别被送进鉴别器D判别真伪,由该结果指导训练生成器G与鉴别器D。
为了给训练数据带来更多的可变性,本实施例对输入数据进行随机区域裁剪。具体地,使用批量大小为1的随机梯度下降,并采用Adam优化器,并使用Batch规范化。本实施例在生成器G的梯度更新和鉴别器D的梯度更新之间交替。当训练了20个时代,网络性能稳定,输出图像几乎没有杂乱。
对于随机生成的要求,本实施例的地形生成网络仅以丢失的形式提供噪声(随机性),也就是说,在训练和测试期间,该单元是随机关闭的,概率为p=0.5。因此,运行合成器两次会产生稍微不同的结果。在我们的实验中,我们观察到当合成器在同一输入上运行几次时,结果仅略有改变。
另外,由于L1范数的损失约束可以捕获到低频信息,所以只需要设计的判别器能够获取到高频信息。因此要关注于图像的局部块(patch),我们采用了一种patchGAN。在本实施例的优选方案中,在鉴别器D进行判别时,将图像对(X,Y)和(X,G(X))分割成一组尺寸较小的子小块patch,然后使用鉴别器D来区分每个子小块,判断每一个子小块是真还是假,然后在整张图片上求取所有图像对的平均判断概率,作为图像的最终判别结果。
S4:后期处理:将输出的中心区域的地形灰度图与已有地形对应位置的区域分别乘以一个权重并相加,再赋值到已有地形中,形成当前的大地形灰度图。
在该步骤中,为了生成大型地形,根据用户绘制的草图生成一块及以上的瓦片地形,然后将这些瓦片地形拼接在一起。具体方法是每次输入到网络中的数据仅是由以目标区域(预期生成的目标地形区域)为中心,及八个边缘相邻区域形成的九宫格地形。目标区域是用户输入的草图,相邻区域是已有的地形或空白区域。存在空白区域的原因是在草图绘制过程中存在未被绘制区域。网络根据草图并添加地形细节以生成地形。然后通过相邻的地形,让网络知道周围地形的趋势,并判断目标地形应该有多高以及边缘细节应该如何平滑过渡。因此,网络需要学习细节和学习过渡。
解决或避免边缘拼接问题的方法至关重要。本实施例提供了一种很好的数据集处理方法,我们将其称为边缘再生。边缘再生指的是瓦片地形连接处的区域重新生成。具体方法是围绕输入草图区域进行扩展,即让网络重新绘制放大区域中的地形。因此,人为地避免了瓦片的边缘。然后将再生的边缘与先前相邻地形的相应位置图像融合。
具体地,在本实施例中,权重计算参考如下公式:
F=w*O+(1-w)*R
其中O表示输出的地形灰度图的中心区域,R表示已有的地形中的对应位置,F表示最终的该位置地形灰度数据。公式中w为后处理权重矩阵,w*O表示该矩阵与输出中心区域对应元素乘积。
S5:主题渲染:通过主题渲染器来根据现有的较大地形生成并渲染成3D场景。
为了实现地形高度图到3D地形建模渲染,本实施例搭建了一个基于Three.js的地形渲染器,在得到上一节中后期处理后的地形灰度图后,将建立一个与灰度图等大的mesh网格,根据每个像素的灰度值生成对应的高度,以此建立3D地形模型。此外,还会生成一张腐蚀贴图用于地形的上色。在对地形生成结果进行衡量时,发现其特征对应关系非常明显,证明用户的输入控制能直观地反应在地形生成结果中,如图6所示,草图(图6左)中的深色线最终会被绘制为山脉区域,而浅色线则转化为河流,并且地形生成网络知道一条连续不断的河流在绵延的过程中,其海拔会逐渐降低。
实施例2
本实施例提供基于cGAN的无限地形生成系统,该系统的发明构思与实施例1相同,可用于可以应用于游戏。一方面,游戏创作者通过绘制简单的草图来生成复杂的地形,同时,可以生成不同的尺寸并拼接成不同形状的地形,大大减少了工作量。另一方面,为了增加游戏的乐趣,玩家可以自己绘制地形并实时生成地形。另外,本实施例的无限地形生成方法也可以应用于虚拟现实,虚拟现实是虚拟自然场景的重要组成部分。本实施例的地形生成方法具有绘图简单、生成速度快、效果逼真的特点,满足了大规模地形实时漫游的需要。
具体地,所述的系统包括:
草图获取模块:用于获取草图,其中所述的草图包括绘制的山脊线和河流线;
数据预处理模块:用于将所述草图覆盖已存在的生成地形对应位置,并打包该位置与周围八个方向邻接区域的地形灰度图,形成一整张待处理图像,作为地形生成网络的输入;
网络处理模块:用于将所述待处理图像在地形生成网络中进行处理,其中网络的输出将对中心草图区域进行地形的创作,通过该区域的草图与周围已有地形的高低起伏生成拟合周围走向的中心区域的地形灰度图;
后期处理模块:用于将输出的中心区域的地形灰度图与已有地形对应位置的区域分别乘以一个权重并相加,再赋值到已有地形中,形成当前的大地形灰度图;
主题渲染模块:用于通过主题渲染器来根据现有的较大地形生成并渲染成3D场景。
本发明实施例提供的基于cGAN的无限地形生成系统中相关部分的说明请参见本发明实施例1提供的基于cGAN的无限地形生成方法中对应部分的详细说明,在此不再赘述。另外,本发明实施例提供的上述技术方案中与现有技术中对应的技术方案实现原理一致的部分并未详细说明,以免过多赘述。
实施例3
基于实施例1的实现,本实施例还提供一种存储介质,其上存储有计算机指令,所述计算机指令运行时执行实施例1中所述的基于cGAN的无限地形生成方法的步骤。
基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(RandomAccessMemory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
实施例4
基于实施例1的实现,本发明还提供一种终端,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机指令,所述处理器运行所述计算机指令时执行实施例1中所述的基于cGAN的无限地形生成方法的步骤。
在本发明提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
在本发明所提供的所有实施例中,应该理解到,所揭露装置、系统和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元/模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定,对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其他不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引申出的显而易见的变化或变动仍处于本发明创造的保护范围之中。

Claims (10)

1.基于条件生成对抗网络的无限地形生成方法,其特征在于:包括以下步骤:
获取草图,所述的草图包括绘制的山脊线和河流线;
数据预处理:将所述草图覆盖已存在的生成地形对应位置,并打包该位置与周围八个方向邻接区域的地形灰度图,形成一整张待处理图像,作为地形生成网络的输入;
网络处理:将所述待处理图像在地形生成网络中进行处理,其中地形生成网络的输出将对中心草图区域进行地形的创作,通过该中心草图区域的草图与周围已有地形的高低起伏生成拟合周围走向的中心草图区域的地形灰度图;
后期处理:将输出的中心草图区域的地形灰度图与已有地形对应位置的区域分别乘以一个权重并相加,再赋值到已有地形中,形成当前的大地形灰度图;
主题渲染:通过主题渲染器来根据现有的大地形灰度图生成并渲染成3D场景。
2.根据权利要求1所述的基于条件生成对抗网络的无限地形生成方法,其特征在于:所述的地形生成网络包括生成器G和鉴别器D;
所述的生成器G由特征/真实图像对(X,Y)训练形成,其中X是九宫格图像,X的中心区域是特征图,高度图在其周围随机出现,特征图表示地形的山脊和河流特征,真实图像Y是与X对应的真实地形的高度图;受过训练的生成器G对输入的中心区域是特征图的X进行变换,以获得输出中心区域是高度图的输出图像G(X);
受过训练的鉴别器D用于判别未知图像是否是由生成器产生的输出图像G(X),所述的未知图像包括来自数据集的真实图像Y或来自生成器G的输出图像G(X);
所述的地形生成网络的目标函数为:
Figure FDA0003636512310000011
其中:
VCGAN(G,D)=E(X,Y)[logD(X,Y)]+EX[log(1-D(X,G(X)))];
Figure FDA0003636512310000012
式中,D(X,Y)与D(X,G(X))均为鉴别器D对不同图像对的判别结果,代表判断为真的概率;而E(X,Y)[]表示对来自样本的所有特征/真实图像对(X,Y)的判别计算结果进行累加,并进一步使用概率分布的期望形式写出;EX[]则表示是对特征/生成图像对(X,G(X))的判别计算结果进行累加,并进一步使用概率分布的期望形式写出;VCGAN(G,D)表示条件生成对抗网络的目标函数;
VL1(G)为L1范数损失函数,其中,λ表示L1范式的影响权重,以增加输出图像与输入图像的相似程度。
3.根据权利要求2所述的基于条件生成对抗网络的无限地形生成方法,其特征在于:所述的生成器G包括顺序连接的m层编码器和m层解码器,编码器的输入端输入中心区域是特征图的图像X,解码器的输出端输出输出图像G(X);
其中,每个编码器均包括顺序连接的卷积层、批规范化层和线性整流函数层,每个解码器包括反卷积/上采样层、批规范化层和线性整流函数层;并且第n层的卷积层的输出端与第m-n层的反卷积层的输入端跳跃连接,其中m为层数;
所述的鉴别器D包括顺序连接的多个卷积层,相邻卷积层之间包括批规范化层和线性整流函数层;
生成器G和鉴别器D中的每层网络中包含若干训练优化的参数权重,通过训练动态更新其值。
4.根据权利要求3所述的基于条件生成对抗网络的无限地形生成方法,其特征在于:特征图的图像X大小为256×256×3,其中输入通道为3,表示输入图像为RGB三通道,因为对草图中山脉与河流进行了着色区分;输出图像G(X)大小为256×256×1,其中输出通道1,即是输出的图像仅为灰度图,范围是0到255;
而每一层编码器得到的图像大小分别为:64×64×128、32×32×256、16×16×512、8×8×512、4×4×512、2×2×512,编码器的输出端输出的图像大小为1×1×512;而每一层解码器得到的图像大小分别为2×2×512、4×4×512、8×8×512、16×16×512、32×32×256、64×64×128。
5.根据权利要求3或4所述的基于条件生成对抗网络的无限地形生成方法,其特征在于:所述的方法还包括:
训练地形生成网络,包括以下子步骤:
对数据集进行预处理,包括以下子步骤:获取原始地形图;导出所述原始地形图的高度图;对原始地形图进行特征的分析,提取得到一张等大的具有山脉河流走向的特征图;从完整原始地形图中随机选取一块九宫格区域并随机剔除邻接区域,得到部分地形图,然后用中心区域对应特征图的部分替换该部分地形图,得到特征遮罩图;
交替训练生成器G和鉴别器D,包括以下子步骤:将预处理得到的特征遮罩图,送进生成器G进行预测得到输出图像G(X),并将这张输出图像G(X)与特征图像X分别被送进鉴别器D判别真伪,由判别结果指导训练生成器G与鉴别器D,具体包括:
在训练鉴别器D时,要求生成器G产生图像并将其输出到鉴别器D;根据特征/真实图像对(X,Y)和特征/生成图像对(X,G(X)),鉴别器D识别由生成器G给出的图像是真实图像的概率;鉴别器D根据特征/真实图像对和特征/生成图像对,从下式中计算求得的分类误差来调整鉴别器D内部各层的权重:
VCGAN(G,D)=E(X,Y)[logD(X,Y)]+EX[log(1-D(X,G(X)))]
在训练生成器G时,根据鉴别器D的判别结果即所述的分类误差、以及从下式中计算求得的输出图像与目标图像之间的差异来调整生成器G内部各层的权重:
Figure FDA0003636512310000031
6.根据权利要求5所述的基于条件生成对抗网络的无限地形生成方法,其特征在于:在鉴别器D进行判别时,将图像对(X,Y)和(X,G(X))分割成一组子小块patch,然后使用鉴别器D来区分每个子小块,判断每一个子小块是真还是假,然后在整张图片上求取所有图像对的平均判断概率,作为图像的最终判别结果。
7.根据权利要求5所述的基于条件生成对抗网络的无限地形生成方法,其特征在于:在所述的训练地形生成网络的步骤中,为了给训练数据带来更多的可变性,对输入数据进行随机区域裁剪。
8.基于条件生成对抗网络的无限地形生成系统,其特征在于:包括:
草图获取模块:用于获取草图,其中所述的草图包括绘制的山脊线和河流线;
数据预处理模块:用于将所述草图覆盖已存在的生成地形对应位置,并打包该位置与周围八个方向邻接区域的地形灰度图,形成一整张待处理图像,作为地形生成网络的输入;
网络处理模块:用于将所述待处理图像在地形生成网络中进行处理,其中地形生成网络的输出将对中心草图区域进行地形的创作,通过该中心草图区域的草图与周围已有地形的高低起伏生成拟合周围走向的中心草图区域的地形灰度图;
后期处理模块:用于将输出的中心草图区域的地形灰度图与已有地形对应位置的区域分别乘以一个权重并相加,再赋值到已有地形中,形成当前的大地形灰度图;
主题渲染模块:用于通过主题渲染器来根据现有的大地形灰度图生成并渲染成3D场景。
9.一种存储介质,其上存储有计算机指令,其特征在于:所述计算机指令运行时执行权利要求1至7中任一项所述的基于条件生成对抗网络的无限地形生成方法的步骤。
10.一种终端,包括存储器和处理器,所述存储器上存储有能够在所述处理器上运行的计算机指令,其特征在于,所述处理器运行所述计算机指令时执行权利要求1至7中任一项所述的基于条件生成对抗网络的无限地形生成方法的步骤。
CN201811101271.0A 2018-09-20 2018-09-20 基于cGAN的无限地形生成方法、系统、存储介质和终端 Active CN109215123B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811101271.0A CN109215123B (zh) 2018-09-20 2018-09-20 基于cGAN的无限地形生成方法、系统、存储介质和终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811101271.0A CN109215123B (zh) 2018-09-20 2018-09-20 基于cGAN的无限地形生成方法、系统、存储介质和终端

Publications (2)

Publication Number Publication Date
CN109215123A CN109215123A (zh) 2019-01-15
CN109215123B true CN109215123B (zh) 2022-07-29

Family

ID=64984657

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811101271.0A Active CN109215123B (zh) 2018-09-20 2018-09-20 基于cGAN的无限地形生成方法、系统、存储介质和终端

Country Status (1)

Country Link
CN (1) CN109215123B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110288691B (zh) * 2019-06-06 2023-04-07 北京字节跳动网络技术有限公司 渲染图像的方法、装置、电子设备和计算机可读存储介质
CN110335350B (zh) * 2019-06-21 2023-07-07 南京师范大学 基于地形特征的虚拟地形生成方法
CN110660128B (zh) * 2019-09-23 2023-08-11 云南电网有限责任公司电力科学研究院 一种基于生成对抗网络的三维语义场景重建方法
KR20210045229A (ko) * 2019-10-16 2021-04-26 삼성전자주식회사 컴퓨팅 장치 및 그 동작 방법
CN111209850B (zh) * 2020-01-04 2021-02-19 圣点世纪科技股份有限公司 一种基于改进cGAN网络生成适用多设备识别指静脉图像的方法
CN111210517B (zh) * 2020-01-09 2021-11-19 浙江大学 一种基于神经网络的多风格地形的生成方法
CN111260780B (zh) * 2020-01-13 2021-04-16 陕西心像信息科技有限公司 基于高度图高程的实时地形修改方法
CN111242874B (zh) * 2020-02-11 2023-08-29 北京百度网讯科技有限公司 图像修复的方法、装置、电子设备和存储介质
CN111445576B (zh) * 2020-03-17 2022-09-13 腾讯科技(深圳)有限公司 地图数据的获取方法和装置、存储介质及电子装置
CN114332396B (zh) * 2021-12-30 2022-12-02 北京发现角科技有限公司 不同层级相邻地形过渡效果的实现方法和装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8930180B1 (en) * 2012-08-15 2015-01-06 The Boeing Company Rapid scenario generation using natural language understanding
AU2015261600A1 (en) * 2015-11-25 2017-06-08 Caterpillar Of Australia Pty Ltd Graphical user interface for designing terrain modification plans
WO2017168125A1 (en) * 2016-03-31 2017-10-05 Queen Mary University Of London Sketch based search methods
CN107748895A (zh) * 2017-10-29 2018-03-02 北京工业大学 基于dct‑cnn模型的无人机着陆地貌图像分类方法
CN107977629A (zh) * 2017-12-04 2018-05-01 电子科技大学 一种基于特征分离对抗网络的人脸图像衰老合成方法
CN108021131A (zh) * 2017-11-28 2018-05-11 王智华 一种机器人视觉识别方法、装置及计算机可读存储介质
CN108460739A (zh) * 2018-03-02 2018-08-28 北京航空航天大学 一种基于生成对抗网络的遥感图像薄云去除方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140139194A (ko) * 2013-05-27 2014-12-05 한국전자통신연구원 지형 모델의 생성 방법 및 장치

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8930180B1 (en) * 2012-08-15 2015-01-06 The Boeing Company Rapid scenario generation using natural language understanding
AU2015261600A1 (en) * 2015-11-25 2017-06-08 Caterpillar Of Australia Pty Ltd Graphical user interface for designing terrain modification plans
WO2017168125A1 (en) * 2016-03-31 2017-10-05 Queen Mary University Of London Sketch based search methods
CN107748895A (zh) * 2017-10-29 2018-03-02 北京工业大学 基于dct‑cnn模型的无人机着陆地貌图像分类方法
CN108021131A (zh) * 2017-11-28 2018-05-11 王智华 一种机器人视觉识别方法、装置及计算机可读存储介质
CN107977629A (zh) * 2017-12-04 2018-05-01 电子科技大学 一种基于特征分离对抗网络的人脸图像衰老合成方法
CN108460739A (zh) * 2018-03-02 2018-08-28 北京航空航天大学 一种基于生成对抗网络的遥感图像薄云去除方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Interactive Example-Based Terrain Authoring with Conditional;ÉRIC GUÉRIN et al.;《ACM Transactions on Graphics》;20170930;第36卷(第6期);第1-13页 *
research on central issues of crowd desity estimation;kuang ping et al.;《2013 10th International Computer Conference on Wavelet Active Media Technology and Information Processing (ICCWAMTIP)》;20140123;第143-145页 *
Spectral Image Visualization Using Generative Adversarial Networks;Chen, SY et al.;《15th Pacific Rim International Conference on Artificial Intelligence (PRICAI)》;20180831;第1-6页 *
基于深度学习的城市道路网自动生成;李航;《国优秀博硕士学位论文全文数据库(硕士)工程科技Ⅱ辑》;20180715;第C034-20页 *

Also Published As

Publication number Publication date
CN109215123A (zh) 2019-01-15

Similar Documents

Publication Publication Date Title
CN109215123B (zh) 基于cGAN的无限地形生成方法、系统、存储介质和终端
US11257279B2 (en) Systems and methods for providing non-parametric texture synthesis of arbitrary shape and/or material data in a unified framework
RU2424561C2 (ru) Обучение сверточных нейронных сетей на графических процессорах
US7161601B2 (en) Synthesis of progressively-variant textures and application to arbitrary surfaces
US7130467B1 (en) Real time data matching
US7450122B2 (en) Volumetric hair rendering
Hartmann et al. Streetgan: Towards road network synthesis with generative adversarial networks
CN101901503B (zh) 使用光谱分析的伸展驱动的网格参数化
US8773422B1 (en) System, method, and computer program product for grouping linearly ordered primitives
US20100289799A1 (en) Method, system, and computer program product for efficient ray tracing of micropolygon geometry
CN110517352B (zh) 一种物体的三维重建方法、存储介质、终端及系统
US20130089258A1 (en) Method and apparatus for removing a visual object from a visual data stream
CN114049420B (zh) 一种模型训练方法、图像渲染方法、装置和电子设备
Karth et al. Wavefunctioncollapse: Content generation via constraint solving and machine learning
CN109447897B (zh) 一种真实场景图像合成方法及系统
US20090201288A1 (en) Rendering 3D Computer Graphics Using 2D Computer Graphics Capabilities
CN112734900A (zh) 阴影贴图的烘焙方法、装置、设备及计算机可读存储介质
Antoniuk et al. Generation of complex underground systems for application in computer games with schematic maps and L-systems
Saunders Terrainosaurus: realistic terrain synthesis using genetic algorithms
CN113628349B (zh) 基于场景内容自适应的ar导航方法、设备及可读存储介质
Tilson et al. Towards generating image assets through deep learning for game development
Song et al. Vector regression functions for texture compression
Pueyo et al. Shrinking city layouts
Arellano et al. A 3D Terrain Generator: Enhancing Robotics Simulations with GANs
Sommer et al. Geometry and rendering optimizations for the interactive visualization of crash-worthiness simultations

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant