2012-12-21 29 views
4

我工作的音頻指紋識別系統,並通過一些論文和研究已經走了近來敏感哈希,而這個頁面,特別是:c# AudioFingerprinting and Locality Sensitive Hashing局部性的音頻指紋

我現在已經取得了一系列的指紋用於音頻的每一個爲32ms 。我想要做的是使用LSH或其他一些相似性保存方法將這些單獨的指紋(而不是它們的序列)散列在一起。根據我對LSH的理解,它可以處理多維向量,並生成二進制字符串,然後在海明空間進行比較。

我在這裏的問題是,我有的指紋不是多維的。他們只是單個長整數。我如何使用LSH對這些進行哈希處理?是否有任何方法來散列(以相似性保持方式)單維標量?

回答

1

遲到了,但是這是事情,確實很簡單,但不知道我是怎麼錯過的。

LSH將使用隨機投影向量將向量或標量投影到不同的維空間,同時保持相似性。在這裏檢查一個很好的答案https://stackoverflow.com/a/12967538/858467

所以我所要做的就是創建一個順序[nx 1]的隨機投影矩陣,然後將其與標量[1 x 1]或標量[1 xm]得到預測[nx 1]或[nxm]。此後對其進行閾值處理以得到二進制向量似乎就是這樣做的。

儘管這是我相信正確的方法來做到這一點(以前也是這樣做的),但我現在似乎無法獲得這個良好的二進制向量。當我對問題有更深入的瞭解時,我可能會發表另外一個問題。