ICASSP 2022论文分享-回声消除:基于多任务学习的残余回声抑制及回声感知代价函数

简介: 近期,达摩院语音实验室语音算法工程师参加ICASSP2022 回声消除国际评测项目(AEC Challenge),提出了一种自适应滤波+神经网络后滤波的多任务学习框架。本文就此方案进行简要分享。

image.png

人们在远距离实时语音通信(RTC)时,从拾音、编码、传输到放音的双向链路过程中往往会受到各种各样影响语音质量的干扰,其中声学回声就是一种典型干扰。声学回声(Acoustic Echo),通俗来讲就是在实时通信中由于麦克风和扬声器的耦合,用户听到了传回来的自己刚才说过的话。

如图1所示,B端用户的讲话被麦克风拾取后通过网络传输到A端,A端扬声器将来自B端的讲话播放出来,同时A端的麦克风又拾取了扬声器播放的声音,又传回B端通过扬声器播放出来,假如对回传的语音不做处理或者处理不好的话,这时B端用户就会听到自己的讲话。相信大家在使用一些会议通信软件的时候偶尔也曾经历过这个情况。
声学回声是严重影响语音通信品质的一种突出干扰。


image.png

图1 声学回声的产生示意图


声学回声消除(Acoustic Echo Cancellation, AEC)是RTC必备的功能,是经典3A算法之一。一般情况下,我们将回声分为线性回声和非线性回声,通过自适应滤波来处理线性回声,通过后滤波算法处理非线性回声。

自适应滤波主要以LMS、RLS、Kalman及其变体为主,其优点是复杂度较低,并且具有较高的鲁棒性;其缺点是无法处理残余的非线性回声以及双讲情况的滤波器发散问题导致估计的语音失真。目前,我们更关注非线性回声的处理。引起非线性的原因有很多,如硬件的声学腔体设计、扬声器的质量、网络传输的丢包、CPU的调度等。
因为不是所有设备都能够提供理想的声学腔体,或者设备里包含几百上千的扬声器,我们需要一套鲁棒的AEC算法,来尽量覆盖大部分的设备情况以及复杂的声学环境,做到消除回声,提供更好的实时通信中的语音质量。典型的回声处理过程如图2所示。


image.pngimage.gif

图2:典型回声处理流程


本次参与项目总结论文“Multi-Task Deep Residual Echo Suppression with Echo-aware Loss”已被 ICASSP 2022 接收。该论文提出了一种自适应滤波+神经网络后滤波的多任务学习框架


  • 论文题目:Multi-Task Deep Residual Echo Suppression with Echo-aware Loss
  • 作者列表:张是民,王子腾,孙佳耀,付艺辉,田彪,付强,谢磊
  • 论文原文:https://arxiv.org/abs/2202.06850


|| 背景

声学回声消除(Acoutic Echo Cancellation,AEC)旨在利用参考信号,消除麦克风信号中的回声。回声消除算法的最佳目标是做到回声零泄露以及目标语音不失真。当然,由于噪声在声学环境中也是不可避免的,因此有的时候也需要兼顾噪声处理。

在实际系统中,线性滤波器对于回声的消除能力有限,特别是在延迟出现抖动、扬声器和录音设备存在非线性的场景,为此还需要级联残余回声抑制模块。深度神经网络有强大的非线性拟合能力,因此近期文献也大多集中于利用深度学习作为后滤波模块处理残余回声。

本次评测以主观听感(Mean Opinion Score, MOS)为主要指标,同时兼顾字识别率(Word Accuracy, WAcc)来衡量AEC算法对语音识别性能的影响。相比于历届评测,本次测试集主要增加了包含手机在内的多种声学环境。手机相比于PC等设备,麦克风和扬声器间距更小,且cpu调度相对pc设备更灵活,回声消除难度更大。采样率也从之前的16kHz(宽带)变成48kHz(全带),这对于神经网络来说意味着同等窗长下具有更高的建模复杂度。故此次采用了一种自适应滤波+神经网络后滤波的多任务学习方案。


|| 基于GFTNN的后滤波

图3为神经网络后滤波模型——Gated Convolutional F-T-LSTM neural network (GFTNN) 。结合残余回声抑制的任务特点,在输入特征上我们拼接了麦克风信号、线性滤波器输出信号以及线性回声组成三路信号的复数频谱,为模型提供更高信回比的输入[3],在输出目标上我们选择分别映射近端干净语音的实部虚部。

image.png


图3:GFTNN post-filter


近期很多深度学习信号处理的文献基于卷积循环网络(Recurrent Convolutional Neural Network)即编码器-循环神经网络-解码器结构进行改进,对编码器解码器增加门限模块,使用时频循环结构(Frequency-Time-LSTM, FTLSTM)以提高建模能力,其特点主要是在频域维度做循环,出发点是符合我们观察频谱的习惯:不仅关注时序上的语音变化,也会关注同一时刻不同子带之间的关系。



|| 回声感知损失函数

目前在回声消除任务上,大家一般会参考做降噪的经验,选择MSE或者SI-SNR去迭代优化模型,自然也有很多工作对这些代价函数进行改进,比如同时优化幅度和相位。


image.png

也有基于不同尺度的loss做优化,比如同时使用SI-SNR和MSE,再用不同的系数超参控制加权。我们的出发点是利用回声信号,对每个时频点做加权,即回声占比越多,对应的加权就越大。也可以理解为根据信回比自适应的调整加权,只不过是TF-bin级的。为此回声感知损失函数(Echo-aware loss)定义如下。

image.png

这和以往对于训练好的模型调整mask有所区别,并不会造成人工干预带来的损失。



|| 多任务学习:可导VAD

