一种基于音频特征的状态检测方法、装置及设备与流程
本申请属于语音识别领域,特别涉及一种基于音频特征的状态检测方法、装置及设备。
背景技术:
利用人类语音信息,可建立语音识别系统、说话人确认或者辨认声纹系统、预测说话人的性别、情绪、年龄等。得力于数据采集的便利性和技术的发展,类似语音应用,比如智能语音识别、声纹识别系统、语义理解等在近几年已经被广泛建立、使用和不断改进。但利用音频信号对工业设备的运行状态进行预测,例如,根据工业设备在运行时发出的声音来判断该工业设备当前是否为正常运行状态,或者,根据所述声音来预测该工业设备可能发生的故障。
目前,本领域主要存在以下几个问题或者难点:一是状态模型建立所需的标注数据,既需要处于不同状态的设备的音频数据采集、积累、简单处理,也需要录取这些设备在不同时间段的异常音频信息以期能全面获取到各种异常状态的音频信号信息。二是如何选择模型进行建模,从而得到准确可靠的预测结果判断。三是工业设备的运行问题会不断被发现和积累,如何更新、改进和优化已建立的状态预测模型。
技术实现要素:
本申请提供一种基于音频特征的状态检测方法,所述方法通过深度学习建立状态检测模型,并利用所述状态检测模型来检测作业现场声音是否为设备正常运行所发出的声音,从而检测作业设备的运行是否正常。本申请提供的方法能够快速判断出设备的运行状态,为设备的检修、设备安全运行提供定量依据。
本申请提供的目的在于提供以下几个方面:
第一方面,本申请提供一种基于音频特征的状态检测方法包括:获取待检测音频;从所述待检测音频中提取静音频率以及每段静音时长;如果所述静音频率超出预设静音频率阈值,或者所述每段静音时长超出静音时长阈值,则发送异常运行警告。
进一步地,如果所述静音频率满足预设静音频率阈值,并且,所述每段静音时长满足静音时长阈值,则,所述方法还包括:对所述待检测音频进行预处理;将预处理后的所述待检测音频分帧成多个短时帧;对每个短时帧进行特征提取生成短时帧特征向量;根据所述待检测音频所有所述短时帧特征向量生成该待检测音频的运行状态。
结合第一方面,所述对所述待检测音频进行预处理包括:将所述待检测音频分帧成多个子时帧;对每个子时帧进行特征提取生成子时帧特征向量;根据所述子时帧特征向量计算该子时帧的信噪比;保留信噪比大于预设信噪比阈值的子时帧;将所有保留的子时帧按时间顺序合并为一段音频。
结合第一方面,所述对每个短时帧进行特征提取生成短时帧特征向量包括:对每帧短时帧进行预增强生成增强短时帧;依次对每个增强短时帧进行fft变换;根据fft变换结果计算每个短时帧的梅尔能量谱;根据所述梅尔能量谱分别计算每个短时帧的logfbank特征向量;根据所述logfbank特征向量生成每个短时帧的mfcc特征向量。
第二方面,本申请还提供一种基于音频特征的状态检测装置,所述装置包括:音频获取单元,用于获取待检测音频;分帧单元,用于从所述待检测音频中提取静音频率以及每段静音时长;报警单元,用于如果所述静音频率超出预设静音频率阈值,或者所述每段静音时长超出静音时长阈值,则发送异常运行警告。
第三方面,本申请还提供一种基于音频特征的状态检测终端,所述终端包括音频采集装置、如第二方面所述的状态检测装置和报警装置。
第四方面,本申请还提供一种计算机存储介质,该计算机存储介质可存储有程序,该程序执行时可实现包括如第一方面所述状态检测方法的部分或者全部步骤。
第五方面,本申请还提供一种终端,该终端包括:收发器、处理器和存储器等器件,所述处理器可以执行所述存储器中所存储的程序或指令,从而实现如第一方面所述的方法。
第六方面,本申请还提供一种计算机程序,当其在计算机上运行时,所述程序使得所述计算机执行如第一方面所述的方法。
附图说明
图1为本申请实施例提供方法在模型训练阶段的流程示意图;
图2示出本实施例一种可用的三角形滤波器的示意图;
图3示出本申请一种实施例的状态检测方法流程图。
具体实施方式
下面通过对本发明进行详细说明,本发明的特点和优点将随着这些说明而变得更为清楚、明确。
以下详述本发明。
本申请提供的方法用于基于音频特征来检测目标设备的运行状态,所述运行状态包括正常状态和异常状态,其中,所述正常状态是指目标设备正常运转无异常状况的运行状态;所述异常状态是指目标设备无法正常运转或者部分功能发生故障的运行状态。以汽车引擎为例,考察其是否为正常状态需要考察多个指标,如引擎运转时产生的热量和引擎的振动系数等,如果所有考察指标的考察结果全都在规定范围内,则该发动机处于正常状态,如果仅是引擎的振动系数有异常,则可标注该引擎的运行状态为第一种异常状态,如果仅是引擎运转时产生的热量有异常,则可以标注为第二种异常状态,如果二者皆有异常,则可以标注为第三种异常状态,依此类推,根据不同异常源或者异常态可以对同一个引擎定义多种异常状态结果。同样地,这种标注方式也适用于其它目标设备异常状态的标注。通常,查找目标设备的异常是通过人工检修的方法逐一排查可能的异常之处,这种排查耗时耗力,往往排查结果也不理想。
在本实施例中,以检测汽车引擎是否运行正常为例说明本申请提供的方法。本申请的方法至少包括一个目标设备、一个采音设备、一个处理器和一个报警设备。其中,所述目标设备为检测对象,在本实例中,所述汽车引擎即为目标设备。所述采音设备与所述目标设备安装在一起,并且,所述采音设备可以包括多个采音头,用于分别采集同一个目标设备不同位置所出的声音,在不同位置采集到的音频分别上传给处理器,处理器可以分别单独处理这些音频,也可以将其按照预设规则合成后再进行处理。所述处理器可以与所述采音设备安装在一起,也可以与采音设备分离而单独设置,采音设备与处理器可以通过电连接,也可以通过wifi等无线通信方式连接。所述报警设备用于向检测者发出警报提示,可以使用现有技术中任意一种能够发出警报信号的设备,如电子喇叭、警灯或者两者同时运行的设备,所述报警设备设置于检测者附近,以便于检测者观察报警结果,所述报警设备与所述处理器可以通过电连接,也可以通过wifi等无线通信方式连接。
本申请的方案是基于深度神经网络模型的状态检测系统,具体是指利用seqtoseq(sequencetosequence,序列到序列)机制的学习模型在经过大规模的音频训练得到的状态检测系统。所述学习模型包括lstm-rnn等模型,其中,lstm为长短期记忆网络(longshort-termmemory),rnn为循环神经网络(recurrentneuralnetwork)。
作为一种机器学习模型,基于深度神经网络的状态检测系统包括模型训练和模型使用两个阶段。
所述模型训练阶段是指根据训练音频,通过反向传播等算法来确定神经网络上各个模块参数的阶段。
所述模型使用阶段是指在所述模型训练阶段结束后,利用已经训练的模型,以由目标设备采集而得的待检测音频为输入,通过神经网络系统中各个模块的计算,判断所述目标设备运行状态是否正常的阶段。
为便于理解,首先介绍模型训练阶段。
所述模型训练阶段主要用于确定所述模型中各个计算模块的参数,所述参数包括学习率、深度、每一层的神经元个数和神经元之间的连接权重等。
图1为本申请提供方法在模型训练阶段的流程示意图,结合图1,具体地,所述模型训练阶段包括:
s101,获取训练音频。
在本实施例中,所述训练音频可以为针对特定类型目标设备在运行正常状态下所采集的音频,或者,在特定类型目标设备运行异常状态下所采集的音频。其中,特定类型目标设备是指与待检测的目标设备相同类型的设备,对于某些设备而言,需要采集与待检测目标设备相同型号的设备所发出的声音,例如,对于a品牌a型号的目标设备,在采集训练音频时,也要使用a品牌a型号的设备来采集音频,从而使所述模型输出的结果置信度最高。
在本实施例中,在模型训练阶段,所述特定类型目标设备的运行状态可以根据使用经验进行人工判断。可选地,所述特定类型目标设备的异常类型可以人工判断,并且标记于所述训练音频中。
进一步地,所述运行异常可以包括多种形式的运行异常,并且,需要在各种异常情况下采集音频,从而丰富运行异常的音频样本,进而使模型训练更为充分。
更进一步地,本实施例对所述训练音频的时长不做特别限定,以能够提到特征音频信息为优选。例如,所述训练音频的时长可以大于检测音频的时长。
在本实施例中,可以使用现有技术中任意一种能够获取设备运行现场音频的方法来获取训练音频,例如,可以使用如麦克风等采音设备对目标设备进行采音。
在一种可实现的方式中,所述采音设备可以自动运行,进行不间断采音或者周期性的间断采音,也可以是检测者手动启动采音设备,进行人工采音。
可选地,每次采音时长可以是相同的,也可以是不同。
在一种可选的实现方式中,所述采音设备自动周期性运行,并且,每次采音时长相同,例如,每次采音10min,得到一段10min的训练音频。
在一种可实现的方式中,所述采音设备在每次采音结束后,将采集得到的训练音频上传给处理器。
s102,从所述运行正常状态的训练音频中提取静音频率以及每段静音时长。
由于目标设备在正常运行状态下存在周期性静音的可能,而且,对于一般的设备来讲,在其正常运行时,静音的频率和静音的时长基本是固定不变的,例如,汽车引擎在运行过程中,其发出的声音呈现周期性的强弱变化,或者,声音呈现周期性的有无。因此,本实施例可以从正常运行状态的训练音频中提取静音频率以及静音时长,作为目标设备是否处于正常运行状态的一个指标。
在本实施例中,所述静音可以是指声音强度低于预设声强阈值的音频,所述预设声强阈值可以根据不同目标设备而具体设定。
在一种可实现的方式中,可以采集多条运行正常状态的训练音频中静音频率以及静音时长,从而生成针对当前类型目标设备的预设静音频率阈值和预设静音时长阈值。
在本实施例中,从所述训练音频中提取静音频率和静音时长可以包括:
s121,从所述训练音频中标记静音音频的起始点和终止点。
在本实施例中,所述静音音频起始点前一帧的声音强度大于所述预设声强阈值,所述静音音频终止点后一帧的声音强度大于所述预设声强阈值,在所述起始点与所述终止点之间任意一帧的声音强度均小于所述预设声强阈值。
在本实施例中,在同一段训练音频中可以只包括一段静音音频,也可以包括多段静音音频。
s122,获取相邻两个静音音频之间的时长,以及同一个静音音频中起始点与终止点之间的时长。
在本实施例中,如果在同一段训练音频中只包括一个静音音频,则可以仅获取静音时长,而不获取静音频率。
s123,根据所述步骤s122获取的结果生成静音频率和静音时长。
在本实施例中,所述静音频率可以通过相邻两个静音音频之间的时长计算得到,所述相邻两个静音音频之间的时长为上一个静音音频的终止点与相邻下一个静音音频起始点之间的时长。
在本实施例中,所述静音时长可以为同一个静音音频中起始点与终止点之间的时长。
s103,对所述训练音频进行预处理。
在本实施例中,在采集所述训练音频时,不可避免地会收录到一些并非所述目标设备所发出的声音,即,噪音,如果在模型训练的过程中保留这些噪音则会使训练得到的模型认为这些噪音也是正常运行所发出声音的一部分,则会在模型使用阶段对目标设备运行状态出现误判。
此外,由于静音中不存在任何声纹特征,因此,如果一段训练音频中存在大量静音,则会造成判断效率低。
结合上述两条原因,本实施例对训练音频进行预处理,从而除去训练音频中的噪音以及静音,进而提高模型训练的准确度和效率。
在一种可实现的方式中,所述对所述训练音频进行预处理可以包括:
s131,去除所述训练音频中的静音。
在本实施例中,在步骤s102中已经确定出训练音频中的静音片段,可以根据步骤s102的结果去除所述训练音频中的静音片段。
本实施例对去除所述训练音频中静音片段的方法不做特别限定,可以使用现有技术中任意一种裁剪音频的方法以及程序。
所述静音片段的起始点为步骤s102中确定的静音音频的起始点,所述静音片段的终止点为步骤s102中确定的静音音频的终止点。
在本步骤中,需要把所述训练音频中所有的静音片段全部去除。
s132,去除所述训练音频中的噪音。
在本实施例中,所述去除所述训练音频中的噪音可以使用开源软件webrtc的噪音抑制ns模块,具体地,所述去除所述训练音频中的噪音可以包括以下步骤:
s1321,将所述训练音频分帧成多个子时帧。
在本实施例中,所述训练音频中的静音全部去除后,将去除静音片段后的所有音频片段拼接得到的一段连续的没有静音音频的音频,再以此音频作为基础进行处理。
在本实施例的后续步骤中,所述训练音频是指该段拼接得到的音频。
在本实施例中,可以按照一定的时长将所述训练音频分帧成多段音频片段,即,子时帧,例如,每个子时帧的长度可以为20ms。
可选地,本实施例采用帧迭分帧的方法对所述训练音频进行分帧,即,分帧得到的两个相邻的子时帧之间交叠,例如,将所述训练音频的第1ms至20ms划分成第一子时帧,将所述训练音频的第11ms至第31ms划分成第二子时帧,以此类推,获得所述训练音频的所有子时帧。
进一步地,所述帧迭的时长可以为n/2,其中,n表示每个子时帧的时长。在信号处理中,将不定长的音频切分成固定长度的分帧,从而避免窗边界对信号遗漏,并且,在对帧做偏移的过程中,设置帧迭(帧与帧之间需要重叠一部分),一般取帧长的一半作为帧移,从而避免帧与帧之间的特性变化过大。
进一步地,如果最后一个子时帧的时长小于子时帧的时长,则删除最后一个子时帧或者补零(zero-padding)成一个子时帧。
s1322,估计所述训练音频的初始化噪音。
在本实施例中,所述初始化噪音作为进一步较为准确计算所述训练音频噪音的起始值,如果能够较为准确地估计所述初始化噪音,则后续所述训练音频噪音能够快速、简捷。
在本实施例中,所述初始估计噪音可以根据包括以下步骤的方法获得:
s13221,在每次采音前,都采集一小段设备不运转时不同种类背景噪音片段;
s13222,从每个音频的开头提取背景噪音得到所需的混合噪声;
s13223,对所述混合噪音进行建模,
s13224,根据步骤s13223所建立的模型生成初始化估计值。
在一种可选的方式中,在对每个子时帧进行特征提取之后,在估计所述训练音频初始化噪音之前,可以对每个子时帧进行傅立叶变换,从而在频域里获取更为稳定可靠的频率信息。
在本实施例中,所述傅立叶变换可以采用现有技术中常用的傅立叶变换方法。
s1323,对每个子时帧进行特征提取生成子时帧特征向量。
在本实施例中,所述子时帧特征向量包括该子时帧的高斯白噪音、粉红噪音、联合白噪音等。
其中,所述高斯白噪音可以是指如果一个噪音,它的瞬时值服从高斯分布,而它的功率谱密度又是均匀分布的,则称它为高斯白噪音;所述粉红噪音,有时也称作闪烁噪声,其名称源于这种功率谱下的可见光视觉颜色为粉色是一个具有功率谱密度(能量或功率每赫兹)与频率成反比特征频谱的信号或过程,在粉红噪声中,每个倍频程中都有一个等量的噪声功率;所述联合白噪声是随机过程,特点是整个频率范围内具有平坦的(恒定的)功率密度谱。多个不同白噪声的合成通常可以用联合高斯分布来表示,故得名联合白噪音。
在本实施例中,所述子时帧特征向量可以根据所述训练音频中最初若干帧子时帧而确定,例如,可以利用训练音频中前50~100帧子时帧来确定。
本实施例对确定所述子时帧特征向量的方法不做特别限定,可以采用现有技术中任意一种用于确定上述子时帧特征向量的方法。
s1324,根据所述子时帧特征向量生成混合噪音模型。
所述噪音模型用于噪音的预测和估计,其输入的信息为初始化录制的背景噪音,输出的信息为建立的模型。
在本实施例中,生成所述混合噪音模型使用业界常用的简单的高斯模型。
s1325,利用所述混合噪音模型对初始估计噪音进行加权计算。
本申请人发现,各种噪音的比例可能不一,加权计算可以更好的估计噪音,权重为模型预测的各类型噪音概率。
s1325,获取每个子时帧的先验信噪比和后验信噪比。
在本实施例中,所述信噪比(signal-noiseratio,snr)是指音频中信号与噪音的比例。
所述先验信噪比是指纯净语音信号的功率(x)与噪音信号的功率(d)的比值,假设语音是平稳的,切噪音和语音信号不相关,所以可以数学推导出先验信噪比是后验信噪比减去1和0之间的最大值。其可以根据如式(1)所示的方法计算而得。
其中,ξ表示先验信噪比,γ表示后验信噪比,k表示帧数,m表示频率,y表示噪音语音信号的功率。
所述后验信噪比是指带噪语音信号的功率(y)与噪音信号功率(d)的差值与噪音信号的功率(d)的比值,可以根据如式(2)所示的公式计算而得。
在本实施例中,所述纯净语音信号的功率(x)可以从y-d得到,其中d是估测值。
在本实施例中,所述噪音信号的功率(d)可以根据初始化的噪音模型预测估算。
在本实施例中,所述带噪语音信号的功率(y)即实际录制声音,所述录制声音包括语音和噪音,即y=x+d。
s1326,获取每个子时帧的特征参数,所述特征参数包括语音/噪音的高斯模型似然比(lrt)、频谱平坦度和频谱差异度。
在本实施例中,所述高斯模型似然比是指高斯模型在语音信号的概率除于高兴模型在噪音信号下的比值。
可选地,所述高斯模型似然比可以根据下式(3)所示的公式进行计算(n是高斯模型标志):
在本实施例中,所述频谱平坦度是指待测信号在其所处信道内功率平坦的程度,该算法假设语音比噪音有更多的谐波,也就是语音频率会在基频和谐波中出现峰值,而噪音频率则相对平坦,所以该特征计算能够作为区分噪音和语音的一个标准。
可选地,所述频谱平坦度可以根据下式(4)所示的公式进行计算,:
其中,n表示频率槽的数量,x表示频率带数量,n表示频率槽指数。
在本实施例中,所述频谱差异度是指频谱的差别计算,通常噪音频率比语音频谱更为稳定,所以噪音的频谱整理形状在任何给定阶段都倾向于相同,频率差异度小,而语音的频率差异度大,所以该特征的计算页可以用区分噪音和语音。
可选地,所述高斯模型似然比可以根据下式(5)所示的公式进行计算:
其中,h1表示基于语音的模型,h0表示基于噪音的模型,f表示信号的特征。
s1327,利用s1325计算得到的三个特征以及先验信噪比和后验信噪比分别计算语音/噪音概率检测值,而后进行加权求和,得到综合概率。
在本实施例中,所述每个子时帧的信噪概率检测值可以根据高斯模型似然比检测值、频谱平坦度检测值和频谱差异度检测值进行加权计算而获得,用于区分语音和噪音。
具体地,所述每个子时帧的语音/噪音信噪概率检测值可以根据(1)和(2)所示的公式进行计算。
在本实施例中,所述高斯模型似然比检测值可以根据(5)所示的公式进行计算。
频谱平坦度检测值和频谱差异度可以根据下式(4)和(5)所示的公式进行计算。
s1328,更新噪音估计值。
在本实施例中,通过签名步骤计算得到的噪音估计值、语音/噪音概率值,对噪音估计值进行更新,并根据更新后的噪音估计值对所述训练音频进行去噪处理。
在本实施例中,所述噪音估计值可以根据初始估计值、信噪概率检测值进行计算更新。具体地,所述语音估计值可以根据下式(6)所示的公式进行计算:
s1329,获取所述去噪后的训练语音。
在本实施例中,可以去除每个子时帧中的噪音,获得去噪后的子时帧,再将所有的子时帧进行拼接,获得去噪后的训练语音。
在本实施例后续步骤中,所述训练语音均是指该去噪后的训练语音。
s133,计算每个子时帧的信噪比。
在本实施例中,对所述训练音频进行去噪处理后,所述音频的时长并没有发生变化,仅去除音频中的背景噪音,因此,本实施例在对所述训练音频进行去噪处理后,无需重新分帧,可以使用原有的分帧进行后续处理。
在对训练音频进行去噪处理后,音频中噪音信号明显减弱,因此,可以进一步去除信息量小的弱音信号,所述弱音信号是指信噪比低于预设弱音阈值的音频信号。
s134,保留信噪比大于预设信噪比阈值的子时帧。
在本实施例中,将所述训练音频中弱音信号去除,仅保留信噪比大于或者等于预设弱音阈值的子时帧。
s135,将所有保留的子时帧按时间顺序合并为一段音频。
在本实施例中,可以将所有被保留的子时帧按照时间顺序进行合并,生成一段连续的音频。所述音频即为预处理后的训练音频,在本实施例后续步骤中,如无特别说明,所述训练音频均是指该预处理后的训练音频。
s104,将预处理后的所述训练音频分帧成多个短时帧。
由前述步骤可知,预处理后的训练音频是经过剪辑后合成的音频,因此,在后续处理前需要对所述训练音频重新进行分帧处理。
在本实施例中,所述分帧的方式可以为帧迭分帧的方法对所述训练音频进行分帧,即,分帧得到的两个相邻的子时帧之间交叠,例如,将所述训练音频的第1ms至20ms划分成第一子时帧,将所述训练音频的第11ms至第31ms划分成第二子时帧,以此类推,获得所述训练音频的所有子时帧。
进一步地,所述帧迭的时长可以为n/2,其中,n表示每个子时帧的时长。
进一步地,如果最后一个子时帧的时长小于子时帧的时长,则删除或者补零(zero-padding)到n的时长作为最后一个子时帧。
s105,对每个短时帧进行特征提取生成短时帧特征向量。
在本实施例中,所述短时帧特征向量包括梅尔能量谱和梅尔倒谱系数等。所述短时帧特征向量用于建立基于音频特征的状态检测模型,所述短时帧特征向量可以作为模型的输入信息。
在一种可实现的方式中,所述对每个短时帧进行特征提取生成短时帧特征向量包括:
s151,对每帧短时帧进行预增强生成增强短时帧。
在本实施例中,在提取所述短时帧特征向量之前,由于语音信号低频能量大,高频能量小,在传输过程中高频衰减大,所以需要对所述短时帧中的高频信号进行预加强,从而保证高频信号更接近自然语音,也能获得较好的信噪比。
可选地,可以利用下式(7)所示的公式对每个短时帧中的高频信号进行加强:
a(n)=s(n)–k·s(n-1)式(7)
其中,a(n)表示第n毫秒这个时间点上的增强后的信号强度;
s(n)表示第n毫秒这个时间点上的信号强度;
s(n-1)表示第(n-1)毫秒这个时间点上的信号强度;
k表示增强系数,其取值范围为[0.9,1],在本实施例中,k的取值可以为0.97;
n=1,2,3……,n,其中,n为每个短时帧的时长,例如,每个短时帧的时长为20ms,则n=20。
s152,依次对每个增强短时帧进行fft变换。
在本实施例中,所述fft变换是指快速傅立叶变换,所述快速傅立叶变换是指利用计算机计算离散傅里叶变换的方法,可以采用现有技术中任意一种进行fft变换的具体方式。
对每个增强短时帧进行fft变换后,能够将短时帧的时域信号转换为频域信号,从而便于后续处理。这里所述时域信号是指语音物理量对时间的函数,所述频域信号是指语音物理量对频率的函数。傅里叶变换可以将信号从时域转到频域。
由于本实施例所采集的音频是真实音频,即,数字音频,而非模拟音频,因此,本实施例可以采用fft变换将每个短时帧的时域信号转换为频域信号。
s153,根据fft变换结果计算每个短时帧的梅尔能量谱。
由于fft变换得到的频域信号在每个频带范围上的能量大小不一致,因此,可以利用三角滤波器来生成梅尔能量谱,例如,可以依次根据以下步骤获得:
(1)fft,(2)频谱-能量谱,(3)freqtofreeq_mel变换,(4)三角滤波器-梅尔能量fbank(5)对(4)的结果取log,得到logfbank。
在本实施例中,步骤s152中,在原始信号分帧操作后,对每一帧做fft(快速傅立叶变换),把时域信号转成频率信号,从而生成每个短时频的频谱,所述频谱是指一个时域的信号在频域下的表示方式,是频率谱密度的简称,是频率的分布曲线。
具体操作上,对一帧的信号做傅立叶变换,得到的结果就是频谱(spectrum)。在fft变换中有个n参数,便是对多少个(n)点做fft,如果一个帧的点的个数小于n就会zero-padding到n的长度,对一这个帧的信号做fft后会得到n个点的复数。复数的平方计算即得到能量谱,也叫能量谱密度,所述能量谱密度用于描述信号的能量如何随频率分布。
进一步地,为获取梅尔能量谱(filterbank,orfbank),即定义在梅尔标度上的能量,首先需要对频率信号利用下面公式(8)映射到梅尔标度上:
接着,可以根据需要创建三角滤波器的数量,例如,以本实施例为例,可以选用40个三角滤波器:相邻三角滤波器之间存在交叉的部分,下一个滤波器的开始位置是上一个滤波器的中心频率位置。每个滤波在中心频率的响应都是1,然后线性下降,一直到相邻三角滤波的中心频率处为0。
在一种可实现的方式中,本实施例可以采用如图2所示的三角滤波器。
三角滤波器输出可按如下公式(9)获得,如下所示,其中m从1到m(滤波器数量,在本实施例中可以取40)。
其中,k表示点的编号,例如,如果一个fft内有256个点,则k的取值为1到256,每个数值表示与fft中256个频点中对应的频点。
进一步地,将滤波器的输出乘以fft计算出来的能量谱后得到的就是梅尔谱,具体应用公式如下公式(10)所示,|x(k)|2表示能量谱中第k个点的能量。以每个滤波器的频率范围内的输出作为权重,乘以频率对应能量,然后把这个滤波器范围内的能量加起来就得到filterbank,也就是这些点对应的能量的加权和。
这样计算后,对于一帧就会得到m(40)个输出。然后在时间上堆叠m个输出就得到每帧对应的梅尔尺度的声谱(梅尔谱,melfilterbank)。
更进一步地,对梅尔谱做对数log转换,就得到log梅尔谱,也就是logfbank。
s154,根据s153所述梅尔能量谱分别计算每个短时帧的logfbank特征向量。
在本实施例中,对步骤s153生成的结果取对数,生成logfbank特征向量。具体地,可以根据如式(11)所示的公式计算所述logfbank特征向量:
logfbank=log(melspec)=log(melspec(m))式(11)
本实施例计算所述logfbank特征向量利用对数变换的数学属性,能够放大低能量处的能量差异,并且能够缩小高能量处的能量差异。
s155,根据所述logfbank特征向量生成每个短时帧的mfcc特征向量。
在本实施例中,在步骤s153中使用的三角滤波器应用于能量谱得到所述的logfbank特征向量,对logfbank进行离散余弦变换(discretecosinetransform,dct)。每个短时帧对应40个logfbank值,dct变换后得到维度为40的mfcc特征向量,即梅尔频率倒谱系数(mfcc系数)。
在本步骤中,可以采用现有技术中利用三角滤波器得到logfbank特征向量而后进行离散余弦变换生成mfcc系数的方法来进行计算。
在本实施例中,可以对生成的所有mfcc系数按照时间顺序进行排序,并保留该序列中前若干个mfcc系数,其余mfcc系数可以弃去。例如,在本实施例中,如果采用步骤s153中使用的40个三角滤波器会生成40个mfcc系数,可以根据需要将生成的40个mfcc系数按照时间顺序进行排序,并保留其中前12个mfcc系数,而其余的mfcc系数被弃去,从而压缩数据。
可选地,对所保留的mfcc系数还可以进行一阶差分处理和二阶差分处理,生成delta系数和delta-delta系数。其中,一阶差分处理和二阶差分处理为现有技术常用的数学方法。
s106,依次根据所有所述短时帧特征向量以及该训练音频对应的运行状态建立所述基于音频特征的状态检测模型。
在本步骤中,所述神经网络模型lstm-rnn的输入信息为所有短时帧特征向量,所述短时帧向量包括前面描述步骤后产生的56-维特征向量组,所述向量组为logfank+mfcc和delta及delta-delta),即,20维logfbank+12mfcc+12deltamfcc+12delta-deltamfcc作为神经网络模型lstm-rnn的输入,输入标记为x,其中,x中的每个向量的维度p,p=56,即每帧的输入是p个特征值。
对于每个训练音频均经过步骤s102至步骤s105处理,生成相应的短时帧特征向量,并以所述短时帧特征向量作为神经网络模型lstm-rnn的输入信息,以该训练音频对应的状态作为输出结果,经过大量训练音频的训练后,所述基于音频特征的状态检测模型中的各个参数不断更新修正,从而获得较为完善的检测模型。
s107,利用其它训练音频对所述检测模型进行测试,如果测试正确率大于或者等于测试结果阈值,则完成建模。
在本实施例中,为保证所建模型测试结果的准确度,在模型建立末期需要使用训练音频对所述检测模型进行测试,用于测试的训练音频是未被使用过的训练音频。
如果对所述检测模型在测试阶段的正确率低于测试结果阈值,则会继续使用新的训练音频按照前述方法对所述检测模型进行训练,直至所述检测模型在测试阶段的正确率大于或者等于测试结果阈值。
至此,所述基于音频特征的状态检测模型完成建模。
在本实施例中,随着应用场景不断更新,在所述检测模型完成建模后,在模型使用阶段仍然可以根据实际情况对所述检测模型进行训练和更新,使得所述检测模型不断趋于完善。
本申请提供一种基于音频特征的状态检测方法,所述方法与模型训练阶段的方法类似,区别仅在于,所述方法不包括模型测试以及模型更新等后续的步骤。
图3为本申请提供一种实施方式的状态检测方法流程图,如图3所示,所述状态检测方法包括:
s201,获取待检测音频。
在本实施例中,可以使用现有技术中任意一种能够获取设备运行现场音频的方法来获取待检测音频,例如,可以使用如麦克风等采音设备对目标设备进行采音。
在一种可实现的方式中,所述采音设备可以自动运行,进行不间断采音或者周期性的间断采音,也可以是检测者手动启动采音设备,进行人工采音。
可选地,每次采音时长可以是相同的,也可以是不同。
在一种可选的实现方式中,所述采音设备自动周期性运行,并且,每次采音时长相同,例如,每次采音10min,得到一段10min的检测音频。
在一种可实现的方式中,所述采音设备在每次采音结束后,将采集得到的检测音频上传给处理器。
s202,从所述待检测音频中提取静音频率以及每段静音时长。
对于大多数目标设备来讲,在正常运行的状态下会发出规律的声音,在每段检测音频中静音的频率基本固定,每段静音的时长也相对固定。例如,火车在行进过程中,其发出的声音呈现周期性的强弱变化,或者,声音呈现周期性的有无。
在本实施例中,所述静音可以是指声音强度低于预设声强阈值的音频,所述预设声强阈值可以根据不同目标设备而具体设定。
在本实施例中,从所述待检测音频中提取静音频率和静音时长可以包括:
s221,从所述待检测音频中标记静音音频的起始点和终止点。
在本实施例中,所述静音音频起始点前一帧的声音强度大于所述预设声强阈值,所述静音音频终止点后一帧的声音强度大于所述预设声强阈值,在所述起始点与所述终止点之间任意一帧的声音强度均小于所述预设声强阈值。
在本实施例中,在同一段待检测音频中可以只包括一段静音音频,也可以包括多段静音音频。
s222,获取相邻两个静音音频之间的时长,以及同一个静音音频中起始点与终止点之间的时长。
在本实施例中,如果在同一段待检测音频中只包括一个静音音频,则可以仅获取静音时长,而不获取静音频率。
s223,根据所述步骤s222获取的结果生成静音频率和静音时长。
在本实施例中,所述静音频率可以通过相邻两个静音音频之间的时长计算得到,所述相邻两个静音音频之间的时长为上一个静音音频的终止点与相邻下一个静音音频起始点之间的时长。
在本实施例中,所述静音时长可以为同一个静音音频中起始点与终止点之间的时长。
s203,如果所述静音频率超出预设静音频率阈值,或者所述每段静音时长超出静音时长阈值,则发送异常运行警告。
如果检测音频中静音的频率或者静音的时长发生明显变化,则表明该目标设备目前运行异常。例如,运行正常的目标设备其静音的频率为每20ms发生一次静音,每次静音时长为1ms,如果目标设备静音的频率大于30ms一次,或者小于10ms一次,则表明该目标设备运行异常;或者,如果该目标设备每次静音的时长大于3ms或者低于0.5ms也表明该目标设备运行异常。
在本实施例中,所述静音频率阈值可以根据不同目标设备而具体设定,所述静音时长阈值也可以根据不同目标设备而具体设定。
如果所述目标设备按照上述方法被认为运行异常,则处理器向报警设备发出指示信号,使报警设备发出报警信息。
在本实施例中,如果检测音频中静音的频率或者静音的时长未发生明显变化,则表明该目标设备目前运行正常。
进一步地,如果所述静音频率满足预设静音频率阈值,并且,所述每段静音时长满足静音时长阈值,则,所述方法还包括:
s204,对所述待检测音频进行预处理。
在本申请中,所述预处理包括声音格式转换、去除检测音频中静音音频、去除检测音频中的噪音、去除训练音频中低信息量的音频片段等。
本步骤的具体方法可以参考步骤s103,区别仅在于本步骤的处理对象为待检测音频,在此不再赘述。
s205,将预处理后的所述待检测音频分帧成多个短时帧。
本步骤的具体方法可以参考步骤s104,区别仅在于本步骤的处理对象为待检测音频,在此不再赘述。
s206,对每个短时帧进行特征提取生成短时帧特征向量。
在本实施例中,所述对每个短时帧进行特征提取生成短时帧特征向量包括:
本步骤的具体方法可以参考步骤s105,区别仅在于本步骤的处理对象为待检测音频,在此不再赘述。
s207,根据所述待检测音频所有所述短时帧特征向量生成该待检测音频的运行状态。
在本实施例中,将待检测音频的短时帧特征向量输入所述基于音频特征的状态检测模型后,所述检测模型生成该待检测音频对应各种运行状态的概率,并将最大概率对应的运行状态作为输出结果,输出的结果包括运行状态以及该运行状态的概率。
第二方面,本申请还提供一种基于音频特征的状态检测装置,所述装置包括:
音频获取单元100,用于获取待检测音频;
分帧单元200,用于从所述待检测音频中提取静音频率以及每段静音时长;
报警单元300,用于如果所述静音频率超出预设静音频率阈值,或者所述每段静音时长超出静音时长阈值,则发送异常运行警告。
第三方面,本申请还提供一种基于音频特征的状态检测终端,所述终端包括音频采集装置、如第二方面所述的状态检测装置和报警装置。
第四方面,本申请还提供一种计算机存储介质,该计算机存储介质可存储有程序,该程序执行时可实现包括如第一方面所述状态检测方法的部分或者全部步骤。
第五方面,本申请还提供一种终端,该终端包括:收发器、处理器和存储器等器件,所述处理器可以执行所述存储器中所存储的程序或指令,从而实现如第一方面所述的方法。
第六方面,本申请还提供一种计算机程序,当其在计算机上运行时,所述程序使得所述计算机执行如第一方面所述的方法。
以上结合具体实施方式和范例性实例对本申请进行了详细说明,不过这些说明并不能理解为对本申请的限制。本领域技术人员理解,在不偏离本申请精神和范围的情况下,可以对本申请技术方案及其实施方式进行多种等价替换、修饰或改进,这些均落入本申请的范围内。本申请的保护范围以所附权利要求为准。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除