基于移动终端的风速测量及风噪声检测方法及装置

文档序号:27486783发布日期:2021-11-22 13:12阅读:126来源:国知局
基于移动终端的风速测量及风噪声检测方法及装置

1.本发明涉及风速测量及风噪声检测领域,特别涉及一种基于移动终端的风速测量及风噪声检测方法及装置。


背景技术:

2.现代战争中风速/风向等气象信息对野外作战的有着至关重要的影响。目前风速/风向测量方法主要依赖事先部署气象观测站,通过获取采样数据进行预测。一般来说,部署的气象站节点越多,预测的精度越高,但这种方法在野外作战中无效,因为野外环境无法提前部署所需的气象站节点。因此,在无气象站情况下,如何正确、快速、动态地测算风速风向一直是现代战争中一个重要的研究课题。近年来,移动科技的快速发展和群智计算的兴起,使得基于移动技术设备(例如,智能手机)的风速测量成为可能。利用群智计算技术,战场上的士兵、武器装备等都可以作为“移动的气象观测站”来采集信息,进行气象预测。
3.在现有的基于移动终端的风速测量方法中,大多需要添加外置传感器从而实现测量风速以及风噪声的目的。


技术实现要素:

4.为了解决上述问题,本发明提供一种不需要外接设备就能够测量风速以及风噪声的风速测量及风噪声检测方法及装置。
5.为了实现上述目的,本发明一方面提供一种基于移动终端的风速测量及风噪声检测方法,包括:
6.获取移动终端中顶部麦克风和底部麦克风收集的数据;
7.将所述顶部麦克风收集的数据和底部麦克风收集的数据进行分离;
8.分别对分离后的数据进行特征提取;
9.构建神经网络;
10.将顶部麦克风提取的特征输入到所述神经网络中检测风噪声;
11.将底部麦克风提取的特征输入到所述神经网络中测量风速。
12.在上述所述风速测量及风噪声检测方法中,分别对分离后的数据进行特征提取,进一步包括:
13.分别获取顶部麦克风和底部麦克风收集的数据的波形;
14.根据所要提取的特征进行对所述波形进行相应的运算。
15.在上述所述风速测量及风噪声检测方法中,进一步的,所述特征包括:顶部麦克风的熵、底部麦克风的熵、顶部麦克风的标准差、底部麦克风的标准差、顶部麦克风的偏度、底部麦克风的偏度、顶部麦克风的峭度、底部麦克风的峭度、顶部麦克风的波形因子、底部麦克风的波形因子、顶部麦克风的频率标准差、底部麦克风的频率标准差、顶部麦克风在[20,120]频段上振幅的均值、底部麦克风在[20,120]频段上振幅的均值、两个麦克风的相关性、两个麦克风频谱相减,在频率[20,120]上的振幅取均值,中的一种或多种。
[0016]
在上述所述风速测量及风噪声检测方法中,进一步的,所述神经网络为:
[0017]
一维卷积的输入是矩阵,输出也是矩阵,记输入的特征图为i(h
×
w),输出图为o,中间有c个长度为o n卷积核,记作k(c
×
n),则输出特征图的尺寸为c
×
max{w

n+1,1}。设o[i][j]代表o矩阵第i行第j列的元素的值,并假设我们的索引是从1开始编号的,则o的计算公式为:
[0018][0019]
tanh激活函数:
[0020]
relu(x)=max{0,x}
[0021]
relu激活函数:
[0022][0023]
softmax激活函数:
[0024][0025]
其中a是一个n维向量,a[i]代表向量a的第i个元素。
[0026]
在上述所述风速测量及风噪声检测方法中,进一步的,所述将顶部麦克风提取的特征输入到所述神经网络中测量风速,进一步包括:
[0027]
先通过四个长度为5的一维卷积核的映射,通过relu激活输出后,得到了4
×
16的特征图;
[0028]
接着再通过八个长度为5的一维卷积核,通过relu激活输出后,得到了8
×
12的特征图;
[0029]
接着通过四个长度为5的一维卷积核,通过tanh激活输出后,得到了4
×
8的特征图;
[0030]
接着通过两个长度为5的一维卷积核,无激活输出后,得到了2
×
4的特征图;
[0031]
最后通过一个长度为4的一维卷积核,无激活输出后,得到了1
×
1的特征图,此时的特征图只有一个值,该值就是回归通道得到的风速测量结果。
[0032]
在上述所述风速测量及风噪声检测方法中,进一步的,将底部麦克风提取的特征输入到所述神经网络中检测风噪声,进一步包括:
[0033]
输入首先经过四个长度为5的一维卷积核的映射,通过tanh激活输出后,得到了4
×
16的特征图;
[0034]
接着再通过八个长度为5的一维卷积核,通过tanh激活输出后,得到了8
×
12的特征图;
[0035]
接着通过四个长度为5的一维卷积核,通过tanh激活输出后,得到了4
×
8的特征图;接着通过两个长度为5的一维卷积核,无激活输出后,得到了2
×
4的特征图;
[0036]
然后将得到的2
×
4的卷积图平坦化,得到一个长度为8的向量,接着通过一个全连接层,softmax激活输出,将大小为8的向量映射成长度为2的向量;
[0037]
最后判断这个二维向量哪个位置上的值更大,如果这个二维向量第一个位置上的值大于第二个位置上的值,那么就将分类结果判定为无风噪声,否则就判定为有风噪声。
[0038]
在上述所述风速测量及风噪声检测方法中,进一步的,所述全连接层的大小为m,所述全连接层的输入是向量,输出也是向量。记输入向量为n维向量a,输出向量为b,全连接层记为w,其大小为m,则b的维度为m。w就是一个n
×
m的矩阵,b的计算公式为b=a
×
w,其中
×
为矩阵乘法。
[0039]
在上述所述风速测量及风噪声检测方法中,优选的,当风速低于0.4m/s时,则无风噪声。
[0040]
另一方面,本发明提供一种基于移动终端的风速测量及风噪声检测装置,包括:
[0041]
获取单元,用于获取移动电子设备中顶部麦克风和底部麦克风收集的数据;
[0042]
分离单元,用于将所述顶部麦克风收集的数据和底部麦克风收集的数据进行分离;
[0043]
特征提取单元,用于分别对分离后的数据进行特征提取;
[0044]
构建单元,用于构建神经网络;
[0045]
第一测量单元,用于将顶部麦克风提取的特征输入到所述神经网络中检测风噪声;
[0046]
第二测量单元,用于将底部麦克风提取的特征输入到所述神经网络中测量风速。
[0047]
本发明相对于现有技术的有益效果是:本发明提供的风速测量及风噪声检测方法通过获取移动终端上顶部麦克风以及底部麦克风收集的数据,然后对数据进行处理提取特征,再将特征输入到神经网络中,从而测量风速以及风噪声,不需要额外的增加传感器,从而保证移动设备录制视频或者音频的质量。
附图说明
[0048]
图1是本发明实施例提供的一种基于移动终端的风速测量及风噪声检测方法的流程图;
[0049]
图2是本实施例提供的神经网络的结构图;
[0050]
图3是本实施例中神经网络经过训练后检测风噪声的误差数据图;
[0051]
图4是本实施例中风速测量的实验数据图;
[0052]
图5和图6是本实施例中神经网络经过训练后测量风速的误差数据图;
[0053]
图7是本发明实施例提供的一种基于移动终端的风速测量及风噪声检测装置的结构图。
具体实施方式
[0054]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0055]
如本技术和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包
括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其他的步骤或元素。
[0056]
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本技术的范围。同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
[0057]
参照图1,本实施例提供一种基于移动终端的风速测量及风噪声检测方法,包括以下步骤:
[0058]
s10:获取移动终端中顶部麦克风和底部麦克风收集的数据;
[0059]
在本实施例中,具体的,通过oboe库调用android的native层(本地服务),再调用设备麦克风进行音频录制,从而实现低延迟的数据采集。存储数据时,使用两个mdata数组,每个数组可以存放一分钟的数据。当一个数组存满,记录此刻的unix时间戳,同时用另一个数组存。将时间戳和数组的数据存入文件中。文件名的时间是通过java.util.date()获得系统当前的时间和日期,即开始记录数据的时间。写入文件的函数每500ms被唤醒一次。当采集时间不足一分钟时,将提示“数据采集时间过短,未生成文件”。保存的文件以“年











