一种用于麦克风阵列增强的CNN模型的设计方法
文献发布时间:2024-04-18 19:58:26
技术领域
本发明涉及音频信号处理技术领域,特别是一种用于麦克风阵列增强的CNN模型的设计方法。
背景技术
语音去噪的问题是语音信号处理中的一个关键问题。语音降噪的主要目的是在不削弱期望信号的情况下从有噪声的输入信号中去除这些噪声。例如以下的情况:有人在视频会议上发言,背景音乐正在播放。在这种情况下,语音去噪系统的任务是减少背景噪声以增强语音信号。除了许多其他例外,这种应用程序对于视频和音频会议至关重要,因为噪音会严重阻碍语音清晰度。
多麦克风降噪技术是指通过对多个麦克风进行采集和信号处理,减少环境噪声对语音信号的影响,从而提高语音通信质量。传统的单麦克风在采集语音时经常会受到各种环境噪声的干扰,如人声、汽车声、风声等。这些噪声会导致语音信号失真,降低语音识别的准确性。
发明内容
本发明的目的在于提供一种用于麦克风阵列增强的CNN模型的设计方法。
实现本发明目的技术解决方案为:一种用于麦克风阵列增强的CNN模型的设计方法,包括如下步骤:
S1、获取多个麦克风的加噪语音,并通过短时傅立叶变换的公式计算出所有麦克风的加噪STFT特征,并通过加噪STFT特征以及麦克风的数量获取两组不同的输入特征;
S2、将两组不同的输入特征输送进两组并行的CNN模型中进行训练得到CNN模型一并输出整合特征;
S3、通过对输入特征处理后并输入CNN模型一中得到CNN模型二;
S4、通过CNN模型二得到麦克风阵列的训练结果,并对麦克风阵列的训练结果进行处理后得到一个特征融合层,用于符合所有麦克风的输入特征;
S5、将特征融合层以及整合特征作为CNN模型的输出的特征进行相融合后,再次经过一层卷积层后输出特征,形成最后的CNN模型。
进一步地,所述短时傅立叶变换的公式如下:
式中,X
进一步地,所述两组不同的输入特征具体为:单个麦克风的特征和所有麦克风的组合特征。
进一步地,所述S2中的CNN模型由对称编码器和解码器组成,编码器由若干个卷积、批量归一化和ReLU激活层的重复组成;解码器由卷积、批量归一化和上采样层的重复组成。
进一步地,所述S2中CNN模型一由编码器、解码器和跳跃结构组成,该编码层和解码层通过跳跃结构连接。
进一步地,所述S3中的CNN模型二由编码器、解码器和跳跃结构组成,该编码层和解码层通过特征整合层连接。
进一步地,所述对输入特征处理的具体方法为:对所有的单个麦克风的特征进行通道合并和帧合并。
进一步地,所述对麦克风阵列的训练结果进行处理,并对麦克风阵列的训练结果进行处理后得到一个特征融合层的具体方法为:
将麦克风阵列的训练结果的张量通过卷积层后在帧维度x∈R
与现有技术相比,本发明的有益效果:
本发明采用多麦克风降噪技术可以通过融合和处理来自多个麦克风的信号来消除或减少这些噪声的影响,通过使用深度学习模型从复杂噪声中提取有价值的语音信息,实现了对环境噪声的高效准确去除。
附图说明
图1为本发明的用于麦克风阵列增强的CNN模型的设计方法图;
图2为本发明的特征整合层示意图;
图3为本发明的自验配算法语音识别率对比示意图;
图4为本发明的不同模型在不同噪声环境下在频域中的降噪效果比较图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,一种用于麦克风阵列增强的CNN模型的设计方法,包括以下步骤:
步骤一、获取所有麦克风的加噪语音,假设一段加噪语音为X
式中,X
STFT的窗口定义为一个周期性的汉明窗,为了计算一个信号的STFT,设置窗口的帧大小为256,跳量为64,这确保了STFT向量之间有75%的重叠,最后将8个连续的噪声STFT向量连接起来,并将它们作为输入,每个输入矢量的形状是(129,8),由当前的STFT噪声向量加上之前的七个噪声STFT向量组成,拟合目标为纯净音频中形状为(129,1)的单一STFT频率表示组成,此外,对于两组并行的CNN模型,两组不同的输入特征具体为单个麦克风的特征和所有麦克风的组合特征,输入特征形状分别为(129,8,1)和(129,8,n),其中n为麦克风的数量。
步骤二、将两组不同的输入特征输送进两组并行的CNN模型中进行训练得到CNN模型一;其中CNN模型由对称编码器和解码器组成,编码器由若干个卷积、批量归一化和ReLU激活层的重复组成;解码器由卷积、批量归一化和上采样层的重复组成,两个组件都包含卷积、ReLU和批量归一化的重复块。总的来说,该网络包含16个这样的块,总计有n+1个相同结构的CNN网络,在所有麦克风的组合特征作为输入的CNN模型中,编码层和解码层直接通过跳跃结构连接,也就是将这两个组件的特征相加形成了CNN模型一,并输出整合特征,CNN模型一由编码器、解码器和跳跃结构组成,该编码层和解码层通过跳跃结构连接。
步骤三、首先对所有的单个麦克风的特征进行通道合并和帧合并,例如,两种融合机制的输出分别为x∈R
特征整合层应用于具有不同麦克风作为输入的细胞神经网络之间,以取代跳过结构。特征整合层的结构如图2所示,特征整合层主要由特征整合层α和β组成,对应于卷积过程中不同深度的跳跃结构,其中,x
步骤4、通过CNN模型二得到麦克风阵列的训练结果,将麦克风阵列的训练结果的张量通过卷积层后在帧维度x∈R
α=SoftMax(y)∈R
式中,W
最后在帧维度上连接所有输入特征融合层的张量,在获得融合张量和获得的注意力权重的乘积后,再次对帧维度求和,得到特征融合层,用于符合所有麦克风的输入特征;征融合层使用不同输入张量之间的权重分布来集成所有特征。
步骤五、将特征融合层以及整合特征作为CNN模型的输出的特征进行相融合后,再次经过一层卷积层后输出特征,形成最后的CNN模型。
使用CHiME3数据集对最后得到的CNN模型进行实验:
CHiME3是作为第三届CHiME语音分离和识别挑战赛的一部分开发的,选择了7138个孤立的英语语音样本作为CNN模型的纯语音,使用四种类型的噪声(咖啡馆、街道、公交车、行人)作为噪声样本来随机生成有噪声的语音,所有数据都作为以16kHz采样的16位WAV文件提供,训练集约占80%。
在实验中,采用远场模型线阵,语音信号的采样率设为16kHz,线型麦克风阵列放置于长宽高为6*5*3m的仿真房间声学环境,麦克风阵列中心坐标为(2,3,1.5),麦克风间距为0.02m,则三个麦克风坐标分别为(2.02,2,1.5)、(2,3,1.5)和(1.98,3,1.5)。混响环境通过基于Allen和Berkley图像算法的IMAGE算法实现,混响时间为RT60=300ms。
目标声源位于距离麦克风阵列中心1m处,来波方向为90°,干扰源为来自NOISEX-92噪声数据库的16Khz白噪声,距离阵列中心约1.5m,位于180°方向,信干比设置为40dB。在此声学仿真环境中,通过输入目标语音信号,生成多麦语音数据集。
为了获得STFT特征,定义一个长度为256、跳数为64的周期性汉明窗口,去除对称的一半以获得顶部129个点。此外,输入由当前STFT噪声向量加上之前的七个噪声STFT向量组成,这意味着一个向量的输入大小为(129,8)。模型参数通过Adam优化器进行训练,每个训练会话的批量大小为512,学习率为0.0001。短期客观可理解性(STOI)和语音失真感知评估(PESQ)用于评估设计的模型。比较实验主要包括单麦克风实验和多麦克风实验。此外,还比较了从设计模型中去除的特征融合层和特征集成层的性能,所有实验结果如表1和表2所示:
表1单麦克风性能对比
表2多麦克风性能对比
表2中“CNN”表示没有任何额外算法融合的卷积网络;”CNN(w/FF)“是一个包含特征融合层的卷积网络;”“CNN(w/FI)”是一个包括特征集成层的卷积网络,而“CNN MM”是所提出的包括所有所提出结构的卷积网络。
从数据中得出结论,与基于单个麦克风的卷积网络相比,基于多个麦克风的网络大大提高了PESQ和STOI的性能,即使没有任何设计的结构,多麦克风的性能仍有改进。此外,设计的CNN-MM模型实现了最高的性能改进,PESQ和STOI分别提高了0.716和0.233。
为了进一步探索最后得到的CNN模型的性能,我们分析了单麦克风模型和多麦克风模型在时域和频域上的去噪效果,图3显示了将噪声添加到原始音频的降噪效果,图4显示了不同模型在不同噪声环境下在频域中的降噪效果比较,其中,“BUS”、“CAF”、“PED”和“STR”分别指不同的噪音环境“车站”、“咖啡厅”、“步行街”和“街道”。
从去噪后的音频波形可以看出,对于无声段,所设计的模型比单麦克风模型具有更好的去噪效果,语音段的去噪效应也更适合纯语音,从不同噪声的降噪谱中可以更明显地看出,与单麦克风模型相比,低频降噪性能大大提高,尤其是在“CAF”和“STR”中。
以上所述实施方式仅仅是对本发明的优选实施方式进行描述,并非对本发明的范围进行限定,在不脱离本发明设计精神的前提下,本领域普通技术人员对本发明的技术方案作出的各种变形和改进,均应落入本发明的权利要求书确定的保护范围内。
- 基于统计模型的麦克风阵列语音增强方法
- 基于统计模型的麦克风阵列语音增强方法