Unsupervised classification to improve the quality of a bird song recording dataset (无监督分类以提高鸟鸣录音数据集的质量)
完整的代码:https://github.com/ear-team/bambird
- [1] F. Michaud et al, "Unsupervised classification to improve the quality of a bird song recording dataset," Ecological Informatics, vol. 74, pp. 101952, 2023.
本研究提出了一种无监督分类方法,用于改善鸟鸣录音数据集的质量。通过引入一个新的标注函数,该方法能够减少数据集中的错误标签,并提高鸟鸣分类的性能。
- 论文背景: 鸟鸣录音数据库通常存在标签不准确的问题,而手动标注耗时且依赖专家,因此需要一种能够自动分割和分类鸟鸣录音的方法。
- 过去方案: 过去的方法主要包括手动标注和半自动标注,但这些方法存在一些问题,如耗时、依赖专家、标签不准确等。
- 论文的Motivation: 为了解决鸟鸣录音数据集中的标签噪声问题,本研究引入了一种数据中心的标注函数,通过分割、特征计算和分类等步骤,能够减少标签噪声并提高数据集的质量。该方法在44种常见鸟类的歌曲上进行了优化、验证和测试,并取得了显著的结果。
理论背景:本研究提出了一种基于数据的新型标签函数,用于减少鸟鸣数据集中的标签噪声。标签函数包括三个步骤:时间频率声音单元分割,每个声音单元的特征计算,以及将每个声音单元分类为鸟鸣或噪声。分类使用了无监督的DBSCAN算法和监督的BirdNET神经网络。标签函数在44种西北古北界常见鸟类的歌曲上进行了优化、验证和测试。
技术路线:时间频率声音单元分割:使用滞后阈值二值化对频谱图上的感兴趣区域进行自动分割,然后提取边界框内的感兴趣区域。特征计算:使用二维小波分析和傅里叶分析计算感兴趣区域的49个特征。分类:使用DBSCAN算法对感兴趣区域进行无监督分类,根据每个物种确定最佳的Eps和MinPts值。同时使用BirdNET神经网络进行监督分类。
-
实验设置:使用Xeno-Canto数据库的录音作为实验数据集,包括来自不同目的常见鸟类的录音。数据集被分为训练集、验证集和测试集。训练集和验证集包括22种鸟类,测试集包括从全球生物多样性信息设施(GBIF)数据库中选择的22种其他常见鸟类。从Xeno-Canto检索到了总共880个音频文件,每个物种有20个音频文件,每个文件时长为20秒,总共录音时间为4小时53分20秒。
-
实验结果:在训练集和验证集中,使用DBSCAN聚类和BirdNET方法对噪声进行了降噪处理。聚类算法对于初始噪声在10%到35%之间的物种特别有效,但对于初始噪声超过35%的物种效果较差。BirdNET方法的最终噪声中位数值较DBSCAN聚类算法低,测试集的最终噪声中位数值也较低。DBSCAN聚类的召回率高于BirdNET方法,对比了两种方法的宏精确度和宏召回率值。对于感兴趣区域(ROIs)的自动分割,最佳参数组合为时间和频率的降采样因子分别为10和15,hysteresis二值化的第一和第二阈值分别为37 dB和dB。对于训练集,自动提取了1855个边界框。每个物种的平均ROI数量为84个,最少的是41个(对应于褐林鸮),最多的是(对应于白颈歌鸲)。根据标记函数估计,每个物种的噪声百分比中位数为36.5%,不同物种之间存在很大差异。在训练集中,对于所有物种,噪声的中位数降低了,从36.5%降低到12.5%。在验证集中,噪声的中位数从35.5%降低到13.5%。在应用DBSCAN聚类后,训练集中有两个物种(普通杜鹃和褐林鸮)完全去噪,验证集中有三个物种(普通杜鹃、褐林鸮和长尾山雀)完全去噪。测试集中的噪声也有所降低,从48%降低到33.5%。使用BirdNET进行分类的最终噪声值比使用DBSCAN聚类算法的噪声值高,训练集和验证集的中位数最终噪声分别为14%和14.5%,而测试集的中位数最终噪声为23%。只有两个物种(欧洲绿啄木鸟和普通椋鸟)在三个数据集中完全去噪。DBSCAN聚类的宏精确度在训练集和验证集上都高于0.8,而BirdNET的宏精确度在测试集上为0.75。宏召回率在三个数据集上都低于0.8,其中验证集的宏召回率最高,为0.84。BirdNET的宏召回率高于DBSCAN聚类。两种方法都可以在个人计算机或虚拟机上运行。在具有2.2 GHz时钟和13 GB RAM的单核心上,处理验证数据集(22个物种的20个音频文件)的计算时间为:下载文件7分钟,提取ROIs 6分钟,使用DBSCAN进行ROIs分类(特征提取和聚类)13分钟,使用BirdNET进行ROIs分类25分钟。