时长.txt”的文件名保存,文件每一行记录了一分钟的数据。
[0060]
s20:将所述顶部麦克风收集的数据和底部麦克风收集的数据进行分离;
[0061]
需要说明的是,收集系统收集的mic时序序列数据为前后麦克风交替排列的数据,故需要对数据进行分离,具体的,首先将时序序列数据进行分离,分离的方法为将存储着数据的数组间隔一个数据取出,分别得到两个麦克风的时序序列数据。以一分钟数据为例,在采样率为22050时,每分钟两个麦克风各有22050*60个数据。
[0062]
s30:分别对分离后的数据进行特征提取;
[0063]
具体的,由于麦克风收集的数据为声音的波形,故首先对得到的波形文件做预处理,计算机对音频的存储方式为采样点,每个采样点的值代表该点时刻波形的振幅;接着根据所要提取的特征进行对所述波形进行相应的运算。在本实施例中,所要提取的特征如表1所示
[0064]
表1
[0065][0066]
需要说明的,由于针对上述特征对波形做具体的运算属于本领域的现有技术手段,故在此不再赘述。
[0067]
s40:构建神经网络;
[0068]
具体的,本实施例提供的神经网络的结构图如图2所示,该神经网络一维卷积的输入是矩阵,输o出也是矩阵,记输入的特征图为i(h
×
w),输出图为o,中间有c个长度为n卷积核,记作k(c
×
n),则输出特征图的尺寸为c
×
max{w

n+1,1}。设o[i][j]代表o矩阵第i行第j列的元素的值,并假设我们的索引是从1开始编号的,则o的计算公式为:
[0069][0070]
tanh激活函数:
[0071]
relu(x)=max{0,x}
[0072]
relu激活函数:
[0073][0074]
softmax激活函数:
[0075][0076]
其中,a是一个n维向量,a[i]代表向量a的第i个元素。
[0077]
s50:将顶部麦克风提取的特征输入到所述神经网络中检测风噪声;
[0078]
输入首先经过四个长度为5的一维卷积核的映射,通过tanh激活输出后,得到了4
×
16的特征图;
[0079]
接着再通过八个长度为5的一维卷积核,通过tanh激活输出后,得到了8
×
12的特征图;
[0080]
接着通过四个长度为5的一维卷积核,通过tanh激活输出后,得到了4
×
8的特征图;接着通过两个长度为5的一维卷积核,无激活输出后,得到了2
×
4的特征图;
[0081]
然后将得到的2
×
4的卷积图平坦化,也就是逐行遍历,得到一个长度为8的向量,接着通过一个全连接层,softmax激活输出,将大小为8的向量映射成长度为2的向量;
[0082]
最后判断这个二维向量哪个位置上的值更大,如果这个二维向量第一个位置上的
值大于第二个位置上的值,那么就将分类结果判定为无风噪声,否则就判定为有风噪声。
[0083]
需要说明的是,上述全连接层的大小为m,所述全连接层的输入是向量,输出也是向量。记输入向量为n维向量a,输出向量为b,全连接层记为w,其大小为m,则b的维度为m。w就是一个n
×
m的矩阵,b的计算公式为b=a
×
w,其中
×
为矩阵乘法。
[0084]
表1经过神经网络检测风噪声的实验值与真实值对比表
[0085]
序号真实值预测值序号真实值预测值111160121117113111811411191151120116112111711221181123119112411101125111111261112112711131128111411290115113011
[0086]
表1为神经网络测量出的数据,其中1表示有噪声,0表示没有噪声,从实验数据可以看出,该神经网络的检测效果非常好。
[0087]
参照图3,图3是该神经网络训练过程中的测量数据,其中,epoch代表一个周期,loss表示实际值与测量值之间的误差,accuracy是准确率,由图3可以看出,该神经网络经过训练之后准确的非常高。
[0088]
s60:将底部麦克风提取的特征输入到所述神经网络中测量风速。
[0089]
具体的,将顶部麦克风的数据先通过四个长度为5的一维卷积核的映射,通过relu激活输出后,得到了4
×
16的特征图;
[0090]
接着再通过八个长度为5的一维卷积核,通过relu激活输出后,得到了8
×
12的特征图;
[0091]
接着通过四个长度为5的一维卷积核,通过tanh激活输出后,得到了4
×
8的特征图;
[0092]
接着通过两个长度为5的一维卷积核,无激活输出后,得到了2
×
4的特征图;
[0093]
最后通过一个长度为4的一维卷积核,无激活输出后,得到了1
×
1的特征图,此时的特征图只有一个值,该值就是回归通道得到的风速测量结果。
[0094]
在此需要说明的是,当风速测量结果显示风速低于0.4m/s时,无论之前的风噪声检测结果如何都说明此事无风噪声。
[0095]
图4是本实施例中的具体实验数据,其中,wind speed表示实际风速,cnn表示通过
卷积神经网络测量的风速,lstm表示通过lstm神经网络测量的风速,横坐标表示时间,纵坐标表示风速的等级,由图3可知,通过神经网络测量的风速与实际风速差距很小。
[0096]
另外,通过多次的训练之后,两者之间的差距会越来越小,参照图5和图6,图中,每一个epoch代表一个周期,就是所有训练样本的一个正向传递和方向传递,loss是预测值和真实值得不一致程度,这就是误差,图4是cnn神经网络经过训练后的误差数值,图5是lstm神经网络经过训练后的误差数值,从两个数据可以看出,神经网络模型经过训练之后,对于预测风速的误差,其loss值能降到1.1,误差值在可接受范围内,效果很好。
[0097]
另一方面,参照图7,本发明提供一种基于移动终端的风速测量及风噪声检测装置,包括:
[0098]
获取单元100,用于获取移动电子设备中顶部麦克风和底部麦克风收集的数据;在此需要说明的是,由于具体的获取方式以及过程在上述一种基于移动终端的风速测量及风噪声检测方法的步骤s10中已经详细阐述,故在此不再赘述。
[0099]
分离单元200,用于将所述顶部麦克风收集的数据和底部麦克风收集的数据进行分离;由于具体的分离方式以及过程在上述一种基于移动终端的风速测量及风噪声检测方法的步骤s20中已经详细阐述,故在此不再赘述。
[0100]
特征提取单元300,用于分别对分离后的数据进行特征提取;由于具体的提取方式以及过程在上述一种基于移动终端的风速测量及风噪声检测方法的步骤s30中已经详细阐述,故在此不再赘述。
[0101]
构建单元400,用于构建神经网络;由于具体的构建方式以及过程在上述一种基于移动终端的风速测量及风噪声检测方法的步骤s40中已经详细阐述,故在此不再赘述。
[0102]
第一测量单元500,用于将顶部麦克风提取的特征输入到所述神经网络中检测风噪声;由于具体的测量方式以及过程在上述一种基于移动终端的风速测量及风噪声检测方法的步骤s50中已经详细阐述,故在此不再赘述。
[0103]
第二测量单元600,用于将底部麦克风提取的特征输入到所述神经网络中测量风速;由于具体的测量方式以及过程在上述一种基于移动终端的风速测量及风噪声检测方法的步骤s60中已经详细阐述,故在此不再赘述。
[0104]
另外,本发明实施例还提供一种计算机可读存储介质,其中,该计算机可读存储介质可存储有程序,该程序执行时包括上述方法实施例中记载的任何一种基于移动终端的风速测量及风噪声检测方法的部分或全部步骤。
[0105]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0106]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储器包括:u盘、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0107]
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:read

only memory,简称:rom)、随机存取器(英文:random access memory,简称:ram)、磁盘或光盘等。
[0108]
以上参照附图描述了根据本发明的实施例的用于基于移动终端的风速测量及风噪声检测方法的示例性流程图。应指出的是,以上描述中包括的大量细节仅是对本发明的示例性说明,而不是对本发明的限制。在本发明的其他实施例中,该方法可具有更多、更少或不同的步骤,且各步骤之间的顺序、包含、功能等关系可以与所描述和图示的不同。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1