MFCC - 特征数量的重要性

信息处理 mfcc
2022-02-01 02:14:01

我一直在阅读有关梅尔频率倒谱系数 (MFCC) 的计算以及矢量量化器 (VQ) 用于识别目的的进一步使用。然而,我对那些 MFCC 关于建议频段数量的计算方法感到困惑。例如,为什么推荐的 mel filterbank 滤波器数量是 20 -40?为什么我们最终会得到 13 个系数而不是 40 个,因为我们将计算 40 个对数能量?

1个回答

过滤器组数

MFCC 计算的最后一步之一是测量滤波器组中的能量。我们这样做是因为想要降低输入向量(幅度谱)的维数,并捕获它的包络。这些三角形滤波器在 Mel 尺度上间隔开:

在此处输入图像描述

这意味着我们在低频下具有非常好的分辨率。对于更高的频率,情况正好相反。我们这样做是因为 MFCC 适用于与语音相关的任务,并且大部分信息位于较低频率(即共振峰)中。

那么我们实际上需要多少个滤波器组呢?例如,HTK 默认使用 20 个滤波器组。您可能会增加该数字,特别是如果您正在处理包含许多紧密间隔频率的信号并且您希望在彼此之间解决它们。这完全取决于您——最终真正重要的是分类性能。

系数个数

在对每个滤波器组中的能量取对数后,最后一步(如果您正在做一些提升,则为倒数第二步)是计算梅尔频率倒谱系数。我们通过使用 DCT 将余弦拟合到计算的对数能量来做到这一点。这捕获了缩减频谱中的周期性。下图应该可以帮助您理解该过程。您可以想象,对于等于滤波器组数量的系数数量,这将对应于捕获每个滤波器组之间的交变能量。

在此处输入图像描述

那么我们要计算多少个 MFCC?HTK 默认使用 12,在大多数应用程序中已经足够了。一般来说,我们不想要太多的系数,因为:

  • 这一切都是为了降低我们的特征空间的维度。
  • DCT 的一个特性是它去相关并将大部分信息保留在前几个系数中。

同样,这完全取决于您的应用程序,您应该根据识别性能调整此数字。系数相比,增加 MFCC 数量的收益可以忽略不计。ΔΔΔ