0%

基于神经网络的波束形成方法

FaSNet(filter-and-sum network)

1. 研究动机与问题

  • 传统波束成形(beamforming)方法在语音增强、语音分离和语音识别任务中表现良好,但大多数为非因果(non-causal)系统,需要较长的上下文来稳健估计通道间特征。
  • 在需要低延迟(low-latency)的应用场景中(如实时语音处理),传统频域方法存在明显不足:频率分辨率与输入信号长度之间的权衡会导致可感知的系统延迟
  • 基于掩膜(mask-based)的神经波束形成器在因果/在线场景下性能会严重下降。

2. 现有神经波束形成器的三大分类

类别 方法 特点
滤波法 (Filtering-based) 学习一组波束成形滤波器,进行滤波-求和(FaS) 时域或频域,滤波器可为固定或自适应
掩膜法 (Masking-based) 通过估计 T-F 掩膜来计算空间协方差特征,用于 MVDR/GEV 等 依赖长片段进行稳健估计,在线性能差
回归法 (Regression-based) 隐式地通过网络学习多通道到单通道的映射 不显式生成波束成形滤波器

FaSNet则是基于滤波法进行展开。按照我的理解来说,这里的滤波法就是在不依赖导向矢量的情况下学习波束权重,如果要不依赖导向矢量,则像是FaSNet,最常使用的就是互相关函数(其实也差不多),这里我也不知道为什么作者把MVDR归为masking based,不深究了

核心思想

FaSNet核心思想就是一个双阶段网络直接处理时域数据,优点是实时与低延迟

第一阶段

由图可知,第一阶段需要计算参考麦克风和其他麦克风的互相关(论文中直接使用余弦相似度),并且由图中我们可以看到,所有信号均进行了截取,并且参考信号的截取长度更长,为3L,应该是为了充分得到互相关信息,也就是说每个通道的时间差应该在这个3L范围内

互相关计算会生成N-1个[1,2L+1]互相关向量(余弦相似度向量,NCC特征),然后通过平均池化为[1,2L+1]

然后,对于参考通道信号,有一层额外线性层将其投影为K维,与NCC特征拼接为[1,K+2L+1]输入进TCN网络(TCN网络内容不再展开)

TCN最终会输出C个用于参考信号的波束形成滤波器[C,2L+1],C为声源个数

参考信号通过滤波器后,即为第一阶段输出:去噪后的参考信号

第二阶段

将第一阶段输出作为输入(这里我们就不讨论声源个数的问题了),与每个通道再进行互相关计算得到N-1个NCC特征[1,2L+1]

与第一阶段不同的是,第二阶段是对其他麦克风通道信号进行额外投影至K维,再与NCC特征拼接,输入到一个共享TCN中。第二阶段的TCN输出为N个波束形成信号(可以理解为与参考信号进行了对齐的信号),最后与参考通道相加得到最终波束形成信号

关键技术细节

  • 帧级处理:帧长 L,hop size H,上下文窗口 3L(覆盖 ±L 的跨麦克风延迟)
  • NCC 特征:代替传统频域的 GCC-PHAT 特征,同时包含 TDOA 信息和信号内容信息
  • TCN 结构:每个 TCN 有 R 个 repeat,每个 repeat 含 P 个 1-D 卷积块(R=2, P=5),嵌入维度 K=64,参数仅 0.76M
  • 门控输出层tanh(pW+b) ⊙ σ(pV+q),用于生成滤波器

损失函数

  • 信号质量任务:SI-SNR(尺度不变信噪比)
  • ASR 任务:Mel 谱图的 SI-MSE
  • 采用 uPIT(排列不变训练)解决输出排列问题

实验与数据集

任务 描述 使用数据集
ESE 回声噪声环境下的语音增强(去噪+去混响) TIMIT + 模拟 RIR
ESS 回声噪声环境下的两说话人语音分离 TIMIT + 模拟 RIR
ASR 多通道远场语音识别 CHiME-3
  • 圆形全向麦克风阵列(最多 4 个,直径 10cm),(这也太少了)
  • 使用 image method 模拟房间脉冲响应(gpuRIR 工具)
  • 源距离、房间尺寸随机采样