论文翻译:2020_Residual Acoustic Echo Suppression Based On Efficient Multi-Task Convolutional Neural Network
摘要
回声会降低语音通信系统的用户体验,因此需要完全抑制。提出了一种利用卷积神经网络实现实时残余声回波抑制的方法。在多任务学习的背景下,采用双语音检测器作为辅助任务来提高RAES的性能。该训练准则基于一种新的损失函数,我们称之为抑制损失,以平衡残余回波的抑制和nearend信号的失真。实验结果表明,该方法能有效抑制不同情况下的残余回波。
关键词:residual acoustic echo suppression, convolutional neural network, multi-task learning, suppression loss
1 引言
在语音通信系统中,当麦克风与扬声器处于一个封闭的空间中时,需要捕获麦克风与扬声器之间耦合产生的回声信号,需要声学回声消除(AEC)。 传统的AEC算法由两部分组成:自适应线性滤波器(AF)[1]和非线性回波处理器(NLP)[2]。 AEC中存在许多挑战,例如扬声器引起的非线性特性,而且很难找到AF输出与远端信号之间的非线性关系。 换句话说,在AEC系统中,为了完全去除残留的回声,NLP极有可能对近端信号造成实质性的破坏。
近年来,机器学习被引入到声学回声消除和抑制中。基于远端信号及其非线性变换信号[3],采用两层隐层的人工神经网络对残差回声进行估计。用远端信号和AF输出信号训练深度神经网络(DNN)可以预测更准确的掩码[4,5]。然而,由于相位信息的缺乏,在向神经网络输入幅度谱并估计输出幅度谱掩码时,很难在去除全部声回波[6]的同时保留近端信号。然而,由于增加了更多的输入特征,这样的相位谱使得模型过于复杂,无法应用于大多数个人终端[7,8]。在最近的一项研究中,相位敏感权值被用来利用AF输出和近端信号[9]之间的相位关系来修改掩模。
在本文中,我们提出了一种新的残余声回声抑制(RAES)方法,该方法采用一种高效的多任务卷积神经网络(CNN),将远端参考信号和AF输出信号作为输入,相敏掩模(PSM)作为目标。采用一种新的抑制损失来平衡残差回声抑制和近端信号保留之间的平衡。即使在传统的AEC中,精确的双语检测器(DTD)也是必不可少的,本文还将双语状态的估计作为提高掩模预测精度的辅助任务。实验结果表明,该方法在模拟和真实声环境中都能有效抑制残余回声,显著降低近端信号的失真。
本文的其余部分组织如下。第二节介绍了传统的AEC系统。本文第三节介绍了所提出的方法,第四节给出了比较的实验结果。最后,第五部分是全文的总结。
2 AEC框架
在AEC框架中,如图1所示,麦克风接收到的信号
AEC的目的是去除回波信号,同时保持近端信号的
回声
3 提出的方法
3.1 特征提取
AF模块用于消除麦克风信号中的一部分线性回声。 有很多方法可以实现线性AF算法。 从理论上讲,所提出的RAES可以与任何标准AF算法一起使用,并且本文中使用了子带归一化最小均方(NLMS)算法。
输入特征包括如上所述的AF输出误差信号
3.2 网络框架
本文网络的主干是受MobileNetV2的启发,其中大部分的全卷积操作被depthwise和pointwise卷积代替,以降低计算代价[10]。总体网络架构如图2所示,其中Conv()和Residual BottleNeck()()中的前三个参数分别为output channel、kernel size和stride size,如果没有指定,默认的stride大小为1。FC是指具有输入和输出尺寸的全连接层。Residual BottleNeck()的详细架构如图2 (a)所示,其中residual connection融合了high-dimension和low-dimension特征。
值得一提的是,在双向通话(double talk)中进行mask(掩膜)预测是一项具有挑战性的任务。通过4个Residual BottleNeck blocks提取特征后,我们在右分支中使用DTD预测任务,以减轻左掩模预测分支的负担。因此,多任务学习可以使网络更加关注双向通话掩码的预测,如果DTD任务检测到single talk period(单说话周期),则可以很轻松地将掩码(mask)设置为1或0。
a、Inverted Residual BottleNeck(
(b)总框架
图2 提出K = 128时的网络架构
3.2 训练targets与损失
理想振幅掩模(Ideal amplitude mask,IAM)在不考虑相位信息的情况下,常被用作语音增强和残差回波抑制的训练目标。在本文中,我们使用相位敏感膜(phase-sensitive mask,PSM)[11],其表达如下
其中
最小平方误差(MSE)在训练过程中用作损失函数。为了完全消除回声,在某种程度上使近端信号失真是不可避免的。只要网络的估计不够完美,RAES要么会使近端信号失真,要么会保留一些残留回波,或者更糟,两者都有。一方面,从本质上讲,AEC的主要目的是消除麦克风信号中的所有回声,同时尽可能保留近端信号。因此,与保持近端信号质量相比,抑制回声的要求更高。另一方面,MSE损失是对称的度量,因为相同数量的正负偏差将被视为完全相同的损失。因此,直接使用MSE无法控制抑制回声和保留近端信号之间的折衷。本文的解决方案是应用参数Leaky ReLU函数来计算target与估计掩膜
其中
根据以下规则获得第
其中DTD状态0、1、2分别对应于信号近端通话、单远端通话和双端通话。由于数据集单方通话和双方通话之间的不平衡,将focusing参数
4 实验结果
4.1 数据集
作者:凌逆战
欢迎任何形式的转载,但请务必注明出处。
限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。
本文章不做任何商业用途,仅作为自学所用,文章后面会有参考链接,我可能会复制原作者的话,如果介意,我会修改或者删除。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?