Advertisement

线性系统深度学习_深度学习在AEC中的应用探索

阅读量:
3a2787df6ee9fe1ff7c24f9a11d31a93.png

本次分享由大象声科高级算法工程师闫永杰在LiveVideoStack Conference 2019北京会议上进行。 闫永杰在会议上阐述了深度学习在回声消除(AEC)中的应用。 作为在线音视频通话(VoIP)领域的重要难题,AEC目前仍面临诸多挑战。 现有方法通常依赖于传统的信号处理技术。 大象声科已在成功将深度学习应用于人声与噪声分离的基础上正致力于将深度学习技术应用于回声消除问题的研究与实践中。

文 / 闫永杰 策划 / LiveVideoStack AEC问题定义

e934de4e7e4f3d25586e505e7ac8a745.png

上图展示了典型的自适应 echo cancellation(AEC)系统架构。首先分析系统的两个主要部分:左框和右框分别代表远端输入信号和近端麦克风采集的信号。其中远端输入信号(Far-End Input Signal)指的是来自外部设备的音频数据x(n),而近端输入信号(Near-End Input Signal)由本地麦克风采集并转换为数字信号y(n)。传统的自适应 echo cancellation(AEC)算法的目标是通过消除回声干扰d(n),恢复纯净的语音信号s’(n)。在传统的语音增强系统中,在 AEC 处理后还会应用降噪算法来去除近端设备产生的背景噪声v(n),从而得到经过 AEC 和降噪处理后的干净语音输出s’(n)。然而当我们在使用电话时会感到困惑的是:当你的设备未能有效抑制来自远端用户的回声干扰时就会听到自身发出的声音。这里我们强调一点:传统 AEC 问题定义只针对回声分量d(n) 的消除而对噪音v(n) 并无影响。简单介绍传统自适应算法原理

dc3175b342c12ac533fe8fc547761b2c.png

第一,在近端无语音输出的情况下进行计算是为了估计参考信号至回声路径的过程即所谓的回声路径估计这一环节至关重要如果未能准确获得回声路径后续步骤都将面临问题第二,在准确获得回声路径h(n)后系统将通过远端信号与h(n)完成卷积运算以获得估计的回声分量第三 麦克风采集到的近端信号去除第二步中估算出的回声分量将作为AEC处理流程中的关键步骤之一

413ab0d8ff4005ea0fcd7af785c0acb8.png

该算法仅在接收远端信号时才可进行回声路径估计,并且对双讲检测(Double-Talk)的要求必须高度精确。如果不及时识别并处理双讲检测情况,则会导致滤波器系数发散,并造成目标语音过压或回声漏消等问题。此外,在传统自适应 echo cancellation(AEC)方法中,并未考虑背景噪声的影响因素,在实际应用中如果遇到背景噪声较大的环境条件,则会严重影响系统的性能表现。进一步分析表明,在理论上估计算得的回声路径h(n)被假设为一个线性系统;然而,在现实环境中,扬声器可能会引入显著的非线性影响

be6d6ccb83f3adab954f4ffbc3fe0e85.png

在该图中我们可以从另一个角度审视AEC的概念。其中麦克风采集了包括目标语音、回声以及背景噪声在内的三种信号类型。基于传统意义上的定义我们的主要目标是去除回声和背景噪声(尽管传统上AEC主要用于去除回声分量)。这使得我们可以将AEC视为一种信号分离技术:即实现从混合信号中提取出目标语音的目的。计算听觉场景分析

8e060e88f3fb79bf6327ca5da81e6cd5.png

当我们谈到语音分离问题时,不得不提我们大象声科首席科学家汪德亮教授所提出的理想二值掩膜(Ideal Binary Mask, IBM)理论。该理论旨在定义语音分离任务的目标标准为理想二值掩膜,在这种情况下仅包含两个可能的取值:0或1。具体而言,在目标信号强度超过非目标信号强度时,则设为1;反之则设为0。(注:此处"IBM"保持英文原样)

a53ac50d5a87f3b34aa4ee47f765641c.png

以上有四张图:

  • 左上图表示的是近端信号(Near-End),前面和后面都是一段静音。

