4

我正在研究音频指纹识别系统,最近阅读了一些论文和研究,尤其是这个页面:c# AudioFingerprinting and Locality Sensitive Hashing

我现在每 32 毫秒的音频就有一系列指纹。我想要做的是使用 LSH 或其他一些相似性保留方法对这些单独的指纹(而不是它们的序列)进行哈希处理。根据我对 LSH 的了解,它适用于多维向量并生成二进制字符串,然后可以在汉明空间中进行比较。

我的问题是我拥有的指纹不是多维的。它们只是单个长整数。我如何使用 LSH 对这些进行哈希处理?是否有任何方法来散列(以保持相似性的方式)一维标量?

4

1 回答 1

1

回复晚了,但事情就是这样,确实很简单,但不知道我是怎么错过的。

LSH 将使用随机投影向量将向量或标量投影到不同的维度空间,同时保持相似性。在这里检查一个好的答案https://stackoverflow.com/a/12967538/858467

所以我所要做的就是创建一个 [nx 1] 阶的随机投影矩阵,然后将它与标量 [1 x 1] 或标量向量 [1 xm] 相乘,得到投影 [nx 1] 或 [nxm ]。此后对其进行阈值化以获得二进制向量似乎可以做到这一点。

尽管这是我相信正确的方法(以前也这样做过),但到目前为止,我似乎无法获得好的二进制向量。当我更深入地研究这个问题时,我可能会发布另一个问题。

于 2013-01-03T06:00:38.643 回答