一種基于聲紋二維碼的安全認證方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于二維碼編解碼技術(shù)和聲紋識別技術(shù)領(lǐng)域,具體涉及一種基于聲紋二維 碼的安全認證方法。
【背景技術(shù)】
[0002] 二維碼(Two-dimensional code),又稱二維條碼,它是用特定的幾何圖形按一定 規(guī)律在平面(二維方向)上分布的黑白相間的圖形,是所有信息數(shù)據(jù)的一把鑰匙。我國對二 維碼技術(shù)的研究開始于1993年。中國物品編碼中心對幾種常用的二維碼roF417、QRCCode、 Data Matrix、Maxi Code、Code 49、Code 16K、Code One 的技術(shù)規(guī)范進行了翻譯和跟蹤研 究。
[0003] 聲紋識別(Voiceprint Recognition, VPR),也稱為說話人識別(Speaker Recognition),有兩類,即說話人辨認(Speaker Identification)和說話人確認(Speaker Verification)。說話人辨認用以判斷某段語音是若干人中的哪一個所說的,是"多選一" 問題;而說話人確認用以確認某段語音是否是指定的某個人所說的,是"一對一判別"問題。 不同的任務和應用會使用不同的聲紋識別技術(shù),如縮小刑偵范圍時可能需要辨認技術(shù),而 銀行交易時則需要確認技術(shù)。不管是辨認還是確認,都需要先對說話人的聲紋進行建模,這 就是所謂的"訓練"或"學習"過程。
[0004] 傳統(tǒng)票據(jù)驗證需要人工核對,例如火車票驗票,要工作人員先驗票、驗身份證,之 后再對比身份證照片和人臉,進而判斷是否為車票所有者本人,驗證過程費時、費力,并且 存在驗證過程安全性不高的問題。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明針對目前紙質(zhì)票據(jù)驗證安全性不足、驗證費時費力的缺點,以更方便應用 于對安全性有較高要求的臨時身份認證場景,提供了 一種基于聲紋二維碼的安全認證方 法。
[0006] 本發(fā)明提供的基于聲紋二維碼的安全認證方法,包括如下步驟:
[0007] 步驟1,聲紋二維碼編碼,具體是:用戶進行多次語音輸入,提取語音的聲紋特征; 利用提取的聲紋特征訓練生成用戶的聲紋模型;將聲紋模型的參數(shù)進行數(shù)據(jù)壓縮并生成二 維碼;
[0008] 步驟2,用戶使用聲紋二維碼作為身份憑證購票,購票成功后返回帶有聲紋二維碼 及所購票信息的電子或紙質(zhì)票據(jù),驗票時輸入收到的聲紋二維碼進行識別;
[0009] 步驟3,在用戶的聲紋二維碼憑證有效的情況下,用戶進行語音輸入,對用戶輸入 的語音提取聲紋特征,并與用戶的聲紋模型進行相似性比較,判斷用戶是否為本人。
[0010] 步驟1中所述的提取語音的聲紋特征,對語音信號依次進行如下處理:對輸入的 語音信號進行預加重,對預加重后的語音信號進行交疊式的分幀,對分幀后的語音信號進 行加窗,對語音進行端點檢測,識別出語音的開始段、噪聲段和結(jié)束段;再對處理后的語音 信號提取聲紋特征。
[0011] 本發(fā)明的優(yōu)點與積極效果在于:(1)本發(fā)明聲紋二維碼的概念,能夠有效地解決 傳統(tǒng)票據(jù)或憑證(例如火車票、門票等)驗證過程安全性不高的問題。(2)本發(fā)明相對于傳 統(tǒng)臨時身份驗證方法,使用過程簡單,自然,并且能夠進行大規(guī)模的自動化,可以省去人工 驗證過程,并且能提高驗證效率。(3)本發(fā)明相對于傳統(tǒng)票據(jù)而言,更具有通用性,該聲紋二 維碼可以用在所有需要進行身份驗證的場景下,并且成本低廉,只需要圖像采集設(shè)備和語 音輸入設(shè)備。
【附圖說明】
[0012] 圖1為本發(fā)明的基于聲紋二維碼的安全認證方法的整體流程示意圖;
[0013] 圖2為本發(fā)明方法在火車票購票和驗票的場景下應用的流程示意圖;
[0014] 圖3為本發(fā)明編碼生成聲紋二維碼的流程示意圖;
[0015] 圖4為本發(fā)明利用聲紋二維碼進行識別與驗證的流程示意圖; 圖5為本發(fā)明步驟3用戶輸入語音進行聲紋驗證的流程示意圖。
【具體實施方式】
[0016] 下面將結(jié)合附圖和實施例對本發(fā)明作進一步的詳細說明。
[0017] 本發(fā)明提供的基于聲紋二維碼的安全認證方法,主要包括兩部分:聲紋二維碼編 碼;聲紋二維碼識別與驗證。聲紋二維碼編碼是:通過多次錄制用戶的語音進行訓練,產(chǎn)生 用戶的聲紋模型,并將該模型通過壓縮編碼生成聲紋二維碼。該聲紋二維碼即作為該用戶 固定的身份憑證,在其他業(yè)務系統(tǒng)(如火車票購票系統(tǒng))需要記錄用戶身份憑證時進行發(fā) 送。聲紋二維碼識別與驗證是:在用戶需要進行身份驗證時,用戶首先通過聲紋二維碼掃 描,獲得用戶聲紋信息。如果用戶的聲紋二維碼在系統(tǒng)中有記錄,則證明持有該聲紋二維碼 (如電子或紙質(zhì)火車票上的聲紋二維碼)的用戶具有合法身份。之后系統(tǒng)提示用戶進行聲 紋輸入,系統(tǒng)將輸入聲紋與從聲紋二維碼中解析出的聲紋進行相似性驗證,并給出得分。如 果得分大于既定閾值,則該用戶為合法用戶。否則該用戶非法。通過二維碼和聲紋的兩步 的驗證,系統(tǒng)能夠為有高安全性要求的臨時身份驗證的場景(如火車票驗票、貴重物品簽 收等),提供通用的快捷、安全的認證方式。
[0018] 本發(fā)明的基于聲紋二維碼的安全認證方法,如圖1所示。下面將結(jié)合在圖2所示 的在火車票購票和驗票的場景對各步驟進行說明。
[0019] 步驟1,用戶進行多次語音輸入,對語音進行處理生成聲紋二維碼。生成聲紋二維 碼的過程如圖3所示。步驟1的實現(xiàn)步驟分為步驟I. 1~步驟1. 3。
[0020] 步驟1. 1,用戶進行多次語音輸入,提取語音的聲紋特征。設(shè)用戶通過語音輸入設(shè) 備進行M次的語音輸入,M多1。提取語音聲紋特征的過程如圖3所示,包括步驟I. I. 1~ 步驟I. 1. 5。
[0021] 步驟1. 1. 1,對輸入的語音信號進行預加重,所述預加重過程是通過高通濾波器來 完成,目的是為了對語音的高頻部分進行加重,去除口唇輻射的影響,增加語音的高頻分辨 率。高通濾波器在z域的傳遞函數(shù)H(Z)如下:
[0022] H(z) = l_az 1 (1)
[0023] 通過一階有限長沖激響應(FIR)高通數(shù)字濾波器來實現(xiàn)預加重,設(shè)η時刻的語音 采樣值為S1(Ii),η-1時刻的語音采樣值為S1(Ii-I),S(η)為預加重之后的語音信號,a為預 加重系數(shù),〇. 9〈a〈l. 0均可,本發(fā)明實施例中取a = 0. 98。
[0024] 對信號預加重處理后的結(jié)果如下:
[0025] S (n) = S1 (n)-BXS1 (n-1) (2)
[0026] 步驟I. I. 2,對預加重后的語音信號進行交疊式的分幀。
[0027] 將語音信號分幀是為了將信號分成若干段來處理,每一段稱為一"幀"。本發(fā)明采 用的是交疊式分幀,即前后兩幀會產(chǎn)生交疊,即幀移。
[0028] 步驟1. 1.3,對分幀后的語音信號進行加窗,加窗可以選取但不限于漢明 (Hamming)窗等方式。本發(fā)明實施例中采用漢明窗對信號進行加窗。
[0029] 分幀后將會產(chǎn)生頻譜泄漏,因此需要采用漢明窗對信號進行加窗。漢明窗具體如 下:
[0031] 其中,w (η)為Hamming窗函數(shù),N為幀長,通常取256,參數(shù)b = 0.46。
[0032] 假設(shè)預加重得到的語音信號為S (η),則加窗后得到的語音信號S'(η)= S (η) X w (η) 〇
[0033] 步驟I. 1. 4,對語音進行端點檢測,識別出語音的開始段、噪聲段和結(jié)束段。可采用 基于短時能量或者短時過零率等指標來進行端點檢測。
[0034] 例如采用短時能量對語音信號進行端點檢測,判斷語音的開始和結(jié)束時刻。通過 設(shè)定短時能量的高低閾值來判斷語音的起始和結(jié)束段。當語音狀態(tài)為靜音態(tài)時,若信號的 短時能量大于高閾值,則標記該時刻為起始時刻,進入語音狀態(tài)。之后如果短時能量小于低 閾值,且其持續(xù)時間小于最短時間閾值,則認為目前這段信號為一段噪聲,繼續(xù)處理后面語 音,否則認為語音結(jié)束。所述第η幀的短時能量E (η)為:
[0036] 步驟I. 1. 5,提取用戶語音的聲紋特征,可以是梅爾倒譜系數(shù)或Ga_atone頻率倒 譜系數(shù)等能夠標識用戶聲音特點語音特征。
[0037] 本發(fā)明實施例采用每一幀語音的梅爾倒譜系數(shù)對信號進行特征提取,針對每一幀 語音X (η),通過計算,得到16維梅爾倒譜系數(shù)(MFCC)。
[0038] 步驟1. 2,利用提取的聲紋特征訓練生成用戶的聲紋模型。
[0039] 通過用戶語音的聲紋特征進行用戶聲紋模型的建模。例如,使用期望最大(EM)算 法訓練高斯混合-通用背景模型(GMM-UBM模型),使用Layer-Wise算法訓練深度信念網(wǎng) 等方法得到不同形式的聲紋模型。
[0040] 本發(fā)明實施例基于對得到的梅爾倒譜系數(shù)特征使用EM算法進行高斯混合模型 (GMM)的參數(shù)訓練。得到