ICASSP 2022 | 89.46%检出率,网易云信音频实验室提出全球首个AI啸叫检测方案(2)

简介: ICASSP 2022 | 89.46%检出率,网易云信音频实验室提出全球首个AI啸叫检测方案

数据集
由于问题的新颖性,目前业界没有 RTC 场景下的开源啸叫数据集。因此该研究基于真实场景,利用网易云信音频实验室等资源,进行了大量的数据采集,完成云信啸叫数据集的构造,总共包括 52h+,并进行了精细的标注。

采集数据主要涉及信号、设备、环境、场景等几个方面。

  • 信号方面,采集的信号为设备麦克风采集并转换传给 3A 算法的输入信号,播放的信号包括语音、音乐、噪声、环境声以及一些特殊的声音,如铃声、鸟叫声、口哨声等。
  • 设备方面,设备频响的多样性以及适配设备 3A 算法的多样性,包括不同性能、样式、处理程度不同的 3A 算法的机型进行覆盖。
  • 环境方面,覆盖安静、嘈杂等不同信噪比、混响的环境。
  • 场景方面,场景主要为啸叫与不啸叫的场景,包括单设备入会、多设备入会,设备处于不同的物理位置等等。


模型与优化

RTC 场景下,需要关注的 3 个难点:
1)在保证检出率的前提下,误检率要尽可能低;2)由于啸叫的特征与设备、环境等多因素相关,因此模型需要较好的泛化能力;3)实时场景下,模型需要尽可能小。
本文针对上述 3 个问题,参考音频事件检测的相关思路和方法,进行了优化。
输入特征
由于啸叫频率往往处于 8kHz 以内,该研究将所有数据重采样到 16kHz,并设定帧移为 40ms,序列长度设置为 1.28s,然后对数据求 60 维的 log 梅尔谱,并对训练集 + 验证集的数据进行了归一化处理。
模型结构


  • input: 模型的输入为 32 帧的 log 梅尔谱,即(1*32*60);同时经过 norm 操作;
  • stem block: 包含 3 层 CNN 结构,每层分别包含 16,32,32 个卷积核,卷积核大小为(3,3)、stride 为(1,1),每个 CNN 之后通过 batchnorm 层,ReLu 激活函数,以及 average pool 池化层,池化层的参数分别为(1,5),(1,4),(1,3),之后再加上一层 dropout 防止过拟合;这样通过 CNN 结构进行特征学习,并且将频率维度融合到 channel 维度;
  • Recurrent blovk: 2 层双向 LSTM,通道数为 32,通过 RNN 结构学习时间上的特征(temporal context information);
  • FC block: 通过一层线性层过渡,通道数为 32,同样添加了 dropout 层;
  • Attention block:通过一层线性层达到分类的目的,通道数为 1,激活函数为 sigmoid;
  • output: 模型的输出为 32 帧,即帧级别的输出。


最终转换为 binary 的结果需要对 sigmoid 的输出进行门限判决,门限默认设为 0.5。
损失函数
针对误检率的问题,该研究使用了 weighted binary cross entropy loss。


模型压缩
为了进一步满足 RTC 实时性要求,该研究使用了模型压缩技术,具体使用了基于L1 filter 的剪枝方法以及基于 QAT 的量化方法,这进一步减小了模型的大小和运算量。
评价指标
针对 RTC 场景,该研究主要使用了检出率 TP 以及误检率 FP 最为评价指标,同时计算了 F1 score 作为参考。

  • TP(true positive):检出率,实际为真,判断为真, 1->1
  • TN(true negtive);实际为假,判断为假, 0->0
  • FP(false positive):误检率,实际为假,判断为真, 0→1
  • FN(false negtive): 漏检率,实际为真,判断为假, 1→0
  • P(precision):精准度,TP / (TP + FP),即判断为真的中,正确的数目
  • R(recall):召回率,TP / (TP + FN),即实际为真的中,检出了多少
  • F1 socre:2 * P * R / (P + R),即 P 和 R 的几何平均值


