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

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

网易云信音频实验室持续在实时通信音频领域进行创新,基于 AI 的啸叫检测方法的研究方案被 ICASSP 2022 接收,并受邀于会议面向学术界和工业界进行研究报告。


ICASSP (International Conference on Acoustics, Speech and Signal Processing) 即国际声学、语音与信号处理会议,是 IEEE 主办的全世界最大的,也是最全面的信号处理及其应用方面的顶级会议,在国际上享有盛誉并具有广泛的学术影响力。2022 年线上会议于 5 月 7-13 日举行,线下会议于 5 月 22-27 日在新加披举行。


本次论文的接收是网易云信音频实验室继 AI 音频降噪、AI 音乐检测 2 篇论文被 INTER-NOISE 2021 收录之后,在音频信号处理领域又一新的里程碑。AI 啸叫检测也是国际上首次将 AI 和啸叫问题进行深度结合的实践,该研究结果包括 89.46% 的检出率,以及 0.40% 的误检率,在实际应用中有着广泛意义。



论文地址:https://ieeexplore.ieee.org/document/9747719

啸叫产生的场景、原因及特征
啸叫产生的场景
啸叫现象在现实生活中常有发生,在传统的场景中,例如会议室、KTV 等公放拾音系统,助听器,带有降噪透传或者耳返功能的耳机等。


随着实时通信(RTC)领域的发展,啸叫的产生也有了新的场景,尤其当多个设备在同一物理空间同时入会时,极易出现啸叫现象。


啸叫产生的原因及特征
首先分析一下传统的场景中,当声学传输路径存在反馈闭环通路 (麦克风 -> 扬声器 ->麦克风),就有可能产生啸叫。


在反馈控制理论中,可以通过奈奎斯特稳定性判据进行判断,如果反馈系统处于非稳定状态,则会导致啸叫的产生。从系统传递函数的奈奎斯特图或者 Bode 图中可以直观的分析出系统的稳定性,声学系统产生啸叫的必要条件是:
1) 反馈信号和输入信号同相;2) 反馈环路为正反馈,即对应的开环增益大于 1。



这里 R(s)代表系统的输入,可以理解为外界的激励信号;G(s)代表前向传递函数,可以理解为麦克风拾音到扬声器播放这条路径;H(s)代表反向传递函数,可以理解为扬声器播放到麦克风再次拾取声音这条路径。
同时需要强调的是,啸叫产生的原因是系统的稳定性出了问题,和外界的激励信号没有关系。
在传统的场景中,由于系统相对稳定,所产生的啸叫具有明显的时频域特征,例如具有稳定的啸叫频点,啸叫的能量逐渐增大,并且会长时间持续产生。下面给出了两个示例。


针对这一类啸叫场景,往往有两种解决方案,第一类是根据系统的分析,预先针对系统进行更加合理的声学设计(如剧院声学设计、耳机声学设计、指向性麦克风等),第二类是在线进行啸叫检测,根据啸叫的特征,从信号处理的角度检测是否产生啸叫、啸叫频点等,然后利用检测的结果进行啸叫抑制。

RTC 场景中,当多设备位于同一个物理空间时,同时进入线上会议,此时便会存在多条声学反馈环路,极易导致啸叫的产生。最简单的情况是 2 个移动设备与会,会存在如下的反馈环路。


和传统场景不同的是,RTC 场景中啸叫具有复杂性、多样性、非线性等特征,主要是由于 RTC 系统的复杂性带来的,整个系统音频的框图如下。


由于链路中存在音频算法的处理(典型的如 3A 处理),网络传输的稳定性,环境的多样性,设备的多样性,设备位置的变化等等非线性和多样性因素的存在,整个系统呈现出非线性、时变的特征,从而导致最终啸叫表现出间断性、多频点、频点扩散、频点移动、点叫等等的特征。


也正是因为场景的复杂性以及啸叫特征的多样性,基于传统的信号处理的检测方案很难准确的捕捉到 RTC 场景下的啸叫特征。而网易云信正是基于场景的深入分析,将 RTC 场景下的啸叫检测问题和 AI 技术相结合,进行创新实践。

啸叫检测和抑制的传统解决方案
首先介绍一下啸叫检测和抑制的传统解决方案,这些方案在传统场景中有着高效的应用。
基于信号处理的啸叫检测方案
传统场景下的啸叫具有明显的时频域特征,故可以使用一些信号特征进行检测:

  • 频域上,啸叫频点功率很高,是一个峰值,远超其他语音或噪声频率的功率;
  • 时域上,啸叫频点的功率有一个迅速增大的过程,达到饱和幅度后一直保持。


典型的,会考虑如下 6 个基本特征:
1)  峰值阈值功率比(Peak-to-Threshold Power Raio, PTPR)
啸叫的功率远大于正常播放的音频。故设定一个阈值,只有功率超过阈值的频点,才会进行啸叫检测,减少无意义的检测判决。

                     


2)峰值均值功率比(Peak-to-Average Power Raio, PAPR)
产生啸叫的频点功率远大于其他频点的功率,故可以先计算出整个频谱的平均功率,然后计算每个频点功率与平均功率之比。比值大于预设阈值的频点,记为候选啸叫频率。  