右上图显示为远端信号(Far-End),即来自对方的声音传输路径,在这种情况下有持续的人声经由扬声器播放输出。当麦克风阵列部署于近场区域时,在同一时间点麦克风阵列将接收到第一阶段来自近端讲话者的声音信号与第二阶段经由扬声器播放出来的背景音乐或语音内容叠加在一起。这种情况下中间这段重叠的时间窗口内的声音呈现出两个独立的信号叠加状态。

左下图所示的是麦克风捕获的一个包含了近端信号与远端声源声音的混合音频。

当根据IBM公式对左上和左下的图像进行计算时,则会生成目标区域的Mask值;如右下方所示即为结果示意图。不难预期,在将右侧下方的图像覆盖至左侧下方的位置时,则其效果将类似于左侧上方的第一张图像。

借助这四张图件, 读者能够清晰地了解IBM的运算机制及其应用方法. 深度学习

68b392277c0164cd65de122e039bfbfa.png

下面我们将探讨深度学习的核心概念。在探讨学习本质之前,请问:学习的本质到底是什么呢?从本质上讲,在构建模型的过程中我们会尝试建立一个映射关系:给定输入数据以及对应的目标输出信息后,在不对外展示模型参数的情况下使模型能够自主优化调整以达到预测结果的目的。这种映射关系通常采用以下几种方法进行实现:高斯混合模型、支持向量机、多层感知机以及深度神经网络(DNN)架构等方法均可完成这一任务目标。值得注意的是,在当前研究领域中随着深度神经网络技术的快速发展已经展现出显著的性能优势因此我们选择了深度神经网络作为主要建模方案来进行深入研究与应用探索。对于AEC(语音活动检测)这一特定任务场景而言 IBM算法已经被确定为目标输出y值而我们的输入变量则包含两个部分一个是来自混合语音信号处理得到的幅度谱另一个是远端参考信号处理后的幅度谱结果这样一来我们就成功地建立了完整的函数映射关系体系

37dc56b1c0d144e652c615c1df9b7b0a.png

那么,请按照以下步骤操作:第一步,请选择一个作为近期参考点的基线位置,并在此位置上放置一个麦克风以获取该位置处的声音波形;第二步,在远处放置另一个麦克风以获取另一声音波形;第三步,请将两个麦克风采集到的声音波形分别进行预处理并保存下来;第四步,在这两个预处理好的声音波形之间建立一个数学关系式,并通过这个数学关系式来推导出另一个声音波形的具体值;第五步,请将推导出来的具体值作为一个新的声音波形加入到原始的声音数据流中去;第六步,在这个新的声音数据流的基础上应用深度学习算法来进行相关的分析和运算;第七步,请将运算结果与预期的目标进行对比并不断优化算法直到达到最佳效果为止。

bb3f7af52d27b2ee214fdf5566e78d17.png

下面,总结一下深度学习解决AEC问题:

选定训练目标--IBM,在本节中我们指定IBM作为示例来进行阐述;实际上,还可以采用IRM(Idea Ratio Mask)。

  1. 输入网络的特征--混合语音及参考信号STFT 后幅度谱;

  2. 训练工具现在都比较成熟了,Tensorflow、Pytorch 都非常好用;

基于数据的驱动机制下,通过持续输入训练的数据到网络中,并使它不断更新调整参数设置,从而取得较好的效果。

实验结果示例

6d35d80fd43f9eb613d97c981ae06d89.png

此图展示了模型收敛后的处理前后对比情况。 经过处理后我们可以观察到混合语音中前后两段远端声音信号已经消失殆尽 完整地保留了目标语音信号 并且中间重叠的部分也实现了良好的分离 整体效果令人满意。

96c09c05c44abfecba578f647405b25e.png

该实验在实验数据上已实现了良好的效果。然而,在面对实际采集的数据时未能达到预期的效果。我们主要从以下几个方面进行了分析:

  1. 现实场景中要考虑噪音的干扰;

  2. 非线性带来的不匹配;

  3. 现实中的房间冲激响应与实验室生成的存在差异。

从上述几点可以看出,核心原因在于实验数据与真实环境下的数据分布存在显著差异。这直接引发了模型在实际应用中性能急剧下滑的问题。那么我们如何解决这个问题呢?

