王志琪,朱婧雯,王振帥,盧新祥
(紹興文理學(xué)院數(shù)理信息學(xué)院,浙江紹興,312000)
關(guān)鍵字:STM32;門禁系統(tǒng);聲紋識(shí)別;梅爾倒譜系數(shù)特征;高斯混合模型;訊飛開放平臺(tái)
在使用傳統(tǒng)鎖具前,人們需要進(jìn)行學(xué)習(xí)及數(shù)次模擬如何使用鑰匙開鎖,并將時(shí)刻保持鑰匙不離身的長(zhǎng)期行為習(xí)慣?;谛畔⒓夹g(shù)的智能門禁則將人們從繁瑣中解放出來,這些技術(shù)包括人臉識(shí)別、指紋識(shí)別、聲紋識(shí)別、數(shù)字密碼等,它們各具優(yōu)勢(shì)。應(yīng)用聲紋鎖,我們只要像往常一樣說話、給機(jī)器下達(dá)指令,系統(tǒng)就會(huì)自動(dòng)識(shí)別用戶身份,使用非常方便。更重要的是,在新冠疫情大流行的背景下,采用聲紋識(shí)別的方式無(wú)需使用者摘下口罩、接觸指紋識(shí)別模塊等,完全可以在無(wú)接觸的情況下提供身份驗(yàn)證服務(wù),為人們提供更安全高效的門禁服務(wù)。
現(xiàn)在成熟的聲紋識(shí)別技術(shù)大多基于聯(lián)合因子分析、卷積神經(jīng)網(wǎng)絡(luò)等需要大量計(jì)算、數(shù)據(jù)的識(shí)別方法。本文設(shè)計(jì)一種利用高斯混合模型的聲紋識(shí)別系統(tǒng)并用于鎖具,基于STM32平臺(tái),具有計(jì)算量小、無(wú)接觸等特點(diǎn)。
如圖1所示,本系統(tǒng)主要分為系統(tǒng)控制模塊、嵌入式聲紋處理模塊、鎖體模塊三個(gè)主要部分,以及兩個(gè)擴(kuò)展模塊(虛線框):手機(jī)APP模塊和藍(lán)牙傳輸模塊。系統(tǒng)具有直接驗(yàn)證和使用APP驗(yàn)證兩種工作模式。在直接驗(yàn)證模式,用戶僅需在初始化的聲紋錄入階段使用系統(tǒng)控制模塊中的屏幕、麥克風(fēng)進(jìn)行錄入,而在驗(yàn)證時(shí),只要靠近說話,當(dāng)累積能量大于閾值時(shí)即可觸發(fā)聲紋驗(yàn)證并執(zhí)行開鎖。在APP驗(yàn)證模式中,預(yù)先綁定的手機(jī)端APP進(jìn)行交互和驗(yàn)證,驗(yàn)證通過后,通過藍(lán)牙向系統(tǒng)控制模塊發(fā)送驗(yàn)證成功消息,在系統(tǒng)控制模塊接收到驗(yàn)證成功的消息后驅(qū)動(dòng)舵機(jī)開鎖。
圖1 系統(tǒng)框圖
圖2為系統(tǒng)實(shí)物圖,其中“1”是系統(tǒng)控制模塊,“2”是開鎖舵機(jī),“3”是藍(lán)牙傳輸模塊,“4”是手機(jī)APP模塊。
圖2 系統(tǒng)實(shí)物圖
系統(tǒng)控制模塊位于鎖的外殼中,具有屏幕和按鍵與用戶進(jìn)行交互。模塊選取高速、低功耗的STM32F429作為核心芯片,其主頻可達(dá)180 MHz,且具備一套完整的DSP指令集,有豐富的資源和可觀的處理速度來實(shí)現(xiàn)對(duì)聲音信號(hào)的保存、處理和建模。系統(tǒng)控制模塊的流程如圖3所示。
圖3 系統(tǒng)控制模塊流程圖
(1)音頻信號(hào)預(yù)處理
考慮到主控芯片的處理效率、減少用戶等待時(shí)間等因素,在進(jìn)行建模之前,先對(duì)收集到的音頻進(jìn)行預(yù)處理:
①將環(huán)境聲音和人聲分離,通過計(jì)算累積能量區(qū)分環(huán)境聲和人聲,若累積能量大于閾值,則該段語(yǔ)言為有效訓(xùn)練語(yǔ)音。累積能量公式如下:
②對(duì)于采集到的一整段不定長(zhǎng)的音頻信號(hào),為了從其中提取出固定長(zhǎng)度的特征向量,需要將音頻信號(hào)進(jìn)行分幀,每25ms為一幀,每?jī)蓭拈_始時(shí)間間隔10ms。如此經(jīng)過分幀之后再提取特征,不僅能大幅減少需處理的數(shù)據(jù)量,還能很好地提取出聲紋特征。
③加窗以減小吉布斯現(xiàn)象和頻譜泄露的影響。分幀之后,若對(duì)信號(hào)直接進(jìn)行傅里葉變換,由于不連續(xù)點(diǎn)的存在,會(huì)產(chǎn)生高頻分量,即吉布斯效應(yīng)。因此需要將分幀之后的數(shù)據(jù)乘以漢明窗,將接近于零的權(quán)重賦予不連續(xù)點(diǎn)。加窗公式如下:
其中漢明窗為:
式中,0 ≤n≤N?1,N-1為總幀數(shù)。
(2)梅爾倒譜系數(shù)的提取
通過離散傅里葉變換將預(yù)處理后的信號(hào)v′(n)轉(zhuǎn)換成頻譜。鑒于人耳對(duì)低頻更加敏感的特性,還需將頻譜通過一組按照梅爾刻度。設(shè)計(jì)好的三角帶通濾波器組,再計(jì)算每幀語(yǔ)音的對(duì)數(shù)能量:
式中,MEL為梅爾濾波器組。再對(duì)此對(duì)數(shù)能量進(jìn)行逆離散余弦變換得到倒譜,其系數(shù)數(shù)組就是一幀語(yǔ)音信號(hào)的MFCC參數(shù):
式中D為每組MFCC參數(shù)數(shù)量(D=20)。
(3)訓(xùn)練說話者高斯混合模型
利用上一步已經(jīng)保留的說話者的所有MFCC參數(shù),可訓(xùn)練出包含說話者特征的GMM0。高斯混合模型主要公式為:
其中→為n維隨機(jī)矢量,→表示GMM所有參數(shù)的集合,ci為第i個(gè)高斯分量的權(quán)重且滿足為第i組高斯分量,是一個(gè)標(biāo)準(zhǔn)的多元正態(tài)分布。
由此,一個(gè)說話者的特征可由以下參數(shù)表示:
在明確了主要公式之后,采用期望值最大化算法。設(shè)定起始參數(shù)λ,迭代計(jì)算。由k-均值算法獲取,M是MFCC參數(shù)矢量維度(M=20)。
在第t步迭代中,假設(shè)當(dāng)前參數(shù)是t-1,則在第i個(gè)高斯分量上的后驗(yàn)概率為
(4)聲紋識(shí)別
由于高斯混合模型是一個(gè)概率模型,可以采用后驗(yàn)概率作為相似匹配的分?jǐn)?shù),可以通過最大化似然函數(shù)判別得到最相似的說話人。最大化對(duì)數(shù)似然函數(shù)公式:
此模塊為擴(kuò)展模塊,用于安全性要求高、無(wú)接觸的身份驗(yàn)證。用戶可以注冊(cè)賬戶登錄手機(jī)APP,能夠在手機(jī)中進(jìn)行聲紋錄入和識(shí)別驗(yàn)證兩種操作,具體流程如下:
當(dāng)用戶選擇聲紋錄入時(shí),手機(jī)上會(huì)顯示5段由8位數(shù)字組成的文本,用戶讀完這些文本,聲紋便建模成功。對(duì)于APP上的聲紋建模和識(shí)別,在訊飛開放平臺(tái)共享的庫(kù)中包含安卓平臺(tái)的聲紋識(shí)別接口,將用戶名和操作指令傳入接口即可對(duì)聲紋進(jìn)行建?;蝌?yàn)證。
當(dāng)需要聲紋驗(yàn)證時(shí),APP會(huì)隨機(jī)生成8位數(shù)字,在用戶朗讀8位數(shù)字時(shí)進(jìn)行錄音建模,再將識(shí)別結(jié)果通過藍(lán)牙模塊發(fā)送給藍(lán)牙傳輸模塊,即可實(shí)現(xiàn)開門操作。整體流程見圖4。
圖4 擴(kuò)展模塊流程圖
此模塊為擴(kuò)展模塊。主控芯片通過HC-05藍(lán)牙模塊與手機(jī)APP實(shí)現(xiàn)通信,HC-05具有兩種工作模式:命令響應(yīng)工作模式和自動(dòng)連接工作模式,滿足STM32和安卓手機(jī)通信的需求。在登錄APP時(shí),手機(jī)會(huì)向系統(tǒng)控制模塊自動(dòng)發(fā)送配對(duì)信號(hào),系統(tǒng)控制模塊收到此配對(duì)信號(hào)后,向手機(jī)返回驗(yàn)證,形成連接。
門鎖模塊外部結(jié)構(gòu)與傳統(tǒng)的鎖體相同,可以直接裝入傳統(tǒng)的門中。模塊主要包含舵機(jī)及其驅(qū)動(dòng)、傳動(dòng)部件、鎖舌等。模塊內(nèi)部示意圖如圖5所示。
圖5 門鎖模塊示意圖
舵機(jī)的驅(qū)動(dòng)信號(hào)由控制模塊提供,通過將舵機(jī)和傳動(dòng)部件相連即可驅(qū)動(dòng)鎖舌進(jìn)行開關(guān)門動(dòng)作。由于鎖體的空間狹小且鎖舌與外部結(jié)構(gòu)往往存在不小的摩擦,門鎖模塊采用MG-995舵機(jī)來轉(zhuǎn)動(dòng)傳動(dòng)部件,MG-995扭矩可達(dá)13kg/cm,其扭矩可以輕松轉(zhuǎn)動(dòng)傳動(dòng)部件,且具有一定的冗余量。其次,它具有180°轉(zhuǎn)動(dòng)角度,可以實(shí)現(xiàn)關(guān)門、反鎖等動(dòng)作,滿足門鎖需求。
本文研究了基于Cortex-M4和安卓平臺(tái)的聲紋識(shí)別技術(shù)的門禁系統(tǒng),將效率高、計(jì)算量小的聲紋識(shí)別模塊移植入STM32中,同時(shí)在APP中使用訊飛開放平臺(tái)的接口,有很好的識(shí)別精度和較高的安全性,再通過藍(lán)牙將安卓與主控模塊相連,從而實(shí)現(xiàn)無(wú)接觸式的門禁系統(tǒng)。