最近筆者在追一部“老劇”——《法證先鋒》,這部戲裡面展示了各種高端的刑偵技術,有時候感覺進入了實驗室。
最近劇中就展示了一種聲紋識別技術。在生物界的聲音識別的應用早已存在,但就像Ironman語音控制自己的戰衣一樣,電子產品是如何利用聲紋信息工作的呢?
1 什麼是聲紋呢?
正所謂“聞聲知人”,可見我們通過聽覺來判斷說話人的身份,古已有之。
說到聲紋,大家肯定會想到指紋。與指紋的唯一性類似,每個人在說話過程中所蘊含的個性特徵(如發音習慣)幾乎是獨一無二的,就算被模仿,也改變不了說話者最本質的特性(尤其在成年之後,可以在相當長的時間裡保持相對穩定不變)。
聲紋可以理解為是一種行為特徵,由於每個人在講話時使用的發聲部位如舌頭、牙齒、口腔、聲帶、肺、鼻腔等在尺寸和形態方面有所差異,以及年齡、性格、語言習慣等多種原因,在發音時千姿百態,因而導致這些部位發出的聲音必然有著各自的特點。因此任何兩個人的聲紋圖譜都不盡相同。
2 聲紋識別系統的發展
聲紋識別系統的開發進展主要包括在聲紋確認領域的開發進展和聲紋辨認領域的開發進展。
在聲紋確認領域,1998年,聲紋識別技術被歐洲電信聯盟用在電信與金融結合的領域中。2004年,美國Beep Card公司發明了一種可以識別卡主人聲紋信息的信用卡,用於確認信用卡使用者的身份。2006年,美國Voice Vault開發的聲紋識別系統被用在荷蘭的一家銀行中,用於身份驗證。2011年,中國建設銀行與國內聲紋識別技術最有名的得意公司合作,開發出了一款聲紋電話銀行系統,2013年,中國天聰公司與廈門公安局合作,搭建“報警聲紋採集系統”。近些年,聲紋識別技術主要用在網上交易中遠程身份驗證、手機用戶驗證解鎖。
在聲紋辨認領域的發展與聲紋確認領域相比慢了很多,它主要被用在公安、司法以及軍事國防中,因其涉及領域的敏感性,很少有系統研究進展被披露出來。
3 聲紋的相關理論研究
聲紋識別技術理論的發展主要包括在特徵提取方面的理論發展與在模型建立方面的理論發展。
在特徵提取方面,最早被用於聲紋識別技術的是語譜圖特徵,科學家們通過肉眼觀察完成語譜圖特徵的匹配,這種方法耗時耗力,且準確性不高。
摘自2010年國際萬維網會議論文
International Conference on World Wide Web. 2010
語譜圖
1969年Luck首次研究出語音的LPCC 即Linear Predictive Cepstral Coefficient(線性預測倒譜系數)特徵,並將該特徵用於聲紋識別技術,提高了識別的準確度,取得了很好的效果。後來的學者提出了將基頻特徵作為LPCC特徵的補充用於聲紋識別,將系統識別準確率提高到一個不錯的水平,掀起了對語音信號倒譜特徵的研究熱潮。在不久之後,PLP (Perceptual Linear Prediction)特徵、
LSPC(Line SpectrumPair)譜系數特徵、MFCC(Mel Frequency Cepstrum Coefficient)特徵都被研究出來,並對聲紋識別技術的發展注入了更多的活力。在模型建立方面,最早被用於聲紋識別技術的是模板匹配算法,它開啟了用模式匹配的方式開展聲紋識別技術研究的先河;在它之後,DTW (Dynamic Time Warping,動態時間規劃)、HMM(Hidden Markov Model,隱馬爾科夫模型)、VQ( Vector Quantization,矢量量化)等也被相繼研究出來,都取得了不錯的效果。
20世紀90年代後期,Reynods提出用GMM作為聲紋識別技術的模型,一經提出,GMM(C Generalized Method Of Moments,高斯混合模型)就因其識別準確率高、操作簡單、魯棒性強而被業界廣泛應用,時至今日,該技術仍然活躍在聲紋識別技術領域中。
2000年,Reynod提出用GMM-UBM模型(Generalized Method Of Moments一Universal Background Model,高斯混合模型和通用背景模型)彌補GMM模型對樣本需求大的不足,為聲紋識別技術真正走向商用做出了很大的貢獻;進入到21世紀後,JFA(Joint Factor Analysis,聯合因子分析)和i-vector模型 被用到聲紋識別技術中,克服了GMM-UBM模型中高斯分量必須相互獨立的侷限性。近年來,深度學習開始被用於聲紋識別技術中,並取得了不錯的效果。
4 LPC(線性預測)算法
縱向看,聲紋識別系統有兩個主要部分構成,一個部分是特徵提取,另一個部分是模式識別。
LPC(線性預測)是非常有用的語音信號特徵提取方法中的一種,其實質是:時域語音採樣點之間存在關聯性,某一語音信號當前的值可以使用以前的很多個語音信號採樣值的加權線性拼合進行模擬,這個加權係數就是線性預測。
先計算時域語音的樣點值和線性預測取樣樣點值的差,後取其二次方和,再用其最小值確定僅有的一個預測係數向量。
令時域語音數據的採樣值序列為S(n) , n = 1, 2, 3, ... m,這裡的S(n)代表時域語音採樣的當前值,即在第n時刻的採樣值的大小。依據以前q個取樣值的加權之和來估算當前的取樣值S(n)稱作是q階線性預測。預測值為:
其中加權係數aj表示預測係數。語音取樣值和自身的線性預測值之間的差值被稱作是預測誤差,用e(n)表示為:
其中,預測誤差e(n)能被看成是S(n)經過下面傳輸函數的輸出:
A(Z)即LPC的誤差濾波器,設計它就是求解預測係數aj,使預測係數e(n)在某個準則下最小,此過程稱為LPC分析。
線性預測的實質為得到一個預測係數向量a1, a2, ... aq,就是語音信號生成模型的系統函數H (z)的參數,滿足預測誤差e(n)在特定情況下最小。
這裡的特定情況通常指均方誤差
取最小值,表示先取誤差的平方再取平均值。
線性預測係數可以反映說話者簡化後的發音特徵,即聲道特徵。其流程圖如下:
最後祝願聲紋技術在AI的土壤裡蓬勃發展,希望可以在特長的領域裡發揮獨特的作用。
維基百科
知乎
聲紋識別中語音特徵參數提取
面向會議場景的聲紋識別技術研究與系統實現
https://twitter.com/AkiyoshiKitaoka
https://www.reddit.com/r/pics/comments/px2j3/made_a_gif_of_the_munkerwhite_illusion_for_class/
https://twitter.com/NovickProf/status/1139342022551191553
https://www.youtube.com/watch?v=nTOTmED9EzU
↓ 點擊標題即可查看 ↓
1. 物理定律告訴你:表白可能鉅虧,分手一定血賺
2. 震驚!昨天你們立起來的掃把,甚至真的驚動了 NASA
3. 酒精和 84 消毒液到底能不能一塊用?
4. 一次性醫用口罩是怎麼做出來的?如何消毒?
5. 數學好玩個球啊,這支豪門球隊用一群數理博士橫掃球場
6. 「測溫槍」到底是怎樣測出你的溫度的?
7. 等量 0 度水和 100 度水混合能得到 50 度水嗎?
8. 人類為什麼喜歡親吻?
9. 病毒從哪裡來?
10. 一見鍾情,到底靠不靠譜?
閱讀更多 中科院物理所 的文章