【语音处理】使用多窗口萨维茨基-戈雷 (MWSG) 滤波器增强频谱图,实现可靠的鸟类声音检测(Matlab代码实现)

 👨‍🎓个人主页:研学社的博客  

💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码、数据、文章讲解


💥1 概述

从实场记录中探测鸟类声音对于在生物声学监测中识别鸟类至关重要。录音设备的变化、环境条件以及其他动物的发声使鸟类的声音检测非常具有挑战性。为了克服这些挑战,我们提出了一种包含两个主要阶段的无监督算法。在第一阶段,提出了一种使用多窗口Savitzky-Golay(MWSG)滤波器的频谱图增强技术。我们表明,与单窗口对应物相比,使用MWSG滤波器的频谱图估计是无偏的,并且具有较低的方差。众所周知,鸟类的声音在时频(T-F)平面上是高度结构化的。在所提出的方法的第二阶段,我们利用增强频谱图中特定方向上T-F活动突出的这些线索进行鸟类声音检测。在这方面,我们使用一组四个移动平均滤波器,当应用于增强频谱图时,会产生捕获方向特定信息的方向频谱图。我们提出了一种阈值方案,用于从这些定向频谱图中计算出时变能量分布,以获得鸟类声音活动的帧级二元决策。然后将这些单独的决定结合起来以获得最终决定。实验使用三个不同的数据集进行,具有不同的记录和噪声条件。帧级 F 分数用作鸟声检测的评估指标。我们发现,平均而言,所提出的方法获得了更高的F分数(10.24%相对)与本工作中考虑的六个基线方案中最好的进行比较。

环境监测变得至关重要,因为栖息地丧失的增加和全球气候的变化 驱使各种动植物灭绝[1][2]。生物声学监测是研究和帮助保护的常用方法 濒危动物和鸟类的努力[3]。生物声学信号通常 捕捉不同物种的发声,这可以揭示它们的行为和相互作用 它们的栖息地。随着记录传感器 [4] 的可用性,生物声学 监测可以全天提供数据,为研究人员和保护主义者提供丰富的信息 正在研究的物种及其生活环境。已经采取了这样的努力来识别和研究鸟类[5],[6];昆虫 [7], [8];和其他动物,如 青蛙[9],大象[10]等。在 监测鸟类,通常,从生物声信号中识别或分类鸟类物种是 利息。物种分类之前的一个重要步骤是从记录的信号中检测鸟类的声音。 鸟声检测是在给定的嘈杂生物声学音频中识别鸟类声学的任务,从而 将录音分为鸟声和噪音。细分是可以影响 鸟叫识别系统的性能[11]。分段数据辅助 在计算时间方面与原始数据相比,进一步分析,因为它减少了搜索空间 分类算法。这项工作的重点是从嘈杂的生物声学音频信号中自动检测鸟的声音 在无监督设置中,即自动查找给定音频中包含鸟声的时间段 信号。

已经进行了几次尝试来检测鸟类的声音,以自动识别或分类鸟类。 鸟叫检索等应用也与鸟指定识别任务有关[12]。人对各种鸟类进行了表征 基于局部梯度和基于熵的特征来检索鸟类发声的物种,对应于查询 发声,来自使用K最近的邻域方法[13]。鸟类的分类 基于参数表示的调用已由 Harma [14] 解决。 在他的工作中,鸟叫声中的音节是采用正弦模型分割的。虽然对噪音有鲁棒性, 此方法只能用于具有音调或近音调呼叫的鸟类。更流行的细分方案 基于阈值时域能量包络 [5], [11]。萨默沃等. [5]报告说,发现分割方案的性能取决于物种。声学特性 使用物种特定的前端参数计算发现提供更好的结果[15][16]。此类物种特异性 分割可能不适用于通用生物声学音频信号。

除了基于参数和时域的方法外,还考虑了图像处理的观点 对于鸟叫声分割,其中生物声学信号的频谱图被视为图像。尼尔等. [17]报告说,一种分割方案利用了两者 鸟声的时间和频率特征优于简单的基于时间能量的方案。在这里,一个概率 频谱图的掩码是通过使用随机森林分类器进行分类获得的。对此应用阈值 概率掩码在时频 (T-F) 平面上生成鸟类活动的二进制掩码。虽然设计用于 从嘈杂的记录中分割出来,分类方案需要大约 500,000 次随机抽样训练 示例和硬阈值的选择。王克服了困难的局限性 在基于T-F补丁的熵曲线上使用贝叶斯变化点检测的阈值,熵配置文件由降噪计算 频谱图[18]。这项工作的局限性在于物种特异性 信息对于特征计算是必需的。熵所需的频率带宽等特征 计算,取决于物种。通过隐藏对从过滤频谱图中提取的特征进行顺序建模 马尔可夫模型(HMM)已经完成,以基于开始检测对声音进行分割[19]。 据报道,该算法在鸟类、昆虫和青蛙中表现良好,但需要手动注释 每个类别的训练数据。感知线性预测系数也与HMM一起使用来检测鸟类 来自长场录音的声音[20]。在受监督的情况下, 手动注释是必要的[21],[22],这需要音频工程师专家,并且可能既耗时又昂贵。 这激励了 需要以无监督的方式进行分割方案。

