一种基于短时傅里叶变换和卷积神经网络的液位预测方法与流程

文档序号:22620921发布日期:2020-10-23 19:26阅读:157来源:国知局
一种基于短时傅里叶变换和卷积神经网络的液位预测方法与流程

本发明属于深度学习领域,设计了一种基于短时傅里叶变换和卷积神经网络的液位预测方法。



背景技术:

液位属于物位的一种,是指密闭容器或者开口容器中液位的高低。测量液位主要是通过检测液位两侧物质的特有性质,或者一些相同的物理参数(例如电阻、电容、压差、声速、光能等)在传播过程中的变化,从而确定液位高度的方法。按测量装置是否与所测液体接触,可分为接触式测量方法和非接触式测量方法。常用的非接触式测量方法有雷达、激光、超声波等测量法

(1)基于超声波反射的液位测量方法:该方向性好、易于操作等特点,成为最常用的方法之一。它的测量原理是向液面发射超声波并接收回波,用声速乘以往返量程的时间计算液面到声波接收装置的距离。但是,在实际的工业应用中,被测液体表面常常会出现泡沫、残渣和沉积物等异物。当超声波遇到这些障碍物时,易发生寄生反射现象,改变传播路径,从而严重影响测量效果,大大降低超声波的测量精度。

(2)基于低频声波波长方法:低频声波波长较长,遇到障碍物时会发生衍射,即声波可以绕开障碍物继续传播,避免了寄生反射。基于低频声波的共振原理,从初始共振频率(resonancefrequencyrf)换算出液位高度,得到了较好的测量效果。但是,该方法的最大量程取决于初始rf,而该频率的最小值受扬声器原理、类型、声源体积和质量等因素的限制,一般仅为20hz。若在标准声速c=331.45m/s下进行测量,最大量程也只有8.28m。并且,这也对麦克风的灵敏度提出了较高的要求,而一般麦克风可以感应到的最低音频为20hz左右,这些因素都极大的限制了该方法在长距离测量中的应用。

(3)为了解决低频声波共振测量方法存在的测量距离受限的问题,基于固定频段声波共振的液位测量方法将发射低频声波信号改为固定频段的扫频信号。改进后的方法无需提取基础共振频率点,改用提取一系列的共振频率点,根据相邻共振频率点的差值换算出测量装置与液面之间的距离。基于声共振的液位预测方法在提取等特征提取过程中,删除了大量无关的原始数据,减少了运算量。但是这种人为的设定特征提取只是从信号的一个角度分析数据信息,这种方法可能会取得相对最优的特征,却舍弃了很多原始信息,在嘈杂的环境中,就会出现共振点多选或者遗漏的问题,这样会大大降低液位测量精度。

近年来深度学习在图像处理、自然语言处理领域得到了广泛的应用,其“端到端”的学习方法是区别去其他算法的最重要的方面,它使整个学习流程并不进行人为的子问题划分,而是完全交给深度学习模型直接学习从原始输入到期望输出的映射,有更大可能获得全局最优解。



技术实现要素:

本发明的目的针对现有技术存在的不足,提出了一种基于短时傅里叶变换和卷积神经网络的液位预测方法。

本发明包括以下步骤:

步骤(1)获取数据集

本发明使用的数据均通过声共振液位测量仪器(简称液位仪)采集得来,该套设备测量系统的扬声器发出1000到2500hz正弦波,麦克风实时采集传回共振波并将其存储。从已测得液位数据库中选取完整、无扰动的声波数据,对应的测量长度作为数据标签。

步骤(2)特征提取

将采集到的5000组原始信号进行短时傅里叶变换,使得一维时域波形信号转换成二维数据的时频域的频谱图形式;短时傅里叶变换(stft)的数学公式如下:

其中,y(n)为音频信号,g(n)为窗函数,f为频率,t为时间,e、π分别是自然对数底数和圆周率,二者均是常数。

步骤(3)构建卷积神经网络

本发明搭建了一个三层卷积神经网络回归模型;选用adam作为优化算法,选用均方误差mse作为损失函数。

所建立的卷积神经网络模型中每一层网络都包含卷积层、池化层、非线性激活层。第一层卷积神经网络卷积层conv1的卷积核大小为5×5,通道数为6,步长为1,最大值池化层核大小为2,步长为1;第二层卷积神经网络卷积层conv2的卷积核大小为5×5,步长为1,通道数为16,最大值池化层核大小为2,步长为1;第三层卷积神经网络卷积层conv3卷积核大小为5×5,步长为1,通道数为120,最大值池化层核大小为2×2,步长为1,全连接层fc1隐藏节点个数为120;全连接层fc2隐藏节点个数为84;全连接层fc3隐藏结点个数为1。

