一种利用传声器阵列的语音声源定位方法转让专利

申请号 : CN201911069273.0

文献号 : CN110838303A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王浩卢晶

申请人 : 南京大学

摘要 :

本发明公开了一种利用传声器阵列的语音声源定位方法,步骤如下:(1)生成训练样本,得到时-频域信号,并获得功率包络;(2)对时-频域信号的每个时-频点,判断是否为语音直达声信号;(3)利用步骤(1)生成的样本训练UNET结构的神经网络;(4)利用已训练的UNET结构的神经网络预测待测含噪信号语音直达声对应的时-频点;(5)对判断为语音直达声的时-频点,应用定位方法,得到定位结果。本发明的语音声源定位方法,能够使得在高混响及高干扰的环境中,有效去除干扰和混响的影响,获得精确度和鲁棒性较高的结果。

权利要求 :

1.一种利用传声器阵列的语音声源定位方法,其特征在于,包括以下步骤:

步骤1,利用传声器阵列采集语音信号和干扰信号,获得含噪语音信号和干净语音信号的时-频域信号,并计算含噪语音信号和干净语音信号的功率谱幅度对数值;所述干净语音信号为仅由语音直达声构成的信号;

步骤2,对含噪语音信号和干净语音信号时-频域中所有的时-频点,分别计算各自的空间功率响应谱,并进一步估计时-频点对应的时延,记 和 分别是含噪语音信号和干净语音信号对应于时间n和频带k的时-频窗时延估计值;获得语音直达声对应的时-频点分布图;

步骤3,利用步骤1的含噪语音信号和干净语音信号的功率谱幅度对数值和步骤2的语音直达声对应的时-频点分布图训练UNET结构的神经网络;利用待测信号的功率谱幅度对数值和已训练的神经网络估计待测信号的语音直达声对应的时-频点分布图;

步骤4,利用步骤3估计的语音直达声分布作为权重,结合加权定位算法得到语音声源定位结果。

2.根据权利要求1所述的一种利用传声器阵列的语音声源定位方法,其特征在于,所述步骤2中,选取直达声对应的时-频分布点需同时满足以下条件:

1)在含噪语音信号中,时延估计值 与真实时延τ=(dsinθ)/c相差小于阈值TH1的时-频窗,d、c、θ分别是传声器间距、声速、语音源到达阵列的角度;

2)在干净语音信号中,时延估计值 与真实时延τ相差小于阈值TH1的时-频窗;

3)含噪语音信号和干净语音信号相同位置空间功率谱响应相关性大于阈值TH2的时-频窗。

3.根据权利要求1所述的一种利用传声器阵列的语音声源定位方法,其特征在于,所述步骤3中,神经网络的输入为含噪语音信号的对数化功率谱图,输出为干净语音信号对数化功率谱图和语音直达声时-频点分布图,其中,干净语音信号对数化功率谱图为辅助训练,语音直达声时-频点分布图对应的值作为步骤4的时-频点的权重值。

说明书 :

一种利用传声器阵列的语音声源定位方法

技术领域

[0001] 本发明涉及一种基于UNET结构、在高干扰及高混响环境下使用传声器阵列的语音声源定位方法,属于语音信号处理的技术领域。

背景技术

[0002] 语音信号声源定位(Speech Source Localization,SSL)目的是估计语音信号到达传声器阵列时的角度(Direction-of-Arrival,DOA)。使用一个传声器阵列对语音信号进行声源定位,或者说DOA估计,在声信号处理中是一个非常重要也是非常热点的话题。它在很多应用场景中对声音的捕捉有非常重要的作用,比如智能设备的人机语音交互、镜头追踪以及智能监控。但是,存在的困难之处在于语音信号是一个宽带的非平稳随机过程,同时还存在本底噪声、混响和其他干扰声源。
[0003] 经典的声源定位的方法可分为TDOA(Time Delay Of Arrival)、SRP(Steered Response Power)和Spatial Spectrum三大类;基于数据驱动的方法主要是利用卷积神经网络直接获取DOA结果。在大量的实际应用场景中,不仅存在混响,还存在噪声干扰,目前绝大多数方法都无法在这样的复杂环境保持很高的准确性和鲁棒性。

发明内容