ecf6a6684aea0062eb333511c2876de2.png

在优化方案设计中可以采用以下两种策略:其一是在优化仿真数据的过程中加入一些人工引入的噪声信号以缓解背景噪声与真实环境之间的数据分布差异问题;其二是通过设计非线性处理模块来模拟扬声器系统的固有非线性特性从而减少实验数据与实际采集回声数据之间的偏差。其二是针对回声采集系统进行优化可以从硬件设备层面出发开发一款功能强大的应用程序该APP不仅可以实时读取SD卡内的音频文件进行播放还可以自动完成麦克风采集的数据存储工作从而实现对远端信号及其实时回声分量的有效获取。这样我们就可以通过该系统在不同房间不同位置甚至不同设备上采集大量高质量的语音样本集进而为后续的数据训练奠定坚实的基础。在实验阶段我们则会结合近端麦克风采集到的真实语音信号与之前存储的真实回声数据集混合生成一组较为逼真的训练样例集利用这些样例集可以显著提升模型对真实场景下的语音识别能力并有效避免由于训练数据与实际应用场景之间存在较大分布差距所带来的性能下降现象。

c511908f1bc06c51df989000e3e1d650.png

在此时, 我们归纳总结道: 相较于传统方案, 在解决回声消除问题方面优势明显

不需要考虑双讲的情况。
神经网络自己去学习的是 Double-Talk。
由于我们的目标中包含了 Double-Talk 的信息。
避免了传统方法在双讲检测不准确时出现回声消除异常的问题。

  1. 深度学习本来就具备非线性拟合能力,并能在AEC系统中更全面地涵盖相关因素。

  2. 不需要复杂的参数调节步骤。这一特点是我们特别重视的优势,并且能够显著提升工程效率。

局限性

99a46357c4d31a399e581b8751c23c4e.png

现有技术仅实现了目标语音幅度的重建而不涉及相位重建,在合成过程中被采用了混合语音相位来进行合成过程。
这种方法在高增益情况下表现良好,在低增益情况下则听感不佳;

  1. 在低信回比条件下,Masking方式恢复幅度的能力也有限;

虽然我们做了很多平衡训练数据与真实数据的工作,但仍会因为分布差异而导致模型能力下降的问题。

这项研究具有探索性质。我们观察到了良好效果。希望与行业内的专家共同努力协同推进这项研究。

87cd2815b302772f06fb259bde6ba5a7.png

目前我们能看到可能解决上述问题的思路主要有:

  1. 同时预测目标语音的幅度谱和相位;

  2. 直接在时域上进行预测。

应用场景

738eafccb7cfc8cc47e9528acdefcf78.png

AEC 的应用领域涵盖智能家居、云计算通信技术、智能化安防系统、智能汽车相关领域、音频设备领域、自动化机器人技术以及移动通信设备领域。

20e414914660dee790344a90b38b7ab6.png

在手机领域已取得了一定的落地成果,在手机手持模式下回声分量相对较小 这一特点较为适宜当前技术的发展趋势 已有多款配备大象声科算法的智能手机投入市场并获得了良好的商业反响

  • 如何合成含噪声的数据?

在降噪领域中通常仅考虑加性噪声的影响,在训练过程中采用多个信噪比值和不同输入幅值的数据样本进行多条件优化。

  • 一般会采用什么样的网络结构呢?

当处理回声消除问题时

  • 训练时单讲和双讲数据的比例大概是什么样呢?

通常情况下,在我们的训练中采用双人讲解的比例为20%。然而,在大多数情况下仍然采用单人讲解的方式。这一比例也与实际应用场景中的常见比例相吻合。

LiveVideoStack 秋季招聘

LiveVideoStack正在寻找编辑、记者及运营岗位。该平台将与行业顶尖多媒体技术专家及年轻团队成员紧密合作,共同致力于推动多媒体技术生态系统的发展进程。此外,我们热忱欢迎你利用业余时间远程参与内容创作工作。The job openings are available on BOSS直聘,请您关注我们的官方公众平台 Tony_Bao_ for more details.

03314b9df6e1eba6995f5e90add9af57.png

全部评论 (0)

还没有任何评论哟~