步骤(4)卷积神经网络的训练及评估

将采集到的5000组数据集数据按8:1:1分成训练集、验证集、测试集。首先将训练集数据输入到然后步骤3建立的模型中,然后将测试集输入到已经训练好的卷积神经网络当中,输出预测到的液位高度。

adam是优化算法是随机梯度下降法的扩展式,它能基于训练数据迭代地更新网络权重。近年来,该算法被广泛应用在深度学习领域,尤其是计算机视觉和自然语言处理等任务当中。因此,选用adam算法作为本发明的优化算法。

在机器学习中,损失函数(lossfunction)是用来估计模型的预测值和真实值的不一致程度,损失函数越小,一般就代表模型的鲁棒性越好,正是损失函数指导模型参数的学习。

本发明选用均方误差作为损失函数,它是预测值与标签的差值的平方和的均值,其公式如下所示:

其中yi第i个样本的样本标签,是预测值,n表示样本总量。

根据上述评估结果,优选兼顾预测误差和网络复杂度(参数量和计算量)的卷积神经网络作为最终模型。

本发明的有益效果:本发明采用固定频段的声共振液位预测方法,可扩大液位测量范围,通过短时傅里叶变换将每一个音频信号转换到二维频域作为卷积神经网络的输入;通过构建卷积神经网络回归模型,实现从原始数据到任务目标的映射过程;通过对模型参数迭代优化,提升卷积神经网络模型的泛化能力和预测结果的准确性。

附图说明

图1.本发明的流程图;

图2.基于声共振原理的液位预测系统;

图3.麦克风采集到的时域的波形图及时频图;

图4.训练损失曲线。

具体实施方式

下面结合附图对本发明进行进一步的说明。

根据图1所示的算法流程图,并结合实际测量环境以及液位测量实例,详细的介绍该方法的每一个步骤。

步骤1:获取数据

在声共振液位测量装置上构建预测模型数据集,如图2所示,扬声器播放固定频段的正弦波,同时麦克风采集共振波数据,并将数据存贮到处理器内置的内存卡中。实验中,采集标签为0.6m、0.8m、1.0m……10.4m的音频数据,每个标签采集100组数据共5000组作为数据集。针对原始一维时域波形信号可以进行高斯平均滤波、中值滤波等滤波处理,然后进行min-max归一化处理。

步骤2:特征提取

根据相关领域的先验知识和专家经验,对原始信号做短时傅里叶变换(stft)处理,将步骤1处理后的一维时域波形信号转换到具有二维结构的时频域的频谱图形式。提取频谱图的均值特征、方差特征、积分特征等能够反映频域信号特性的特征。短时傅里叶变换(stft)的数学公式如下:

其中,y(n)为音频信号,g(n)为窗函数。f为频率,t为时间,e、π分别是自然对数底数和圆周率,二者均是常数。图3表示麦克风采集的标签为10的时域波形图及经过短时傅里叶变换后的时频图。

步骤3:构建卷积神经网络模型

建立的三层卷积神经网络模型。设计的卷积神经网络结构及其超参数如表1所示。

表1:cnn网络结构体系

其中,“f”表示卷积核,“s”为步长,“p”为填充参数。

步骤4:卷积神经网络的训练和优化

(1)利用步骤2获取的数据集,在pytorch深度学习框架下对卷积神经网络进行训练及优化,得到可以预测液位高度的卷积神经网络模型。本实施例中,液位的高度为连续值,故构建基于卷积神经网络的回归模型。并采用均方误差(mse)度预测值与真实值间差异。

(2)神经网络对生成的数据集进行训练和测试,深度学习的效果评估主要依赖训练损失曲线和正确率曲线。图4是学习率为0.001、20次迭代的训练损失函数曲线。

(3)深度卷积神经网络的评估与改进

基于分类准确率,对上述深度卷积神经网络模型性能进行评估。

调整模型超参数(卷积层数、卷积核数量、非线性激活函数类型、学习率等),重新训练模型,评估其性能。

根据评估结果,选出兼顾准确率和网络复杂度(参数量和计算量)的结构作为最终模型,提升模型表示能力和泛化能力。表2是从训练集中随机选取五组数据并输出预测结果,表3是从测试集中随机选取五组数据并输出预测结果。

表2:训练集预测结果

表3:测试集预测结果

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1