文/胡星剛
HAL9000是亞瑟·克拉克著名小說《2001太空漫游》中的AI,它可以理解人類的語音指令,并且完成人類交給的任務。語音識別通常是便攜式電話等小型設備最方便的輸入形式,并且可能是唯一的方式為可穿戴設備供輸入,因為這些設備太小以至于無法支持物理鍵盤或觸摸屏輸入。這些設備往往是用戶日常攜帶和使用的設備,因此包含大量的個人信息,如電話通信,計費或身份驗證憑證和用戶的位置。
語音識別其實是一個很復雜的過程。主要分為兩大類:
(1)特定人語音識別 (Speaker-Dependent),語音識別的標準模板或模型只適應于特定的人,實際上,該模板或模型 就是該人通過輸入詞匯表中的每個字、詞或短語的語音建立起來的。其他人使用時,需同樣建立自己的標準模板或模型。
(2)非特定人語音識別(Speaker-Independent),語音識別的標準模 板或模型適用于指定的某一范疇的說話人(如標準普通話),標準模板或模型由該范疇的多個人通過訓練而產生。識別時可供參加訓練的發音人使用,也可供未參加訓練的同一范疇的發音人使用。現在流行的語音識別系統都是基于以上兩種分類實現的。
目前抵御上述組合式語音攻擊的方法主要是基于多模態的檢測方法,基于多模態進行語音攻擊檢測是依據多個生物特征做假比單一生物特征做假難度高很多的原理。若兩個生物特征有具有強相關性,作假則更難,因此騙過系統的可能性就低很多。已有的基于多模態的檢測方法有下述三種:
(1)基于會話臉(talking-face)的身份認證綜合利用了人臉、唇動和語音信息。通過同時記錄語音信息和人臉信息,計算兩者的相似度來防御攻擊。
(2)基于特定加速度傳感器的檢測方法。利用特定加速度傳感器測量高頻段語音信號,計算麥克風記錄的語音信號和傳感器測得的語音信號做相關性比對,如果相關性低于一定的閾值則說明檢測到語音攻擊。
(3)基于多普勒效應的檢測方法。利用移動設備麥克風,當用戶向智能手機說出語音指令時,內置揚聲器將發射超聲波,用以記錄用戶發聲時發聲系統多個咬合架導致反射信號中的多普勒頻移,再使用高通濾波器將多普勒頻移特征與語音信號分離,最后計算相似性得分,如果相似性得分超過預定閾值,則聲明合法用戶。
綜上所述,目前方法都存在一些缺點,基于此本文擬研究一種符合人類使用習慣、適用于當前普及的移動設備、不易受環境干擾的抗重放攻擊語音認證方法。
該模塊的關鍵在于語音數據和陀螺儀數據的采集。具體說,本論文開發了一個用來同時采集語音數據和陀螺儀數據的Android應用(如圖1所示),并且此應用能在如下三種商業化設備上運行,谷歌 Nexus 5X智能手機、MOTO 360安卓可穿戴手表和Storm Mirror智能VR眼鏡。每個志愿者戴著這三種設備中的每一種說話10次。此應用運行的時候麥克風和陀螺儀會分別以44.1kHz和50Hz的頻率采集數據。
本論文旨在確保與文本相關的語音識別任務(即說話人識別),其中要求說話人在注冊時說出預定的密碼短語,并且在在線身份驗證階段將使用相同的短語進行驗證。與文本無關的說話人識別相比,文本相關的語音認證具有準確性高,口令短的優點,因此被廣泛采用。

