时频特征的海豚发声端点检测方法研究*

2023-09-20 06:50杨昱皞何瑞麟戴阳方亮贺刘刚
应用声学 2023年5期
关键词:端点海豚质心

杨昱皞 何瑞麟 戴阳 方亮 贺刘刚

(1 大连海洋大学航海与船舶工程学院 大连 116023)

(2 中国水产科学研究院东海水产研究所农业农村部渔业遥感重点实验室 上海 200090)

(3 中国水产科学研究院南海水产研究所 广州 510300)

0 引言

海豚是鲸类哺乳动物,广泛生活于全球各大海域,在内海及入海口附近的咸淡水中也有分布,是我国国家重点保护野生动物之一。海豚的声信号主要分为3 类:回声定位信号(click)、脉冲信号(burst-pulse)、通讯信号(whistle)[1-2],whistle 信号主要集中在8~15 kHz,burst-pulse 信号主要集中在15~30 kHz,click 信号主要集中在100~150 kHz[3]。其中click信号是海豚捕食、定位等主要活动的声信号,是进行海豚生物特征以及种群资源调查的重要研究对象[4]。

海洋环境噪声场是海洋环境中普遍存在而又不期望出现的背景声场。它是由风浪、降雨、航船、海洋生物、人类工业活动等因素产生的,是主被动声呐的主要声学背景干扰[5]。虽然目前有许多研究通过绘制信号声谱图,将声音问题转化为图像问题,再使用深度学习或机器学习等方式进行识别[6],但无论是使用哪种方式,都包含大量噪声的干扰,因此数据的预处理变得尤为重要。除海洋环境的噪声干扰外,另一难点是海豚有3 种声信号,其中click 信号的频率往往超过人耳听力范围,声音的传播特性又使得高频分量衰减得更加迅速,导致人工处理信号制作数据集变得困难,使用深度学习的方法识别难以进行[7]。

国内外对于海洋生物的声音已经有不同程度的研究。在Hildebrand等[8]的海洋哺乳动物信号检测和分类性能指标研究中,发现用于检测的数据集受到干扰使得分析数据时非常耗时,说明要研究海洋中的目标生物声音,如何降低噪声及其他生物声音的干扰是检测海洋动物声信号的必要条件。牛富强等[9-10]发现在不同的声行为下,印度洋瓶鼻海豚(Tursiops aduncus)发出的click信号频谱特性变化趋势基本一致;黄龙飞等[11]对普里兹湾虎鲸(Orcinus orca) click 信号进行了检测,发现click 脉冲间隔的范围为10.5~183.5 ms;周韦峥嵘等[12]对中华白海豚(Sousa chinensis)的whistle信号进行了统计分析,得到了海豚whistle信号的谐波特性。上述研究表明海豚不同声信号相对于海洋环境噪声场都具有持续时间短、频率高的特点,这些特征为检测海豚声信号提供了重要的基础。Roch等[13]通过人工制作数据集根据时域变化训练了回声定位检测,得到了良好的效果,说明时域上的特征可以用于识别海豚声音;Gillespie等[14]在齿鲸类全自动检测和物种分类方法中发现,当声音中包含的物种从4 种提高至12 种时,准确率从94%下降至58.5%;Miller等[15]使用开源软件PAMguard 对须鲸(Balaenoptera)叫声进行跟踪并验证其功能,发现检测难度随着声信号时间和带宽的变化而升高。以上两种研究表明,要更准确地识别出鲸豚类的声信号,需要同时考虑海洋环境中包含的物种、时间、带宽的信息。Frasier[16]在使用深度学习识别物种齿鲸信号的研究中,使用了无监督聚类的方法得到齿鲸的信号,通过齿鲸click 信号的声谱形状和分布间隔识别;王宸等[17]在中华白海豚(Sousa chinensis) click 信号识别的研究中,结合能源算子方法和滤波器对click信号实现自动检测。以上研究表明,研究海豚的声音需要海豚声音的数据集,海洋环境中海豚的声信号具有高频、宽带和短时的特点,海洋环境噪声场具有物种复杂、持续时间长、频率分布广的特点。如果能够获得准确的海豚声音数据集,海洋环境噪声场干扰等问题可以相应解决。结合时域特征、噪声环境特征、持续时间、频域特征,本文提出一种基于时频特征的海豚发声端点检测方法研究。