[0004] 为了克服现有技术中存在的不足,本发明提供一种利用传声器阵列的语音声源定位方法,该方法在高混响及高干扰的环境中,依然可以获得精确度和鲁棒性较高的结果。
[0005] 为实现上述目的,本发明采用的技术方案为:
[0006] 一种利用传声器阵列的语音声源定位方法,包括以下步骤:
[0007] 步骤1,利用传声器阵列采集语音信号和干扰信号,获得含噪语音信号和干净语音信号的时-频域信号,并计算含噪语音信号和干净语音信号的功率谱幅度对数值;所述干净语音信号为仅由语音直达声构成的信号;
[0008] 步骤2,对含噪语音信号和干净语音信号时-频域中所有的时-频点,分别计算各自的空间功率响应谱,并进一步估计时-频点对应的时延,记 和 分别是含噪语音信号和干净语音信号对应于时间n和频带k的时-频窗时延估计值;获得语音直达声对应的时-频点分布图;
[0009] 步骤3,利用步骤1的含噪语音信号和干净语音信号的功率谱幅度对数值和步骤2的语音直达声对应的时-频点分布图训练UNET结构的神经网络;利用待测信号的功率谱幅度对数值和已训练的神经网络估计待测信号的语音直达声对应的时-频点分布图;
[0010] 步骤4,利用步骤3估计的语音直达声分布作为权重,结合加权定位算法得到语音声源定位结果。
[0011] 进一步地,所述步骤2中,选取直达声对应的时-频分布点需同时满足以下条件:
[0012] 1)在含噪语音信号中,时延估计值 与真实时延τ=(dsinθ)/c相差小于阈值TH1的时-频窗,d、c、θ分别是传声器间距、声速、语音源到达阵列的角度;
[0013] 2)在干净语音信号中,时延估计值 与真实时延τ相差小于阈值TH1的时-频窗;
[0014] 3)含噪语音信号和干净语音信号相同位置空间功率谱响应相关性大于阈值TH2的时-频窗。
[0015] 进一步地,所述步骤3中,神经网络的输入为含噪语音信号的对数化功率谱图,输出为干净语音信号对数化功率谱图和语音直达声时-频点分布图,其中,干净语音信号对数化功率谱图为辅助训练,语音直达声时-频点分布图对应的值作为步骤4的时-频点的权重值。
[0016] 本发明的语音声源定位方法,通过对语音直达声成分进行定位,最大程度上减少干扰和混响成分参与定位,能够使得在高混响及高干扰的环境中,依然可以获得精确度和鲁棒性较高的结果,有效避免干扰噪声对定位效果的影响。UNET结构的神经网络首先下采样,经过不同程度的卷积,学习输入数据深层次的特征,再经过反卷积实现上采样拟合原数据并输出数据特征。该网络结构在深度神经网络中有较强的特征学习能力,适于学习语音特征并判断直达声。本发明中采用的UNET网络模型在不同阵列形状均可使用,且由于本发明中UNET网络针对单通道信号进行预测,实际使用时无需针对不同形状的阵列重新训练。

附图说明

[0017] 图1为本发明方法的流程图;
[0018] 图2为本发明实施例中的UNET网络基本框图;
[0019] 图3为含噪语音信号对数化功率谱图;
[0020] 图4为干净语音信号对数化功率谱图;
[0021] 图5为理论语音直达声时-频点分布图;
[0022] 图6为UNET预测语音直达声时-频点分布图;
[0023] 图7为无加权含噪信号、理论直达声加权含噪信号、预测直达声加权含噪信号空间功率响应(左侧峰值对应语音信号,右侧峰值对应干扰信号,均按最大值进行归一化处理)。

具体实施方式