3)峰值邻近功率比(Peak-to-Neighboring Power Raio, PNPR)
PNPR 寻找功率谱的峰值点,加入候选啸叫频率。可以选取左右各 M 个相邻频点进行比较,当前频点功率比邻值都高时,记为候选啸叫频率,M 选取 5 点左右。


4)峰值谐波功率比(Peak-to-Harmonics Power Raio, PHPR)
语音谱有谐波峰,而啸叫频率是不含谐波峰的,故可以根据一个峰值点的谐波频率功率是不是也很大,来判断该峰值是否为啸叫点。


5)帧间峰值保持度(Interframe Peak Magnitude Persistence, IPMP)
IPMP 是时域特征,如果一个频点,连续几帧都是检测出来的候选啸叫峰值,那就认为这个点确实发生了啸叫。实现时可以选定 5 帧,超过 3 帧是候选啸叫频点的位置,判定为啸叫点。


6)帧间幅度斜率偏差度(Interframe Magnitude Slope Deviation, IMSD)
IMSD 也是时域特征,是从啸叫开始发生时判断,此时啸叫频点幅度线性增长,帧间斜率将会保持不变。取多帧进行区间观察,计算多帧平均斜率与区间内更短区间的斜率之间的差值,如果差值在设定阈值以下,就认为该区间斜率保持不变,可能是发生了啸叫。


频域特征 PTPR、PAPR、PNPR、PHPR 都是对一帧内频点进行分析,而时域特征是对多帧间的特征进行分析。所以在进行判决时,一般先对每帧频谱进行频域特征分析,然后对累计的时域特许证进行分析。
当然,其中的一些特性在某些场景中不一定明显,比如 PHPR,有些啸叫的系统是多频点的,并且高频确实是基频的谐波成分;比如 IMSD,在有外界干扰的情况下,这个特征也会被弱化。
更多优化的方法包括利用谱平坦度、基于时频谱统计分析、结合 VAD 等等,大多也都是基于以上几个特征,进行更细精度的优化,但均存在相对明显的误检,尤其对音乐信号不太友好。在后续的实验中,该研究也选取了一种信号处理方案进行对比。

基于信号处理的啸叫抑制方案
啸叫抑制方案大体分为三种:

  • 一种是试图破坏系统的传递函数,使得啸叫点附近获得更多的裕度,从而提升系统的稳定性;
  • 一种是基于检测出的啸叫频点,进行针对性抑制;
  • 一种是基于自适应滤波的动态抑制。


1) 破坏系统特性 – 移频移相方案
啸叫产生的原因是系统的幅度响应和相位响应对应的啸叫点的裕度不够,可以试图通过移频或者移相的方法,改变这一特性,使得候选的啸叫点具有足够的裕度,从而改善系统的稳定性。


  • 移频方法包括 Hilbert 变换、变调算法(如 phase vocoder、PSOLA 等);
  • 移相方法包括全通滤波器等。


但这类方法的最大问题是,移频移相会对信号带来失真。
2) 基于啸叫检测的频点压制方案
此方案严重依赖于啸叫频点的检测,根据啸叫频点进行针对性的压制。      


啸叫频点检出之后,进行 notch 陷波器压制。当然也有一些方法跳过了啸叫频点的检测,使用自适应的 notch filter 进行啸叫抑制。
3) 基于自适应滤波的啸叫抑制方案
通过使用 lms 、nlms 等自适应算法,把麦克风二次采集的反馈信号从麦克风信号中滤掉。这种算法会减小扩音系统的空间感,同时对语音损伤较大,适用于对音质要求不高的场景。          


总体来看,传统的啸叫抑制算法的特点为:
1、移频器:升高或降低输入音频信号的频率,改变频率的输出信号再次进入系统不会和原始信号频率叠加,达到抑制啸叫,这种方法用在对音质要求不高的场景。然而在 RTC 场景下,啸叫频点会出现扩散特征,故移频无法保证能够完全解决啸叫问题。
2、陷波器:通过降低啸叫频率点处的增益,破坏啸叫产生的增益条件。即对信号中出现的较明显的几个或十几个产生啸叫的频率点降低 db,从而达到抑制啸叫的目的。然而本方案依赖于精准的啸叫频率检测,但是如前分析,很难在 RTC 场景下估计出准确的啸叫频率。
3、自适应反馈抑制算法:通过使用 lms、nlms 等自适应算法,把麦克风二次采集的反馈信号从麦克风信号中滤掉。这种算法会减小扩音系统的空间感,同时对语音损伤较大,适用于对音质要求不高的场景。
自适应反馈抑制的方法思路类似于AEC,在自激啸叫的场景可以尝试,但是如果抑制存在残留,实际使用中仍会产生较弱的啸叫;然而在 RTC 场景下,啸叫是由两个手机构成的环路形成,啸叫的时候是没有对端的下行参考信号的,故无法实施。

基于 AI 的啸叫检测方案
对场景以及传统解决方案的分析,并结合 RTC 场景啸叫的特征,该研究选择使用 AI 模型进行啸叫问题的处理,首先需要准确的检测出啸叫是否发生。
基于 AI 的啸叫检测方案,整体流程为:


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

热门文章

最新文章