除了增大回声加权来提高回声抑制量,为了“感知”回声,让网络学习到区分语音帧和非语音帧,对于非语音帧直接置0,对于语音帧正常处理,同样,对于网络判断错误的语音帧进行惩罚,是不是能够减少过度抑制,并且在无近端语音的时候,进一步提高抑制量呢?基于此出发点,我们利用VAD信息对估计的语音做进一步的“修复”。


image.png

可以看出,这种代价函数可以做到对估计的vad信息结合估计出的语音进一步作出优化,网络给出非语音帧符合VAD label时,直接置0,给出的估计不符合VAD label时,利用loss做惩罚。从而进一步提高抑制量和减少过度抑制。



|| 实验与结论

我们在数据上进行了实验评估。如表1所示,我们比较了不同信号组合方式、线性滤波、代价函数以及验证估计模块的作用。实验表明:

  • 目前线性滤波结合神经网络后滤波的方案优于全深度模型方案;
  • 麦克风信号、线性滤波器输出信号以及线性回声同时作为神经网络后滤波的输入特征会带来更好的性能;
  • 收敛性能和追踪性能更好的线性滤波会给神经网络后滤波带来一致性的收益;
  • 时延估计模块可以带来更好的听感质量;
  • 回声加权的代价函数能够增加回声抑制量并且不会对语音过度抑制;
  • VAD模块能够减少后滤波模型的过度抑制,从而提升后端识别效果。

image.png

表1:不同方法的回声抑制性能


表2展示了参与项目的最终结果。关于方案的具体细节可以参考我们发表的相关论文[1]。

image.png


表2 项目结果


更多样例:https://github.com/echocatzh/GFTNN


参考文献:

[1] S. Zhang, Z. Wang, J. Sun, Y. Fu, B. Tian, Q. Fu, L. Xie, "Multi-Task Deep Residual Echo Suppression with Echo-aware Loss", to appear in ICASSP 2022.论文下载地址:https://arxiv.org/abs/2202.06850

[2] R. Cutler, A. Saabas, T. Parnamaa, M. Purin, H. Gamper, S. Braun, K. Sørensen, R. Aichner, "ICASSP 2022 Acoustic Echo Cancellation Challenge",to appear in ICASSP 2022.论文下载地址:https://arxiv.org/abs/2202.13290

[3] Z. Wang, Y. Na, B. Tian, Q. Fu, "NN3A: Neural Network supported Acoustic Echo Cancellation, Noise Suppression and Automatic Gain Control for Real-Time Communications, to appear in ICASSP 2022.论文下载地址:https://arxiv.org/abs/2110.08437


目录
相关文章
|
2月前
|
Web App开发 人工智能 运维
3分钟让Chrome变聪明!Google AI保姆级激活教程!
本文手把手教你开启Chrome内置Gemini AI功能:自动网页总结、智能填表、购物比价、图片修改等。无需编程基础,提供“快捷方式”和“脚本激活”两种方法,适配美区账号+英文语言设置,5分钟即可让Chrome拥有AI大脑!
2547 9
|
机器学习/深度学习 人工智能 机器人
TIGER:清华突破性模型让AI「听觉」进化:参数量暴降94%,菜市场都能分离清晰人声
TIGER 是清华大学推出的轻量级语音分离模型,通过时频交叉建模和多尺度注意力机制,显著提升语音分离效果,同时降低参数量和计算量。
1398 6
TIGER:清华突破性模型让AI「听觉」进化:参数量暴降94%,菜市场都能分离清晰人声
|
机器学习/深度学习 自然语言处理 监控
深度学习之声音事件检测
基于深度学习的声音事件检测(Sound Event Detection, SED)是指从音频数据中检测并识别出特定的声音事件(如玻璃破碎、狗叫声、警报声等)。这种技术被广泛应用于智能家居、城市监控、医疗监护等领域,随着深度学习的进步,其性能和准确性得到了显著提升。
1615 0
|
算法 测试技术
模块化设计具体应该怎么做呢
【10月更文挑战第22天】模块化设计具体应该怎么做呢
|
机器学习/深度学习 PyTorch TensorFlow
ONNX 与量化:提高模型效率
【8月更文第27天】随着人工智能技术的广泛应用,模型部署变得越来越重要。为了在资源受限的设备上运行复杂的机器学习模型,模型量化技术成为了一种有效的手段。Open Neural Network Exchange (ONNX) 作为一种开放格式,支持在不同框架之间交换训练好的模型,同时也支持模型量化。本文将探讨如何结合 ONNX 和模型量化技术来提高模型的效率,减少模型大小并加快推理速度。
2969 2
|
Web App开发 监控 算法
详解 WebRTC 高音质低延时的背后 — AGC(自动增益控制)
本文将结合实例全面解析 WebRTC AGC 的基本框架,一起探索其基本原理、模式的差异、存在的问题以及优化方向。
详解 WebRTC 高音质低延时的背后 — AGC(自动增益控制)
|
人工智能 语音技术
通义语音AI技术问题之语义VAD模型对于传统VAD模型的问题如何解决
通义语音AI技术问题之语义VAD模型对于传统VAD模型的问题如何解决
2113 0
|
机器学习/深度学习 人工智能 达摩院
ICASSP 2022论文解读:基于统一深度模型的RTC 3A算法
3A算法,包括回声消除(Acoustic Echo Cancellation, AEC),噪声抑制(Noise Suppression, NS)和自动增益控制(Automatic Gain Control, AGC),是实时通讯(Real-Time Communications, RTC)必不可少的三个算法模块。
1789 0
ICASSP 2022论文解读:基于统一深度模型的RTC 3A算法
|
Java Linux
Linux安装JDK8教程(2024)
Linux安装JDK8教程
2144 0