实验及结果
本文主要进行了 4 个实验对比。
1. 模型对比
该研究对比了 4 个方法,包括基于信号特征的传统信号处理检测方法;基于 CNN 的神经网络方法;基于 RCRNN 的神经网络方法;以及本文提出的基于 CRNN 的神经网络方法。
1) 基于信号特征的传统信号处理检测方法:结合了 PTPR/PAPR/PNPR/IPMP 四个特征,以及使用了 VAD 作为辅助;2) 基于 CNN 的神经网络方法: 主体结构使用了 3 层 CNN,相比于 CRNN 的方案,去除了 RNN 层;3) 基于 RCRNN 的神经网络方法:基于 CRNN 结构,增加了残差卷积结构,并且使用了基于时空卷积的 attention 模块,详细内容可以查看论文参考。
在测试集中,本文方法达到 89.46% 帧级别的检出率,以及 0.40% 帧级别的误检率。


从实验结果得出,基于神经网络的方法表现明显优于传统的信号处理方法;RNN 结构的使用可以明显降低模型的误检率;尽管更复杂的模型在声音事件检测任务中提供更好的表现,但是更复杂的模型并没有更多的提升其在啸叫检测任务中的表现。
本文针对误检率的分析发现,多数的误检信号集中在具有和啸叫类似特征和听感的信号,例如鸟叫声、口哨声。
2. 模型优化项对比
该研究对比了数据增强(变速变调、加噪、谱增强等方法)、参数正则化、dropout 层等优化项的表现。
1)使用数据增强时,该研究在 time strectch/pitch shift/frame shift/add gaussian noise/time mask/frequency mask 等 6 种方法中,随机选取若干种进行数据扩充,并重复 4 次,这样可以获得 5 倍的实验数据;2) 该研究尝试了在训练时不加入参数正则化的操作;3) 该研究尝试了在模型中各层 (CNN/FC) 不加入 dropout 层。


从实验结果得出,数据增强可以有效地提升检出率和 F1 score,尤其是 F1 score,作为声音时间检测的一项指标,数据增强会有效提升任务表现,但是对于啸叫检测任务而言,由于误检率也明显提升,对于实际应用并没有明显的帮助;去除了参数正则化和 dropout 层并没有导致所谓的过拟合现象,在测试集中仍然有较好的表现,尤其是检出率和 F1 score,但是同样,会进一步提升误检率,对于啸叫检测的特定任务,并没有表现出更好的效果。
总而言之,该研究会更加关注误检率的表现。
3. weighted BCE loss 对比
此实验验证了不同α系数对检出率和误检率的影响。可以看出,α小于 1 的取值,会进一步降低误检率,更适用于本文的应用场景;而α大于 1 的取值,可以有效地提升检出率。对于相关任务,可以针对检出率或者误检率的要求,有借鉴意义。


4. 模型压缩
最后,实验使用了基于 L1 filter 的剪枝方法以及基于 QAT 的量化方法,模型大小从 121kB 压缩到 39kB,检出率从 89.46% 略微降低到 87.84%,误检率从 0.40% 略微增加到 0.49%。
在模型速度上,在华为 X10 手机上进行实验,每 10ms 数据的最大处理时间约 62.5us。

总结
本文中,从啸叫产生的场景、产生的原因及特征进行了详细介绍,并且分析了传统的基于信号特征的解决方案,及其在 RTC 场景中的不足,最后介绍了基于 AI 的啸叫检测方案,论文的主要贡献在于将啸叫问题和神经网络进行了深度的结合,在效果和性能表现上都达到了较为理想的状态。

未来展望
啸叫检测的结果将会为后续的啸叫抑制提供有力的支持,从应用角度来看,可以利用检测的结构通知用户,或者进行静音、降低音量操作,当然,更加理想的方式是能够将啸叫信号进行消除,同时最大程度上保留有用的信号。这一点有一点类似降噪的思路,所以该研究后续也会深度结合 AI 啸叫检测和 AI 噪声抑制,进一步提升用户的体验。

