0
本文作者: 金紅 | 2016-11-30 17:08 | 專題:雷峰網(wǎng)公開課 |
編者注:本文內(nèi)容來自聲智科技創(chuàng)始人陳孝良在雷鋒網(wǎng)硬創(chuàng)公開課的分享,由雷鋒網(wǎng)旗下欄目“新智造”整理。
嘉賓簡介:陳孝良,博士,聲智科技創(chuàng)始人,曾任中科院聲學(xué)所副研究員和信息化辦公室主任,中科院上海高等研究院客座,北京市公安局首屆網(wǎng)絡(luò)應(yīng)急專家,主要從事聲學(xué)信號處理和 GPU 深度學(xué)習(xí)算法研究工作。
聲紋識別還是一個比較窄的學(xué)科,應(yīng)用也相對較少,在此之前,先給大家看幾個聲紋的例子。
1個月大嬰兒的哭聲聲紋
男人的口哨聲聲紋
下雨打雷聲聲紋
接吻聲聲紋
人聲和槍聲聲紋
每個例子都代表了不同的聲音特征,從表面上來看還是非常容易區(qū)分的。直觀就是看亮色的曲線差別,具體就是基音頻譜及包絡(luò)、基音幀的能量、基音共振峰的出現(xiàn)頻率及其軌跡,有條件的可以實時看自己的聲紋。
那我們就從聲紋識別的基本原理談起,聲紋識別是通過對一種或多種語音信號的特征分析來達到對未知聲音辨別的目的,簡單的說就是辨別某一句話是否是某一個人說的技術(shù)。
該項技術(shù)最早是在40年代末由貝爾實驗室開發(fā),主要用于軍事情報領(lǐng)域。隨著該項技術(shù)的逐步發(fā)展,60年代末后期在美國的法醫(yī)鑒定、法庭證據(jù)等領(lǐng)域都使用了該項技術(shù),從1967年到現(xiàn)在,美國至少5000多個案件包括謀殺、強奸、敲詐勒索、走私毒品、賭博,政治腐敗等都通過聲紋識別技術(shù)提供了有效的線索和有力的證據(jù)。特別強調(diào)的是,聲紋鑒別目前已經(jīng)是公安部的標準,是可以作為證據(jù)進行鑒定的。
聲紋識別的理論基礎(chǔ)是每一個聲音都具有獨特的特征,通過該特征能將不同人的聲音進行有效的區(qū)分。
這種獨特的特征主要由兩個因素決定,第一個是聲腔的尺寸,具體包括咽喉、鼻腔和口腔等,這些器官的形狀、尺寸和位置決定了聲帶張力的大小和聲音頻率的范圍。因此不同的人雖然說同樣的話,但是聲音的頻率分布是不同的,聽起來有的低沉有的洪亮。每個人的發(fā)聲腔都是不同的,就像指紋一樣,每個人的聲音也就有獨特的特征。
第二個決定聲音特征的因素是發(fā)聲器官被操縱的方式,發(fā)聲器官包括唇、齒、舌、軟腭及腭肌肉等,他們之間相互作用就會產(chǎn)生清晰的語音。而他們之間的協(xié)作方式是人通過后天與周圍人的交流中隨機學(xué)習(xí)到的。人在學(xué)習(xí)說話的過程中,通過模擬周圍不同人的說話方式,就會逐漸形成自己的聲紋特征。
因此,理論上來說,聲紋就像指紋一樣,很少會有兩個人具有相同的聲紋特征。
美國研究機構(gòu)已經(jīng)表明在某些特點的環(huán)境下聲紋可以用來作為有效的證據(jù)。并且美國聯(lián)邦調(diào)查局對2000例與聲紋相關(guān)的案件進行統(tǒng)計,利用聲紋作為證據(jù)只有0.31%的錯誤率。目前利用聲紋來區(qū)分不同人這項技術(shù)已經(jīng)被廣泛認可,并且在各個領(lǐng)域中都有應(yīng)用。
聲紋識別是個寬泛的概念,技術(shù)方面有分為兩類:即說話人確認技術(shù)和說話人辨認技術(shù),說話人確認技術(shù)是用于判斷未知說話人是否為某個指定人;后者則是用于辨認未知說話人是已記錄說話人中的哪一位。
我們通常理解的都是說話人辨認技術(shù),常常應(yīng)用于刑偵破案、罪犯跟蹤、國防監(jiān)聽、個性化應(yīng)用等等,說話人確認技術(shù)常常應(yīng)用于證券交易、銀行交易、公安取證、個人電腦聲控鎖、汽車聲控鎖、身份證、信用卡的識別等。
目前來看,聲紋識別常用的方法包括模板匹配法、最近鄰方法、神經(jīng)元網(wǎng)絡(luò)方法,VQ聚類法等。
這些方法雖然處理手段不同,但基本原理是類似的,比如剛開始給大家展示的語譜圖。語譜圖是聲音信號的一種圖像化的表示方式,它的橫軸代表時間,縱軸代表頻率,語音在各個頻率點的幅值大小用顏色來區(qū)分。說話人的聲音的基頻及諧頻在語譜圖上表現(xiàn)為一條一條的亮線,再通過不同的處理手段就可以得到不同語譜圖之間的相似度,最終達到聲紋識別的目的。
目前公安部聲紋鑒別就采用類似方法,而且語譜圖還是用的灰度來表示。主要抽取說話人聲音的基音頻譜及包絡(luò)、基音幀的能量、基音共振峰的出現(xiàn)頻率及其軌跡等參數(shù)表征,然后再與模式識別等傳統(tǒng)匹配方法結(jié)合進行聲紋識別。
美國和國內(nèi)都有不少企業(yè)生產(chǎn)聲紋識別的設(shè)備,公安部為采購這些設(shè)備還正式頒布了《安防聲紋識別應(yīng)用系統(tǒng)技術(shù)要求》的行業(yè)標準。
但是這種方法是一種靜態(tài)檢測的方法,存在很大的弊端,實時性不好,動態(tài)檢測聲紋的需求實際上更大。
現(xiàn)在的大部分研究都是有關(guān)動態(tài)實時檢測方面的,動態(tài)檢測的方法自然要利用靜態(tài)檢測的各種原理方法,同時也需要增加其他很多算法, 比如VAD、降噪、去混響等。VAD的目的是檢測是不是人的聲音,降噪和去混響是排除環(huán)境干擾,這不僅對于聲紋檢測很中重要,對于語音識別更加重要。
VAD常用兩個方法,基于能量檢測和LTSD(Long-Term Spectral Divergence),當(dāng)前用的較多是LTSD,另外特征提取方面還需要:動態(tài)時間規(guī)整 (DTW)、矢量量化 (VQ)、支持向量機 (SVM),模型方面則需要隱馬爾可夫模型 (HMM)和高斯混合模型 (GMM)。
這是聲紋識別常用算法的結(jié)構(gòu)圖,所有的聲紋識別,不管是用傳統(tǒng)算法還是深度學(xué)習(xí),都需要事先建立聲紋庫,目前最全的應(yīng)該是公安部的聲紋鑒別庫。
從上面模型不難看出,聲紋識別還是一種基于數(shù)據(jù)驅(qū)動的模式識別問題,因為所有模式識別存在的問題聲紋都存在,而且聲紋識別還有一些不太好解決的物理和計算問題。
雖然聲紋識別的唯一性很好,但實際上我們現(xiàn)有的設(shè)備和技術(shù)仍然很難做出準確分辨,特別是人的聲音還具有易變性,易受身體狀況、年齡、情緒等的影響。剛才也提到,若在環(huán)境噪音較大和混合說話人的環(huán)境下,聲紋特征也是很難提取和建模的。
雖然深度學(xué)習(xí)帶給模式識別極大的提升,甚至還有開源的相關(guān)算法,但是聲紋識別的研究進展仍然不大,這仍然受制于聲紋的采集和特征的建立。
另外就是真實環(huán)境下的各種影響,包括:
1、噪音問題
2、多人說話
3、音樂噪聲
4、身體狀況
5、情緒影響
先看噪聲問題,下圖是Mitchell McLaren在論文中做的研究,噪聲對不同模型的聲紋識別影響。
從這個圖中可以看出,混響和噪聲對各類模型和方法都有非常大的影響,這和人類似,嘈雜環(huán)境中確實很難分辨出某個人的聲音,但是人耳比較奇特,我們可以很好的處理這種“雞尾酒會”效應(yīng),但是目前機器還做不到。
音樂噪聲很好理解,因為音樂通常是寬帶信號,完全覆蓋了人聲的頻段,這會非常影響聲紋的特征表現(xiàn),動態(tài)檢測的時候更是難以提取,我們目前在語音識別中采用的是回聲抵消的方法(嚴格來說是自噪聲去除),同樣也可以用到聲紋識別,但是面對其他設(shè)備音樂也很難處理,當(dāng)前僅有波束形成這一方法。
多人說話是聲紋識別和語音識別都面臨的問題,當(dāng)前的所有模型都無法盲分離兩個以上的人聲并且同時進行識別。
身體狀況和情緒影響是我們每個人的主要個體差異,這種差異是基于時間變化的,所以聲紋特征會出現(xiàn)某些變化,聲紋鑒別可以通過反復(fù)取樣避免這個問題,但是動態(tài)檢測目前還沒有好辦法。
從上面幾點分析,也和我們主題相關(guān),就是華帝的小V機器人,通過記錄歌手的聲紋信息進行判斷歌手,理論上是沒有問題的。但是難的就是,這是聲紋識別最復(fù)雜的情況,不僅是要保證實時性,還要解決噪聲問題、音樂干擾、兩人識別以及歌手刻意隱藏的問題,至少目前來看,這項技術(shù)還遠遠沒有成熟。
即便從應(yīng)用來看也是這樣,除了聲紋鑒別,聲紋識別基本上就是在應(yīng)用中充當(dāng)娛樂的功能。另外,聲紋可以作為認證手段,但是不應(yīng)該放在第一位獨立使用,而是配合其他認證手段同時使用。
聲紋識別也和其他識別一樣,也向著深度學(xué)習(xí)的方向發(fā)展,但是又和語音識別稍有差異,傳統(tǒng)算法和模型在聲紋識別中還占有相當(dāng)大的比重。
下圖是Fred Richardson在論文中提出的聲紋識別的深度學(xué)習(xí)模型示意
深度學(xué)習(xí)的效果還是有的,下圖就是各種方法的一種比較,也就說,將來實時聲紋識別將會有比較大的突破。
但是難度也很大,因為深度學(xué)習(xí)是基于數(shù)據(jù)驅(qū)動的模型,需要龐大的數(shù)據(jù),這些數(shù)據(jù)最好是真實場景的數(shù)據(jù),以及對數(shù)據(jù)的精確標注,這些都是很費錢很費人的事情。而且聲紋識別訓(xùn)練庫的建立,至少要保證性別比例分布為50%±5%,包含有不同年齡段、不同地域、不同口音、不同職業(yè)。同時,測試樣本應(yīng)該涵蓋文本內(nèi)容是否相關(guān)、采集設(shè)備、傳輸信道、環(huán)境噪音、錄音回放、聲音模仿、時間跨度、采樣時長、健康狀況和情感因素等影響聲紋識別性能的主要因素。
也就是說,聲紋識別對數(shù)據(jù)的要求其實比語音識別還要高很多,這本身就是個很大的門檻,也是突破聲紋識別,真正能讓聲紋識別落地千家萬戶的核心因素。
現(xiàn)在的聲紋識別能夠做到多人的同時識別嗎?比如一個場景有一群人,可以識別區(qū)分出有哪些人或者人數(shù)嗎?
聲紋識別和語音識別從技術(shù)上目前都還無法做到多人同時識別,上面第二個問題是聲紋區(qū)分,這是可以做到的,不同人說話的聲紋是不一樣的,采用傳統(tǒng)的方法即可區(qū)分出來,當(dāng)然也可計算人數(shù),但是有的聲音仍然可能會被漏過。人耳有個掩蔽效應(yīng),簡單說就是強的聲音會淹沒弱的聲音,當(dāng)前的聲學(xué)模型還無法很好的解決。
微信的搖一搖功能的電視語音識別技術(shù)使用的什么技術(shù)?
微信搖一搖是聲波通信技術(shù),這和識別差異較大,聲波通信和無線通信類似,特別是在水中,基本只能依賴聲音進行信息傳輸。
Adobe VoCo利用ml合成的音頻,聲紋識別是否還有效?
合成的音頻仍然是可以鑒別的,公安部的檢測首先就要排除是否合成,但是當(dāng)前動態(tài)檢測的方法,特別是DNN訓(xùn)練的模型可能無法區(qū)分。
根據(jù)語譜圖使用CNN提取特征,會比使用常用的短時聲學(xué)特征組合更有效嗎? 長時聲學(xué)特征,比如常用語,語速,口音特征,詞法特征等,一般會被用來輔助進行聲紋識別嗎?
長時特征比短時特征效果會提升,但是目前來看,計算的壓力會非常大,所以長時特征現(xiàn)在實時檢測中用的還較少,聲紋鑒別基本都是20秒以上,而實時檢測每幀還是20毫秒居多。
剛剛在分享中有提到聲波是有機器學(xué)習(xí)的,如果黑客一開始就去誘騙數(shù)據(jù)庫怎么辦?
這個問題非常好,是所有深度學(xué)習(xí)都無法回避的問題,如果保證采樣數(shù)據(jù)的真實性,將來肯定是大問題,但是現(xiàn)在連如何保證數(shù)據(jù)的完整性都還沒做到。實際上,我們采集的數(shù)據(jù)問題就非常多,標注的數(shù)據(jù)準確性就更難保證了,這是個困擾深度學(xué)習(xí),也是深度學(xué)習(xí)研究人員盡量避免談及的問題。
做聲紋識別這類聲學(xué)研究,需要用到哪些基礎(chǔ)的軟硬件環(huán)境才能快速上手?能否推薦一些給初學(xué)者。
聲學(xué)研究因為偏物理一些,所以需要一些物理實驗環(huán)境,比如聲學(xué)方面的消聲室,混響室,這可以幫助更好地理解聲音,另外還需要精密的采集設(shè)備,軟件方面倒是要求不高,有一些聲學(xué)方面計算模擬的軟件,信號處理方面的就是matlab為主。
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。