引 言
流场中的目标识别是国内外一致公认的技术难题与重要方向, 如水下物体的目标识别, 对海洋资源的经济开发和领海的军事研究尤为重要[1]. 目前对流体中目标识别主要通过光信号或声信号[2]进行, 实现目标的定位与识别. 然而, 基于光信号与声信号的方法各有不同的难点, 如光信号等在水中穿透能力有限、信号衰减快等[3-4]、声信号受水体和地表反射的干扰大等[5], 必须要进行复杂的信号处理工作.
由于浸入流场的固体会对流场的流动产生干扰, 不可避免地在流场中形成尾流流场, 外形不同的物体所引起的尾流结构是不同的, 因此在尾流场中必然包含了物体的外形信息. 然而, 在较高雷诺数情况下, 固体边界引起其周围的流场特征极为复杂, 难以通过传统的数学物理方法直接从中获得物体的外形信息. 随着深度学习方法的发展, 流体力学领域也逐步开始与深度学习方法相结合[6], 得到了传统数据分析手段无法实现的创造性方法与结果. 深度学习能够很好地从输入映射到输出层的特征表达[7], 能自动提取特征并实现特征分类[8], 已具有分析处理包含复杂抽象特征的能力, 为科学研究提供了新思路与新方法[9]. 在目标识别问题中, 深度学习的研究正处于起步阶段, 目前的研究主要针对水中图像的识别问题[10-11]和声信号的分析问题[12-13], 取得了良好的效果.
现有基于数据驱动方法的流体力学研究已取得了重要突破, 如计算网格的生成[14]、湍流模型的修正方法[15]、流场控制方程的稀疏识别[16]、数据驱动的大涡模拟模型[17]等. 目前基于数据驱动的流体研究往往利用流场的空间特征进行流场特征识别、流动预测、求解湍流模式系数, 如基于神经网络模型的雷诺应力模型[18-19]、涡激振动的流动控制[20]、尾流状态的流动控制[21]、高精度流场预测方法[22]、流场状态的自动识别[23]等. 采用空间信号作为模型的输入数据需要瞬时的整个流场或整个区域的变量信息[24], 进而得到流场特征的预测模型[25]等. 然而, 整个流场的瞬态信息在实际测量中很难获得, 一方面压力、速度等传感器难以实现全空间的同步测量, 另一方面流场显示等手段目前仍难以实现三维流场的全场测量. 相比之下, 一点处的流场信号容易测量获得, 然而其包含的信息量有限, 传统方法难以采用单点流场信息进行远场流动信息的特征提取和识别.
基于上述问题, 本文提出了采用一点处尾流流场时程信号进行目标外形识别的新方法, 并研究用于流场特征分类和目标外形识别的参数选择问题. 以圆柱和方柱的尾流为研究对象, 研究了采用时程数据进行两种外形尾流特征提取的可行性, 实现基于一点处流动信息的目标外形识别, 并研究不同参数用于外形识别的准确性, 获得了最适合的流动参数, 以期为流场中的目标识别研究提供新的方法与理论支撑.
1.
深度学习模型介绍
本文研究中采用了基于卷积和全连接模型的深度学习方法, 卷积神经网络通常由卷积层、池化层和全连接层等计算层组成, 全连接网络主要由全连接层构成.
1.1
全连接网络
全连接网络(multi-layer perceptron, MLP)是最简单、应用最广泛的深度学习模型, 其特点是任意层的神经元与上一层的所有神经元都是相连的, 这些相连的关系称为权重. 通常情况下, 输入与输出的变换关系可表示为
$$ y_i^{n + 1} = sumlimits_{j = 1}^k {w_{ij}^na_j^n + b_i^n} $$ ![]() | (1) |
式中y为第n层全连接层的输出, w和b为第n层全连接层的权重和偏移矩阵. 从全连接层的结构原理可以发现, 每一个神经元都与上一层的各个神经元相关, 如果用这种网络结构进行时程数据的处理, 将导致时程数据的每一个元素与上一层中其他元素的关系是完全等价的, 仅仅将输入的时程数据当做没有先后顺序特征的离散数据集来看待, 丢失了时程数据中各个时刻前后之间的关系. 本文所采用的全连接网络结构如图1所示, 为了防止过拟合, 在各全连接层之前设置了dropout层[26].
![](https://lxxb.cstam.org.cn/fileLXXB/journal/article/lxxb/2021/10//lxxb2021-332-1.jpg)
class="figure_img
figure_type2 ccc " id="Figure1" />
图
1
全连接网络结构示意图
Figure
1.
Structure of multi perceptron layer neural network
![](https://lxxb.cstam.org.cn/cn/article/doi/10.6052/style/web/images/public/download.png)
全尺寸图片
幻灯片
在卷积网络中同样会用到全连接层, 其作用是将卷积层获得的特征平铺为向量形式, 便于通过softmax变化成标签的对应关系.
1.2
卷积神经网络
卷积神经网络(convolutional neural network, CNN)模仿了生物视觉的认知机制, 通过对输入数据进行逐层卷积和池化, 层层提取蕴含在输入数据中的拓扑结构特征. 随着网络层数的逐渐增加, 提取的特征不断抽象, 最终从原始输入数据中得到具有平移旋转不变性的鲁棒特征. 卷积神经网络通常包括输入层、卷积层、池化层和最后的全连接层. 根据卷积层数不同、卷积核大小不同以及层间的连接机制, 发展了许多基于卷积的经典神经网络, 如在图像识别领域的Alexnet[27], Goolgenet[28], VGG[29]等, 每一类网络都有自身特点和最适用的问题类别.
1.2.1
卷积层(convolutional layer)
卷积神经网络可由多个卷积层形成, 每个卷积层由多个卷积核对输入数据进行卷积运算, 并进行非线性变换后得到输出数据,将包含待求解权重的卷积核与局部的输入数据进行矩阵的卷积运算, 其中矩阵的离散卷积计算[30]如下
$$ {text{Cov}}left( {x,y} ight) = sumlimits_{t = 0}^k {sumlimits_{s = 0}^k {{boldsymbol{F}}left( {s,t} ight) times {boldsymbol{G}}left( {x - s,y - t} ight)} } $$ ![]() | (2) |
其中s和t为卷积核在输入样本二维空间的尺度, F为卷积核矩阵, G为与卷积核进行运算的局部样本参数, k为卷积核的个数. 一个卷积核可以看作一个视觉感知尺度, 通过卷积层运算获取图像的特征. 每个卷积层拥有多个卷积核函数, 在实际计算中通常采用权值共享的方式, 减少计算参数和计算量. 激活函数可以对层输出结果进行非线性变换, 从而提升网络的表达能力. 常用的激活函数有sigmoid, tanh和ReLU方法. 本文设计的模型通过在卷积层和全连接层中增加常用的ReLU 激活函数来增加模型的非线性, 从而提升模型的学习能力.
1.2.2
标准化与池化层(batch normalization and pooling layer)
随着网络深度加深或者在训练过程中, 训练数据的分布会逐渐发生偏移, 使得激活函数向两端靠近, 导致神经网络的梯度消失. 因此需要BN层对于每个神经元的输入分布调整到标准的正态分布, 使得激活函数的输出对输入值敏感, 以此避免梯度弥散, 保证计算的收敛速度.
通过池化层的计算, 可以减少深度学习网络中的参数数量, 防止由于参数过多发生过拟合. 一般可直接采用最大池化层将局部的最大值进行选择性的保留, 达到减少拟合参数的目的, 表达式如下
$$ {boldsymbol{P}} = mathop {max }limits_{w times w} left{ {{{boldsymbol{A}}^{l times l}}} ight} $$ ![]() | (3) |
式中, P为池化层的数据, l为特征图的宽度, A为池化层的输入参数, 一般为上层网络的特征矩阵, w为池化计算的局部范围大小.
2.
流场模拟与数据提取方法
为了研究用于流场中物体外形识别的物理参数选择问题, 本文选择圆柱与方柱作为识别目标, 通过数值计算获得两种柱体的不同物理量时程数据集, 进而采用不同参数对深度学习模型进行训练与测试, 比较得到适用于特征提取与识别的流场参数.
2.1
流场计算方法
本文采用自主开发的三维非结构网格的流体计算程序zFlower实现[31], 计算程序使用非结构化网格对流场空间进行离散, 具有良好的复杂区域适应性、局部加密灵活的优点. 对流项采用适用于三维非结构网格中二阶精度格式, 梯度计算采用考虑非结构化网格面的高斯方法, 包含了远场的高阶影响. 通过Rhie-Chow动量插值方法克服非物理震荡. 在时间上采用三层全隐式格式, 具有二阶精度及良好的稳定性. 使用Smargorinsky模型考虑小尺度涡对大尺度流场结构的影响.
2.2
网格划分与参数选择
流场整体计算域如图2所示, 其中X, Y, Z分别代表来流的顺流向、垂直于来流的横流向以及障碍物的长度方向(展向). 计算域的顺流方向长40D, 横向长度40D, 展向长度4D, 其中D为流场中棱柱体的平面特征长度. 为保证计算的准确性, 靠近圆柱表面的第一层网格的厚度取为d = 0.003D, 底层网格Y+值约为1, 局部网格划分形式见图3所示.
![](https://lxxb.cstam.org.cn/fileLXXB/journal/article/lxxb/2021/10//lxxb2021-332-2.jpg)
class="figure_img
figure_type1 bbb " id="Figure2" />
图
2
整体计算域
Figure
2.
Computational domain
![](https://lxxb.cstam.org.cn/cn/article/doi/10.6052/style/web/images/public/download.png)
全尺寸图片
幻灯片
![](https://lxxb.cstam.org.cn/fileLXXB/journal/article/lxxb/2021/10//lxxb2021-332-3-1.jpg)
class="figure_img
figure_type1 bbb " id="Figure3-1" />
![](https://lxxb.cstam.org.cn/cn/article/doi/10.6052/style/web/images/public/download.png)
全尺寸图片
幻灯片
![](https://lxxb.cstam.org.cn/fileLXXB/journal/article/lxxb/2021/10//lxxb2021-332-3.jpg)
class="figure_img
figure_type1 bbb " id="Figure3" />
图
3
棱柱附近的网格划分
Figure
3.
Mesh in the vicinity of prisms
![](https://lxxb.cstam.org.cn/cn/article/doi/10.6052/style/web/images/public/download.png)
全尺寸图片
幻灯片
根据克朗数(Crount number)要求选取时间步长dt, 选取的基本时间步长为dt = 0.05 s, 其满足克朗数的要求. 通过三维非定常计算可以求得各算例的三维流场参数.
2.3
数据提取方法
为了便于对上述的尾流结构进行特征提取与识别分类, 在计算过程中进行了同步的流场数据采集. 通过嵌入深度学习流场数据提取模块, 直接将计算过程中的每个外迭代步流场参数进行分类保存, 形成不同参数的各测点时程参数. 这些参数包含了基本的流场计算数据, 也可输出由基本数据衍生出的物理场, 如参数的流向梯度场、参数脉动场等. 流体计算方法可获取足够多且位置任意处的流场测点位置处物理场时程数据, 弥补了物理试验中传感器干扰等影响, 且可实现多点的同步数据测量. 本算例的测点布置如图4所示. 测点的选取位置为柱体的尾流区域, 选取流向距离棱柱+2D ~ +8D范围内、横向?3D ~ +3D范围内, 展向一层范围内的流场测点, 单个算例中测点共3600个.
![](https://lxxb.cstam.org.cn/fileLXXB/journal/article/lxxb/2021/10//lxxb2021-332-4.jpg)
class="figure_img
figure_type1 bbb " id="Figure4" />
图
4
尾流监测点位置示意图
Figure
4.
Location of wake monitoring points
![](https://lxxb.cstam.org.cn/cn/article/doi/10.6052/style/web/images/public/download.png)
全尺寸图片
幻灯片
3.
深度学习实验与结果分析
3.1
样本设置
计算得到的2个算例中总计7200个测点的流场数据时程依据待识别目标形状进行分类, 建立相应的样本标签. 同时, 为便于模型的计算与建立, 将2个算例中各流场参数的样本进行截取, 得到相同采样频率与相同长度的待训练样本. 样本标签设置与样本数量见表1.
表
1
样本与标签设置
Table
1.
Sample and label settings
table_type1 ">
Label | Shape | Number of parameters | Number of samples |
0 | circular cylinder | 6 | 21600 |
1 | square cylinder | 6 | 21600 |
![](https://lxxb.cstam.org.cn/cn/article/doi/10.6052/style/web/images/public/download.png)
导出CSV
|显示表格
为比较不同参数进行流场特征识别的准确性, 本文选择了6种不同的流场时程样本的参数进行比较, 包括压力P、顺流速度U、横向速度V、展向速度W、速度绝对值Vel和涡量Vort. 为直观展示待训练样本的数据特征, 选择代表性的压力与横向速度样本集, 从各样本集中随机选取了6条待训练的物理量时程进行展示, 如图5所示. 其中图5(a)和图5(b)分别表示圆柱和方柱尾流流场测点处的压力时程, 图5(c)和图5(d)为横向速度时程.
![](https://lxxb.cstam.org.cn/fileLXXB/journal/article/lxxb/2021/10//lxxb2021-332-5.jpg)
class="figure_img
figure_type1 bbb " id="Figure5" />
图
5
典型测点的流场参数时程
Figure
5.
Time history of flow field parameters at typical measuring points
![](https://lxxb.cstam.org.cn/cn/article/doi/10.6052/style/web/images/public/download.png)
全尺寸图片
幻灯片
图5(a)中的6条压力时程曲线表示从尾流区随机选取6个位置不同的测点处的压力时程样本, 由于测点位置不同, 因而时程曲线具有不同的特征; 图5(b)中, 由方柱引起的不同位置处的压力扰动也呈现了不同的时序规律, 且与图5(a)中的时程特征明显不同; 图5(c)与图5(d)同样具有复杂的特征, 且横向速度与压力时程的曲线形状是不同的. 这些复杂的时程信号, 即包含了引起流场扰动的物体外形信息, 又包含了测点与目标物体的位置关系, 同时受复杂的湍流状态影响, 导致难以通过传统数学物理手段进行特征的提取与识别, 无法实现目标外形的识别.
3.2
模型设计
根据图像识别的卷积神经网络模型原理, 为了适应流场中物理量时域信号的一维特性, 本文使用一维卷积构建了可用于流场数据深度学习的完全卷积神经网络(fully convolutional neural network, FCN)模型[32]. 一维卷积在计算上只有一个维度, 然而同样具备二维CNN对特征识别的平移不变性等优点. 其网络结构包括卷积层和池化层, 最后通过全连接层输出结果. 具体的卷积层和池化层的运算如下式
$$ {text{Cov}}left( {x,y} ight) = sumlimits_{a = 0}^w {{boldsymbol{F}}left( a ight) times {boldsymbol{G}}left( {x - a} ight)} $$ ![]() | (4) |
$$ {boldsymbol{P }}= mathop {max }limits_w left{ {{{boldsymbol{A}}^l}} ight} $$ ![]() | (5) |
输入的流场时程数据经过卷积层进行特征提取, 而后通过标准化层加速收敛, 通过激活层进行非线性变换, 形成一个卷积循环. 整个网络共有3个卷积循环, 而后连接全局最大池化层和全连接层, 通过softmax层变换到对应的输出类别, 整个网络结构如图6所示.
本卷积神经网络的主要设计参数包括卷积核的数量、大小以及卷积的计算步长, 为保证整个模型的全连接层各个神经元都能获得输入数据的全部信息, 网络模型的具体参数如表2所示.
![](https://lxxb.cstam.org.cn/fileLXXB/journal/article/lxxb/2021/10//lxxb2021-332-6.jpg)
class="figure_img
figure_type2 ccc " id="Figure6" />
图
6
FCN结构示意图
Figure
6.
Structure of fully convolutional neural network
![](https://lxxb.cstam.org.cn/cn/article/doi/10.6052/style/web/images/public/download.png)
全尺寸图片
幻灯片
表
2
完全卷积神经网络模型参数
Table
2.
Time convolution neural network model parameters
table_type2 ">
Layer | Kernel number | Size of kernel | Activation function | Output size |
input | — | — | — | 300 |
convolution | 128 | 8 | ReLU | 300, 128 |
convolution | 256 | 5 | ReLU | 300, 256 |
convolution | 128 | 3 | ReLU | 300, 128 |
pooling | — | — | — | 128 |
FCL | — | — | — | 6 |
![](https://lxxb.cstam.org.cn/cn/article/doi/10.6052/style/web/images/public/download.png)
导出CSV
|显示表格
本模型的总参数共266502个, 其中可迭代更新的参数共265478个. 为对比卷积网络的优势, 本文选取了传统的多层MLP模型进行对比, 本文采用的MLP网络共含有3个全连接层(fully connected layer, FCL)具体参数见表3, 总参数共652502个, 约为FCN网络参数的3倍.
表
3
全连接网络模型参数
Table
3.
Time convolution neural network model parameters
table_type1 ">
Layer | Dropout parameter | Number of neural | Trainable parameter |
input | ? | ? | 0 |
FCL 1 | 0.1 | 500 | 150500 |
FCL 2 | 0.2 | 500 | 250500 |
FCL 3 | 0.3 | 500 | 250500 |
output | 0.3 | 2 | 1002 |
![](https://lxxb.cstam.org.cn/cn/article/doi/10.6052/style/web/images/public/download.png)
导出CSV
|显示表格
由于同一标签的样本集中的测点分布位置不同, 因此时程样本存在很大的差异, 为保证训练集和测试集都较均匀的包含各位置处流场的样本特征, 在训练过程中从整个尾流域均匀地随机选取60%的样本作为训练集, 剩余40%样本作为验证集. 根据所选流场参数和深度学习模型, 共进行了12组计算算例, 具体样本与标签设置情况见表4.
表
4
算例设置
Table
4.
Parameters of cases
table_type1 ">
Case | Model | Parameters | Training dataset | Testing dataset |
F1 | FCN | Pressure P | 4325 | 2875 |
M1 | MLP | Pressure P | 4311 | 2889 |
F2 | FCN | velocity U | 4316 | 2884 |
M2 | MLP | velocity U | 4328 | 2872 |
F3 | FCN | velocity V | 4320 | 2880 |
M3 | MLP | velocity V | 4321 | 2879 |
F4 | FCN | velocity W | 4326 | 2874 |
M4 | MLP | velocity W | 4308 | 2892 |
F5 | FCN | magnitude | 4323 | 2877 |
M5 | MLP | magnitude | 4328 | 2872 |
F6 | FCN | vorticity | 4307 | 2893 |
M6 | MLP | vorticity | 4317 | 2883 |
![](https://lxxb.cstam.org.cn/cn/article/doi/10.6052/style/web/images/public/download.png)
导出CSV
|显示表格
3.3
识别结果与分析
数值试验与测试采用的硬件环境为: X1950-16核心CPU, 64 GB内存, 英伟达GTX3060显卡(显存12 GB), 软件编译环境为python3.6, 采用GPU加速计算. 经过100步训练, 得到了两种方法的计算残差和识别精度随迭代次数的变化曲线, 如图7所示. 由图可知, 完全卷积网络的损失函数值在迭代过程中迅速逼近零, 且训练集和测试集的收敛性都远优于全连接网络; 同时, 在预测准确率方面, 完全卷积模型也远优于多层全连接网络的结果.
![](https://lxxb.cstam.org.cn/fileLXXB/journal/article/lxxb/2021/10//lxxb2021-332-7.jpg)
class="figure_img
figure_type1 bbb " id="Figure7" />
图
7
不同参数识别精度比较
Figure
7.
Loss and accuracy curve of two models
![](https://lxxb.cstam.org.cn/cn/article/doi/10.6052/style/web/images/public/download.png)
全尺寸图片
幻灯片
选取各算例精度最高的模型作为最优模型, 最优模型的结果汇总于图8. 比较最优模型在训练时程集与测试时程集上的损失函数值与识别准确率, 可以发现识别参数V时对于2种外形的识别精度在训练集上达到100%, 在测试集上达到了99.894%, 同时其模型的损失函数值也最低(如图8(a)和图8(b)所示).
![](https://lxxb.cstam.org.cn/fileLXXB/journal/article/lxxb/2021/10//lxxb2021-332-8.jpg)
class="figure_img
figure_type2 ccc " id="Figure8" />
图
8
最优模型的结果汇总
Figure
8.
Summary of best model of different cases
![](https://lxxb.cstam.org.cn/cn/article/doi/10.6052/style/web/images/public/download.png)
全尺寸图片
幻灯片
选取各算例精度最高的模型作为最优模型, 最优模型的结果汇总于图8. 比较最优模型在训练时程集与测试时程集上的损失函数值与识别准确率, 可以发现识别参数V时对于2种外形的识别精度在训练集上达到100%, 在测试集上达到了99.894%, 同时其模型的损失函数值也最低(如图8(a)和图8(b)所示).
为了直观展示本文模型对流场特征的提取与识别的准确性, 将模型的识别结果映射到流场物理空间该测点所在位置处, 得到结果的可视化图像, 如图9所示.
![](https://lxxb.cstam.org.cn/fileLXXB/journal/article/lxxb/2021/10//lxxb2021-332-9.jpg)
class="figure_img
figure_type2 ccc " id="Figure9" />
图
9
不同流场位置的预测结果分布
Figure
9.
Distribution of predicted results at different position
![](https://lxxb.cstam.org.cn/cn/article/doi/10.6052/style/web/images/public/download.png)
全尺寸图片
幻灯片
图中的红色“ × ”号表示该测点输出的结果中向量的最大值标签与实际的类别不一致, 即神经网络给出的预测值是错误的; 若识别结果是正确的, 则在相应的测点位置处用圆圈“o”符号表示. 进一步地, 将输出向量对应标签位置的结果按照数值大小进行彩色区分, 若其输出的正确标签概率大于90%, 用绿色表示, 80% ~ 90%之间用浅绿色表示, 70% ~ 80%之间用蓝色表示, 60% ~ 70%之间用浅蓝色表示, 50% ~ 60%之间用黄色表示, 这样就将识别结果正确的测点用不同颜色区分神经网络判断的“确信度”.
结合图8中各参数的损失值与识别精度, 可以发现FCN模型对所有参数的识别效果都比较理想, 其中参数V-velocity的识别精度与“确信度”均最高, 如图9(a1)和图9(a2)所示. 结果表明, FCN模型只误判了圆柱流场中靠近圆柱的一小部分测点, 其余测点全部判断正确且“确信度”高; 方柱流场的预测结果中, 测点识别的准确率达到了100%, 精度高, 也说明了横向速度作为参数的时程曲线中, 包含了不同外形物体引起的重要流场信息, 且用本文的方法准确地进行了特征识别与提取.
对于其他参数, 两种模型表现各不相同, 图9中选取了典型的顺流速度U-velocity来加以说明. 由图9(b1)和图9(b2)中, 卷积网络依然可以达到较高的识别精度; 然而采用全连接网络时(如图9(c)所示), 其识别的准确率远不如FCN模型, 对方柱尾流去两侧的测点产生了大范围的“误判”, 而圆柱流场测点中虽准确率尚可, 然而有较多测点的“确信度”低于90% (图9(c1)中浅绿色、蓝色、黄色的“o”形散点区域). 综合图8中各算例的模型损失值与预测精度, 以及图9中的结果散点图, 可以发现采用横向速度V-velocity作为参数, 可以得到更为有效的流场特征识别与提取模型.
4.
结 论
(1)本文提出了基于尾流特征深度学习的流场中目标识别新方法, 并实现了采用流场时程数据的深度学习的流场特征提取与特征分类方法.
(2)时程数据的卷积深度神经网络的模型用于流场时程的特征识别的收敛性好、流场特征分类精度高, 可实现基于一点信号的流场中目标的外形识别. 其结果要远优于文中3倍参数的全连接网络模型.
(3)本文所研究的6种典型流场参数中, 流场横向速度的用于深度学习模型的流场特征识别精度最高, 说明横向速度中包含的物体形状信息最丰富, 可作为基于尾流流场的物体形状识别的参数.
(4)本文所提出的方法仅通过尾流点的流场时程数据, 即可实现无需人为干预的全自动外形识别, 具有重要的应用价值与研究意义.