端点检测是为了找到声频信号的开始和结束位置,对语声和非语声的区域进行区分。端点检测已经广泛应用于语声识别、语声增强和声频分类技术的前端,可以简化语声识别过程中的冗余数据,加快识别速度[18]。常用的检测方法有:(1) 双门限法端点检测,利用短时能量和短时过零率设定两个门限可以较好地区分浊音、清音和静音,但是在海洋环境中噪声场和其他生物发声同样会导致过零率产生变化,过零率不能作为海豚声音检测的参数;(2) 自相关法,使用自相关函数求出语声波形序列的基音周期实现噪声的区分,但是海豚的声音和海洋环境的噪声场都没有规律,没有稳定的基音周期,不足以分辨海豚声音;(3) 谱熵法,是根据熵来表示信号的有序程度,而海洋环境中的所有声信号都是无序的,熵不能够在复杂环境中区分出目标生物的声音;(4) 比例法等其他方法。这些方法在物种信息多、频率范围广、能量大和无序性的海洋环境中并不适用。

本文提出的一种基于时频特征的海豚发声端点检测方法研究,以海洋环境噪声场和海豚叫声作为研究主体,综合时频特征研究海豚发声的端点检测技术,为研究海豚发声习性、海豚声音识别及生物保护奠定基础。

1 方法及原理

1.1 流程设计

首先对获取的海洋声音,按照一定长度存储;再将每段声频按照海豚的发声特征选择合适的长度进行分帧,并计算出每一帧的短时能量;对每一帧信号做离散傅里叶变换,对不同的频率范围设计不同权重,求得加权后的谱质心;设置短时能量阈值、谱质心阈值、谱质心二阶偏移率;将短时能量和谱质心超过阈值的部分作为备选有效声段;再分别向备选有效声段的两端比较谱质心二阶偏移率,谱质心二阶偏移率超过阈值的部分,添加至备选有效声段生成完整的有效声段;输出有效声段。具体流程图如图1所示。

图1 端点检测流程图Fig.1 Endpoint detection flow chart

1.2 信号预处理

由于数据集中声频长度不同,处理时长较长的声频需要大量计算并且输出的声谱图不便于观察持续时间很短的click信号,为了体现每一帧短时能量、谱质心的变化,将所有声信号切割为时长1 s 的若干段,切割后不足1 s的样本舍弃。

1.3 提取声频信号特征

通过寻找持续时间、声频能量符合目标发声特点并且在频域上符合目标发声频率范围的声段,即可从声音文件中区分出目标声音。由于获取的声音能量大小受声信号种类和距离影响,用能量变化表示发声具有不确定性,因此在分析时,更依赖于频域特征,两者互相验证,这样可以减少突发高频噪声和目标声信号能量较弱对结果的影响。

1.3.1 信号分帧

海豚声信号的特点是持续时间短、频率高。如果每次处理的声频时间过长,在时域内能量变化会被平滑,在频域内傅里叶变换反映出的是信号整体的功率谱特征,会掩盖短暂发声的信息,因此需要对信号进行分帧加窗处理。由于不需要对声音进行时移叠加还原,不需要考虑旁瓣泄漏的问题,因此选择使用方形窗,步长等于窗长的分析方法。加窗后做短时傅里叶变换将受到不确定性原理的约束,无法同时保证时间分辨率与频率分辨率达到最优,因此窗长应根据实际情况选择,加窗计算公式[19]如下:

其中,n表示采样点序号,m表示帧序号,ωn表示分析窗,xn(m)表示第m帧内第n采样点的信号振幅。

1.3.2 时域分析

时域分析是提取语声信号的时域特征,短时能量、短时过零率、短时自相关系数和短时平均幅度差等是最基本的时域分析参数。短时能量是度量声信号幅值变化的函数,对高电平非常敏感;短时过零率表示的是信号波穿过横轴的次数,可以表达发生信号的频次,由于噪声以及其他生物的声音也会使短时过零率增大,因此不适用于海洋环境中;短时平均幅度是一帧声信号的幅度大小的表征,短时能量通过对信号振幅平方,将振幅的变化扩大,因此短时能量更能够体现出信号的变化;短时自相关系数是衡量信号自身波形在时域上变化程度的指标,但是海洋环境噪声场的构成很复杂,由于信号的无序性,短时自相关系数不适用处理海洋环境声音。因此选择短时能量作为参数,可以增大目标声信号和噪声之间的区分度,计算公式[19]如下:

式(3)中,Ei是第i帧的短时能量,N是单帧信号的采样点数,m是采样点序号,xn(m)是每一个采样点的振幅大小。海洋环境中的噪声大多比较平稳,能量波动范围不大,当出现目标声信号时,该时刻短时能量会增大,通过短时能量和持续时间可以一定程度区分目标声音。

1.3.3 频域分析

对声音进行傅里叶变换,计算公式[6]如下:

对于非平稳信号来说,傅里叶变换一般是不合适的。傅里叶变换的全局积分导致变换结果无法提供频率分量的时间信息。本文使用短时傅里叶变换进行数据处理,加窗后计算公式[6]如下:

式(4)~(5)中,X1表示第l帧的傅里叶变换,ωn表示分析窗,xn表示第n采样点的信号振幅,窗长为N,l表示帧的序号,H表示窗与窗之间的步长,n表示采样点序号,e-jωt表示复变函数。

利用谱质心表征频谱分布情况,计算公式[19]如下:

式(6)中,Ci是第i帧的谱质心,N是单帧信号的采样点数,Fk是短时傅里叶变换后的频率分量,Xk是对应频率分量的能量大小。

考虑到海豚声音的频率的特征,whistle 信号和burst-pulse 信号主要分布在8000 Hz~30 kHz,click 信号最高可以达到100~150 kHz,改进后的公式为

式(7)中,Q1是海豚声音频率范围的权重;Q2是非海豚声音频率范围的权重;N1是海豚声音频率范围;N2是非海豚声音频率范围。由于海洋环境噪声场的低频能量很大,海豚声音对谱质心的提升不明显,为了能够更好地区分海豚发声的声段,设定海豚声音频率范围的权重应当大于非海豚声音频率范围的权重。同时由于海豚的click信号和burst-pulse信号是宽频信号,所以不能不考虑非海豚声音频率范围的分量。由于本文中使用的实验数据较为纯净,低频噪声的能量不大,因此拟定Q1为0.6,Q2为0.4。在不同的环境或者数据中,Q1、Q2的值应做适当修改。

为了找到目标发声的起始点和终止点,引入谱质心一阶偏移率,即每一帧谱质心相对于上一帧谱质心的变化。谱质心二阶偏移率,即谱质心变化的变化趋势。图2 是谱质心一阶偏移率和二阶偏移率的对比图。

图2 谱质心一阶偏移率和二阶偏移率对比图Fig.2 Comparison diagram of first-order and second-order spectral centroid migration rates

观察图2 中的竖线可得,当某一时刻谱质心发生变化时,谱质心一阶偏移率尚没有发生变化,对于该变化的表达存在滞后性,而二阶偏移率在该点已经达到峰值,可以表现出这一时刻谱质心的变化趋势,以此可以精确检测出发声的起始点和终止点。

因为信号成分复杂、信号中的波形函数未知,无法建立函数表达式,而每一帧之间的时间间隔很小,所以通过每一帧的谱质心进行计算可近似得到二阶偏移率,公式如下:

式(8)~(9)中,i表示帧序号,Ci是谱质心,Si是谱质心偏移率,Bi是谱质心二阶偏移率。

1.3.4 拟定阈值

图3 是中华白海豚(Sousa chinensis) click 信号、瓶鼻海豚(Tursiops aduncus) burst-pulse 信号和whistle信号的声谱图。

图3 不同声信号的声谱图Fig.3 Spectrogram of three kinds of dolphin sound signals

由图3(a)可以看到,中华白海豚click 信号持续时间约为10 ms 左右,但频率非常高,可以达到100 kHz 以上;由图3(b)可以发现,瓶鼻海豚burst-pulse 信号持续时间相对于中华白海豚click信号较长,单次burst-pulse 信号约为0.3 s,频率在10~20 kHz 之间;由图3(c)可以发现,瓶鼻海豚whistle 信号持续时间约为1 s,频率在8~20 kHz之间。三幅图的声音来自于不同海洋声音环境,但是可以发现,噪声分布均匀,并且噪声的能量很大,在高频率上也存在均匀分布的噪声点。以上信息说明,目标声音一般为短暂的突发事件,在时间轴上占比很少,在频率轴上相对于噪声的频谱分布的范围更高,在部分频率范围能量有明显提升,因此,可根据噪声分布的特性确定阈值。对一段2950 s的海洋环境声音做散点图如图4所示。

图4 海洋环境声音振幅散点图Fig.4 Scatter diagram of sound amplitude in marine environment