相关文章
|
10天前
|
传感器 人工智能 监控
智慧工地 AI 算法方案
智慧工地AI算法方案通过集成多种AI算法,实现对工地现场的全方位安全监控、精准质量检测和智能进度管理。该方案涵盖平台层、展现层与应用层、基础层,利用AI技术提升工地管理的效率和安全性,减少人工巡检成本,提高施工质量和进度管理的准确性。方案具备算法精准高效、系统集成度高、可扩展性强和成本效益显著等优势,适用于人员安全管理、施工质量监控和施工进度管理等多个场景。
|
15天前
|
传感器 人工智能 监控
智慧电厂AI算法方案
智慧电厂AI算法方案通过深度学习和机器学习技术,实现设备故障预测、发电运行优化、安全监控和环保管理。方案涵盖平台层、展现层、应用层和基础层,具备精准诊断、智能优化、全方位监控等优势,助力电厂提升效率、降低成本、保障安全和环保合规。
智慧电厂AI算法方案
|
3月前
|
JSON 人工智能 数据格式
AI计算机视觉笔记二十六:YOLOV8自训练关键点检测
本文档详细记录了使用YOLOv8训练关键点检测模型的过程。首先通过清华源安装YOLOv8,并验证安装。接着通过示例权重文件与测试图片`bus.jpg`演示预测流程。为准备训练数据,文档介绍了如何使用`labelme`标注工具进行关键点标注,并提供了一个Python脚本`labelme2yolo.py`将标注结果从JSON格式转换为YOLO所需的TXT格式。随后,通过Jupyter Notebook可视化标注结果确保准确性。最后,文档展示了如何组织数据集目录结构,并提供了训练与测试代码示例,包括配置文件`smoke.yaml`及训练脚本`train.py`,帮助读者完成自定义模型的训练与评估。
|
15天前
|
传感器 人工智能 监控
智慧化工厂AI算法方案
智慧化工厂AI算法方案针对化工行业生产过程中的安全风险、效率瓶颈、环保压力和数据管理不足等问题,通过深度学习、大数据分析等技术,实现生产过程的实时监控与优化、设备故障预测与维护、安全预警与应急响应、环保监测与治理优化,全面提升工厂的智能化水平和管理效能。
智慧化工厂AI算法方案
|
2月前
|
人工智能 Serverless
AI助理精准匹配,为您推荐方案——如何添加一个Stable Difussion图像生成应用
介绍了一种利用AI助手快速获取并搭建Stable Diffusion图像生成应用的方法。用户只需在阿里云官网向AI助手提出需求,即可获得详细的实施方案。随后,按照AI助手提供的方案,通过函数计算部署应用,并进行测试。此过程显著提升了开发效率。
804 2
AI助理精准匹配,为您推荐方案——如何添加一个Stable Difussion图像生成应用
|
2月前
|
人工智能 Serverless API
AI助理精准匹配,为您推荐方案——如何快速在网站上增加一个AI助手
通过向AI助理提问的方式,生成一个技术方案:在网站上增加一个AI助手,提供7*24的全天候服务,即时回答用户的问题和解决他们可能遇到的问题,无需等待人工客服上班,显著提升用户体验。
1917 13
|
2月前
|
机器学习/深度学习 人工智能 JSON
微信小程序原生AI运动(动作)检测识别解决方案
近年来,疫情限制了人们的出行,却推动了“AI运动”概念的兴起。AI运动已在运动锻炼、体育教学、线上主题活动等多个场景中广泛应用,受到互联网用户的欢迎。通过AI技术,用户可以在家中进行有效锻炼,学校也能远程监督学生的体育活动,同时,云上健身活动形式多样,适合单位组织。该方案成本低、易于集成和扩展,已成功应用于微信小程序。
|
2月前
|
存储 人工智能 Serverless
妙用AI助理帮您定方案、找细节
当您希望在繁琐的文档中迷失方向时,AI助理能为您提供清晰指引,助您轻松实现加速配置与获取核心代码参数,显著简化开发流程。无论是方案获取还是寻找细节,只需向AI助理提问,即可获得详细步骤与示例代码,大幅提升工作效率。点击右下角的AI助理,即刻体验便捷服务。
127 1
|
2月前
|
机器学习/深度学习 人工智能 算法框架/工具
基于人体姿势估计的舞蹈检测(AI Dance based on Human Pose Estimation)
基于人体姿势估计的舞蹈检测(AI Dance based on Human Pose Estimation)
59 0
|
3月前
|
人工智能 计算机视觉
AI计算机视觉笔记十五:编写检测的yolov5测试代码
该文为原创文章,如需转载,请注明出处。本文作者在成功运行 `detect.py` 后,因代码难以理解而编写了一个简易测试程序,用于加载YOLOv5模型并检测图像中的对象,特别是“人”类目标。代码实现了从摄像头或图片读取帧、进行颜色转换,并利用YOLOv5进行推理,最后将检测框和置信度绘制在输出图像上,并保存为 `result.jpg`。如果缺少某些模块,可使用 `pip install` 安装。如涉及版权问题或需获取完整代码,请联系作者。