本申请涉及声音识别技术领域,尤其涉及一种鸟类声音识别方法、装置、计算机设备和存储介质。
背景技术:
根据国际自然保护联盟的红色数据清单,世界上将近1400种(超过13%)鸟类物种可能是濒临灭绝的。需要一个有效的鸟类监测方法来评估物种的丰富度以及当前生态保护的成果。精确估计鸟类种群大小的方法需要大量的时间和精力,并且成本很高。鸟叫声常用于检测、监测和量化物种,因为即使个体不在视野之中,这种方法也是有效的。人类能够从听觉上识别鸟类,鸟类专家可以凭借声音识别数千种鸟类。
目前,具有长电池寿命和高存储容量的生物声学记录设备是较为普遍的,通过大规模在野外设置这些录音设备,可以长时间大量地获取野外环境的录音数据,但是从这些数据中分析鸟类的物种,需要耗费鸟类学家非常多的时间和精力。
技术实现要素:
本申请提供了一种鸟类声音识别方法、装置、计算机设备和存储介质,以自动地检测鸟叫声属于哪种鸟类,识别效率和准确性更高。
第一方面,本申请提供了一种鸟类声音识别方法,所述方法包括:
获取鸟声录音数据;
根据小波变换算法对所述鸟声录音数据进行降噪处理,以得到至少一个降噪鸟声信号;
对所述降噪鸟声信号进行预加重处理、分帧处理和加窗处理,以得到若干窗口数据;
对所述若干窗口数据进行快速傅里叶变换处理和取平方处理,以得到所述若干窗口数据各自对应的谱线能量;
基于梅尔滤波器组对各所述谱线能量进行处理,以得到所述若干窗口数据各自对应的梅尔频谱数据;
对各所述梅尔频谱数据进行倒谱分析并对倒谱分析的结果进行一阶差分和二阶差分,以获得所述若干窗口数据各自对应的梅尔倒谱特征向量;
基于训练好的卷积神经网络,根据所述若干梅尔倒谱特征向量对所述降噪鸟声信号进行识别,以输出所述降噪鸟声信号对应的鸟类识别数据。
第二方面,本申请还提供了一种鸟类声音识别装置,所述装置包括:
鸟声获取模块,用于获取鸟声录音数据;
鸟声降噪模块,用于根据小波变换算法对所述鸟声录音数据进行降噪处理,以得到至少一个降噪鸟声信号;
预处理模块,用于对降噪鸟声信号进行预加重处理、分帧处理和加窗处理,以得到若干窗口数据;
谱线能量提取模块,用于对所述若干窗口数据进行快速傅里叶变换处理和取平方处理,以得到所述若干窗口数据各自对应的谱线能量;
梅尔滤波模块,用于基于梅尔滤波器组对各所述谱线能量进行处理,以得到所述若干窗口数据各自对应的梅尔频谱数据;
特征向量提取模块,用于对各所述梅尔频谱数据进行倒谱分析并对倒谱分析的结果进行一阶差分和二阶差分,以获得所述若干窗口数据各自对应的梅尔倒谱特征向量;
特征识别模块,用于基于训练好的卷积神经网络,根据所述若干梅尔倒谱特征向量对所述降噪鸟声信号进行识别,以输出所述降噪鸟声信号对应的鸟类识别数据。
第三方面,本申请还提供了一种计算机设备,所述计算机设备包括存储器和处理器;
所述存储器,用于存储计算机程序;
所述处理器,用于执行所述计算机程序并在执行所述计算机程序时实现如上述的鸟类声音识别方法。
第四方面,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如上述的鸟类声音识别方法。
本申请公开了一种鸟类声音识别方法、装置、计算机设备和存储介质,首先获取鸟声录音数据,通过小波变换算法对鸟声录音数据进行降噪处理,能够减少噪声干扰特征向量的提取;然后对降噪鸟声信号进行预加重、分帧和加窗,对得到的窗口数据进行快速傅里叶变换和取平方,以得到窗口数据各自对应的谱线能量;其次基于梅尔滤波器组对各谱线能量进行处理,对得到的梅尔频谱数据进行倒谱分析并对倒谱分析的结果进行一阶差分和二阶差分,能够避免重要特征的丢失;最后基于训练好的卷积神经网络,根据梅尔倒谱特征向量对降噪鸟声信号进行识别,能够有效提高对降噪鸟声信号进行特征识别时的识别效率和准确性。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请的实施例提供的一种鸟类声音识别方法的示意流程图;
图2是图1中对鸟声录音数据进行降噪处理的子步骤示意流程图;
图3是图2中提取噪声片段和鸟声片段一实施方式的子步骤示意流程图;
图4是图2中提取噪声片段和鸟声片段另一实施方式的子步骤示意流程图;
图5是图2中进行小波阈值降噪的子步骤示意流程图;
图6为对鸟声片段进行小波阈值降噪的效果示意图;
图7为根据不同小波基函数对鸟声片段进行降噪的降噪效果示意图;
图8为图1中识别降噪鸟声信号的子步骤示意流程图;
图9为图8中生成特征图像的子步骤示意流程图;
图10为图8中进行卷积和池化处理的子步骤示意图;
图11为本申请实施例提供的一种鸟类声音识别装置的示意性框图;
图12为图11中鸟声降噪模块的示意性框图;
图13为图11中特征识别模块的示意性框图;
图14为本申请实施例提供的一种计算机设备的结构示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
本申请的实施例提供了一种鸟类声音识别方法、装置、计算机设备和存储介质。其中,该鸟类声音识别方法可以应用于终端或服务器中,可以根据获取的鸟声录音数据快速准确地输出鸟类识别数据。
其中,终端可以是手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式设备等电子设备。服务器可以为独立的服务器,也可以为服务器集群。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
请参阅图1,图1是本申请的实施例提供的一种鸟类声音识别方法的示意流程图。鸟类声音识别方法用于通过分析鸟声录音数据识别出鸟声对应的鸟类种类,例如为生态环境监测提供数据支持。示例性的,鸟类声音识别方法应用在鸟类声音识别装置上,以使得鸟类声音识别装置可以自动地检测鸟叫声归属于哪种鸟类。
在本实施例中,根据卷积神经网络进行鸟类声音识别。卷积神经网络是多层感知机的生物启发变体,其在图像识别和图像分类等领域已经被证明是非常有效的,以下将基于卷积神经网络的鸟类声音识别方法为例进行说明。
如图1所示,鸟类声音识别方法包括步骤s10至步骤s70。
步骤s10、获取鸟声录音数据。
其中,所述鸟声录音数据可以通过录音设备在野外采集,鸟声录音数据中至少有一段音频包含有鸟叫声。
示例性的,录音设备采集到鸟声录音数据后,通过通信手段将鸟声录音数据发送给服务器以便服务器获取鸟声录音数据;或者录音设备采集到鸟声录音数据后,工作人员将录音设备中的鸟声录音数据导出到电脑、手机等终端后,由终端将鸟声录音数据发送给服务器以便服务器获取鸟声录音数据。
在一些实施例中,所述鸟声录音数据除了包含鸟叫声,还包含一些其他无关噪音,如环境噪音。所述鸟声录音数据中可以包括一个或多个鸟声片段,各鸟声片段可以来自同一种鸟类或来自于不同的鸟类。
步骤s20、根据小波变换算法对所述鸟声录音数据进行降噪处理,以得到至少一个降噪鸟声信号。
示例性的,可以根据小波阈值降噪法、小波模极大值降噪法或者基于小波系数尺度间相关性降噪法实现对鸟声录音数据进行降噪处理。
步骤s30、对所述降噪鸟声信号进行预加重处理、分帧处理和加窗处理,以得到若干窗口数据。
梅尔倒谱系数(mel-frequencycepstralcoefficients,mfcc)算法基于人的听觉机理,依据人的听觉实验结果来分析语音的频谱,通常用于从人的语音信息中提取特征。在本实施例将梅尔倒谱系数算法应用于对包含鸟声片段的降噪语音信号进行一系列处理,包括:预处理、快速傅里叶变换、计算谱线能量、计算谱线能量通过梅尔滤波器得到的梅尔频谱数据和计算梅尔频谱数据的倒谱,以得到若干梅尔倒谱特征向量。
具体地,所述对降噪鸟声信号进行预加重处理的目的是为了补偿降噪鸟声信号高频分量的损失,提升高频分量。所述预加重采用的滤波器为
h(z)=1-az-1;
式中,a为一个常数,z表示z变换,z-1表示滤波器h(z)为一阶滤波器。
所述分帧处理用于将准稳态的信号看做稳态信号。具体地,把准稳态的信号分成较短的帧,在每帧中可将准稳态的信号看做稳态信号,可用处理稳态信号的方法来处理。
在实施例中,通过对降噪鸟声信号x(n)作分帧处理,降噪鸟声信号x(n)可以用处理稳态信号的方法来处理。示例性的,将降噪鸟声信号x(n)分为若干长度为20-30毫秒的帧;为了避免相邻两帧的变化过大,可以使两相邻帧之间有一段重叠区域。
对分帧后的各帧信号分别进行加窗处理,通过加窗函数,如矩形窗、海宁窗或汉明窗来实现,所述加窗函数用于减少频域中的泄漏。例如将某一帧信号乘以窗函数,得到该帧对应的窗口数据,第i个窗口数据表示为xi(n)。
步骤s40、对所述若干窗口数据进行快速傅里叶变换处理和取平方处理,以得到所述若干窗口数据各自对应的谱线能量。
示例性的,对第i个窗口数据xi(n)进行快速傅里叶变换,将窗口数据xi(n)从时域数据转变成频域数据x(i,k)。
通过对各窗口数据对应的频域信号进行取平方处理得到窗口数据各自对应的谱线能量。示例性的,第i个窗口数据xi(n)对应的谱线能量e(i,k)为:
e(i,k)=[x(i,k)]2。
步骤s50、基于梅尔滤波器组对各所述谱线能量进行处理,以得到所述若干窗口数据各自对应的梅尔频谱数据。
具体地,梅尔滤波器组包括若干滤波器,例如包括滤波器数量为30-50其中第m个滤波器为hm(k),0≤m<m,m为滤波器的个数。各个滤波器均具有三角形滤波特性,其中第m个滤波器hm(k)的中心频率为f(m)。在梅尔频率范围内,这些滤波器是等带宽的。滤波器hm(k)的传递函数为:
通过梅尔滤波器组中的滤波器对谱线能量e(i,k)进行滤波处理,即将谱线能量e(i,k)与梅尔滤波器中各滤波器的频域响应相乘后叠加,计算谱线能量e(i,k)对应的梅尔频谱数据,即第i个窗口数据xi(n)对应的梅尔频谱数据。
具体地,第i个窗口数据xi(n)对应的梅尔频谱数据包括梅尔滤波器组中各滤波器对应的滤波能量,表示窗口数据在不同梅尔频率区间的能量谱。示例性的,第i个窗口数据xi(n)通过第m个滤波器对应的梅尔频谱数据为:
具体地,所述梅尔滤波器组的数量决定梅尔倒谱系数携带的识别特征的多少。在语音识别中,常用的是数量为13的梅尔滤波器组,对梅尔倒谱系数进行一阶差分和二阶差分,一共39维特征。但是这样的梅尔滤波器组提取的特征较少,无法覆盖鸟类叫声的有效频率,导致很多重要的识别特征在计算梅尔倒谱系数的过程中丢失。
因此,在本实施例中增加了滤波器的数量,使用滤波器数量为30-50的梅尔滤波器组进行提取降噪鸟声信号的若干梅尔倒谱特征向量,能够有效地避免在提取降噪鸟声信号的若干梅尔倒谱特征向量过程中丢失重要的识别特征。
步骤s60、对各所述梅尔频谱数据进行倒谱分析并对倒谱分析的结果进行一阶差分和二阶差分,以获得所述若干窗口数据各自对应的梅尔倒谱特征向量。
具体地,根据梅尔倒谱系数算法,对所述若干窗口数据各自对应的梅尔频谱数据s(i,m)进行倒谱分析。所述倒谱分析包括取对数和离散余弦变换(discretecosinetransform,dct),即对窗口数据对应梅尔频谱数据中各滤波器对应的滤波能量取对数后进行离散余弦变换,以获得相应窗口数据的与各滤波器对应的梅尔倒谱系数;每个窗口数据对应于梅尔滤波器组中滤波器数量相同的梅尔倒谱系数。
标准的梅尔倒谱系数只反映了语音参数的静态特性,语音的动态特性可以用这些静态特征的差分谱来描述。通过对相应窗口数据对应的梅尔倒谱系数进行一阶差分和二阶差分,可以得到一阶差分的梅尔倒谱系数和二阶差分的梅尔倒谱系数。本实施例中将某窗口数据对应的梅尔倒谱系数、一阶差分的梅尔倒谱系数和二阶差分的梅尔倒谱系数构建为一个与该窗口数据对应的梅尔倒谱特征向量。
具体地,一阶差分就是离散函数中连续相邻两项之差。具体地,定义离散函数为x(k),此离散函数x(k)的一阶差分为:
y(k)=x(k+1)-x(k);
同理,y(k)的一阶差分,即离散函数x(k)的二阶差分为:
z(k)=y(k+1)-y(k)=x(k+2)-2×x(k+1)+x(k)。
在本实施例中使用滤波器数量为42的梅尔滤波器组,得到所述窗口数据各自对应的梅尔倒谱系数有42个,进行一阶差分和二阶差分之后,共得到126个梅尔倒谱系数;因此所述窗口数据各自对应的梅尔倒谱特征向量的维度为126。
步骤s70、基于训练好的卷积神经网络,根据所述若干梅尔倒谱特征向量对所述降噪语音信号进行识别,以输出所述降噪语音信号对应的鸟类识别数据。
卷积神经网络,是一种前馈神经网络,卷积神经网络中的人工神经元可以响应周围单元,可以进行图像处理。
所述若干梅尔倒谱特征向量可以构建出类似图像的矩阵结构,可以将图像识别中常用的卷积神经网络用于根据若干梅尔倒谱特征向量对所述降噪语音信号进行识别。
在本实施例中,先根据所述若干梅尔倒谱特征向量生成一张预设大小的特征图像,然后基于训练好的卷积神经网络,对该特征图像进行若干次卷积和池化处理,再将处理的结果经全连接处理和归一化处理,识别得到降噪语音信号对应的鸟类识别数据。
示例性的,鸟类识别数据包括降噪语音信号对应的鸟的种类。示例性的,鸟类识别数据还可以包括降噪语音信号对应于相应种类时的概率,即降噪语音信号有多大的概率对应于某种鸟类。
请参阅图2,步骤s20中根据小波变换算法对所述鸟声录音数据进行降噪处理,以得到至少一个降噪鸟声信号,即鸟声信号降噪过程具体包括:
步骤s201、根据短时能量分析法或正弦波检测算法检测所述鸟声录音数据,并根据检测的结果从所述鸟声录音数据中提取出不含鸟叫声的噪声片段和至少一个含鸟叫声的鸟声片段。
示例性的,步骤s201根据短时能量分析法检测所述鸟声录音数据,并根据检测的结果从所述鸟声录音数据中提取出不含鸟叫声的噪声片段和至少一个含鸟叫声的鸟声片段,如图3所示,包括以下步骤:
步骤s2011a、对所述鸟声录音数据进行分帧处理以得到若干帧数据。
具体地,短时能量分析法首先对鸟声录音数据进行分帧,例如将鸟声录音数据处理为时长为10-20毫秒的若干帧数据。
示例性的,设鸟声录音数据的时域信号为x(n)、加窗函数分帧处理后得到第i个帧数据的时域信号为yi(n),yi(n)满足:
yi(n)=w(m)×x((i-1)×inc+n);
式中,w(m)表示窗函数,可以为矩形窗、海宁窗或汉明窗,m表示窗的宽度;n=1,2,···,l,i=1,2,···,fn,l表示各帧信号的帧长,即采样点数;inc表示帧移长度;fn表示分帧后帧数据的个数。
步骤s2012a、根据短时能量分析法计算各帧数据的短时能量。
示例性的,计算第i个帧数据yi(n)的短时能量e(i)公式为:
步骤s2013a、若有连续若干帧数据的短时能量大于预设的能量幅值,将所述若干帧数据存储为鸟声片段。
具体地,该预设的能量幅值是一个具体值,例如,若帧数据短时能量的取值范围为0-1,则预设的能量幅值可以为0.2。
如果连续若干帧数据的短时能量大于预设的能量幅值0.2,则所述连续若干帧数据存在鸟叫声的音频分量,将所述若干帧数据存储为鸟声片段。
步骤s2014a、若有连续若干帧数据的短时能量小于预设的能量幅值,将所述若干帧数据存储为噪声片段。
具体地,如果连续若干帧数据的短时能量小于预设的能量幅值0.2,则认为所述连续若干帧数据不存在鸟叫声的音频分量,将所述若干帧数据存储为噪声片段。
在另一实施例中,根据正弦波检测算法从所述鸟声录音数据中提取出噪声片段和鸟声片段。所述正弦波检测算法类似于语音信号处理中的语音活动检测(voiceactivitydetection,vad),正弦波检测算法可以通过检测信号中预设波形信号的存在性判断某数据的片段中是否存在鸟叫声。
如图4所示,步骤s201中根据正弦波检测算法检测所述鸟声录音数据,并根据检测的结果从所述鸟声录音数据中提取出不含鸟叫声的噪声片段和至少一个含鸟叫声的鸟声片段,具体包括以下步骤:
步骤s2011b、对所述鸟声录音数据进行傅里叶变换以得到所述鸟声录音数据对应的若干短时幅度谱信号。
具体地,首先对鸟声录音数据进行分帧,例如将鸟声录音数据处理为时长为10-20毫秒的若干帧数据。示例性的,第i个帧数据的时域信号为yi(n)。
具体地,对第i个帧数据的时域信号yi(n)进行快速傅里叶变换,快速傅里叶变换将信号yi(n)从时域信号转变成频域信号,其中第k条谱线对应的短时幅度谱信号为:
式中,l表示各帧信号的帧长,n表示总帧数。所述x(i,k)为第i个帧数据的时域信号yi(n)经快速傅里叶变换后得到的第k条谱线对应的短时幅度谱信号。
步骤s2012b、若所述短时幅度谱信号中存在预设波形的信号,将所述短时幅度谱信号存储为鸟声片段。
具体地,判断短时幅度谱信号中是否存在预设波形的信号,需要考虑短时幅度谱峰附近的谱幅形状和谱峰附近的相位连续性。正弦波表现出相邻谱峰附近的相位连续性,而噪声则具有随机相位,因此,预设波形可以为对应于预设频率范围和预设幅值范围的正弦波。
具体地,每个谱峰都由一组从短幅度谱中提取出来的特征来表示。所述谱峰值可以看作是一个多元随机变量,从而捕捉谱峰值附近的谱幅形状。如果所述谱峰值附近的谱幅形状具有特定的c形,所述特定的c形很大程度上不同于噪声峰值所表现的形状,则所述谱峰附近的谱幅形状为正弦波;同时所述正弦波相邻谱峰附近的相位具有连续性,那么说明所述短时幅度谱信号存在预设波形的信号,将所述短时幅度谱信号存储为鸟声片段。
步骤s2013b、若所述短时幅度谱信号中不存在预设波形的信号,将所述短时幅度谱信号存储为噪声片段。
如果所述谱峰值附近的谱幅形状不具有特定的c形,则所述谱峰附近的谱幅形状为非正弦波。同时所述相邻谱峰附近的相位具有随机相位,那么说明所述短时幅度谱信号中不存在预设波形的信号,将所述短时幅度谱信号存储为噪声片段。
步骤s202、对提取的噪声片段进行小波变换以获取噪声片段的小波系数,并根据所述噪声片段的小波系数设定噪声阈值。
具体地,对提取的噪声片段进行小波变换后得到噪声片段的小波系数。由于噪声片段是不包含鸟叫声的信号,相当于鸟声片段中的背景噪声,因此可以根据噪声片段确定的噪声阈值去除鸟声片段中的背景噪声。
具体地,对提取的噪声片段进行小波变换后得到噪声片段的若干小波系数,根据噪声片段的若干小波系数可以设定一个阈值λ,即噪声阈值。示例性的,该噪声阈值的设定可以依据以下条件:对于噪声片段的全部小波系数,噪声阈值都能最大限度地将噪声片段对应的各个小波系数过滤掉。因此,根据该噪声阈值对鸟声录音数据进行降噪处理时,也可以过滤掉鸟声片段背景噪声中相应的小波系数。
示例性的,所述噪声阈值为噪声片段若干小波系数绝对值中的最大值。
步骤s203、根据所述噪声阈值对所述至少一个鸟声片段进行小波阈值降噪,以得到所述鸟声片段各自对应的降噪鸟声信号。
具体地,如图5所示,步骤s203根据所述噪声阈值对所述至少一个鸟声片段进行小波阈值降噪,以得到所述鸟声片段各自对应的降噪鸟声信号,包括以下步骤:
步骤s2031、根据预设的小波基函数对所述鸟声片段进行小波变换,得到所述鸟声片段对应的小波系数。
具体地,使用预设的小波基函数,如meyer小波基函数对鸟声录音数据中的鸟声片段进行小波变换,得到鸟声片段对应的小波系数。
设小波ψ(t)是l2(r)空间的函数,小波ψ(t)经过平移和伸缩后得到一个小波基函数ψa,b(t),如下所示:
式中,a表示尺度因子,b表示平移因子,a和b为实数且a不为零。
具体地,小波变换可以包括连续小波变换或离散小波变换。具体地,连续信号x(t)通过连续小波变换进行展开的形式是:
式中,ψ*(t)表示ψ(t)的复共轭。所述离散小波变换可以减少小波变换系数的冗余度,在对连续小波变换进行离散化时,需要对尺度因子a和平移因子b进行离散化处理。具体地,常用的离散方式为
a=2-j,b=k2-j,j,k∈z;
则连续小波函数可写成离散小波函数:
同时连续小波变换可以改写成离散小波变换为
式中,j和k为实数,ψ*(2jt-k)为ψ(2jt-k)的复共轭。若对尺度因子a按2j方式离散化,平移因子b仍取连续值,得到的小波称为二进小波,此时离散小波函数可以改写为
设x(t),ψ(t)∈l2(r),则x(t)的二进小波变换为
若存在两个常数a、b,且0<a≤b<∞,使得函数ψ(t)的傅里叶变换ψ(2jω)满足
则函数ψ(t)称为二进小波,上式称为稳定条件;若a=b,则上式称为最稳定条件。
对信号x(t)∈l2(r)进行重构,即对二进小波变换进行逆变换,需要找到离散二进小波的对偶框架,即寻找一个二进对偶小波
式中,ψ*(ω)为ψ(ω)的复共轭,ψ(ω)为ψ(t)的傅里叶变换。对于任意信号x(t)∈l2(r),其二进小波的逆变换公式为
式中,
步骤s2032、根据所述噪声阈值对所述鸟声片段对应的小波系数进行阈值化处理。
根据所述噪声阈值对所述鸟声片段对应的小波系数进行阈值化处理,具体为,根据噪声阈值对鸟声片段的小波系数进行阈值化,得到阈值化后的小波系数。
具体地,所述噪声阈值λ通过硬阈值函数或者软阈值函数对鸟声片段的小波系数进行阈值化。所述硬阈值函数的公式为
式中,
当某小波系数的绝对值小于噪声阈值λ,令该小波系数置零;某小波系数大于阈值λ时,则令该小波系数保持不变。
所述软阈值函数的公式为
式中,
具体地,如果
具体地,硬阈值函数是一种简单的置零方法,而软阈值函数对于大于阈值的小波系数作了“收缩”,即减去该阈值,从而使输入输出曲线变成连续的。软阈值函数既能保证大的小波系数,又保证系数的平滑过渡。因此,在实施例选用软阈值函数对鸟声片段的小波系数进行阈值化。
使用噪声阈值对鸟声录音数据中鸟声片段的小波系数进行阈值化,得到阈值化后的小波系数。
步骤s2033、对阈值化处理后的小波系数进行小波逆变换,以得到所述鸟声片段对应的降噪鸟声信号。
具体地,所述小波逆变换公式为
式中,
为了能够将鸟声片段中的噪声分量去除以得到降噪后的鸟声信号,先使用预设的小波基函数对鸟声录音数据中的鸟声片段进行小波变换,得到鸟声片段对应的小波系数;然后根据噪声阈值对鸟声片段的小波系数进行阈值化,得到阈值化后的小波系数;之后对所述阈值化后的小波系数进行小波逆变换,以得到降噪鸟声信号,降噪效果如图6所示。
在图6中,(a)、(c)、(e)表示三个鸟声片段的波形图和时频图,(b)、(d)、(f)分别表示(a)、(c)、(e)对应鸟声片段的降噪鸟声信号的波形图和时频图。(a)、(c)、(e)对应的鸟声片段经小波阈值降噪处理后,保留了绝大部分鸟叫声信号,过滤了大部分噪声分量。
在本实施例中,步骤s202、步骤s2031进行小波变换时所选用的小波基函数可以为haar小波、daubechies小波、symlet小波、biorthogonal小波、morlet小波、mexicanhat小波、coiflet小波、meyer小波、battle-lemarie小波或者stromberg小波等。
如图7所示为若干不同小波基函数对某一鸟声片段降噪效果的示意图。
在图7中,(a)为原始的鸟声片段的波形图和时频图,(b)、(c)、(d)、(e)分别为采用haar小波基函数、db6小波基函数、db10小波基函数、meyer小波基函数对原始的鸟声片段进行小波阈值降噪后得到的降噪鸟声信号的波形图和时频图。
使用meyer小波进行降噪时,鸟声片段中的背景噪声消除得最为干净;同时由于meyer小波的频谱边缘泄露最少,在重构信号时产生的频率泄露也最少。因此,在实施例选择meyer小波基函数进行小波变换和小波阈值降噪。
请参阅图8,图8是本申请的实施例提供的基于训练好的卷积神经网络,根据所述若干梅尔倒谱特征向量对所述降噪鸟声信号进行识别,以输出所述降噪鸟声信号对应的鸟类识别数据的示意图,如图8所示,具体包括以下步骤:
步骤s701、根据所述若干窗口数据各自对应的梅尔倒谱特征向量生成所述降噪鸟声信号对应的特征图像。
在一些实施方式中,如图9所示,根据所述若干窗口数据各自对应的梅尔倒谱特征向量生成所述降噪鸟声信号对应的特征图像,包括以下步骤:
步骤s7011、对所述若干梅尔倒谱特征向量进行矩阵化,以得到所述若干梅尔倒谱特征向量对应的特征矩阵。
具体地,将所述若干梅尔倒谱特征向量生成n×m的特征矩阵,n表示各窗口数据对应的梅尔倒谱特征向量的维数,例如n=126;m表示所述降噪鸟声信号对应的窗口数据的个数,特征矩阵为包括所述若干梅尔倒谱特征向量的n×m的矩阵。
步骤s7012、将所述特征矩阵转换为预设长和宽的图像,以将所述图像存储为所述若干梅尔倒谱特征向量对应的特征图像。
具体地,对所述若干梅尔倒谱特征向量的特征矩阵转换为预设长和宽的图像。示例性的,所述图像的高对应于特征矩阵的n行,所述图像的宽对应于图像矩阵的m列;所述图像中各像素的值,如灰度值对应于特征矩阵中相同位置的元素。
示例性的,设特征矩阵的行数n=126,列数m=256,则将所述特征矩阵转换成126×256的图像。将所述图像存储为所述若干梅尔倒谱特征向量对应的特征图像,即将126×256的图像存储为所述若干梅尔倒谱特征向量对应126×256的特征图像。
步骤s702、基于训练好的卷积神经网络对所述特征图像进行若干次卷积和池化处理。
具体地,通过卷积操作对特征图像进行特征抽取。另外,还通过下采样,如池化(pooling)对经过卷积操作的特征图像进行处理,以防止过拟合。
具体地,池化是对图像的某一个区域用一个值代替,如用最大值或平均值代替。如果采用最大值,则为最大值池化(max-pooling);如果用平均值代替,叫做均值池化(mean-pooling)。池化操作可以降低图像尺寸以及实现平移、旋转不变性。这是因为输出值由图像的一片区域计算得到,对于平移和旋转并不敏感。在本实施例中采用最大值池化进行池化处理。
示例性的,在本实施例中的卷积神经网络包括5个卷积层,如图10所示,步骤s702基于训练好的卷积神经网络对所述特征图像进行若干次卷积和池化处理,具体的处理步骤如下:
步骤s7021、对所述特征图像进行第一次卷积处理和第一次池化处理。
具体地,先对126×256像素的特征图像进行卷积处理,使用64个卷积核,各卷积核的尺寸为5×5,卷积步长为2×1;该卷积处理的输出为64个特征图像,每个特征图像的像素为126×126;然后对经该卷积层输出的64个特征图像进行最大值池化处理,池化窗口为2×2,步幅为2×2,处理后输出64个特征图像,每个特征图像有63×63个像素。
步骤s7022、对经第一次池化处理后的特征图像进行第二次卷积处理和第二次池化处理。
具体地,先对步骤s7021中输出的64个63×63像素的特征图像进行卷积层处理,使用64个卷积核,各卷积核大小为5×5,步长为1×1;该卷积处理的输出为64个特征图像,每个特征图像的像素为63×63;然后对经卷积层输出的64个特征图像进行最大值池化处理,池化窗口为2×2,步幅为2×2,处理后输出64个特征图像,每个特征图像有32×32个像素。
步骤s7023、对经第二次池化处理后的特征图像进行第三次卷积处理和第三次池化处理。
具体地,先对步骤s7022中输出的64个32×32像素的特征图像进行卷积层处理,使用128个卷积核,各卷积核大小为5×5,步长为1×1;该卷积处理的输出为128个特征图像,每个特征图像的像素为32×32;然后对经卷积层输出的输出为128个特征图像进行最大值池化处理,池化窗口为2×2,步幅为2×2,处理后输出128个特征图像,每个特征图像有16×16个像素。
步骤s7024、对经第三次池化处理后的特征图像进行第四次卷积处理和第四次池化处理。
具体地,先对步骤s7023中输出的128个16×16像素的特征图像进行卷积层处理,使用256个卷积核,各卷积核大小为5×5,步长为1×1;该卷积处理的输出为256个特征图像,每个特征图像的像素为16×16;然后对经卷积层输出的256个特征图像进行最大值池化处理,池化窗口为2×2,步幅为2×2,处理后输出256个特征图像,每个特征图像有8×8个像素。
步骤s7025、对经第四次池化处理后的特征图像进行第五次卷积处理和第五次池化处理。
具体地,先对步骤s7024中输出的256个8×8的特征图像进行卷积层处理,使用256个卷积核,各卷积核大小为3×3,步长为1×1;该卷积处理的输出为256个特征图像,每个特征图像的像素为8×8;然后对经卷积层输出的256个特征图像进行最大值池化处理,池化窗口为2×2,步幅为2×2,处理后输出256个特征图像,每个特征图像有4×4个像素。
步骤s703、基于所述卷积神经网络中的全连接层,对所述若干次卷积和池化处理输出的特征向量进行全连接处理。
具体地,根据卷积神经网络对经卷积层和最大值池化处理后的256个像素为4×4的特征图像进行全连接处理。
所述全连接层(fullyconnectedlayers,fc)在整个卷积神经网络中起到“分类器”的作用,全连接层用于连接上一层所有的特征,并将输出值送到归一化层。
示例性的,训练好的卷积神经网络可以识别8种鸟类的叫声,因此连接层输出的特征向量v包括8个元素,例如8个元素v1-v8分别是-1,-3,2,1,3,-2,0,4。
步骤s704、基于所述卷积神经网络中的归一化层,对全连接处理的结果进行归一化处理,以输出所述降噪鸟声信号对应的鸟类识别数据。
根据卷积神经网络中的归一化层,对全连接层输出的特征向量进行归一化处理。归一化是一个softmax回归分类器。归一化层接收一个任意的实值元素,并将所述实值元素压缩到一个相对概率,该元素对应的相对概率的值都介于0-1之间,且所有实值元素对应的相对概率之和为1。
示例性的,所述softmax回归分类器通过softmax函数实现。
在本实施例中,根据softmax函数对全连接层输出的特征向量v归一化处理后,得到特征向量v中各元素vi各自对应的相对概率si。具体地,softmax函数的表达式为
式中,v表示全连接层输出的特征向量,vi表示特征向量v中的第i个元素,i表示鸟类的类别索引;t表示可识别的鸟类数量,si表示特征向量v中第i个元素vi归一化后得到的相对概率,即降噪鸟声信号对应于第i个鸟类的相对概率。
示例性的,t=8时,全连接层输出的特征向量v包括的元素v1-v8分别是-1,-3,2,1,3,-2,0,4。
经过softmax函数归一化处理后,卷积神经网络中的归一化层输出的向量包括第1-8个鸟类对应的相对概率:0.004,0.001,0.085,0.030,0.232,0.002,0.015,0.631,即s1-s8对应的相对概率分别是0.004,0.001,0.085,0.030,0.232,0.002,0.015,0.631。因此,所述降噪鸟声信号有0.004的概率是属于第一种鸟类,有0.232的概率是属于第五种鸟类,有0.631的概率是属于第八种鸟类。因此该降噪鸟声信号对应的鸟类识别数据包括第八种鸟类,还可以包括0.631这一相对概率。
上述实施例提供的鸟类声音识别方法,通过小波变换算法对原始录音进行降噪处理,减少噪声干扰特征向量的提取;对梅尔滤波器组得到的梅尔频谱数据进行倒谱分析和差分,能够避免重要特征的丢失;从而可以提高基于训练好的卷积神经网络对降噪鸟声信号进行特征识别时的识别效率和准确性。
请参阅图11,图11是本申请的实施例还提供一种鸟类声音识别装置的示意性框图,该鸟类声音识别装置用于执行前述的鸟类声音识别方法。其中,该鸟类声音识别装置可以配置于服务器或终端中。
如图11所示,该鸟类声音识别装置80,包括:鸟声获取模块801、鸟声降噪模块802、预处理模块803、谱线能量提取模块804、梅尔滤波模块805、特征向量提取模块806和特征识别模块807。
鸟声获取模块801,用于获取鸟声录音数据。
鸟声降噪模块802,用于根据小波变换算法对所述鸟声录音数据进行降噪处理,以得到至少一个降噪鸟声信号。
预处理模块803,用于对降噪鸟声信号进行预加重处理、分帧处理和加窗处理,以得到若干窗口数据。
谱线能量提取模块804,用于对所述若干窗口数据进行快速傅里叶变换处理和取平方处理,以得到所述若干窗口数据各自对应的谱线能量。
梅尔滤波模块805,用于基于梅尔滤波器组对各所述谱线能量进行处理,以得到所述若干窗口数据各自对应的梅尔频谱数据。
特征向量提取模块806,用于对各所述梅尔频谱数据进行倒谱分析并对倒谱分析的结果进行一阶差分和二阶差分,以获得所述若干窗口数据各自对应的梅尔倒谱特征向量。
特征识别模块807,用于基于训练好的卷积神经网络,根据所述若干梅尔倒谱特征向量对所述降噪鸟声信号进行识别,以输出所述降噪鸟声信号对应的鸟类识别数据。
在一个实施例中,如图12所示,该鸟声降噪模块802,包括:检测子模块8021、阈值设定子模块8022和降噪子模块8023。
检测子模块8021,用于根据短时能量分析法或正弦波检测算法检测所述鸟声录音数据,并提取出所述鸟声录音数据中不含鸟叫声的噪声片段和至少一个含鸟叫声的鸟声片段。
阈值设定子模块8022,用于对提取的噪声片段进行小波变换以获取噪声片段的小波系数,并根据所述噪声片段的小波系数设定噪声阈值。
降噪子模块8023,用于所述噪声阈值对所述至少一个含鸟叫声的鸟声片段进行小波阈值降噪,以得到所述鸟声片段对应的降噪鸟声信号。
在一个实施例中,如图13所示,该特征识别模块807,包括:特征图像生成子模块8071、卷积和池化子模块8072、全连接子模块8073和归一化子模块5044。
特征图像生成子模块8071,用于根据所述若干窗口数据各自对应的梅尔倒谱特征向量生成所述降噪鸟声信号对应的特征图像。
卷积和池化子模块8072,用于基于训练好的卷积神经网络对所述特征图像进行若干次卷积和池化处理。
全连接子模块8073,用于基于所述卷积神经网络中的全连接层,对所述若干次卷积和池化处理输出的特征向量进行全连接处理。
归一化子模块8074,用于基于所述卷积神经网络中的归一化层,对全连接处理的结果进行归一化处理,以输出所述降噪鸟声信号对应的鸟类识别数据。
上述的装置可以实现为一种计算机程序的形式,该计算机程序可以在如图14所示的计算机设备上运行。
请参阅图14,图14是本申请实施例提供的一种计算机设备的结构示意性框图。该计算机设备可以是服务器或终端。
请参阅图14,该计算机设备包括通过系统总线连接的处理器和存储器,其中,存储器可以包括非易失性存储介质和内存储器。
处理器用于提供计算和控制能力,支撑整个计算机设备的运行。
内存储器为非易失性存储介质中的计算机程序的运行提供环境,该计算机程序被处理器执行时,可使得处理器执行任意一种鸟叫声识别方法。
应当理解的是,处理器可以是中央处理单元(centralprocessingunit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
其中,在一个实施例中,所述处理器用于运行存储在存储器中的计算机程序,以实现如下步骤:
获取鸟声录音数据;根据小波变换算法对所述鸟声录音数据进行降噪处理,以得到至少一个降噪鸟声信号;对所述降噪鸟声信号进行预加重处理、分帧处理和加窗处理,以得到若干窗口数据;对所述若干窗口数据进行快速傅里叶变换处理和取平方处理,以得到所述若干窗口数据各自对应的谱线能量;基于梅尔滤波器组对各所述谱线能量进行处理,以得到所述若干窗口数据各自对应的梅尔频谱数据;对各所述梅尔频谱数据进行倒谱分析并对倒谱分析的结果进行一阶差分和二阶差分,以获得所述若干窗口数据各自对应的梅尔倒谱特征向量;基于训练好的卷积神经网络,根据所述若干梅尔倒谱特征向量对所述降噪鸟声信号进行识别,以输出所述降噪鸟声信号对应的鸟类识别数据。
在一个实施例中,所述处理器在实现得到所述降噪鸟声信号,用于实现:
根据短时能量分析法或正弦波检测算法检测所述鸟声录音数据,并根据检测的结果从所述鸟声录音数据中提取出不含鸟叫声的噪声片段和至少一个含鸟叫声的鸟声片段;对提取的噪声片段进行小波变换以获取所述噪声片段的小波系数,并根据所述噪声片段的小波系数设定噪声阈值;根据所述噪声阈值对所述至少一个鸟声片段进行小波阈值降噪,以得到所述鸟声片段各自对应的降噪鸟声信号。
在一个实施例中,所述处理器在实现所述根据短时能量分析法检测所述鸟声录音数据,并根据检测的结果从所述鸟声录音数据中提取出不含鸟叫声的噪声片段和至少一个含鸟叫声的鸟声片段,用于实现:
对所述鸟声录音数据进行分帧处理以得到若干帧数据;根据短时能量分析法计算每帧数据的短时能量;若有连续若干帧数据的短时能量大于预设的能量幅值,将所述若干帧数据存储为鸟声片段;若有连续若干帧数据的短时能量小于预设的能量幅值,将所述若干帧数据存储为噪声片段。
在一个实施例中,所述处理器在实现根据正弦波检测算法检测所述鸟声录音数据,并根据检测的结果从所述鸟声录音数据中提取出不含鸟叫声的噪声片段和至少一个含鸟叫声的鸟声片段,用于实现:
根据所述鸟声录音数据进行傅里叶变换以得到所述鸟声录音数据对应的若干短时幅度谱信号;若所述短时幅度谱信号中存在预设波形的信号,将所述短时幅度谱信号存储为鸟声片段;若所述短时幅度谱信号中不存在预设波形的信号,将所述短时幅度谱信号存储为噪声片段。
在一个实施例中,所述处理器在实现根据所述噪声阈值对所述至少一个鸟声片段进行小波阈值降噪,以得到所述鸟声片段各自对应的降噪鸟声信号,用于实现:
根据预设的小波基函数对所述鸟声片段进行小波变换,得到所述鸟声片段对应的小波系数;根据所述噪声阈值对所述鸟声片段对应的小波系数进行阈值化处理;对阈值化处理后的小波系数进行小波逆变换,以得到所述鸟声片段对应的降噪鸟声信号。
在一个实施例中,所述处理器在实现基于训练好的卷积神经网络,根据所述若干梅尔倒谱特征向量对所述降噪鸟声信号进行识别,以输出所述降噪鸟声信号对应的鸟类识别数据,用于实现:
根据所述若干窗口数据各自对应的梅尔倒谱特征向量生成所述降噪鸟声信号对应的特征图像;基于训练好的卷积神经网络对所述特征图像进行若干次卷积和池化处理;基于所述卷积神经网络中的全连接层,对所述若干次卷积和池化处理输出的特征向量进行全连接处理;基于所述卷积神经网络中的归一化层,对全连接处理的结果进行归一化处理,以输出所述降噪鸟声信号对应的鸟类识别数据。
在一个实施例中,所述处理器在实现根据所述若干窗口数据各自对应的梅尔倒谱特征向量生成所述降噪鸟声信号对应的特征图像,用于实现:
对所述若干梅尔倒谱特征向量进行矩阵化,以得到所述若干梅尔倒谱特征向量对应的特征矩阵;将所述特征矩阵转换为预设长和宽的图像,以将所述图像存储为所述若干梅尔倒谱特征向量对应的特征图像。
本申请的实施例中还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序中包括程序指令,所述处理器执行所述程序指令,实现本申请实施例提供的任一项鸟类声音识别方法。
其中,所述计算机可读存储介质可以是前述实施例所述的计算机设备的内部存储单元,例如所述计算机设备的硬盘或内存。所述计算机可读存储介质也可以是所述计算机设备的外部存储设备,例如所述计算机设备上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字卡(securedigital,sd),闪存卡(flashcard)等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
技术特征:
技术总结
本申请涉及分类模型领域,使用卷积神经网络实现对鸟类声音类别的识别。具体公开了一种鸟类声音识别方法、装置、计算机设备和存储介质,该方法包括:根据小波变换算法对获取的鸟声录音数据进行降噪处理,以得到降噪鸟声信号;对降噪鸟声信号进行预加重、分帧和加窗,对得到的窗口数据进行快速傅里叶变换和取平方处理,得到窗口数据各自对应的谱线能量;基于梅尔滤波器组对各谱线能量进行处理,对得到窗口数据各自对应的梅尔频谱数据进行倒谱分析并对倒谱分析的结果进行一阶差分和二阶差分,获得窗口数据各自对应的梅尔倒谱特征向量;基于训练好的卷积神经网络,根据梅尔倒谱特征向量对降噪鸟声信号进行识别,输出降噪鸟声信号对应的鸟类识别数据。
技术研发人员:吴冀平;彭俊清;王健宗
受保护的技术使用者:平安科技(深圳)有限公司
技术研发日:2019.05.20
技术公布日:2019.09.17
相关知识
鸟类声音识别方法,装置,计算机设备和存储介质
鸟类声音识别方法、装置、计算机设备和存储介质与流程
一种宠物吠叫的识别方法及装置与流程
一种宠物行为识别方法、装置和可读存储介质与流程
一种智能宠物训导、陪伴方法、装置、设备及存储介质与流程
宠物语言识别方法、装置、电子设备及可读存储介质
宠物情绪识别方法及装置与流程
一种基于声音特征优化选择的鸟声识别方法
车内宠物服务方法、装置、车辆及存储介质与流程
一种宠物情绪识别方法及装置与流程
网址: 鸟类声音识别方法、装置、计算机设备和存储介质与流程 https://m.mcbbbk.com/newsview215015.html
上一篇: 人工智能识别鸟叫声 |
下一篇: 声纹识别demo |