通过观察图4 可以发现,噪声在时间轴上均匀分布,因此当出现目标声信号时,该时刻能量一定大于噪声能量的均值。图4 中能量位于0~35000 范围内均匀分布了大量的数据点,其中最明显的分界线位于能量15000附近,以此反推能量在0~15000范围内的数据占比,得到结果约为2/3。考虑到声音的传播特性,海豚声音是一种高频信号,高频声音衰减的速度更快,能量相对于低频更小,能量的阈值应当低于谱质心的阈值。因此,拟定短时能量的阈值为整段信号的能量均值与短时能量2/3位数之和的一半,拟定谱质心以及谱质心二阶偏移率的阈值为整段信号谱质心的2/3位数。

2 实验与结果分析

2.1 实验数据

实验数据源来自于“Voice in the sea”(https://voicesinthesea.ucsd.edu/)、“Dolphins Underwater Sounds Database” (https://ieee-dataport.org/)、“whoi”(https://cis.whoi.edu/)国外数据集。本文实验平台为python 和Audition,选取了不同海豚3 种声信号进行实验。考虑到海豚click 信号为10.5~183.5 ms,将声频统一切割为1 s。为了减少计算机的计算量,防止数据发生越界,以输入的声信号的最大振幅为1做归一化处理。

2.2 实验设计

(1) 比较不同窗长对检测结果的影响。根据中华白海豚发声时的声谱图可以发现中华白海豚声音的音节持续时间为10 ms~0.1 s。结合窗长越长,时域分辨率越低、频域分辨率越高的规律。而本文方法中对时域分辨率要求高于频域分辨率要求,所以分别选择了10 ms、20 ms、50 ms 窗长对比实验,如图5所示。

图5 不同窗长的时频特征Fig.5 Time frequency characteristics of different window lengths

通过对比图5 可以发现,图中曲线的平滑度随着窗长增加而增加。说明窗长越短,短时能量和谱质心对信号的变化越敏感;窗长越长,短时能量和谱质心的变化越平稳。检测海豚click 信号时需要在很短的时间内检测出很大的变化,因此需要更高的时域分辨率、更高的灵敏度,窗长应当选取较小值;当检测海豚burst-pulse信号和whistle信号时可以采用稍长的窗长,因为海豚的whistle 信号和burst-pulse信号的持续时间更长,相对click信号频率变化更小。

(2) 当检测海豚click 信号时,容易受到突发高频噪声的干扰,因此实验不同阈值对端点检测精度的影响。参考1.3.4 节,实验选取了3 组不同的阈值:①短时能量的55%分界值、谱质心2/3 位数;②短时能量的均值与2/3 位数之的均值、谱质心2/3 位数;③短时能量的2/3 位数、谱质心2/3 位数与谱质心3/4 位数的均值。分别对同一段海洋环境下中华白海豚click 信号进行端点检测如图6 所示,图中每两条虚线表示一段有效声频的起始点和终止点。将不同阈值的检测结果进行对比如表1、表2所示。

表1 不同阈值检测结果Table 1 Test results of different thresholds

表2 不同阈值提取出的有效声段Table 2 Effective segments extracted by different thresholds

图6 不同阈值对检测结果的影响Fig.6 Influence of different thresholds on detection results

通过观察图6、表1、表2 可以发现,第1 组阈值对信号的变化过于敏感,将信号切割得非常零散,第3 组阈值丢失了部分click 信号,最终选择第2 组阈值作为检测阈值,既能够保证对声音时频变化的灵敏度,也不会丢失click 信号,并且提取的有效声段包含最少的噪声。

(3) 为了测试端点检测的适应性,分别选择了25 dB、-10 dB、-24 dB 信噪比的环境下的声音进行实验。实验数据通过Audition 软件筛选,分别为“voice in the sea”中的6102500Q、“whoi” 中的61025008、“whoi”中的61025004。为了避免提取出的声段过短,设置最大静音长度为5 帧,当有效声频之间间隔不超过5 帧时,将其合并为一个声段。对信号的提取如图7 所示,图中每两条虚线表示一段有效声频的起始点和终止点。检测结果如表3所示。

表3 不同信噪比环境下检测结果Table 3 Test results under different SNR environments

图7 不同环境下端点检测的结果Fig.7 Endpoint detection results in different environments

通过图7、表3 可以发现,图7(a)中0 s 和0.2 s附近出现的噪声、图7(b)中2.1~3 s 的噪声和图7(c)中0.3~0.41 s、0.6~0.75 s出现的突发噪声经过本方法检测后没有加入有效声段。说明本文使用的基于时频特征的海豚发声端点检测方法研究,能够降低突发噪声的干扰。通过观察表3 可以得出即使在低信噪比的环境下,检测存在一定的丢失率,但依然能够有良好的表现。

(4) 为了防止环境声音突变造成的阈值偏差,程序设计了不断记录短时能量和谱质心的阈值,每10 帧做一次校核,当出现异常波动时,取平均值作为阈值和下一次校核的起始值。

(5) 与目前比较常用的门限法以及仿照文献[6,20–21]提出的鸟类端点检测改进的海洋哺乳动物算法进行对比,在-24 dB 条件下,采用相同的拟定阈值的方式,对同一段中华白海豚click 信号进行端点检测如图8 所示。3 种方法的检测结果如表4所示。

表4 不同方法检测结果对比Table 4 Comparison of test results by different methods

图8 不同方法的端点检测结果对比Fig.8 Comparison of endpoint detection results of different methods

通过表4 可以得到,当信噪比条件为-24 dB时,门限法的过零率阈值无法准确地区分噪声和中华白海豚的声信号,受到噪声的干扰较大,需要稳定的噪声来确定阈值,阈值确定之后不能够适应噪声的变化,如图8(a)所示;仿照文献[21]鸟类端点检测法首先通过寻找振幅最大值,在最大值的基础上向下寻找一定幅度变化的振幅作为检测阈值,不能够适应海洋中突发噪声能量过高的情况,容易遗漏很多中华白海豚的声信号,如图8(b)所示;这两种方法都不能适应海洋环境噪声场复杂多变的情况。本文提出的方法在海洋环境下能够避开一定程度的突发高频噪声,且准确地检测出中华白海豚声信号,如图8(c)所示。

2.3 结果分析

实验中,总共获得400 个样本,12 种海豚的3种声信号,平均样本时长为15 s。识别出的click 信号为2360 个,whistle 信号为1062 个,burst-pulse信号为1361 个,其中将噪声识别为click 信号的有295个,丢失的click信号为141个,准确率如表5所示。

表5 端点检测准确率Table 5 Endpoint detection accuracy

上述结果表明,本文提出的基于海豚时频特性的端点检测方法能够满足时效性、准确性、适应性的要求。相比于其他应用于海豚声音端点检测的方法,本方法具有计算量小、处理速度快的优点,在低信噪比的条件下对单一海豚依然能够准确地提取其某一类声信号。该方法存在突发高频噪声对检测结果的影响这一问题,但是随着输入声信号时间的增长,噪声的阈值越来越稳定并且贴合噪声与目标声音的分界线,能够提高检测的准确率。

3 结论与讨论

本文提出的基于时频特征的海豚发声端点检测方法,结合声音的短时能量、加权谱质心和谱质心二阶偏移率特征进行检测,通过对比试验,发现可通过调整窗长和阈值设定来满足海豚不同种类声信号的检测需求。本方法相比其他常用的端点检测方法,在只有一种海豚的某一类声信号的海洋环境声场中,能够减少海洋环境中的噪声干扰,并且大幅提高准确率。但是仍然存在以下问题待解决:

(1) 完善不同频率范围的权重,目前对海豚声音的样本数量有限,特征了解不足,获得更加精确的频率范围可以降低出现误判的概率;

(2) 对于海洋噪声以及海豚声音的发声机理认识不足,并且人耳听力范围有限,无法对超出听力范围的声音人工检验;

(3) 需要大量不同环境下的数据进行实验测试,目前本次实验数据仅有3类典型的海豚声信号,3种实验环境,具有一定的局限性,而真实海洋环境中的数据更加复杂且获取较为困难。

未来可以将此方法优化后应用于海洋环境中海豚的声音识别以及声音特征的研究,通过本方法提取不同海域的海豚声信号,为海豚不同声信号制作数据集。

猜你喜欢
端点海豚质心
重型半挂汽车质量与质心位置估计
非特征端点条件下PM函数的迭代根
基于GNSS测量的天宫二号质心确定
海豚
不等式求解过程中端点的确定
海豚的自愈术
参数型Marcinkiewicz积分算子及其交换子的加权端点估计
基丁能虽匹配延拓法LMD端点效应处理
一种海洋测高卫星质心在轨估计算法
均质半圆盘质心计算的微元选取及讨论