任碧蕓,劉寧,董逸軒,朱亦成,劉微雪,王晗
(南通大學交通與土木工程學院,南通 226019)
隨著定位與導航技術的發(fā)展,車載導航設備被廣泛應用[1]。常見導航設備的人機交互系統(tǒng)可分為觸摸輸入式和語音輸入式。相較于觸摸輸入式導航設備,語音輸入式導航由聲音控制,操作更加方便。采用語音導航,司機可以解放雙手,在車輛行駛過程中通過語音對其交互控制,從而避免操作時潛在的駕駛危險[2]。然而,常見語音導航設備無法準確判定出聲音信號的來源;此外,車內(nèi)外噪音也對其造成干擾[3]。利用視覺信息檢測司機嘴部說話狀態(tài),進而控制語音導航的控制權限可以有效減少乘客語音和外部環(huán)境的干擾?,F(xiàn)有方法通過相位空間分析嘴部區(qū)域整體像素值的變化特性來判斷嘴部說話狀態(tài)[8]。該方法可有效地減少光照對于像素值變化的影響。然而,該方法無法消除因為頭部移動引起的像素值變化,導致說話狀態(tài)的誤判。同時,對閉嘴音的說話狀態(tài)效果欠佳。
針對上述問題,本文設計開發(fā)一種基于視覺檢測的自適應語音導航抗干擾系統(tǒng)。系統(tǒng)由司機正面設置的攝像頭對臉部的主要特征點進行檢測。通過判定面部方向自動調(diào)整嘴部狀態(tài)判別函數(shù)的參數(shù),對嘴部動作進行實時檢測,進而獲取語音信號開啟和關閉的時間控制信號,增強司機對語音導航的控制權限,減少車內(nèi)外的噪音干擾。經(jīng)過實際車載環(huán)境檢測,本系統(tǒng)準確性高、實時性能好,具有較好的應用前景。
系統(tǒng)的組成分為硬件組成和軟件組成兩個部分。系統(tǒng)硬件設備組成包括:司機面部監(jiān)控攝像頭(羅技C270)、汽車駕駛系統(tǒng)、視頻采集卡、數(shù)據(jù)傳輸線及英偉達Jetson深度學習開發(fā)板。軟件系統(tǒng)按照不同的功能分為以下幾個模塊:傳感器連接模塊、人臉特征點提取模塊、唇部狀態(tài)識別模塊、語音信息匹配模塊、語音導航控制模塊。首先,人臉特征點提取模塊讀取駕駛員面部監(jiān)測攝像頭中的圖像信息,進而采用HOG pyramid算法進行人臉檢測;再采用人臉對齊算法完成人臉特征點的提取,接著唇部狀態(tài)識別模塊對唇部進行定位并獲得唇部特征點,基于特征點建立數(shù)學模型,從而完成唇部狀態(tài)識別,判斷駕駛員張閉嘴情況,確定駕駛員的語音時間窗。最后,語音信息匹配模塊通過攝像頭內(nèi)置的麥克風獲取語音信息,并將聲音信息與唇部狀態(tài)信息進行匹配,從而利用時間窗對司機聲音信號進行判斷、裁剪,為語音導航提供語音指令。如圖1所示。
圖1 語音導航抗噪聲干擾系統(tǒng)軟件部分流程
本文采用基于Dlib人臉識別的68特征點檢測方法,獲取嘴部面部標志的索引[4]。通過opencv對視頻流進行灰度化處理,檢測出人嘴的位置信息。人臉特征點檢測主要包括兩個關鍵算法:基于HOG Pyramid[5]的人臉檢測、基于回歸樹GBDT的人臉特征點匹配。前者用來檢測人臉區(qū)域的界限;后者是用來檢測固定區(qū)域內(nèi)的特征點,并輸出這些特征點的坐標[3]。
特征點檢測主要使用一種基于回歸樹的人臉對齊算法(GBDT)[6],這種方法通過建立一個級聯(lián)的殘差回歸樹(GBDT)來使人臉形狀從當前形狀一步一步回歸到真實形狀。每一個GBDT的每一個葉子節(jié)點上都存儲著一個殘差回歸量,當輸入落到一個節(jié)點上時,就將殘差加到改輸入上,起到回歸的目的,最終將所有殘差疊加在一起,就完成了人臉對齊的目的,準確地定位出各個關鍵特征點。顯示的效果如圖2所示。
圖2 人臉檢測及其特征點匹配結果
1.3.1 嘴部狀態(tài)識別模塊
通過仔細觀察司機發(fā)音時嘴部特征點相對位置的變化,無論是張口音還是閉口音(O型嘴),特征點(51,53)之間的距離與特征點(51,59)之間的距離比值均會變小。因此,我們定義了判定是否發(fā)音的嘴部狀態(tài)判定公式,如式(1)所示。
式中,RA TE代表著唇部上下邊緣峰點橫向距離與縱向距離的比值,pi代表著第i個特征點位置坐標|.|代表著兩個特征點之間的距離。公式與特征點對照關系如圖3所示。
圖3 本文提出的唇部發(fā)音狀態(tài)判定數(shù)學模型與特征點對應關系
為了準確確定上述判定方法的閾值,本文采用基于貝葉斯最小錯誤的決策方法:首先,我們將訓練閾值樣本集合分成發(fā)音和非發(fā)音這兩個類別;其次,利用正態(tài)分布分別擬合兩個類,獲取正態(tài)分布的參數(shù);最后,利用基于最小錯誤的貝葉斯決策公式確定出最優(yōu)的閾值。
圖4 樣本正態(tài)分布擬合與最優(yōu)閾值獲取
圖5給出了兩組“O型嘴”閉嘴音發(fā)音時,不同數(shù)學模型的狀態(tài)(說話/非說話)判定實驗結果實例。經(jīng)過比較可知,傳統(tǒng)方法(MAR)發(fā)生誤判如黃色框所示,把閉嘴音識別成非說話狀態(tài)。相反,本文方法(RATE)對閉嘴音的判定較為準確、穩(wěn)定。這說明上唇線峰點之間的距離對于“O型嘴”閉嘴音的狀態(tài)更加敏感。
圖5 不同嘴部狀態(tài)識別方法“閉嘴音”識別結果比較
1.3.2 多角度自適應閾值選擇方法
為了增強司機在轉頭側面下也能判定出嘴部是否發(fā)音的狀態(tài),本文設計了一種基于面部方向檢測的自適應閾值條件方法,如圖6所示。
圖6 基于面部方向檢測的自適應閾值選擇方法
利用兩個嘴角的特征分別到最近臉頰特征點的距離之比r(下圖藍色線段所示)作為正面和側面的判定依據(jù),如圖7所示。
圖7 基于特征點距離比例的司機正面、側面方向判定方法
根據(jù)上述依據(jù),建立方向判定函數(shù)f(r)及其自適應閾值選擇數(shù)學模型RAT E(r)如下:
式中,r代表著兩個嘴角特征點(43,55)到相應臉頰特征點(4,32)的距離比值,a1,a2分別代表著正面時r的最小值和最大值。pi代表著第i個特征點。左右側臉下,嘴部狀態(tài)判定比較實驗結果如圖8表示,傳統(tǒng)MAR在右側沒有說話時發(fā)生誤判如黃色框標注所示,而本文方法較為準確、穩(wěn)定。
圖8 嘴部狀態(tài)判定比較實驗結果
視覺信息匹配與語音裁剪模塊的流程圖如圖9(a)所示。首先,對實時檢測出來的唇部狀態(tài)進行平滑濾波,去掉誤判帶來的時間不連續(xù)。其次,確定嘴部發(fā)音的時間起止時間,將其確定為時間窗口長度。最后,利用“時間窗”對聲波進行裁剪,輸出司機說話過程中的聲音信號作為語音導航的輸入命令語音。
為了保證視覺和語音信號的采樣充分,設計了基于全局標志位的跨線程控制模式:視覺檢測線程中,如果檢測到開始說話,令全局標志位值為1,開啟聲音采集控制信號;一旦檢測到開始停止說話,領全局標志位值為0。關閉聲音采集控制信號。在語音指令錄制線程中,始終掃描檢測全局位值的情況,根據(jù)標志位實時準確的錄制語音指令和采集聲音信號,原理如圖9(b)所示。
圖9 視覺匹配與聲音裁剪過程及其跨線程控制方法
圖10給出了本文系統(tǒng)的硬件設備及其配置圖:在司機頭部正前方設置面部表情監(jiān)控攝像頭,實際車載環(huán)境中利用羅技攝像頭,利用英偉達開發(fā)板在模擬駕駛系統(tǒng)中做嵌入式計算支持。
圖10 基于視覺檢測的語音導航抗干擾系統(tǒng)硬件設備及其配置圖
為了驗證所提方法的效果,利用Python語言進行“基于視覺的語音導航抗干擾系統(tǒng)”軟件系統(tǒng)的開發(fā),并且制作了人機交互界面如圖11所示。系統(tǒng)自動識別駕駛員的嘴部狀態(tài)來判斷駕駛員是否在說話,并將判斷結果在監(jiān)控窗體內(nèi)顯示出來,主界面由人臉檢測畫面、駕駛員聲音波形及環(huán)境聲音波形圖構成。
圖11 基于視覺檢測的語音導航抗干擾系統(tǒng)實時運行結果
表1給出了本系統(tǒng)中,關于嘴部狀態(tài)識別性能的評價指標及其結果。為了測試本系統(tǒng)的性能,我們組織多位同學,采集了近5000張樣本圖像,將采集的樣本進行最佳閾值訓練,并根據(jù)訓練的結果對傳統(tǒng)識別方法MAR和本文方法RATE進行實時測試。測試結果如表1所示:RATE識別正確率達到90.27%,提高8%;錯誤率達到7.73%,降低7%。性能得到明顯提高,經(jīng)過濾波后能夠比較準確地確定出聲音信號的時間窗。
表1 嘴部狀態(tài)識別結果性能評價結果
針對語音導航設備在噪音環(huán)境下無法識別出聲音的來源問題,本文設計開發(fā)了一種基于視覺檢測的語音導航抗干擾系統(tǒng)。該系統(tǒng)通過車內(nèi)的攝像頭來對駕駛員的嘴部狀態(tài)進行檢測,判斷出駕駛員是否在說話。利用視覺檢測結果確定司機說話的時間窗,進而對聲音信號進行有效的裁剪、濾波;確定司機對語音導航系統(tǒng)的控制權限,減少車內(nèi)外噪音對其產(chǎn)生的干擾。實驗表明,本系統(tǒng)有著較高的實時識別率,準確性高、實時性能好,對于頭部水平移動、兩側方向轉動、光照變化均有較好的魯棒性,并且系統(tǒng)成本較低、安裝方便快捷具有較好的市場應用前景。