[0024] 下面结合附图和具体实施例,进一步阐明本发明,应理解这些实例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
[0025] 本实施例在仿真中进行,提供一种基于UNET结构、利用传声器阵列的语音声源定位方法,适用于高干扰和高混响环境,同时可适用于不同形状的阵列,包括如下步骤:
[0026] 1.生成训练样本,得到时-频域信号,并获得功率包络。
[0027] 在仿真房间中布置语音或干扰声源,使用I个传声器来采集信号,分别对不同位置的语音信号和干扰信号进行采集,二者在时域上的叠加为含噪语音信号,将信号幅度按最大值归一化,并通过STFT变换获得其时-频域信号,记为xi(n,k),表示第i个传声器在频带k内第n帧的含噪语音信号,叠加前传声器阵列接收的语音时-频域信号记为si(n,k)。含噪语音信号X(n,k)和干净语音信号S(n,k)的功率谱幅度均值分别表示为:
[0028]
[0029]
[0030] 式中,xι(n,k)和sι(n,k)分别表示传声器阵列接收的含噪语音信号和干净语音信号中的单通道信号。分别将其对数化表示为
[0031] XL(n,k)=log10(X(n,k)+ξ)   (3)
[0032] SL(n,k)=log10(S(n,k)+ξ)   (4)
[0033] 式中,XL(n,k)和SL(n,k)分别表示含噪信号和干净语音信号的功率谱幅度对数值,ξ为本底噪声功率估计值,用于减轻本底噪声对发明鲁棒性的影响。
[0034] 2.判断语音直达声信号。
[0035] 在实际场景中,总会有一些环境干扰和房间混响,这对语音定位造成糟糕的影响。利用语音直达声判决有助于提高语音源定位的准确性和鲁棒性,有效排除干扰和混响的影响。
[0036] 对含噪语音信号和语音信号时-频域中任一时-频点,利用可控响应功率(SRP)算法计算各自的空间功率响应谱PX(τ|n,k)和PS(τ|n,k)
[0037]
[0038]
[0039] 式中,X(n,k)和S(n,k)分别是对应于时间n和频带k的多通道频域含噪语音和干净语音信号,X(n,k)=[x1(n,k),x2(n,k),...,xI(n,k)]T,S(n,k)=[s1(n,k),s2(n,k),...,sI(n,k)]T,上标“H”是共轭转置符号,“T”是转置符号,g(k,τ)是对应于频带k时延τ的导向向量。获得空间功率响应后进一步估计该点对应的时延(TDoA)
[0040]
[0041]
[0042] 式中, 和 分别是含噪语音和干净语音信号对应于时间n和频带k的时-频窗时延估计,arg max表示取使表达式最大值对应的自变量取值。
[0043] 按如下方式抽取直达声对应的时-频分布点:
[0044] 1)在含噪语音信号中,估计对应时-频窗中时延 与真实时延τ=(dsinθ)/c相差小于阈值TH1的时-频窗,d、c、θ分别是传声器间距、声速、语音源到达阵列的角度;
[0045] 2)在语音信号中,估计对应时-频窗中时延 与真实时延τ相差小于阈值TH1的时-频窗;
[0046] 3)两组信号相同位置空间功率谱响应PX(τ|n,k)和PS(τ|n,k)相关性大于阈值TH2的时-频窗。
[0047] 同时符合以上三个条件的时-频窗中心点标记为1,否则为0。至此得到语音直达声时-频点分布图。
[0048] 3.训练UNET结构。
[0049] 本实施例采用的UNET基本框图见图2。其中CNN(K)、DECNN(K)分别是为K通道的卷积神经网络层(Convolutional  Neural Network Layer)和解卷积神经网络层(Deconvolution Neural Network Layer),激活函数均为Leaky ReLU(LReLU)。后者将层中矩阵单元的长度和宽度扩大,与其对应的是MaxPooling,意为最大池化层,将层中矩阵单元的长度和宽度缩小,分别对应UNET解码与编码的过程,本发明中扩大或缩小均为两倍。UNET结构中输入Input是含噪语音信号的对数化功率谱图XL(n,k),两个输出Speech(S)和DPD(D),分别是语音直达声的对数化功率谱图SL(n,k)和步骤2得到的语音直达声时-频点分布图。Input和Speech的语谱图信息均来自于单个传声器采集的数据,而与阵列结构无关,使得模型可以应用于不同类型的阵列。
[0050] UNET神经网络代价函数为min(1-λ)||S*-S||2+λ||D*-D||2   (9)
[0051] 式中,S*和D*分别是神经网络输出的S和D预测值,||·||2表示二阶范数,λ在训练开始时为0,随着训练进行逐渐增至1。
[0052] 4.利用UNET结构预测待测含噪信号语音直达声。
[0053] UNET神经网络使用过程中,只要在Input中输入含噪语音信号的对数化功率谱图XL(n,k),即可在Output中获得语音直达声时-频点分布图,该图中对应的值即可作为后续用到的时-频点的权重,记为W(n,k)。
[0054] 5.使用加权可控响应功率(WSRP)算法获得定位结果。
[0055] 这里可以借助常用的定位方法:SRP方法,对选中的时-频点进行定位。由于需要对时-频点进行筛选,本实施例采用WSRP方法,得到最终的定位结果表示为
[0056]
[0057] 式中g(k,θ)是对应于频带k时延θ的导向向量,θ表示声波到达方向的可能取值,即自变量,表示待估计的声波到达方向。传声器阵列可为任意适合阵列,通常使用线阵列或环阵列。如果传声器使用均匀线阵列,g(k,θ)表示为
[0058]
[0059] 式中,exp表示以自然对数e为底的指数,j表示虚度变量,c表示声速,d是麦克风阵列的间距向量,ωk是频带k对应的角频率。
[0060] 至此,语音声源定位结果得出。
[0061] 下面给出一个仿真实例。
[0062] 1.仿真混合语音生成
[0063] 本实施以仿真信号定位为例。仿真时采用Imagemodel生成房间冲激响应与干净语音卷积生成混响环境下的语音,并与相同房间参数,不同声源位置处的Imagemodel生成房间冲激响应与干净干扰卷积叠加,得到混合信号。使用Imagemodel仿真时,传声器阵列采用4通道线阵列,网络训练时传声器阵列单元间距为2cm,预测时间距为3.5cm,房间大小设为在7×5×3m3附近随机获得;目标声源位于阵列左侧60°、45°、30°处,与阵列中心距离为2m,干扰声源位于阵列右侧45°;房间混响时间在0.2s-0.9s之间随机选取,信扰比在-5-10dB之间随机选取。每个语音样本的长度为1.2s。信号的采样频率为16KHz。分别对不同位置的语音信号和干扰信号进行采集,二者在时域上的叠加为含噪语音信号。采集语音直达声信号时房间墙面反射率全部为0。由于训练时使用单通道信号,阵列的形状与声源位置的选择对网络训练中的影响可忽略。
[0064] 2.方法处理流程
[0065] a)参数设定
[0066] 首先在表1中给出本发明方法的参数。需要注意的是,本发明的方法在不同的环境中不需对参数进行调整,及所给出参数可以在各种环境下适用。
[0067] 表1各个参数
[0068]Parameters Values
Window width 512
Frameshift 256
ξ 1×10-4
c 344m/s
TH1 d/(15c)
TH2 0.98
Range of the frequency band [2000Hz,8000Hz]
[0069] b)短时傅里叶变换
[0070] 对传声器采集到的时域信号做离散短时傅里叶变换得到时-频域信号,所用窗函数为汉宁窗,窗长为32ms,窗移为16ms。
[0071] c)计算“能量”包络
[0072] 对时-频域信号的每个时-频点:使用(1)-(4)式计算对数化的功率谱幅度。
[0073] d)选取语音直达声对应的时-频点
[0074] 对时-频域信号的每个时-频点:使用(5)-(8)式计算空间功率响应和时延,并按照步骤2中3个条件判断是否为直达声。
[0075] e)利用生成样本训练已设计的UNET结构
[0076] 对设计好的UNET结构:
[0077] 1.输入Input是含噪语音信号的对数化功率谱图XL(n,k),两个输出Speech(S)和DPD(D),分别是语音直达声的对数化功率谱图SL(n,k)和步骤1.2得到的语音直达声时-频点分布图;
[0078] 2.UNET神经网络代价函数见(9)式。
[0079] f)预测直达声
[0080] 对训练好的UNET结构:在Input输入含噪语音信号的对数化功率谱图,在Output中获得语音直达声时-频点分布图。
[0081] g)对选中的时-频点,应用加权可控响应功率方法,得到定位结果
[0082] 对时-频域信号的每个时-频点:使用(10)式对最终的定位结果进行估计。
[0083] 为了说明本发明方法的优点,以下利用仿真和实验对本发明方法与常见的传统算法SRP-PHAT进行比较验证。
[0084] 在仿真条件下,使用4通道线阵列,在每个方向均测试60组数据。实验条件与仿真实例中条件相同。图3-图7展示了含噪语音信号经过本发明提出方法的处理后,干扰信号(右侧)中的能量在空间功率响应中大大降低,大大减少了干扰对定位的影响。
[0085] 这里定义与真实角度相差小于5°的定位结果被视为有效定位。表2给出本发明方法与常规算法SRP-PHAT在测试集中的有效定位率,可以明显看出定位效果的有效性。
[0086] 表2有效定位结果对比
[0087] 角度(°) 本发明方法 SRP-PHAT-30 68.33% 23.33%
-45 75% 18.33%
-60 55% 15%
[0088] 实验中,在两个房间中测试:Room 1是一个混响较高的小房间,体积5.2×3.5×3m,T60=1.10s;Room 2视听室,体积7.3×5.3×3m3,T60=0.36s;使用间距为3.5cm的4通道线阵列对50个语音样本进行录制,录音环境中同时用包含20个不同的常见噪声的干扰样本循环播放,期望声源和干扰源到传声器阵列距离均为2米,高度相同。采样率为16KHz。语音声源分别在-30°,-45°,-60°处,干扰声源在45°处。信扰比稳定在3dB,以符合实际。
[0089] 表3实验中不同方法的RMSE(°)比较
[0090]
[0091] 通过仿真和实验可以看出,本发明中提出的方法在准确性和鲁棒性上优于SRP-PHAT方法,本发明的方法在高混响情况下更稳定,实验中最大RMSE为3.69°,远低于传统的SRP-PHAT算法。