CN108717722A - 基于深度学习和sph框架的流体动画生成方法及装置 - Google Patents
基于深度学习和sph框架的流体动画生成方法及装置 Download PDFInfo
- Publication number
- CN108717722A CN108717722A CN201810317702.0A CN201810317702A CN108717722A CN 108717722 A CN108717722 A CN 108717722A CN 201810317702 A CN201810317702 A CN 201810317702A CN 108717722 A CN108717722 A CN 108717722A
- Authority
- CN
- China
- Prior art keywords
- fluid
- data
- sph
- training
- neural network
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
- G06T17/205—Re-meshing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种深度学习和SPH框架的流体动画生成方法及装置,包括:构造深度学习模型,训练流体模拟数据以生成基于神经网络的数据驱动项;根据数据集的特征,构造神经网络模型,设定相关超参数,然后读取数据集进行预处理,进行网络模型的训练;将训练完成的神经网络模型导入到SPH流体模拟框架中,作为数据驱动项,替换流体模拟步骤中的压力项;将数据驱动项导入低精度流体场景数据后,进行SPH流体模拟计算;采用Marching Cubes算法构造流体表面模型,提取流体表面网格并输出,将每帧的流体网格存储为数据文件,用于离线渲染。实现了低精度SPH模拟场景下的流体高细节表现,提高大规模流体模拟场景的计算效率。
Description
技术领域
本发明涉及计算机图形学中的流体模拟领域,同时包含深度学习领域的相关研究内容,尤其涉及拉格朗日流体模拟方案中的SPH(光滑粒子动力学)方法,采用SPH与深度神经网络相结合的方法,进行高精度、高效率的流体模拟的研究。
背景技术
流体模拟一直以来都是计算机图形学领域重要的研究课题,为了实现流体动画的高真实感,基于物理的流体模拟方案被大量研究和应用,其中,拉格朗日方法和欧拉方法是被广泛研究的流体模拟方法。与基于网格的欧拉方法相比,拉格朗日方法在细节表现方面有很多优势,其中,SPH算法是拉格朗日方法中最为广泛研究的对象。
SPH方法使用粒子进行流体建模,其中实现流体的不可压缩性是流体真实感的关键,长久以来,流体的不可压缩性是很多研究的重点,由此出现了很多改进的SPH方案。WCSPH(弱可压缩SPH)方法采用刚性状态方程,但为了保证计算的稳定性,必须施加严格的时间步长限制;其后,使用预测校正方案的PCISPH(预测校正不可压缩SPH)被提出,其在时间步长设置方面较WCSPH提升了一个数量级;为了提高算法的稳定性和收敛效率,IISPH(隐式不可压缩SPH)方法被提出。在这些改进的SPH方法中,压力项的计算效率是一个很大的桎梏,有效的提高压力项的计算效率对算法整体执行效率的改进有着十分重要的意义,而且由于大规模流体场景可能需要计算千万级乃至上亿数量的粒子,一个有效的算法加速策略亟待被提出。
发明内容
本发明提供了一种基于深度学习和SPH框架的流体动画生成方法及装置,本发明基于神经网络的数据驱动改进传统SPH流体模拟框架计算效率低的缺陷,实现低精度SPH模拟场景下的流体高细节表现,提高大规模流体模拟场景的计算效率,详见下文描述:
一种基于深度学习和SPH框架的流体动画生成方法,所述方法包括以下步骤:
根据一次迭代过程中的压力项的求解过程,获取压力项计算前和计算后的相关模拟数据;构造深度学习模型,训练流体模拟数据以生成基于神经网络的数据驱动项;
根据数据集的特征,构造神经网络模型,设定相关超参数,然后读取数据集,在训练之前,对数据集进行预处理,然后进行网络模型的训练,训练结束保存神经网络模型;
将训练完成的神经网络模型导入到SPH流体模拟框架中,作为数据驱动项,替换流体模拟步骤中的压力项;
将基于神经网络的数据驱动项导入低精度流体场景数据后,进行SPH流体模拟计算;
采用Marching Cubes算法构造流体表面模型,提取流体表面网格并输出,将每帧的流体网格存储为数据文件,用于离线渲染。
进一步地,所述方法还包括:
创建流体模拟场景的数据文件,所有流体数据及场景数据均通过外部的数据文件进行定义;
将场景文件中定义的数据转化为流场边界数据和流体参数,通过边界数据初始化流场边界,通过流体参数初始化流体。
其中,所述定义的内容包括但不限于:流体参数、流体位置及规模、流体边界条件、流场位置及规模。
其中,所述初始化流体的内容包括但不限于:流体参数初始化,对流体块和流场边界进行粒子采样,构造流场哈希邻居等。
进一步地,所述对数据集进行预处理具体为:
将数据集分为训练集、验证集和测试集,进行数据归一化,数据处理完成后进行网络模型的训练。
一种基于深度学习和SPH框架的流体动画生成装置,所述生成装置包括:
基于神经网络框架的数据训练单元,通过神经网络模型,对流体模拟数据进行训练,以生成用于替换传统SPH框架压力项计算的数据驱动模块;
基于数据驱动的流体模拟单元,将训练完成的数据驱动模块导入SPH模拟框架,进行传统SPH框架与神经网络模型的结合,提高流体模拟的计算效率,生成高质量的流体动画;
流体自由表面构建单元,用于构建流体的自由表面Mesh,并进行输出。
进一步地,所述基于神经网络框架的数据训练单元根据数据集的特征,构造神经网络模型,设定相关超参数,然后读取由上一单元生成的数据集,在训练之前,对数据集进行预处理,数据处理完成后进行网络模型的训练,训练结束保存神经网络模型。
其中,所述生成装置还包括:
流体场景数据初始化单元,用于导入并初始化流场数据;
流体模拟数据生成单元,用于待训练流体模拟数据集的获取。
本发明提供的技术方案的有益效果是:
1、本发明采用SPH流体模拟框架,结合深度学习方法,利用高精度的流体模拟数据训练神经网络模型,通过替换标准SPH框架的压力项,实现低精度下流体模拟的高精度细节表现,显著的提高流体模拟高分辨率下的计算效率;
2、本发明通过场景数据文件方便的更新流体参数,以及在模拟过程中输出流体动画帧;
3、本发明可以动态地加载流体模拟场景,并实时地生成流体自由表面Mesh(网格),为进一步的离线渲染提供支持。
附图说明
图1为基于深度学习及SPH框架的流体动画生成方法的流程图;
图2为神经网络的结构示意图;
图3为流体动画帧的示意图;
图4为基于深度学习和SPH框架的流体动画生成装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面对本发明实施方式作进一步地详细描述。
目前计算机图形学中的流体模拟技术主要分为基于网格的欧拉流体模拟技术、基于粒子的拉格朗日流体模拟技术以及混合方法,其中基于粒子的拉格朗日流体模拟方法适合模拟形变复杂的流体,具体良好的细节表现效果。
在拉格朗日方法中,SPH是一种被广泛研究的流体模拟方法,尤其是针对流体真实感表现的研究更是重中之重。流体的不可压缩性(Incompressibility)是流体真实感表现的关键,针对于此的研究,既要保证流体的不可压缩性,又要保证模拟效率,由此最近提出了一系列的研究成果。高精度的流体细节模拟需要大量的粒子来表现,而SPH方法的计算量会随粒子数量的增多而快速增大,保证流体真实感的同时减少SPH方法的计算量是十分重要的工作。
最近几年,得力于深度学习取得的显著的成果,其在计算机科学的各个领域有了大量应用和研究。在流体模拟领域中,Yang等人通过训练神经网络替换了网格方法中的泊松方程的计算,之后,Tompson等人使用CNN(卷积神经网络)进行流体模拟中投影项的计算,在SPH方法中,Ladicky等人使用回归森林实现了百万级粒子的实时模拟。
基于神经网络的数据拟合效果,可以实现流体模拟步骤中复杂非线性关系的构建。通过采集流体模拟过程中产生的大量数据集,结合神经网络进行训练,生成数据间的非线性模型,由此可以替换基于物理的流体模拟步骤。在SPH中,压力项的解算是流体模型真实感的关键,同时也是流体模拟各个阶段的计算瓶颈,可以采集高精度SPH的模拟数据进行神经网络的训练,然后将训练完成的神经网络应用于低精度SPH模拟过程中,由此实现SPH的高效和高真实感的计算。
本发明实施例将SPH方法与深度学习相结合,提出了一种数据驱动的SPH流体动画生成方法,该方法可以有效的改进传统SPH动画生成方法中的压力项计算瓶颈,在保证动画质量的前提下,提高整体计算效率。同时,该方法还具有导入场景数据文件和流体自由表面生成功能。最后,本发明实施例将提供一种数据驱动的SPH流体动画生成装置。
实施例1
为实现上述目的,本发明实施例提出了一种基于深度学习及SPH框架的流体动画生成方法,该方法基于SPH流体模拟框架和标准神经网络模型,用于实现流体模拟及数据训练,包括以下步骤:
101:定义流体模拟场景的数据文件,定义内容包括:流体参数、以及边界条件等;
其中,步骤101中的流体模拟场景的定义,具体步骤如下:
创建流体模拟场景的数据文件,所有流体数据及场景数据均通过外部的数据文件进行定义,定义内容包括但不限于:流体参数、流体位置及规模、流体边界条件、流场位置及规模等。
上述具体的操作根据实际应用中的需要进行设定,本发明实施例对此不做限制。
102:读取场景数据文件并进行初始化;
具体实现时,步骤102在步骤101的基础上进行流体模拟场景数据的加载和初始化,具体步骤如下:
将场景文件中定义的数据转化为流场边界数据和流体参数,通过边界数据初始化流场边界,通过流体参数初始化流体,初始化内容包括但不限于:流体参数初始化,对流体块和流场边界进行粒子采样,构造流场哈希邻居表等。
其中,上述具体的操作为本领域技术人员所公知,本发明实施例对此不做赘述。
103:进行高精度的SPH流体模拟计算;
其中,该步骤103具体包括:
流场初始化完成后,进行流体模拟迭代,SPH模拟过程的每次迭代需要计算流体粒子密度、速度、压强等参数,首先需要计算粒子所携带的密度,然后计算流体所受外力和粘性力,最后计算粒子的压强和压力,根据合力计算SPH粒子的速度变化率,更新粒子坐标。
104:获取流体压力项模拟数据,并输出保存;
在流体模拟方法中,无论是拉格朗日法,还是欧拉方法,流体压力项的求解都是关键点,压力项的计算是保持流体不可压缩性,提高流体真实感的关键。
在步骤104中,根据一次迭代过程中的压力项的求解过程,获取压力项计算前和计算后的相关模拟数据,包括:流体粒子密度、速度和位置等。
105:构造深度学习模型,训练流体模拟数据以生成基于神经网络的数据驱动项;
其中,步骤105具体为:
根据数据集的特征,构造神经网络模型,设定相关超参数,然后读取数据集,在训练之前,对数据集进行预处理(Data Preprocessing),将数据集分为训练集、验证集和测试集,进行数据归一化(Normalization),数据处理完成后进行网络模型的训练,训练结束保存神经网络模型。
106:将训练完成的神经网络模型导入流体模拟框架中,作为数据驱动项;
通过将训练完成的神经网络模型导入到SPH流体模拟框架中,替换流体模拟步骤中的压力项。
107:使用基于神经网络的数据驱动项,进行较低精度的SPH流体模拟计算;
其中,传统SPH框架中的压力项由基于神经网络的数据驱动项替代。导入低精度流体场景数据后,初始化参数,然后执行SPH迭代计算,其中,压力项通过神经网络模型进行计算,计算结果返回到SPH流体模拟框架中。
108:采用Marching Cubes算法[1]构造流体表面模型,提取流体表面Mesh并输出,将每帧的流体Mesh存储为数据文件,用于离线渲染。
模拟过程的每帧迭代结束时,通过计算流体的隐式表面,由Marching Cubes算法生成自由表面的Mesh,并将自由表面Mesh输出为本地数据文件,用于液面的离线渲染。
本发明实施例采用动态读取场景文件的形式加载流体模拟数据,单帧模拟以数据文件形式输出,用于流体动画的渲染,同时,使用基于神经网络的数据驱动项代替基于物理的压力项的解算,可以保证使用少量粒子集进行SPH计算的条件下依然具有良好的细节表现。
计算机流体动画模拟是一个复杂的过程,流体参数和场景设置是流体动画的关键,是设计动画的重要组成部分。由于参数众多,调整各项参数生成理想的动画过程是一项十分复杂的工作。采用动态加载流体参数和场景数据是一种十分方便的流体动画生成方式,即可以灵活地调整参数配置,也可以保证数据的重复利用。
本发明实施例在每帧流体模拟计算结束时输出流体自由表面Mesh,Mesh以3D数据格式存储,生成的文件可以导入到离线渲染器,并进行动画渲染。
在标准SPH算法中,压强的计算可以采用EOS方程计算:
其中,ρ0为流体静止密度,ρi为流体粒子i的密度,κ和γ为两个常量。
压力项公式为:
其中,p为流体粒子的压强,m为流体粒子的质量,j为相邻粒子编号,为平滑核函数的梯度形式。
为了保证流体的不可压缩性,在WCSPH算法中γ被设置为7,同时使用非常小的时间步长进行迭代计算,这导致了每帧非常大的计算量,而且为了表现流体的细节,如液滴的飞溅,需要大量粒子参与计算。
综上所述,本发明实施例通过上述步骤采用基于神经网络的数据驱动项替代压力项的计算,通过对高精度的SPH流体数据集进行训练,以捕捉流体细节特征;通过训练良好的神经网络模型,可以在少量粒子集的SPH框架中预估压力项的解,进而实现高精度的流体细节。
实施例2
下面结合具体的计算公式、附图对实施例1中的方案进行进一步地介绍,详见下文描述:
201:定义场景数据文件;
其中,定义内容包括但不限于:流体参数、流体位置及规模、流场边界数据等。其中,流体参数包括粘性系数、表面张力因子、粒子半径等。
202:从场景文件中加载数据,并初始化SPH框架;
将数据文件解析为流体数据后,首先,根据粒子半径对流体块进行采样,生成流体粒子,流场数据和边界条件被解析为边界粒子。然后,构建粒子邻域搜索的数据结构,用于加速相邻粒子搜索,采用哈希网格结构,将流体空间划分为固定边长的三维网格,通过哈希表进行索引。
设哈希网格的边长为l,则位置(x,y,z)被存入的网格索引(i,j,k)如下:
其中,i,j,k均为整数,网格(i,j,k)存入哈希表的索引为:
其中,P1、P2、P3均为很大的质数,n为哈希表大小。例如:P1、P2、P3的取值可以为73856093、19349663和83492791,具体取值根据实际应用中的需要进行设定,本发明实施例对此不作限制。。
203:流场初始化完成后,进行流体模拟计算;
通常,基于物理的流体模拟都是通过解算Navier-Stokes流体运动方程进行模拟计算的,方程的一般表示形式如下:
其中,表示速度,ρ表示粒子密度,p表示粒子压强;为重力加速度,其值约为(0,0,-9.81),此外还可以代表作用于流体的其他外力,υ为运动粘性系数。式(5)为流体的动量方程,式(6)为流体不可压缩条件。
在SPH方法中,由于流体被离散化为粒子,且每个粒子均携带固定的质量,所以,只要保证粒子不流失,即可确保流体的质量守恒,但需要保证流体体积的不可压缩性。
SPH方法本质上是一种差值方法,其中,流体的各种物理量均通过差值来近似地计算,是一种核密度估计方法,其最早被应用于天文学中,后被引入流体模拟计算。在SPH方法中,假设空间中位置r处的物理量为A(r),则A(r)可以近似表示为:
A(r)=∫ΩA(r′)W(r-r′,h)dr′ (7)
其中,W为光滑核函数,h为光滑核半径,即空间中对点r进行差值的长度,r′为邻域位置,t为时间。
光滑核函数包含以下性质:
将以上差值方程离散化后可以表示为数值求和的形式:
此方程为SPH差值计算的标准形式,j为位置r处粒子i的邻域粒子,mj为粒子j的质量,ρj为粒子j所携带的密度。
根据公式(9),可以计算流体粒子的各项属性,如密度ρ可以表示为:
流体粘性项计算如下:
压力项的求解采用IISPH方法(Implicit Incompressible SPH),通过密度变化率预测密度值,使用Relaxed Jacobi方法求解压力泊松方程,进而计算流体粒子压强。
所述压力泊松方程形式如下:
对于上式,通过relaxed Jacobi方法迭代地求解流体压强值pi,公式如下:
其中,l表示迭代的次数,ω表示松弛因子,系数aii计算公式如下:
dii和dji表示形式分别为:
和
204:在SPH模拟计算过程中,随机选择40帧以上的数据,获取压力项计算前的流体属性值和计算完成后的输出值;
神经网络的输入值为光滑核半径内粒子的属性值组成的特征向量,设邻域粒子数量最多为40。输入特征包括:密度ρ,位置x,输入压强pin,中间密度ρadv,输出特征为输出压强pout。
其中,ρadv为粒子i的中间密度,其余属性均为粒子i和邻域粒子j的属性。神经网络输出值为粒子i的压力项计算结果为保证输入特征为固定数目,将邻域粒子数不足的位置置零。则粒子i的特征向量Pi如下所示:
205:获取训练数据后,构造神经网络模型并训练数据;
数据集从外部文件读入,经过处理生成待训练的特征向量。在进行训练前,数据集需要经过预处理(Data Preprocessing),如数据归一化(Normalization)。
所用神经网络模型如图2所示,其结构包括:输入层、隐层和输出层,输入层和输出层只有一层,隐层设为2层。其中输入层神经元数量与输入特征向量一致,隐层神经元数量设为15,输出层神经元数量设为1,代表输出压强,各层神经元相互连接。
数据集按7:1.5:1.5的比例被分为训练集、验证集和测试集,训练数据以小批量(Mini Batch)的形式随机输入到神经网络中。
训练过程包括:正向传播和反向传播(Backpropagation),正向传播公式如下:
其中,a为激活值,l为网络层号,W为权值矩阵,b为偏置向量,使用均方误差(MSE)作为损失函数:
其中,y为输出值,n为样本数量,反向传播过程使用梯度下降算法(GradientDescent)最小化损失函数。
206:经过训练的神经网络模型作为数据驱动项被载入SPH流体模拟框架;
其中,SPH计算步骤中的压力项求解,由数据驱动项进行计算求解,输入为压力项计算前粒子i及邻域粒子j的属性值,输出为粒子i的压强pi。
207:重新载入低精度流体模拟场景进行SPH模拟计算,模拟过程以帧为单位实时输出到视图窗口;
208:每帧模拟结束,流体数据将被用于构造流体自由表面,通过计算流体隐式表面,使用Marching Cubes算法生成流体自由表面Mesh。
其中,粒子集自由表面的隐式函数可以使用如下方法计算:
其中,φ(x)表示位置x处的隐式函数值,ri为粒子i的半径,h为构造隐式表面的邻域半径,k为一个函数值平滑下降到零的核函数,k(s)=max(0,(1-s2)3)。
隐式表面计算完成后,通过Marching Cubes算法生成自由表面数据,然后数据输出为本地文件。
综上所述,本发明实施例通过上述步骤采用基于神经网络的数据驱动项替代压力项的计算,通过对高精度的SPH流体数据集进行训练,以捕捉流体细节特征;通过训练良好的神经网络模型,可以在少量粒子集的SPH框架中预估压力项的解,进而实现高精度的流体细节。
实施例3
本发明实施例提供了一种基于数据驱动的SPH流体动画生成装置,该装置是与实施例1和2中的生成方法相对应,参见图4,该生成装置包括:
流体场景数据初始化单元,用于导入并初始化流场数据;
其中,场景数据由外部进行定义,定义的数据包括但不限于:流体参数、流体位置及规模、流体边界条件、流场位置及规模,具体操作步骤详见实施例1和2,本发明实施例对此不做赘述。
流体模拟数据生成单元,用于待训练流体模拟数据集的获取;
在该生成单元内,根据流体模拟一次迭代过程中的压力项的求解,获取压力项计算前和计算后的相关模拟数据,包括:流体粒子密度、速度和位置等。
基于神经网络框架的数据训练单元,通过构建如图2所示的神经网络模型,对流体模拟数据进行训练,以生成用于替换传统SPH框架压力项计算的数据驱动模块。
其中,该训练单元根据数据集的特征,构造神经网络模型,设定相关超参数,然后读取由上一单元生成的数据集,在训练之前,对数据集进行预处理(Data Preprocessing),将数据集分为训练集、验证集和测试集,进行数据归一化(Normalization),数据处理完成后进行网络模型的训练,训练结束保存神经网络模型。
基于数据驱动的流体模拟单元,将训练完成的数据驱动模块导入SPH模拟框架,进行传统SPH框架与神经网络模型的结合,以提高流体模拟的计算效率,生成高质量的流体动画。
流体自由表面构建单元,用于构建流体的自由表面Mesh,并进行输出。
具体实现时,在每帧模拟迭代结束时,由该流体模拟单元计算流体的隐式表面,然后采用Marching Cubes算法生成自由表面的Mesh,并将自由表面Mesh输出为本地数据文件,用于液面的离线渲染。
综上所述,本发明实施例通过该装置采用基于神经网络的数据驱动项替代压力项的计算,通过对高精度的SPH流体数据集进行训练,以捕捉流体细节特征;通过训练良好的神经网络模型,可以在少量粒子集的SPH框架中预估压力项的解,进而实现高精度的流体细节。
实施例4
下面结合具体的实验对实施例1-3中的方案进行可行性验证,详见下文描述:
实验的整体过程主要分为三个部分:模拟数据采集、数据集训练、以及加载神经网络生成流体动画。
在进行数据采集时,首先,定义流体场景数据,对流体数据进行初始化,定义的场景数据用于模拟前的初始化。本实验中采集的数据为高精度流体模拟数据,定义的场景粒子数量为20万以上。然后,在进行模拟过程中,随机输出某些帧计算过程中产生的压强等数据,将数据以一定格式进行输出保存,在此过程中本实验大致获取四十帧的数据。
在进行数据集训练时,将流体数据加载并初始化,本实验采用TensorFlow深度学习框架进行数据训练。在将数据导入神经网络前需要对数据进行预处理,实验过程中需要对数据做归一化,将压强与密度等数据归一化到相同范围。训练采用批梯度下降算法,预处理的数据以批(Mini-batche)的形式随机导入神经网络。实验中,采用NVIDIA TeslaK80GPU服务器进行训练,训练过程持续超过40小时。
实验最后,对训练完成的神经网络进行加载,加载的神经网络作为数据驱动代替压力项进行流体模拟的计算。同时,在模拟过程中,输出每帧的流体自由表面Mesh用于动画的渲染。
参考文献
[1]Lorensen,W.E.,&Cline,H.E.Marching cubes:A high resolution 3Dsurface construction algorithm.In ACM Siggraph Computer Graphics,1987:163-169.
本发明实施例对各器件的型号除做特殊说明的以外,其他器件的型号不做限制,
只要能完成上述功能的器件均可。
本领域技术人员可以理解附图只是一个优选实施例的示意图,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种基于深度学习和SPH框架的流体动画生成方法,其特征在于,所述方法包括以下步骤:
根据一次迭代过程中的压力项的求解过程,获取压力项计算前和计算后的相关模拟数据;
构造深度学习模型,训练流体模拟数据以生成基于神经网络的数据驱动项;
根据数据集的特征,构造神经网络模型,设定相关超参数,然后读取数据集在训练之前,对数据集进行预处理后进行网络模型的训练,训练结束保存神经网络模型;
将训练完成的神经网络模型导入到SPH流体模拟框架中,作为数据驱动项,替换流体模拟步骤中的压力项;
将基于神经网络的数据驱动项导入低精度流体场景数据后,进行SPH流体模拟计算;
采用Marching Cubes算法构造流体表面模型,提取流体表面网格并输出,将每帧的流体网格存储为数据文件,用于离线渲染。
2.根据权利要求1所述的一种基于深度学习和SPH框架的流体动画生成方法,其特征在于,所述方法还包括:
创建流体模拟场景的数据文件,所有流体数据及场景数据均通过外部的数据文件进行定义;
将场景文件中定义的数据转化为流场边界数据和流体参数,通过边界数据初始化流场边界,通过流体参数初始化流体。
3.根据权利要求2所述的一种基于深度学习和SPH框架的流体动画生成方法,其特征在于,所述定义的内容包括但不限于:流体参数、流体位置及规模、流体边界条件、流场位置及规模。
4.根据权利要求2所述的一种基于深度学习和SPH框架的流体动画生成方法,其特征在于,所述初始化流体的内容包括但不限于:流体参数初始化,对流体块和流场边界进行粒子采样,构造流场哈希邻居等。
5.根据权利要求1所述的一种基于深度学习和SPH框架的流体动画生成方法,其特征在于,所述对数据集进行预处理具体为:
将数据集分为训练集、验证集和测试集,进行数据归一化,数据处理完成后进行网络模型的训练。
6.一种基于深度学习和SPH框架的流体动画生成装置,其特征在于,所述生成装置包括:
基于神经网络框架的数据训练单元,通过神经网络模型,对流体模拟数据进行训练,以生成用于替换传统SPH框架压力项计算的数据驱动模块;
基于数据驱动的流体模拟单元,将训练完成的数据驱动模块导入SPH模拟框架,进行传统SPH框架与神经网络模型的结合,提高流体模拟的计算效率,生成高质量的流体动画;
流体自由表面构建单元,用于构建流体的自由表面Mesh,并进行输出。
7.根据权利要求6所述的一种基于深度学习和SPH框架的流体动画生成装置,其特征在于,
所述基于神经网络框架的数据训练单元根据数据集的特征,构造神经网络模型,设定相关超参数,然后读取由上一单元生成的数据集,在训练之前,对数据集进行预处理,数据处理完成后进行网络模型的训练,训练结束保存神经网络模型。
8.根据权利要求6或7所述的一种基于深度学习和SPH框架的流体动画生成装置,其特征在于,所述生成装置还包括:
流体场景数据初始化单元,用于导入并初始化流场数据;
流体模拟数据生成单元,用于待训练流体模拟数据集的获取。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810317702.0A CN108717722A (zh) | 2018-04-10 | 2018-04-10 | 基于深度学习和sph框架的流体动画生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810317702.0A CN108717722A (zh) | 2018-04-10 | 2018-04-10 | 基于深度学习和sph框架的流体动画生成方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108717722A true CN108717722A (zh) | 2018-10-30 |
Family
ID=63898980
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810317702.0A Pending CN108717722A (zh) | 2018-04-10 | 2018-04-10 | 基于深度学习和sph框架的流体动画生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108717722A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110348059A (zh) * | 2019-06-12 | 2019-10-18 | 西安交通大学 | 一种基于结构化网格的通道内流场重构方法 |
CN110717269A (zh) * | 2019-10-10 | 2020-01-21 | 北方工业大学 | 一种基于网格和粒子耦合的流体表面细节保护方法 |
WO2021164250A1 (zh) * | 2020-02-21 | 2021-08-26 | 苏州浪潮智能科技有限公司 | 一种湍流场更新方法、装置及其相关设备 |
WO2022188282A1 (zh) * | 2021-03-10 | 2022-09-15 | 北京航空航天大学 | 基于物理感知的三维流体逆向建模方法 |
CN117830495A (zh) * | 2024-03-04 | 2024-04-05 | 北京科技大学 | 一种基于屏幕空间的sph多相流体实时渲染方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102867094A (zh) * | 2012-09-19 | 2013-01-09 | 西安交通大学 | 一种移动粒子半隐式算法中自由表面流动模型的构建方法 |
CN105006015A (zh) * | 2015-02-12 | 2015-10-28 | 上海交通大学 | 基于位置的流体模拟控制方法及系统 |
CN106023286A (zh) * | 2016-05-25 | 2016-10-12 | 上海交通大学 | 基于数据驱动的流体动画加速生成方法 |
KR101718755B1 (ko) * | 2015-09-23 | 2017-03-23 | 동남이엔씨(주) | 홍수발생시 도로 및 하천으로 유입되는 빗물의 흐름을 모의하기 위한 3차원 유체 시뮬레이션 시스템 및 이를 이용한 시뮬레이션 방법 |
-
2018
- 2018-04-10 CN CN201810317702.0A patent/CN108717722A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102867094A (zh) * | 2012-09-19 | 2013-01-09 | 西安交通大学 | 一种移动粒子半隐式算法中自由表面流动模型的构建方法 |
CN105006015A (zh) * | 2015-02-12 | 2015-10-28 | 上海交通大学 | 基于位置的流体模拟控制方法及系统 |
KR101718755B1 (ko) * | 2015-09-23 | 2017-03-23 | 동남이엔씨(주) | 홍수발생시 도로 및 하천으로 유입되는 빗물의 흐름을 모의하기 위한 3차원 유체 시뮬레이션 시스템 및 이를 이용한 시뮬레이션 방법 |
CN106023286A (zh) * | 2016-05-25 | 2016-10-12 | 上海交通大学 | 基于数据驱动的流体动画加速生成方法 |
Non-Patent Citations (4)
Title |
---|
L’UBOR LADICK´ 等: "Data-driven Fluid Simulations using Regression Forests", 《ACM TRANSACTIONS ON GRAPHICS》 * |
柳有权 等: "基于物理的流体动画加速技术的研究进展", 《计算机辅助设计与图形学学报》 * |
王笑琨: "不可压缩SPH流体的表面特性建模及交互现象模拟", 《中国博士学位论文全文数据库 基础科学辑》 * |
董添文 等: "两种边界条件设置方法在ISPH 中的比较", 《塑性工程学报》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110348059A (zh) * | 2019-06-12 | 2019-10-18 | 西安交通大学 | 一种基于结构化网格的通道内流场重构方法 |
CN110348059B (zh) * | 2019-06-12 | 2021-03-12 | 西安交通大学 | 一种基于结构化网格的通道内流场重构方法 |
CN110717269A (zh) * | 2019-10-10 | 2020-01-21 | 北方工业大学 | 一种基于网格和粒子耦合的流体表面细节保护方法 |
CN110717269B (zh) * | 2019-10-10 | 2023-07-25 | 北方工业大学 | 一种基于网格和粒子耦合的流体表面细节保护方法 |
WO2021164250A1 (zh) * | 2020-02-21 | 2021-08-26 | 苏州浪潮智能科技有限公司 | 一种湍流场更新方法、装置及其相关设备 |
US11741373B2 (en) | 2020-02-21 | 2023-08-29 | Inspur Suzhou Intelligent Technology Co., Ltd. | Turbulence field update method and apparatus, and related device thereof |
WO2022188282A1 (zh) * | 2021-03-10 | 2022-09-15 | 北京航空航天大学 | 基于物理感知的三维流体逆向建模方法 |
CN117830495A (zh) * | 2024-03-04 | 2024-04-05 | 北京科技大学 | 一种基于屏幕空间的sph多相流体实时渲染方法及装置 |
CN117830495B (zh) * | 2024-03-04 | 2024-05-31 | 北京科技大学 | 一种基于屏幕空间的sph多相流体实时渲染方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108717722A (zh) | 基于深度学习和sph框架的流体动画生成方法及装置 | |
Clavet et al. | Particle-based viscoelastic fluid simulation | |
Xiao et al. | A novel CNN-based Poisson solver for fluid simulation | |
Elcott et al. | Stable, circulation-preserving, simplicial fluids | |
Li et al. | Harmonic volumetric mapping for solid modeling applications | |
CN110717269B (zh) | 一种基于网格和粒子耦合的流体表面细节保护方法 | |
Liu et al. | Model-reduced variational fluid simulation | |
WO2017031718A1 (zh) | 弹性物体变形运动的建模方法 | |
Macklin et al. | Primal/dual descent methods for dynamics | |
Bertails | Linear time super‐helices | |
Miguel et al. | Modeling and Estimation of Energy‐Based Hyperelastic Objects | |
He et al. | A deep learning energy-based method for classical elastoplasticity | |
Shao et al. | Stable and fast fluid–solid coupling for incompressible SPH | |
Li et al. | Lagrangian–Eulerian multidensity topology optimization with the material point method | |
Dutykh | A brief introduction to pseudo-spectral methods: application to diffusion problems | |
Müller et al. | Physically based shape matching | |
CN112380764B (zh) | 一种在有限视图下的气体场景端到端快速重建方法 | |
Nurtas et al. | 2-D Finite Element method using" eScript" for acoustic wave propagation | |
CN117150959A (zh) | 基于超分辨率重构的流场数据压缩与复原方法 | |
Cetinaslan | Position‐based simulation of elastic models on the GPU with energy aware gauss‐seidel algorithm | |
Gao et al. | Accelerating liquid simulation with an improved data‐driven method | |
Zhao et al. | POD‐DEIM Based Model Order Reduction for the Spherical Shallow Water Equations with Turkel‐Zwas Finite Difference Discretization | |
Li et al. | Interactive elastic motion editing through space–time position constraints | |
Ge et al. | Blending isogeometric and Lagrangian elements in three-dimensional analysis | |
CN110298073B (zh) | 集成神经网络与物理系统模型的换挡负载动态模拟方法 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181030 |