当前位置: 首页 > 专利查询>浙江大学专利>正文

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

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

A method of multi style terrain generation based on Neural Network

【技术实现步骤摘要】
一种基于神经网络的多风格地形的生成方法
本专利技术属于地形建模领域,具体地涉及一种基于神经网络的多风格地形的生成方法。
技术介绍
地形建模是一种模拟创建真实三维地形的技术。它是计算机图形学中一个重要的研究课题。尽管地形建模有关的有了三十多年的研究历史,但是如何利用现有技术创建高真实感的虚拟地形依然是一个非常具有挑战性的问题。地形地貌在几千年的演变过程中受到了如水流腐蚀,风力腐蚀,温度,植被等各种因素的影响。简单通用的算法是很难来表示这些繁多而复杂地形影响因素。这很大程度上给设计师来表达自己的意图和建模大规模详细地形带来了非常多的挑战。无论是在军事地形仿真还是在游戏地形开发等领域,生成一个新的地形的过程是相当繁琐而且需要大量的有经验的劳动力。如何快速而直观的基于用户精准控制的生成大规模高真实感地形是一个急需解决的研究课题。地形建模的有关研究在近些年来已经取得了很大的进展。现有的地形建模技术可以大致上被分为四类:过程式,基于仿真模拟的、基于草图的,基于实例的。许多地形具有很强的分形特征,过程式的建模方法虽然能支持快速地生成地形,但是不能提供对地形特征的控制;基于仿真模拟的方法通过算法模拟腐蚀水文等因素,能够创造符合地质学上的特征的地形,但是计算成本很高,也同样缺乏用户控制;基于草图的方法提供了高水平的地形控制,但生成的地形不符合地质学上的特征。而基于实例的方法通过拼接已经存在小地形来生成新的大规模地形的方式,很难提供用户控制和创建新的地形特征。虽然有研究者把深度学习应用于基于草图的地形建模领域,但是他们的工作最大的问题是用户绘制的草图只能生成一种特定地貌的地形。这不仅极大的约束了设计师的创造性,而且和生成高真实感的地形本身具备的地形地貌的多样性相违背。
技术实现思路
针对上述不足,本专利技术提供一种基于神经网络的多风格地形生成的方法,该方法只需要输入一张用户设计的简单草图和选定一种想要的地形风格,网络就可以生成大规模的高真实感的三维地形,从而用于游戏地形、电影、动漫、军事仿真等,帮助用户设计用一种非常简答高效的方式设计出非常逼真的三维地形。为了实现上述目的,本专利技术的技术方案是:一种基于神经网络的多风格地形的生成方法,具体包括以下步骤:(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本文档来自技高网
...

【技术保护点】
1.一种基于神经网络的多风格地形的生成方法,其特征在于,具体包括以下步骤:/n(1)地形数据集的收集和筛选以及地形类型的打标,包括如下子步骤:/n(1.1)数据集的收集:从美国地质探测局网站上下载地形数据,所述地形数据由tiff格式的数字高程模型组成。/n(1.2)数据集的筛选:将步骤1.1所述地形高度图分割成正方形的图像块。所述图像块的分辨率大于256×256,且相邻图像块之间存在重合。然后通过双线性插值将图像块采样成256×256分辨率的地形高度图中,并删除信息缺失的地形高度图。/n(1.3)地形类型的打标:经步骤1.2处理得到的地形高度图获取对应的经纬度并结合地理学信息,得到所述地形高度图对应的地形类型,并打标记录。/n(2)提取地形的河流山脊等特征的和生成草图,包括如下子步骤:/n(2.1)将步骤1采样得到的256×256分辨率的地形高度图中的数值在不溢出像素范围的前提下等比例放到最大,得到放大的地形数据,然后将所述地形数据使用河流仿真算法得到河流的水流累积图,使用逆河流仿真算法得到山脊的水流累积图;/n(2.2)根据步骤1采样得到的256×256分辨率的地形高度图及其对应的河流或山脊的水流累积图,通过海拔控制点算法得到河流或山脊的海拔控制点;/n(2.3)在山脊和河流的水流累积图上依次使用图像二值化、双阈值处理算法、形态学操作、骨架化算法得到河流和山脊的特征线;/n(2.4)随机组合河流或山脊的海拔控制点、河流特征线、山脊特征线的地形特征,并用彩色图像的R通道来表示山脊特征线,G通道来海拔控制点,B通道来表示河流特征线,就得到地形对应的RGB特征草图。/n(3)地形分类器网络模型的训练,具体包括如下步骤:/n(3.1)地形分类器的网络模型由3层卷积层和最大池化层组成子网络层和2层全连接层组成;/n(3.2)将步骤1采样得到的256×256分辨率的地形高度图进行随机裁剪,水平垂直翻转,然后传入地形分类器网络;/n(3.3)使用Adam优化器不断迭代训练网络模型参数,使交叉熵损失函数的数值最小。当损失函数的数值收敛,即完成地形分类器网络模型的训练。/n(4)不同地形风格隐式向量的生成:依次把步骤1采样得到的256×256分辨率的地形高度图中的每种地形图传入地形分类器中,然后统计其在全连接层中的一组平均值,该组平均值即表示该种地形风格的一维隐式向量。/n(5)用草图和地形数据训练用于地形建模的生成式对抗网络,具体包括以下步骤:/n(5.1)以CycleGAN结构为基础改进地形建模的生成式对抗网络;/n(5.2)把步骤1采样得到的256×256分辨率的地形高度图及其使用步骤(2)得到的RGB特征草图进行相同的随机裁剪,水平垂直翻转,然后一起传入生成式对抗网络中;/n(5.3)使用Adam优化器不断迭代训练网络模型参数,使模型损失函数的数值最小。当损失函数的数值收敛,即完成生成式对抗网络的训练。/n(6)利用用户设计好的草图和选定的地形风格在网络上生成三维地形:/n(6.1)用户分别使用红色,蓝色,绿色在256*256分辨率的黑色图像上任意绘制山脊特征线,河流特征线,海拔控制点,从而得到草图,并交给生成式对抗网络。/n(6.2)用户可以在步骤4得到的表示不同风格的隐式向量中选择其中一种,并交给地生成式对抗网络;/n(6.3)地形建模网络在收到草图和隐式向量之后就可以自动生成虚拟地形高度图,然后把虚拟地形高度图导入到虚幻引擎4软件中,就可以得到三维地形。/n...

【技术特征摘要】
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)用户分别使用红...

【专利技术属性】
技术研发人员:许威威周家炜鲍虎军
申请(专利权)人:浙江大学
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1