CN111210517B - 一种基于神经网络的多风格地形的生成方法 - Google Patents

一种基于神经网络的多风格地形的生成方法 Download PDF

Info

Publication number
CN111210517B
CN111210517B CN202010023669.8A CN202010023669A CN111210517B CN 111210517 B CN111210517 B CN 111210517B CN 202010023669 A CN202010023669 A CN 202010023669A CN 111210517 B CN111210517 B CN 111210517B
Authority
CN
China
Prior art keywords
terrain
sketch
network
map
pixel
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
CN202010023669.8A
Other languages
English (en)
Other versions
CN111210517A (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.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
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 Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN202010023669.8A priority Critical patent/CN111210517B/zh
Publication of CN111210517A publication Critical patent/CN111210517A/zh
Application granted granted Critical
Publication of CN111210517B publication Critical patent/CN111210517B/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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Remote Sensing (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computer Graphics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明公开了一种基于神经网络的多风格地形的生成方法,属于地形建模领域,包括以下步骤:(1)地形数据集的收集和地形类型的打标;(2)地形的河流山脊等特征的提取和生成草图的算法;(3)地形分类器网络模型的训练;(4)不同地形风格隐式向量的生成;(5)用草图和地形数据训练用于地形建模的生成式对抗网络;(6)利用用户设计好的草图和选定的地形风格在网络上生成三维地形。本发明具有地形建模的效率高,生成的地形质量好,用户学习成本低,具有非常高的可控制性,地形的纹理和植被渲染效果逼真灵活。

Description

一种基于神经网络的多风格地形的生成方法
技术领域
本发明属于地形建模领域,具体地涉及一种基于神经网络的多风格地形的生成方法。
背景技术
地形建模是一种模拟创建真实三维地形的的技术。它是计算机图形学中一个重要的研究课题。尽管地形建模有关的有了三十多年的研究历史,但是如何利用现有技术创建高真实感的虚拟地形依然是一个非常具有挑战性的问题。地形地貌在几千年的演变过程中受到了如水流腐蚀,风力腐蚀,温度,植被等各种因素的影响。简单通用的算法是很难来表示这些繁多而复杂地形影响因素。这很大程度上给设计师来表达自己的意图和建模大规模详细地形带来了非常多的挑战。无论是在军事地形仿真还是在游戏地形开发等领域,生成一个新的地形的过程是相当繁琐而且需要大量的有经验的劳动力。如何快速而直观的基于用户精准控制的生成大规模高真实感地形是一个急需解决的研究课题。
地形建模的有关研究在近些年来已经取得了很大的进展。现有的地形建模技术可以大致上被分为四类:过程式,基于仿真模拟的、基于草图的,基于实例的。许多地形具有很强的分形特征,过程式的建模方法虽然能支持快速地生成地形,但是不能提供对地形特征的控制;基于仿真模拟的方法通过算法模拟腐蚀水文等因素,能够创造符合地质学上的特征的地形,但是计算成本很高,也同样缺乏用户控制;基于草图的方法提供了高水平的地形控制,但生成的地形不符合地质学上的特征。而基于实例的方法通过拼接已经存在小地形来生成新的大规模地形的方式,很难提供用户控制和创建新的地形特征。虽然有研究者把深度学习应用于基于草图的地形建模领域,但是他们的工作最大的问题是用户绘制的草图只能生成一种特定地貌的地形。这不仅极大的约束了设计师的创造性,而且和生成高真实感的地形本身具备的地形地貌的多样性相违背。
发明内容
针对上述不足,本发明提供一种基于神经网络的多风格地形生成的方法,该方法只需要输入一张用户设计的简单草图和选定一种想要的地形风格,网络就可以生成大规模的高真实感的三维地形,从而用于游戏地形、电影、动漫、军事仿真等,帮助用户设计用一种非常简答高效的方式设计出非常逼真的三维地形。
为了实现上述目的,本发明的技术方案是:一种基于神经网络的多风格地形的生成方法,具体包括以下步骤:
(1)地形数据集的收集和筛选以及地形类型的打标,包括如下子步骤:
(1.1)数据集的收集:下载地形数据,所述地形数据由tiff格式的数字高程模型组成。
(1.2)数据集的筛选:将步骤1.1所述地形高度图分割成正方形的图像块。所述图像块的分辨率大于256×256,且相邻图像块之间存在重合。然后通过双线性插值将图像块采样成256×256分辨率的地形高度图中,并删除信息缺失的地形高度图。
(1.3)地形类型的打标:经步骤1.2处理得到的地形高度图获取对应的经纬度并结合地理学信息,得到所述地形高度图对应的地形类型,并打标记录。
(2)提取地形的河流山脊等特征的和生成草图,包括如下子步骤:
(2.1)将步骤1采样得到的256×256分辨率的地形高度图中的数值在不溢出像素范围的前提下等比例放到最大,得到放大的地形数据,然后将所述地形数据使用河流仿真算法得到河流的水流累积图,使用逆河流仿真算法得到山脊的水流累积图;
(2.2)根据步骤1采样得到的256×256分辨率的地形高度图及其对应的河流或山脊的水流累积图,通过海拔控制点算法得到河流或山脊的海拔控制点;
(2.3)在山脊和河流的水流累积图上依次使用图像二值化、双阈值处理算法、形态学操作、骨架化算法得到河流和山脊的特征线;
(2.4)随机组合河流或山脊的海拔控制点、河流特征线、山脊特征线的地形特征,并用彩色图像的R通道来表示山脊特征线,G通道来海拔控制点,B通道来表示河流特征线,就得到地形对应的RGB特征草图。
(3)地形分类器网络模型的训练,具体包括如下步骤:
(3.1)地形分类器的网络模型由3层卷积层和最大池化层组成子网络层和2层全连接层组成;
(3.2)将步骤1采样得到的256×256分辨率的地形高度图进行随机裁剪,水平垂直翻转,然后传入地形分类器网络;
(3.3)使用Adam优化器不断迭代训练网络模型参数,使交叉熵损失函数的数值最小。当损失函数的数值收敛,即完成地形分类器网络模型的训练。
(4)不同地形风格隐式向量的生成:依次把步骤1采样得到的256×256分辨率的地形高度图中的每种地形图传入地形分类器中,然后统计其在全连接层中的一组平均值,该组平均值即表示该种地形风格的一维隐式向量。
(5)用草图和地形数据训练用于地形建模的生成式对抗网络,具体包括以下步骤:
(5.1)以CycleGAN结构为基础改进地形建模的生成式对抗网络;
(5.2)把步骤1采样得到的256×256分辨率的地形高度图及其使用步骤(2)得到的RGB特征草图进行相同的随机裁剪,水平垂直翻转,然后一起传入生成式对抗网络中;
(5.3)使用Adam优化器不断迭代训练网络模型参数,使模型损失函数的数值最小。当损失函数的数值收敛,即完成生成式对抗网络的训练。
(6)利用用户设计好的草图和选定的地形风格在网络上生成三维地形:
(6.1)用户分别使用红色,蓝色,绿色在256*256分辨率的黑色图像上任意绘制山脊特征线,河流特征线,海拔控制点,从而得到草图,并交给生成式对抗网络。
(6.2)用户可以在步骤4得到的表示不同风格的隐式向量中选择其中一种,并交给地生成式对抗网络;
(6.3)地形建模网络在收到草图和隐式向量之后就可以自动生成虚拟地形高度图,然后把虚拟地形高度图导入到虚幻引擎4软件中,就可以得到三维地形。
进一步地,步骤(2.1)中所述地形数据使用河流仿真算法得到河流的水流累积图,具体包括以下子步骤:
(a)地形的每一个像素上都有初始值为0的计数器,然后在每一个地形像素上给定一个水滴。该水滴的初始方向是随机指向周围低于当前水滴所在像素数值的地形像素中的一个,其初始速度是由当前地形像素数值减去初始方向所指向的地形像素数值。
(b)先计算出当前水滴所在地形像素数值分别与周围8个地形像素数值的坡度差,再得到水滴和周围相邻像素的连线与水滴流动方向夹角的cos值和水流速度的乘积,然后把坡度差和成绩值之和作为当前水滴所在地形像素的周围8个相邻像素的权重。
(c)根据当前水滴所在地形像素的周围8个相邻像素的权重大小进行采样,得到水滴在地形上的下一个位置,并更新水滴的流动方向。然后根据水滴的原始速度和(b)步骤中得到的坡度差,按照0.5和0.5的比重求和得到的数值作为新的水滴速度。
(d)每一个水滴被赋予一个数值是500的生命值,每流动经过一个地形图的像素时,生命值会减少,地形像素上的计数器会进行计数。水滴的生命值为0,说明水滴停止流动。当地形上所有的水滴都停止流动,每个地形像素上的计数器数值就组成水流累积图。
进一步地,步骤(2.2)中通过海拔控制点算法得到河流或山脊的海拔控制点,具体包含以下子步骤:
(a)首先根据地形高度图的数值范围等间隔划分成20到50个地形区间,然后把地形高度图上的每个像素位置根据像素数值的不同,归类到地形区间中;
(b)对每一个地形区间按照水流累积图的数值范围再划分成20到50个水流区间,然后根据该地形区间里面的像素位置去获取该像素位置在水流累积图上对应的累积数值,最后根据该累积数值,把像素位置归类到水流区间中;
(c)对每个水流区间中的像素位置的个数进行统计,如果个数超过3个,则把这些像素位置视为一组有效的海拔控制点,反之则弃,直到统计完所有的水流区间,得到所有的海拔控制点。
进一步地,步骤3中地形分类器网络模型的参数epoch的数值为200-500;学习率为2e-4;批大小为4;隐式向量长度为20;Adam优化器的beta1为0.5。
进一步地,步骤5中生成式对抗网络的参数epoch的数值为500-1000;学习率为2e-4;批大小为8;Adam优化器的beta1为0.5。
本发明的有益效果是:首先,河流仿真算法模拟了水滴流动的速度和方向,相较于传统方法可以能够获得地势脉络更加清晰的水流累积图,有助于提取河流网状等信息;自动从地形高度图中提取地貌特征以生成草图的算法,可以高效地分析地形的地貌特征,有助于地形地貌等有关工作的开展;其次,本发明支持用户通过选择不同的隐式向量以及绘制表示河流,山脊等特征的图像,就可以在在同一个网络结构上生成多种类型的地形;此外,用户还可以通过在表示不同类型地形的隐式向量之间插值以产生全新的向量,用以生成全新的地貌类型,以符合设计师的针对应用场景的设计意图;本发明的地形生成方案相较于传统地形建模方法,该方法具备地形生成效率高、使用方法简单、用户控制交互方法丰富等特点;最后,本发明还可以对生成的地形进行纹理和植被的渲染,就可以生成极具逼真的三维地形效果,可广泛用于游戏地形、电影、动漫、军事仿真等应用场景。
附图说明
图1为本发明的流程图;
图2为从地形中自动提取地貌特征算法的流程图;
图3为地形分类器的网络结构图;
图4为地形建模的生成式对抗网络的示意图:图4a是地形生成式对抗网络中从草图到地形再到草图的示意图,图4b是地形生成式对抗网络中从地形到草图再到地形的示意图;
图5为地形建模的生成式对抗网络的结构图:图5a是地形生成器网络结构,图5b是草图生成器网络结构,图5c是残差网络结构,图5d是地形判别器和草图判别器的网络结构;
图6是生成地形进行纹理渲染的效果图;
图7是生成地形进行植被渲染的效果图。
具体实施方式
下面结合附图对本发明作进一步说明:
如图1所示,一种基于神经网络的多风格地形生成的方法,主要包括以下步骤:地形数据集的收集和筛选以及地形类型的打标;地形的河流山脊等特征的提取和生成草图的算法;地形分类器网络模型的训练;不同地形风格隐式向量的生成;用草图和地形数据训练用于地形建模的生成式对抗网络;利用用户设计好的草图和选定的地形风格在网络上生成三维地形;对生成的地形进行纹理有关的渲染;对覆盖好纹理的地形进行植被有关的渲染。
下面对每个步骤做详细的说明:
(1)地形数据集的收集和筛选以及地形类型的打标,包括如下子步骤:
(1.1)数据集的收集:下载地形数据,数据集本身包括数字高程模型(DEM)。所述地形数据由tiff格式的数字高程模型组成。
(1.2)数据集的筛选:将步骤1.1所述地形高度图分割成正方形的图像块。所述图像块的分辨率大于256×256,且相邻图像块之间存在重合。然后通过双线性插值将图像块采样成256×256分辨率的地形高度图中,因为地形高度图的信息并不一定是完整的,删除信息缺失的地形高度图。
(1.3)地形类型的打标:经步骤1.2处理得到的地形高度图获取对应的经纬度并结合地理学信息,得到所述地形高度图对应的地形类型,并打标记录。
(2)地形的河流山脊等特征的提取和生成草图的算法,如图2所示,包括如下子步骤:
(2.1)将步骤1采样得到的256×256分辨率的地形高度图中的数值在不溢出像素范围的前提下等比例放到最大,得到放大的地形数据,然后将所述地形数据使用河流仿真算法得到河流的水流累积图,使用逆河流仿真算法得到山脊的水流累积图;
所述地形数据使用河流仿真算法得到河流的水流累积图,包含以下步骤:
(a)地形的每一个像素上都有初始值为0的计数器,然后在每一个地形像素上给定一个水滴。该水滴的初始方向是随机指向周围低于当前水滴所在像素数值的地形像素中的一个,其初始速度是由当前地形像素数值减去初始方向所指向的地形像素数值。
(b)先计算出当前水滴所在地形像素数值分别与周围8个地形像素数值的坡度差,再得到水滴和周围相邻像素的连线与水滴流动方向夹角的cos值和水流速度的乘积,然后把坡度差和成绩值之和作为当前水滴所在地形像素的周围8个相邻像素的权重。
(c)根据当前水滴所在地形像素的周围8个相邻像素的权重大小进行采样,得到水滴在地形上的下一个位置,并更新水滴的流动方向。然后根据水滴的原始速度和(b)步骤中得到的坡度差,按照0.5和0.5的比重求和得到的数值作为新的水滴速度。
(d)每一个水滴被赋予一个数值是500的生命值,每流动经过一个地形图的像素时,生命值会减少,地形像素上的计数器会进行计数。水滴的生命值为0,说明水滴停止流动。当地形上所有的水滴都停止流动,每个地形像素上的计数器数值就组成水流累积图。
(2.2)根据步骤1采样得到的256×256分辨率的地形高度图及其对应的河流或山脊的水流累积图通过海拔控制点算法得到河流或山脊的海拔控制点,具体包括以下子步骤;
(a)首先根据地形高度图的数值范围等间隔划分成20到50个地形区间,然后把地形高度图上的每个像素位置根据像素数值的不同,归类到地形区间中;
(b)对每一个地形区间按照水流累积图的数值范围再划分成20到50个水流区间,然后根据该地形区间里面的像素位置去获取该像素位置在水流累积图上对应的累积数值,最后根据该累积数值,把像素位置归类到水流区间中;
(c)对每个水流区间中的像素位置的个数进行统计,如果个数超过3个,则把这些像素位置视为一组有效的海拔控制点,反之则弃,直到统计完所有的水流区间,得到所有的海拔控制点。
(2.3)在山脊和河流的水流累积图上依次使用图像二值化、双阈值处理算法、形态学操作、骨架化算法得到河流和山脊的特征线;
(2.4)随机组合河流或山脊的海拔控制点、河流特征线、山脊特征线的地形特征,并用彩色图像的R通道来表示山脊特征线,G通道来海拔控制点,B通道来表示河流特征线,就得到地形对应的RGB特征草图。
(3)地形分类器网络模型的训练,具体包括如下步骤:
(3.1)图3是地形分类器的网络结构图,地形分类器的网络模型由3层卷积层和最大池化层组成子网络层和2层全连接层组成;本发明以(Simonyan,K.and Zisserman,A.,2014.Very deep convolutional networks for large-scale image recognition.arXivpreprint arXiv:1409.1556.)中提出的vgg16模型为基础,构建了一种网络更加简洁的结构。地形通过3层卷积层和最大池化层组成子网络层提取了地貌特征,然后进一步使用2层全连接层提取地貌特征,并使用softmax层得到分类的概率向量。
(3.2)将步骤1采样得到的256×256分辨率的地形高度图进行随机裁剪,水平垂直翻转,然后传入地形分类器网络;
(3.3)使用Adam优化器不断迭代训练网络模型参数,使交叉熵损失函数的数值最小。当损失函数的数值收敛,即完成地形分类器网络模型的训练。所述地形分类器网络模型的参数epoch的数值为200-500;学习率为2e-4;批大小为4;隐式向量长度为20;Adam优化器的beta1为0.5。
本地形分类器网络模型使用交叉熵作为损失函数。首先把地貌类型标签的转化成的one-hot形式的编码y,yi是第i个编码数值,而分类的概率向量标记为y′,y′i是归一化结果中第i个分量。分类的预测值和真实值之间的距离Hy′(y)可以表示为:
Figure GDA0003223782020000071
所以分类的越准确的时候,y′会尽可能的逼近y,而Hy′(y)的值就会越小。
(4)不同地形风格隐式向量的生成:依次把步骤1采样得到的256×256分辨率的地形高度图中的每种地形图传入地形分类器中,然后统计其在全连接层中的一组平均值,该组平均值即表示该种地形风格的一维隐式向量。这样就可以得到每一类地形的数值向量,而里面的每一个数值都是隐含着该类地形的某一种特征。因为分类器已经很好的区别出了不同地形的地貌特征,用户可以通过使用隐式向量来约束其对应的地形类型。
(5)用草图和地形数据训练用于地形建模的生成式对抗网络,具体包括以下步骤:
(5.1)本发明以CycleGAN结构为基础改进地形建模的生成式对抗网络,所述生成式对抗网络包括两个生成器GT和GS,以及两个判别器DT和DS。如图4a所示,地形生成器GT利用地形分类器得到的隐式向量V可以把得到的特征草图S转化成特定地形风格的虚拟地形高度图
Figure GDA0003223782020000072
然后再利用草图生成器GS生成的虚拟地形高度图
Figure GDA0003223782020000073
对应的虚拟草图
Figure GDA0003223782020000074
这样就建立了第一个循环。同样的,如图4b所示,草图生成器GS通过把真实地形T和草图特征标签可以生成虚拟草图
Figure GDA0003223782020000075
然后再通过GT可以生成
Figure GDA0003223782020000076
对应的生成虚拟地形高度图
Figure GDA0003223782020000077
以建立第二个循环。要尽可能让草图判别器DS认为
Figure GDA0003223782020000078
是利用步骤(2)生成的草图,也要尽可能让地形判别器DT认为
Figure GDA0003223782020000079
是真实的地形高度图。地形判别器DT的输入是T(或
Figure GDA00032237820200000710
)和S,要尽可能的区分是真实地形高度图还是虚拟地形高度图真。而草图判别器DS的输入是S(或
Figure GDA00032237820200000711
)和T,要尽可能的区分是步骤(2)生成的草图还是虚拟草图。生成器和判别器在整个训练过程中对抗学习。地形生成器GT的结构如图5a所示,GT的先把地形高度图经过一层卷积层,该卷积层的核数量N是隐式向量V的长度,然后把地形高度图的卷积结果和隐式向量在通道维度上进行相乘的结果,再经过两层卷积层、9层的残差网络块、两层反卷积和一层卷积层,就可以得到虚拟的地形高度图;草图生成器GS的结构如图5b所示,GS通过把特征草图标签L作为输入地形高度图中的第4个通道信息,然后再经过两层卷积层、9层的残差网络块、两层反卷积和一层卷积层,就可以得到虚拟草图;GS和GT中的残差网络块结构如图5c所示,把输入内容经过两层卷积的结果和输入叠加到一起作为输出;地形判别器DT和草图判别器DS的网络结构都如图5d所示,把输入的地形高度图和草图在通道维度上进行连接,然后经过5层卷积层以及一层全连接层从而得到真或假的判断结果。除了网络结构得第一层卷积层之后直接使用Leaky ReLU激活函数和最后一层全卷积跟着的是Sigmoid激活函数之外,其他卷积层后面都紧跟着使用Batch Normalization对数据进行归一化处理以及Leaky ReLU进行激活。不过这两个判别器的输入数据是不一样的。DT的输入是真假地形以及对应的草图,而DS的输入是真假草图以及对应的真实地形。尽管本发明最后只需要使用地形生成器,但是草图生成器等网络结构能更好的提升地形生成的质量,使之更好的表达用户设计意图。
(5.2)把步骤1采样得到的256×256分辨率的地形高度图及其使用步骤(2)得到的RGB特征草图进行相同的随机裁剪,水平垂直翻转,然后一起传入生成式对抗网络中;
(5.3)使用Adam优化器不断迭代训练网络模型参数,使模型损失函数的数值最小。当损失函数的数值收敛,即完成生成式对抗网络的训练。
损失函数设计:本模型的损失函数结合了
Figure GDA0003223782020000081
Figure GDA0003223782020000082
六个失真函数。具体地,特征草图s以及这个草图对应地形的地貌类型i的隐式向量vi作为GT的输入,从而得到生成的地形,并把它与真实地形t之间建立L2失真函数,希望生成的地形尽可能近似于真实地形t,也就是希望
Figure GDA0003223782020000083
的值尽可能的小。
Figure GDA0003223782020000084
用于控制这一个目标函数的重要性。
Figure GDA0003223782020000085
失真函数可以表示为:
Figure GDA0003223782020000086
真实地形s以及在这个地形上需要提取特征草图s具有的特征标签类型lj作为GS的输入,从而得到生成的草图,并把它与真实特征草图s之间建立L2的失真函数,希望生成的草图尽可能近似于真实草图s,也就是希望
Figure GDA0003223782020000087
的值尽可能的小。GS的主要作用是为了是的生成的地形上的地貌特征要尽可能的符合用户定义的草图意图。
Figure GDA0003223782020000088
用于控制这一个目标函数的重要性。
Figure GDA0003223782020000089
失真函数可以表示为:
Figure GDA00032237820200000810
GT生成的地形要尽可能的欺骗地形判别器DT,而GS生成的草图要尽可能的欺骗可特征草图判别器DS。而DS和Gs要尽可能的区分真假的地形和特征草图。尽管
Figure GDA00032237820200000811
Figure GDA00032237820200000812
两个目标函数增强了了Gs对草图以及GT对地形的学习能力,但是生成式对抗网络里面的对抗学习主要通
Figure GDA00032237820200000813
Figure GDA00032237820200000814
进行约束。在
Figure GDA00032237820200000815
损失函数中DT在判别真样本的时候的输入是真实的地形t以及其对应的真实草图s从而希望得到为真的结果,在判别假地形的时候的输入是GT生成的地形以及GT的输入的草图s从而希望得到为假的结果,使得
Figure GDA00032237820200000816
总体的目标方程是最大化的。隐式向量vi中的i表示的是不同的地貌类型的地形。vi是通过分类器统计得到的,每一类地貌地形都有自己的数组,从而控制GT生成的地形的种类。GT希望自己的生成的地形能够以假乱真使得
Figure GDA00032237820200000817
总体的目标方程是最小化的。
Figure GDA00032237820200000818
失真函数可以表示为:
Figure GDA0003223782020000091
DS在判别真样本的时候的输入是特征草图s以及其对应的真实地形t从而希望得到为真的结果,在判别假样本的时候的输入是GS生成的草图以及GS的输入的地形t从而希望得到为假的结果,使得
Figure GDA0003223782020000092
总体的目标方程是最大化的。草图中的特征标签lj中的i表示的是需要从地形的提取的特征的类别。特征类别可以支持河流特征线,山脊特征线,海拔控制点的任意组合。lj可以控制GS生成提取的草图类型。GS希望自己的生成的草图能够以假乱真使得
Figure GDA0003223782020000093
总体的目标方程是最小化的。
Figure GDA0003223782020000094
可以表示为:
Figure GDA0003223782020000095
本发明使用循环失真函数来加强地形数据域和特征草图数据域之间的联系。虽然本文最终只需要用到地形生成器GT,但是草图生成器GS在循环失真函数过程中能很大的程度上增强GT的地形生成的能力,并使生成的地形更加符合用户的设计意图。
Figure GDA0003223782020000096
Figure GDA0003223782020000097
对每个循环失真函数的重要性起到了很大的控制作用。
Figure GDA0003223782020000098
Figure GDA0003223782020000099
可以表示为:
Figure GDA00032237820200000910
Figure GDA00032237820200000911
上述六个失真函数结合了循环失真函数,生成式对抗函数以及基于L2的地形草图约束函数的,共同优化GT,GS,DT和DS四个网络的协作对抗学习。
网络参数设置:所述生成式对抗网络模型的参数epoch的数值为500-1000;学习率为2e-4;批大小为8;Adam优化器的beta1为0.5;隐式向量v的长度为20;损失函数中
Figure GDA00032237820200000912
Figure GDA00032237820200000913
的取值为10,
Figure GDA00032237820200000914
Figure GDA00032237820200000915
的取值为1。
本模型使用Adam优化器优化网络的训练。生成式对抗网络因为对抗的学习目标,所以难以训练;其次如何在网络的生成器和判别器之间保持训练的平衡也是一件比较难的事情。本文使用分步训练策略来优化训练的过程。在第一个训练阶段,通过
Figure GDA00032237820200000916
Figure GDA00032237820200000917
来训练GT和GS,使之尽可能的生成有意义的地形或草图;在第二个训练阶段中,在前者基础上再利用
Figure GDA00032237820200000918
Figure GDA00032237820200000919
来训练DT和DS,但是
Figure GDA00032237820200000920
Figure GDA00032237820200000921
不用来训练生成器,这个阶段希望判别器和生成器都尽可能的独立的学习的更好;在最后一个阶段,使用六个失真函数之和作为目标函数用于所有的生成器和判别器训练,一方面充分利用对抗训练的失真函数,另一方面也利用循环失真函数来是的生成的地形更加符合特征草图的约束。本文的网络训练在这三个阶段中在数据集上迭代的次数的比重是1:1:3。
(6)利用用户设计好的草图和选定的地形风格在网络上生成三维地形:
(6.1)用户分别使用红色,蓝色,绿色在256*256分辨率的黑色图像上任意绘制山脊特征线,河流特征线,海拔控制点,从而得到草图,并交给生成式对抗网络;
(6.2)用户可以在步骤4得到的表示不同风格的隐式向量中选择其中一种,并交给地生成式对抗网络;
(6.3)地形建模网络在收到草图和隐式向量之后就可以自动生成虚拟地形高度图,然后把虚拟地形高度图导入到虚幻引擎4软件中,就可以得到三维地形。所述虚幻引擎4软件由由游戏EPIC公司开发。
(7)对生成的地形进行纹理有关的渲染:本发明使用虚幻引擎4的蓝图脚本创建了不同地貌风格的纹理材质球。只需要把材质球拖放到地形上,地形表面就能自动的根据坡度和高度等特征自动覆盖的纹理。如图6所示,对不同风格的地形进行不同纹理的覆盖,可以得到纹理实例1所示的山地效果、纹理实例2所示的海岛效果和纹理实例3所示的丘陵效果。
(8)对覆盖好纹理的地形进行植被有关的渲染:用户只需要把地形和密度图导入到虚幻引擎4中,然后绑定所需要的植被种类,就能完成地形的植被渲染。如图7所示,对已经覆盖好纹理的不同类型地形进行不同的植被覆盖,可以得到如地形实例1所示的森林、如地形实例2和实例3所示的海岛、绿洲实例1和实例2所示的热带沙漠绿洲,都取得非常优异的可视化效果,可以满足游戏、影视等领域对地形复杂的可视化要求。
实施例
发明人在一台配备两块NVIDIA 1080Ti GPU和12GB内存的机器上实现了本发明的一个实施示例。本发明把地形生成和深度学习结合到一起,并使用地形分类器提取出的隐式向量作为地形类型的标签,可以用户交互设计的草图转变成指定的地形建模。相较于传统地形生成方法,本发明并不要求用户具备专业技术,此外用户学习成本低,控制方法多样,而且可以高效地生成地形符合正确的地理学特征。本发明还能支持根据生成的地形的效果,实时修改草图和隐式向量的选择,具备优异的交互方法。这可以更好地帮助用户生成符合设计意图的地形。
除上述实施例外,本发明还可以有其他实施方式。凡采用等同替换或等效变换形成的技术方案,均落在本发明要求的保护范围。

Claims (5)

1.一种基于神经网络的多风格地形的生成方法,其特征在于,具体包括以下步骤:
(1)地形数据集的收集和筛选以及地形类型的打标,包括如下子步骤:
(1.1)数据集的收集:下载地形数据,所述地形数据由tiff格式的数字高程模型组成;
(1.2)数据集的筛选:将步骤1.1所述地形高度图分割成正方形的图像块;所述图像块的分辨率大于256×256,且相邻图像块之间存在重合;然后通过双线性插值将图像块采样成256×256分辨率的地形高度图中,并删除信息缺失的地形高度图;
(1.3)地形类型的打标:经步骤1.2处理得到的地形高度图获取对应的经纬度并结合地理学信息,得到所述地形高度图对应的地形类型,并打标记录;
(2)提取地形的河流山脊特征并生成草图;包括如下子步骤:
(2.1)将步骤1采样得到的256×256分辨率的地形高度图中的数值在不溢出像素范围的前提下等比例放到最大,得到放大的地形数据,然后将所述地形数据使用河流仿真算法得到河流的水流累积图,使用逆河流仿真算法得到山脊的水流累积图;
(2.2)根据步骤1采样得到的256×256分辨率的地形高度图及其对应的河流或山脊的水流累积图,通过海拔控制点算法得到河流或山脊的海拔控制点;
(2.3)在山脊和河流的水流累积图上依次使用图像二值化、双阈值处理算法、形态学操作、骨架化算法得到河流和山脊的特征线;
(2.4)随机组合河流或山脊的海拔控制点、河流特征线、山脊特征线的地形特征,并用彩色图像的R通道来表示山脊特征线,G通道来海拔控制点,B通道来表示河流特征线,就得到地形对应的RGB特征草图;
(3)地形分类器网络模型的训练,具体包括如下步骤:
(3.1)地形分类器的网络模型由3层卷积层和最大池化层组成子网络层和2层全连接层组成;
(3.2)将步骤1采样得到的256×256分辨率的地形高度图进行随机裁剪,水平垂直翻转,然后传入地形分类器网络;
(3.3)使用Adam优化器不断迭代训练网络模型参数,使交叉熵损失函数的数值最小;当损失函数的数值收敛,即完成地形分类器网络模型的训练;
(4)不同地形风格隐式向量的生成:依次把步骤1采样得到的256×256分辨率的地形高度图中的每种地形图传入地形分类器中,然后统计其在全连接层中的一组平均值,该组平均值即表示该种地形风格的一维隐式向量;
(5)用草图和地形数据训练用于地形建模的生成式对抗网络,具体包括以下步骤:
(5.1)以CycleGAN结构为基础改进地形建模的生成式对抗网络;
(5.2)把步骤1采样得到的256×256分辨率的地形高度图及其使用步骤(2)得到的RGB特征草图进行相同的随机裁剪,水平垂直翻转,然后一起传入生成式对抗网络中;
(5.3)使用Adam优化器不断迭代训练网络模型参数,使模型损失函数的数值最小;当损失函数的数值收敛,即完成生成式对抗网络的训练;
(6)利用用户设计好的草图和选定的地形风格在网络上生成三维地形:
(6.1)用户分别使用红色,蓝色,绿色在256*256分辨率的黑色图像上任意绘制山脊特征线,河流特征线,海拔控制点,从而得到草图,并交给生成式对抗网络;
(6.2)用户可以在步骤4得到的表示不同风格的隐式向量中选择其中一种,并交给生成式对抗网络;
(6.3)地形建模网络在收到草图和隐式向量之后就可以自动生成虚拟地形高度图,然后把虚拟地形高度图导入到虚幻引擎4软件中,就可以得到三维地形。
2.根据权利要求1所述的基于神经网络的多风格地形的生成方法,其特征在于,步骤(2.1)中所述地形数据使用河流仿真算法得到河流的水流累积图,具体包括以下子步骤:
(a)地形的每一个像素上都有初始值为0的计数器,然后在每一个地形像素上给定一个水滴;该水滴的初始方向是随机指向周围低于当前水滴所在像素数值的地形像素中的一个,其初始速度是由当前地形像素数值减去初始方向所指向的地形像素数值;
(b)先计算出当前水滴所在地形像素数值分别与周围8个地形像素数值的坡度差,再得到水滴和周围相邻像素的连线与水滴流动方向夹角的cos值和水流速度的乘积,然后把坡度差和乘积之和作为当前水滴所在地形像素的周围8个相邻像素的权重;
(c)根据当前水滴所在地形像素的周围8个相邻像素的权重大小进行采样,得到水滴在地形上的下一个位置,并更新水滴的流动方向;然后根据水滴的原始速度和(b)步骤中得到的坡度差,按照0.5和0.5的比重求和得到的数值作为新的水滴速度;
(d)每一个水滴被赋予一个数值是500的生命值,每流动经过一个地形图的像素时,生命值会减少,地形像素上的计数器会进行计数;水滴的生命值为0,说明水滴停止流动;当地形上所有的水滴都停止流动,每个地形像素上的计数器数值就组成水流累积图。
3.根据权利要求1所述的基于神经网络的多风格地形的生成方法,其特征在于,步骤(2.2)中通过海拔控制点算法得到河流或山脊的海拔控制点,具体包含以下子步骤:
(a)首先根据地形高度图的数值范围等间隔划分成20到50个地形区间,然后把地形高度图上的每个像素位置根据像素数值的不同,归类到地形区间中;
(b)对每一个地形区间按照水流累积图的数值范围再划分成20到50个水流区间,然后根据该地形区间里面的像素位置去获取该像素位置在水流累积图上对应的累积数值,最后根据该累积数值,把像素位置归类到水流区间中;
(c)对每个水流区间中的像素位置的个数进行统计,如果个数超过3个,则把这些像素位置视为一组有效的海拔控制点,反之则弃,直到统计完所有的水流区间,得到所有的海拔控制点。
4.根据权利要求1所述的基于神经网络的多风格地形的生成方法,其特征在于,步骤3中地形分类器网络模型的参数epoch的数值为200-500;学习率为2e-4;批大小为4;隐式向量长度为20;Adam优化器的beta1为0.5。
5.根据权利要求1所述的基于神经网络的多风格地形的生成方法,其特征在于,步骤5中生成式对抗网络的参数epoch的数值为500-1000;学习率为2e-4;批大小为8;Adam优化器的beta1为0.5。
CN202010023669.8A 2020-01-09 2020-01-09 一种基于神经网络的多风格地形的生成方法 Active CN111210517B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010023669.8A CN111210517B (zh) 2020-01-09 2020-01-09 一种基于神经网络的多风格地形的生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010023669.8A CN111210517B (zh) 2020-01-09 2020-01-09 一种基于神经网络的多风格地形的生成方法

Publications (2)

Publication Number Publication Date
CN111210517A CN111210517A (zh) 2020-05-29
CN111210517B true CN111210517B (zh) 2021-11-19

Family

ID=70789983

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010023669.8A Active CN111210517B (zh) 2020-01-09 2020-01-09 一种基于神经网络的多风格地形的生成方法

Country Status (1)

Country Link
CN (1) CN111210517B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112686996A (zh) * 2020-12-28 2021-04-20 北京像素软件科技股份有限公司 游戏山脉地形创建方法、模型训练方法及相关装置
CN113065282A (zh) * 2021-03-22 2021-07-02 北京航空航天大学 基于改进生成对抗网络的无人作战仿真地图生成方法
CN115690286B (zh) * 2022-10-19 2023-08-29 珠海云洲智能科技股份有限公司 三维地形生成方法、终端设备及计算机可读存储介质
CN117521424B (zh) * 2024-01-05 2024-04-09 中国电子科技集团公司第十五研究所 一种仿真训练场景生成方法和装置
CN118052949A (zh) * 2024-04-16 2024-05-17 肺鱼文化科技(大连)有限公司 一种基于人工智能的三维地形生成、模型训练方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109215123A (zh) * 2018-09-20 2019-01-15 电子科技大学 基于cGAN的无限地形生成方法、系统、存储介质和终端
CN109598771A (zh) * 2018-11-28 2019-04-09 华东师范大学 一种多地貌特征约束的地形合成方法
CN109658508A (zh) * 2018-11-28 2019-04-19 华东师范大学 一种多尺度细节融合的地形合成方法
CN110335350A (zh) * 2019-06-21 2019-10-15 南京师范大学 基于地形特征的虚拟地形生成方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101763658B (zh) * 2009-12-14 2012-07-25 煤航(香港)有限公司 全要素真三维大比例尺数字地图的制作方法
US11257259B2 (en) * 2017-08-15 2022-02-22 Siemens Healthcare Gmbh Topogram prediction from surface data in medical imaging
CN110222357B (zh) * 2019-04-12 2022-06-14 福州市规划设计研究院集团有限公司 一种海绵城市规划建设bim建模方法
CN110287800B (zh) * 2019-05-29 2022-08-16 河海大学 一种基于sgse-gan的遥感图像场景分类方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109215123A (zh) * 2018-09-20 2019-01-15 电子科技大学 基于cGAN的无限地形生成方法、系统、存储介质和终端
CN109598771A (zh) * 2018-11-28 2019-04-09 华东师范大学 一种多地貌特征约束的地形合成方法
CN109658508A (zh) * 2018-11-28 2019-04-19 华东师范大学 一种多尺度细节融合的地形合成方法
CN110335350A (zh) * 2019-06-21 2019-10-15 南京师范大学 基于地形特征的虚拟地形生成方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于学习策略的地形合成技术研究;周双双;《中国优秀硕士学位论文全文数据库 信息科技辑》;20190215(第02期);全文 *

Also Published As

Publication number Publication date
CN111210517A (zh) 2020-05-29

Similar Documents

Publication Publication Date Title
CN111210517B (zh) 一种基于神经网络的多风格地形的生成方法
Guérin et al. Interactive example-based terrain authoring with conditional generative adversarial networks.
Xu et al. Self-supervised domain adaptation for computer vision tasks
Hartmann et al. Streetgan: Towards road network synthesis with generative adversarial networks
Abdollahi et al. Improving road semantic segmentation using generative adversarial network
CN110619282A (zh) 一种无人机正射影像建筑物自动提取方法
CN109410321A (zh) 基于卷积神经网络的三维重建方法
CN109887084A (zh) 一种利用浸入式虚拟现实技术用于城市规划的方法
Lv et al. Remote sensing data augmentation through adversarial training
CN108510504A (zh) 图像分割方法和装置
CN107944459A (zh) 一种rgb‑d物体识别方法
CN110335350A (zh) 基于地形特征的虚拟地形生成方法
CN113256649B (zh) 一种基于深度学习的遥感图像选站选线语义分割方法
Brekke et al. Multimodal 3d object detection from simulated pretraining
Yang et al. FG-GAN: a fine-grained generative adversarial network for unsupervised SAR-to-optical image translation
Zhang et al. Authoring multi-style terrain with global-to-local control
CN116543165B (zh) 一种基于双通道复合深度网络的遥感图像果树分割方法
CN109658508A (zh) 一种多尺度细节融合的地形合成方法
CN116935226A (zh) 一种基于HRNet的改进型遥感图像道路提取方法、系统、设备及介质
Zhang et al. A machine learning paradigm for Studying Pictorial realism: are constable's clouds more real than his contemporaries?
Saba et al. The optimazation of multi resolution segmentation of remotely sensed data using genetic alghorithm
CN113628349B (zh) 基于场景内容自适应的ar导航方法、设备及可读存储介质
Takizawa et al. Deep learning model to reconstruct 3D cityscapes by generating depth maps from omnidirectional images and its application to visual preference prediction
Ma et al. Feature-enhanced deep learning network for digital elevation model super-resolution
Yang et al. Street Layout Design via Conditional Adversarial Learning

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