文献中已经提出了几种无监督的鸟类声音检测方案。形态学操作 已经发现频谱图可用于检测基于能量阈值的鸟叫声片段[23]。发现频谱图的形态学滤波是必不可少的 在鸟类分类竞赛的背景下,如MLSP 2013 [24],LifeCLEF 2014 [25]和NIPS 2013 [26].这些方法通常平滑频谱图并获得 T-F 使用形态学操作分割鸟类声音[27]– [29]。尽管这些算法表现良好,但形态学上的参数 可能需要为给定数据集仔细选择过滤,并且可能无法在不同的记录中很好地工作 条件。

在这项工作中,我们提出了一种鲁棒的无监督鸟声检测算法来分割给定的鸟声 嘈杂的录音。典型的挑战包括,记录环境的可变性,不同的噪声条件, 鸟类声音的种内和种间变异性。这些 challe-nges 激发了对算法的需求 与数据集和物种无关,不需要在数据集或特定物种中选择参数 方式。由于在不同噪声条件下可用的数据可能有限,我们提出了一种无监督方法, 不需要训练数据及其手动注释的地方。我们提出了一种具有两个主要阶段的算法 旨在应对上述挑战。

第一阶段是频谱图增强,使其对记录和噪声的可变性具有鲁棒性 导致频谱图退化的条件[14]。在此 工作,增强是通过去噪频谱图来获得更好的T-F表示。在这方面,我们 提出多窗口萨维茨基-戈雷(MWSG)滤波器。我们将去噪问题表述为二维 Savitzky-Golay (SG) 对使用多个计算的频谱图中的 T-F 表示进行滤波操作 窗户。我们表明,对于选定的去噪SG滤波器,时频箱处的估计频谱图是无偏的 并且与考虑单个窗口时相比,使用多个窗口时的方差较小。

拟议方法的第二阶段用于处理由 鸟叫声。鸟的声音可以有简单的单音节结构或复杂的短语模式,其中包含 音符和音节以节奏模式,导致不同的T-F结构[30]。 为了捕捉鸟声的不同T-F结构,我们提出了一组定向滤波器 由二维Gabor滤波器[31]驱动。这涉及 在MWSG过滤频谱图中,在四个不同的方向上计算局部T-F活动的突出程度。 因此,我们获得了四种新的定向T-F表示,其中每个表示捕获特定T-F活性的程度 方向。然后将阈值方案应用于这些方向 T-F 表示中的每一个,以获得四个 细分决策。由于四个 T-F 表示中的每一个都包含特定于 T-F 中方向的信息 平面上,将四个决策组合在一起以提供最终的分割边界。我们发现,在多个 数据集中,所提出的算法平均优于六个基线方案。这显示了稳健性 所提出的方法对记录条件的变化。

本文组织如下。在第二节中,频谱图增强 解释了使用MWSG,然后提出了鸟声检测算法。接下来,研究中使用的数据集 第三节讨论了获取鸟类声音的手动注释所涉及的数据集特定挑战。第四节详细介绍了 基线方案,进行的实验及其结果。结论见第五节。

📚2 运行结果

部分代码:

nfft=512; %FFT Order
shift=256; % Shift
winlength=512;% Window Length
disp('Computing MWSG Spectrogram');
MWSG=compute_MWSG_Spec(signal,fs,M,P);
%% Step 2 Directionality
% Calculate the directional spectrograms based on MWSG Spectrogram
% Parameters
len=11; % No of array values to be summed up in the required direction
disp('Computing directional Spectrograms on MWSG Spectrogram');
[x_D1,x_D2,x_D3,x_D4,DAll]=compute_Dir_Spec_From_MWSG(MWSG,len);
%% Step 3 Segmentation
% Calculating Predicted frames for each directed spectrogam
disp('Computing Predicted Frames');
d1=segment(x_D1); % Predicted frames at 0 degrees directed spectrogram
d2=segment(x_D2); % Predicted frames at 0 degrees directed spectrogram
d3=segment(x_D3); % Predicted frames at 0 degrees directed spectrogram
d4=segment(x_D4); % Predicted frames at 0 degrees directed spectrogram
% Final Predicted frames(d) = max(each directional predicted frame)
d= (d1+d3+d2+d4);
d(d>0)=1;

%% Figures
% Just to get Frequency and Time Points
[~,F,T,~]=spectrogram(signal,winlength,shift,nfft,fs);
% Loading ground truth frames
disp('Reading GroundTruth');
load('../data/GroundTruth.txt');
disp('Saving Figures');
h = figure;
set(h, 'Visible', 'off');
figure
subplot(3,1,1);
time=(1:length(signal))/fs;
plot(time,signal); % Signal
title('Signal');
xlabel('Time in sec');
ylabel('Amplitute');
subplot(3,1,2);
surf(T,F,10*log10(MWSG),'EdgeColor','none'); %MWSG Spectrogram
view(0,90);
axis tight;
title('MWSG Spectrogram');
xlabel('Time in sec');
ylabel('Frequency in Hz');
subplot(3,1,3);
plot(T,GroundTruth,'r'); % GroundTruth Frames
hold on;
plot(T,d,'b');   % Predicted Frames
hold off;
ylim([0 2]);
xlabel('Time in sec');
legend('GroundTruth','Predicted Frames');

🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。

[1]Nithin Rao, Nisha G Meenakshi, Prasanta Kumar Ghosh (2017) Spectrogram enhancement using multiple window Savitzky Golay (MWSG) filter for robust bird sound detection

🌈4 Matlab代码、数据、文章讲解

  • 15
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值