圖1:采集數據的應用程序
本論文可以應用于不同類型的COTS可穿戴設備,例如項鏈,眼鏡,手環,頭盔和手機,只要該設備配備了陀螺儀并具有一定的計算能力即可。此外,本文要求設備應由用戶攜帶或佩戴,以便智能設備的慣性傳感器可以捕獲說話人說話所引起的微小震動。
通常情況下,語音是由肺部的肺壓力產生的,發聲則是通過喉中的聲門產生震動,然后通過聲道將聲音修改為不同的元音和輔音。在產生某些音節詞的過程中,涉及到相對不變的肌肉組合,并且激活了從肺部到嘴唇分布的幾個分離的身體部位即時反饋的協調運動。
本論文觀察到每個音素的聲音產生通常涉及多個發音器的多維運動。 例如,音素[p]的發音需要上下嘴唇水平運動和下頜角度改變。此外,盡管某些音素共享相同類型的發音器姿勢,但移動速度和強度可能會有所不同。例如,[d]和[z]都需要舌尖收縮,但是它們在確切的舌尖徑向位置和角度位置方面有所不同。
本模塊假設已經從麥克風和陀螺儀收集一對時間序列,具體來說,采樣的語音命令和語音運動在時間上是同步的。本模塊使用靜音段消除方法去除音頻信號中無聲片段。使用去計算兩個特征閾值,其中M1和M2是對應特征序列的第一和第二局部最大值的位置。
為了測量不同長度的陀螺儀信號段之間的相似度,一種常用的測距方法是DTW。DTW是為了解決未對齊的兩個序列無法進行相似度對比的問題。
設兩條陀螺儀的信號為:

基于DTW的特征提取算法,包括以下步驟:
(1)計 算Gi和Gj的DTW距 離。本論文給出的距離函數為歐式距離,即定義為d(i,j)=(aj-bj)2。求解兩條陀螺儀信號的累計距離如公式(3)所示:

則DTW距離即為公式(3)中取得最小值的數據,使得累積距離最小:

(2)計算Gi和Gj的DTW的扭曲分數。這個模塊的關鍵是用Gi和Gj精確地表示并求出Gi和Gj間的DTW扭曲分數。具體公式如下:

Gi和Gj的扭曲分數是而且Φ(Gi,Gj)的值是0到1之間的值,至此本模塊可以計算出Gi'和 Gj'的扭曲分數為Φ(Gi,Gj)。
(3)最后本論文將上述兩個維度的值生成一個包含兩列屬性的矩陣,其中第一列是Gi和Gj的DTW距離值,第二列是與第一列對應的Gi和Gj的扭曲分數,如公式(6)所示:

這個模塊的關鍵在于在離線訓練階段,假定兩對麥克風和陀螺儀數據信號Si和Sj都需要被比較。首先兩對數據需要使用數據預處理模塊方法,將信號分割成兩個信號序列,例如然后本模塊針對這兩個信號序列構建一個距離向量Di,j,如下:

所有由比較模板獲得的距離向量都被放進一個分類器里面,支持向量機(Support Vector Machine,SVM)分類器。
在在線認證中,測試樣本Si將通過計算與top-K訓練模板的兩列屬性矩陣取平均值來判斷分類器是接受還是拒絕。具體來說,本實驗將Si與top-K模板進行比較,得到K個距離向量,例如Di,k(1≤k≤K),然后計算這些向量的中心,例如最后將輸入到分類器中進行判斷。

圖2:語音指令長度對實驗性能的影響
本實驗招募了15個志愿者來完成試驗任務,其中男性11人,女性4人。每組實驗需要一人獨立完成,測試過程中需要參與者模擬語音安全認證系統的典型使用場景。參與者佩戴的商業化的可穿戴設備是MOTO 360 安卓智能手表,谷歌 Nexus 5X智能手機和Storm Mirror智能VR眼鏡。
本論文選擇在數據集上使用一分類SVM分類器作為模型分類器,本論文研究語音指令長度對于預測性能的影響。句子長度從2至12詞不等,進行句子長度對預測性能影響的實驗。
最直觀的想法是,更長的語音命令可以提供更強的保護。根據語音命令的長度,本文將語音命令分為三類不同的組分別為:2至3、4至5和6至7個單詞。實驗結果展示為圖2。從實驗中可以看出,DTW距離加上相應的扭曲分數作為特征的方法優于僅用DTW距離作為特征的方法。對于6至7個單詞的命令,FAR和FRR分別為3.06%和2.92%。同時本論文也可以推斷,隨著語音指令長度不斷的增長相應的誤報率和漏報率將繼續下降,這應該是顯而易見的。
本論文中首先介紹了語音的語音運動序列是由許多肌肉的協調動作導致的,可以通過使用可穿戴設備的內置運動傳感器來捕獲這些動作。這為本文基于語音運動序列的說話人檢測系統奠定了基礎。本論文可以在說出語音指令時提取出用戶的語音運動序列,以進行實時的用戶檢測。最后招募志愿者收集語音和陀螺儀數據進行分析,進行了語音指令長度對實驗性能的影響實驗,FAR和FRR分別達到3.06%和2.92%。