陳子毅,王天本,劉現(xiàn)濤,李張本,孫章彤,胡 瑾
(1 西北農(nóng)林科技大學(xué) 機(jī)械與電子工程學(xué)院,陜西 楊凌712100; 2 農(nóng)業(yè)農(nóng)村部 農(nóng)業(yè)物聯(lián)網(wǎng)重點(diǎn)實(shí)驗(yàn)室,陜西 楊凌712100)
畜牧業(yè)傳染性疾病是一個(gè)重要的公共衛(wèi)生問題。據(jù)統(tǒng)計(jì),全球每年死于人畜共患傳染性疾病的人數(shù)約為1 200萬人,占全球傳染病死亡人數(shù)的70%[1]。常見的人畜共患傳染病有非洲豬瘟、SARS、禽流感等,其傳播途徑主要有空氣飛沫傳播和接觸式傳播?,F(xiàn)有圈舍養(yǎng)殖場景中傳染病預(yù)防的主要方式是消毒殺菌[2-3],但偏遠(yuǎn)地區(qū)養(yǎng)殖場和非大規(guī)模養(yǎng)殖場經(jīng)常出現(xiàn)消毒不到位現(xiàn)象,多人共用設(shè)備造成的直接或間接疾病傳播是接觸式疾病傳播的重要途徑[4-5]。非接觸式智能設(shè)備控制方式可有效避免接觸式疾病的傳播,降低疾病傳播風(fēng)險(xiǎn),成為未來圈舍設(shè)備控制的發(fā)展趨勢。
語音識別[6-7]作為一種成熟的非接觸式智能設(shè)備控制方式,具有使用便捷、功能豐富等顯著優(yōu)點(diǎn),但易受周圍噪音干擾,不適用于嘈雜的圈舍環(huán)境。此外,語音控制還會(huì)對睡眠狀態(tài)的牲畜造成一定干擾。非接觸式手勢識別技術(shù)作為一種新興的人機(jī)交互技術(shù),不僅可以有效避免用戶對設(shè)備的直接接觸,而且具有不受噪音干擾及不干擾牲畜正常休息等突出優(yōu)點(diǎn)。國內(nèi)外相關(guān)研究團(tuán)隊(duì)針對非接觸式手勢識別開展了一系列研究工作。近年來,機(jī)器視覺技術(shù)已經(jīng)被廣泛應(yīng)用于手勢識別領(lǐng)域[8-11]。張軍等[8]提出一種基于圖像的手勢識別方法,將手勢圖像中各點(diǎn)的曲率特征與不變矩特征相結(jié)合,通過神經(jīng)網(wǎng)絡(luò)對手勢進(jìn)行識別。然而,基于圖像的識別方法容易受到環(huán)境光照條件的影響,難以在夜間使用。隨著無線通信技術(shù)的快速普及,研究人員利用商用WiFi設(shè)備[12-15]和RFID標(biāo)簽[16-18]進(jìn)行手勢識別。基于WiFi的方法通過提取接收信號強(qiáng)度(received signal strength,RSS)[12,15]和信道狀態(tài)信息(channel state information,CSI)[13-14]來識別手勢,但此類方法對天線位置比較敏感,僅當(dāng)收發(fā)天線處于特定位置時(shí)才能實(shí)現(xiàn)手勢識別。Wang等[16]利用RFID標(biāo)簽陣列感知細(xì)粒度的手指運(yùn)動(dòng)并實(shí)現(xiàn)6種手勢的識別。但該方法對用戶執(zhí)行手勢時(shí)的位置要求較高,且RFID閱讀器價(jià)格昂貴,難以推廣使用。超聲感知[19-24]是近年來一種新興的感知方式,具有不受光線影響、不受頻譜資源限制、設(shè)備成本低等特點(diǎn),已被國內(nèi)外研究人員應(yīng)用于手勢識別研究。Gupta等[19]使用電腦的內(nèi)置揚(yáng)聲器和麥克風(fēng),通過不同手勢移動(dòng)時(shí)多普勒效應(yīng)的差異,在無需訓(xùn)練情況下實(shí)現(xiàn)了5種手勢的識別。Ai等[20]通過提取手勢移動(dòng)所產(chǎn)生的多普勒頻移變化特征,并將一系列特征輸入隱馬爾可夫(hidden markov model,HMM)模型,實(shí)現(xiàn)了11種手勢的識別。雖然上述手勢識別方法具有較高的識別準(zhǔn)確率,但對用戶執(zhí)行手勢的位置要求較高,即僅當(dāng)用戶在一個(gè)或幾個(gè)特定位置執(zhí)行手勢才能識別,限制了其實(shí)際應(yīng)用場景。
針對上述研究中對用戶手勢執(zhí)行位置要求高的問題,本研究設(shè)計(jì)并實(shí)現(xiàn)了一種可在一定范圍內(nèi)任意位置實(shí)時(shí)識別4種基本手勢(前推、后移、左移、右移)的聲波手勢識別方法,在此基礎(chǔ)上構(gòu)建手勢控制原型系統(tǒng),以實(shí)現(xiàn)對圈舍照明設(shè)備及換氣扇的非接觸式控制;然后以手勢產(chǎn)生的聲波多普勒效應(yīng)為基礎(chǔ),建立了手勢、位置與多普勒效應(yīng)之間的映射關(guān)系,利用規(guī)則和機(jī)器學(xué)習(xí)融合的方法,可在一定范圍內(nèi)實(shí)現(xiàn)與位置無關(guān)的非接觸式手勢識別,進(jìn)而為降低接觸式疾病傳播風(fēng)險(xiǎn)和推進(jìn)養(yǎng)殖業(yè)智慧化進(jìn)程提供技術(shù)支持。
本研究所述的手勢識別控制系統(tǒng)主要包括數(shù)據(jù)采集及預(yù)處理模塊、多普勒效應(yīng)提取模塊、動(dòng)作切分模塊、手勢識別模塊及手勢控制模塊5個(gè)模塊。數(shù)據(jù)采集及預(yù)處理模塊控制揚(yáng)聲器持續(xù)發(fā)送超聲波,麥克風(fēng)實(shí)時(shí)接收回波數(shù)據(jù)存入緩存隊(duì)列,并進(jìn)行帶通濾波,去除噪聲干擾。多普勒效應(yīng)提取模塊利用緩存回波的功率譜密度提取手勢產(chǎn)生的多普勒效應(yīng)。動(dòng)作切分模塊利用動(dòng)作切分算法,對功率譜密度矩陣進(jìn)行切分,僅保留所有動(dòng)作發(fā)生的片段。手勢識別模塊對于切分出來的動(dòng)作片段提出一種融合規(guī)則和機(jī)器學(xué)習(xí)的方法進(jìn)行手勢識別。手勢控制模塊通過將不同手勢映射成不同的命令,控制照明設(shè)備的開關(guān)和亮度調(diào)節(jié)以及換氣扇的開關(guān)和轉(zhuǎn)速調(diào)節(jié)。手勢識別控制系統(tǒng)的整體結(jié)構(gòu)框圖如圖1所示。
圖1 手勢識別控制系統(tǒng)的整體框架Fig.1 Framework for the gesture recognition control system
本研究所提出的手勢識別方法基于聲波的多普勒效應(yīng),即當(dāng)波源與觀測者相對靠近時(shí),觀測者接收到的頻率增加,當(dāng)波源與觀測者相對遠(yuǎn)離時(shí),觀測者接收到的頻率降低。執(zhí)行手勢時(shí),麥克風(fēng)接收回波的多普勒頻移fd[24]可以表示為:
(1)
式中:fc為聲波的發(fā)送頻率;vs為手勢移動(dòng)速度;c為聲波在介質(zhì)中的傳播速度。當(dāng)手掌朝向收發(fā)設(shè)備的方向移動(dòng)時(shí),fd為正;當(dāng)手掌向遠(yuǎn)離收發(fā)設(shè)備的方向移動(dòng)時(shí),fd為負(fù)。
如圖2所示,當(dāng)環(huán)境中無其他移動(dòng)物體時(shí),麥克風(fēng)接收到的回波主要由手掌、手臂、軀干、靜態(tài)環(huán)境反射信號和噪聲組成。將發(fā)送信號設(shè)置成單頻余弦信號s(t)=cos (2πfct),其中s(t)表示發(fā)送信號,t表示時(shí)間。在執(zhí)行手勢時(shí),只有手掌和手臂處于運(yùn)動(dòng)狀態(tài),因此只有經(jīng)過手掌和手臂直接或間接反射的信號帶有多普勒頻移,只經(jīng)過軀干或靜態(tài)環(huán)境反射的聲波并不攜帶多普勒效應(yīng)。而在室內(nèi)環(huán)境中,靜態(tài)環(huán)境和軀干的反射面積遠(yuǎn)遠(yuǎn)大于手掌和手臂的反射面積。因此,從手掌和手臂反射的帶有多普勒頻移信號的能量遠(yuǎn)低于來自靜態(tài)環(huán)境和軀干反射的不攜帶多普勒頻移反射信號的能量。此外,由于手掌和手臂不同部位移動(dòng)速度不一致,經(jīng)過不同部位反射的回波能量和多普勒頻移也不一致。
紅色箭頭、綠色箭頭、藍(lán)色箭頭、黃色箭頭分別表示手掌、 手臂、軀干和靜態(tài)環(huán)境反射信號,黑色箭頭表示噪聲 The red arrow,green arrow,blue arrow and yellow arrow respectively represens the singals reflect from palm,arm, torso and static environment,and black arrow represent noise圖2 室內(nèi)多徑反射示意圖Fig.2 Multipath reflection in indoor environment
綜上,可以得到如下結(jié)論:手勢產(chǎn)生的多普勒效應(yīng)不會(huì)改變回波主頻率(即發(fā)送波形的頻率),僅表現(xiàn)為主頻率兩側(cè)的一定頻率范圍(速度分布范圍)內(nèi)的不規(guī)則(不同部位反射能量不同)旁瓣。圖3為執(zhí)行手勢時(shí)產(chǎn)生回波的功率譜密度。
圖3 手勢產(chǎn)生回波的功率譜密度Fig.3 Echo power spectrum density of gestures
由圖3可以看出,手勢產(chǎn)生的聲波多普勒效應(yīng)與經(jīng)典多普勒效應(yīng)存在差異,無法通過測量主頻偏移的方式直接提取手勢產(chǎn)生的多普勒效應(yīng),證實(shí)了上述結(jié)論。
執(zhí)行手勢時(shí)設(shè)備與用戶的相對位置會(huì)對多普勒效應(yīng)產(chǎn)生較大影響。圖4給出了在不同位置執(zhí)行手勢時(shí)左右麥克風(fēng)接收回波的時(shí)頻譜。由圖4可知,相同手勢在不同位置可能會(huì)產(chǎn)生不同的多普勒效應(yīng)(如手勢G1,G2,G5等),不同手勢在不同位置可能產(chǎn)生相似的多普勒效應(yīng)(如手勢G9和G10,G12和G13等)。
綜上,如何實(shí)時(shí)提取手勢產(chǎn)生的多普勒效應(yīng),如何克服不同位置帶來的影響,是構(gòu)建聲波手勢識別系統(tǒng)的核心。
圖4 4種基本手勢的多普勒效應(yīng)(共14種情況)Fig.4 Doppler effect of four common gestures (fourteen cases)
由2.2節(jié)所述,手勢引起的多普勒效應(yīng)與經(jīng)典多普勒效應(yīng)之間存在差異,無法通過測量主頻偏移的方式提取手勢引起的多普勒效應(yīng)。因此,本研究采用功率譜密度(power spectrum density,PSD)向量刻畫回波的多普勒效應(yīng)?;夭üβ首V密度向量可通過Welch[25]的方法進(jìn)行估計(jì)。具體地,回波r(n)的功率譜密度向量P(ωk)估計(jì)公式如下:
(2)
由于室內(nèi)存在大量的聲學(xué)多徑反射,所有的移動(dòng)事件(行走、窗簾飄動(dòng)、手勢)都會(huì)在麥克風(fēng)接收回波中引入多普勒頻移。因此,必須首先識別所有移動(dòng)事件,然后從這些移動(dòng)事件中識別手勢。具體地,首先記錄無移動(dòng)事件發(fā)生時(shí)一段時(shí)間內(nèi)的回波數(shù)據(jù),計(jì)算回波平均功率譜密度向量,將其作為基準(zhǔn)功率譜密度向量。當(dāng)環(huán)境無移動(dòng)事件發(fā)生,實(shí)時(shí)功率譜密度向量與基準(zhǔn)功率譜密度向量在各個(gè)頻率點(diǎn)的幅值十分接近(如圖5-(a)),兩者的差值向量在0附近波動(dòng)。當(dāng)有移動(dòng)事件發(fā)生時(shí),實(shí)時(shí)功率譜密度向量的主峰值附近出現(xiàn)較高的旁瓣(如圖5-(b)),兩者的差值向量中出現(xiàn)大量遠(yuǎn)大于0的元素。
綜上,實(shí)時(shí)功率譜密度向量與基準(zhǔn)功率譜密度向量差值1范數(shù)的大小可以反映有無多普勒效應(yīng),即有無移動(dòng)事件發(fā)生。當(dāng)向量差值1范數(shù)大于給定閾值時(shí)說明有移動(dòng)事件發(fā)生,反之則說明無移動(dòng)事件發(fā)生。實(shí)際應(yīng)用中,為避免系統(tǒng)抖動(dòng)引起誤判,當(dāng)連續(xù)3次出現(xiàn)向量差值1范數(shù)大于給定閾值,則判定有移動(dòng)事件發(fā)生,開始記錄功率譜密度向量。當(dāng)連續(xù)3次出現(xiàn)向量差值1范數(shù)小于給定閾值,則判定移動(dòng)事件結(jié)束,停止記錄功率譜密度向量。由此可以切分出每個(gè)移動(dòng)事件發(fā)生期間所有功率譜密度向量。為方便描述,將移動(dòng)事件發(fā)生期間功率譜密度向量隨時(shí)間累積形成的矩陣稱之為功率譜密度矩陣。
(a).無移動(dòng)事件發(fā)生;(b).有移動(dòng)事件發(fā)生
利用機(jī)器學(xué)習(xí)算法訓(xùn)練手勢識別模型需要大量離線數(shù)據(jù)。為了減少對離線數(shù)據(jù)的依賴,本研究提出規(guī)則與機(jī)器學(xué)習(xí)相結(jié)合的方法進(jìn)行手勢識別。首先,分析在不同位置執(zhí)行不同手勢時(shí)多普勒效應(yīng)隨時(shí)間的變化規(guī)律。然后,對于多普勒效應(yīng)變化規(guī)律唯一的手勢,構(gòu)造基于規(guī)則的映射函數(shù);對于多普勒效應(yīng)變化規(guī)律相似的手勢,利用奇異值分解算法提取特征,利用機(jī)器學(xué)習(xí)算法進(jìn)行識別。
通過分析靠近或遠(yuǎn)離左右2個(gè)麥克風(fēng)的手勢過程,結(jié)合圖4可得到在不同位置執(zhí)行不同手勢時(shí)左右麥克風(fēng)接收回波的多普勒頻移正負(fù)性序列變化規(guī)律,如表1所示。
表1 不同手勢過程左右麥克風(fēng)多普勒頻移的正負(fù)性序列Table 1 Positive and negative Doppler shift sequences of left and right microphone with different gestures
由表1可知,執(zhí)行手勢G1~G4過程中,左右2個(gè)麥克風(fēng)接收到的回波中攜帶的多普勒效應(yīng)變化規(guī)律具有唯一性,可直接識別。G5和G6手勢多普勒效應(yīng)變化規(guī)律一致,但與其他手勢不同。圖6給出了G5和G6手勢過程功率譜密度向量的時(shí)序序列(共4幀:F1~F4)。如圖6-(a)中F1~F2所示,在執(zhí)行G5手勢過程中,手掌越過2個(gè)麥克風(fēng)中間之前,距離右麥克風(fēng)較近,此時(shí)右麥克風(fēng)接收回波的能量大于左麥克風(fēng);如圖6-(a)F3~F4所示,當(dāng)手掌越過2個(gè)麥克風(fēng)中間之后,手掌距離左麥克風(fēng)較近,此時(shí)左麥克風(fēng)接收到回波的能量大于右麥克風(fēng)。執(zhí)行手勢G6時(shí)的現(xiàn)象與手勢G5恰好相反。因此,可以通過左右2個(gè)麥克風(fēng)多普勒頻移的正負(fù)性序列,以及左右2個(gè)麥克風(fēng)接收回波能量差值的變化過程識別G5和G6手勢。其余手勢產(chǎn)生的多普勒效應(yīng)相似,無法簡單通過規(guī)則識別。對于不能通過規(guī)則識別的手勢,利用機(jī)器學(xué)習(xí)構(gòu)建模型進(jìn)行識別。
(a)G5手勢功率譜密度向量的時(shí)序序列(共4幀:F1~F4)
(b)G6手勢功率譜密度向量的時(shí)序序列(共4幀:F1~F4)
基于上述分析,通過構(gòu)造以下3個(gè)特征來識別手勢G1~G6,即左麥克風(fēng)接收回波多普勒頻移的正負(fù)性序列DSSl、右麥克風(fēng)接收回波多普勒頻移的正負(fù)性序列DSSr和左右麥克風(fēng)接收回波能量差的正負(fù)性序列PDS。為了描述以上3個(gè)特征,首先定義某一時(shí)刻左麥克風(fēng)接收回波多普勒頻移的正負(fù)性DSl、右麥克風(fēng)接收回波多普勒頻移的正負(fù)性DSr和左右麥克風(fēng)接收回波能量差PD為:
DSl=sign(∑kPlg-∑kPll),
DSr=sign(∑kPrg-∑kPrl),
PD=sign(∑2k+1Pl-∑2k+1Pr)。
式中:Plg和Pll分別為左麥克風(fēng)接收回波中大于和小于主頻的功率譜密度向量;Prg和Prl分別為右麥克風(fēng)接收回波中大于和小于主頻的功率譜密度向量;Pl和Pr分別為左右麥克風(fēng)接收回波的功率譜密度向量。
DSl、DSr、PD按時(shí)間累積,則多普勒頻移特征可表示為:
DSSl=(DSl(t1),DSl(t2),…,DSl(tm)),DSSr=(DSr(t1),DSr(t2),…,DSr(tm)),PDS=(PD(t1),PD(t2),…,PD(tm))。
式中:DSl(tm)和DSr(tm)分別表示左右麥克風(fēng)第m幀接收回波多普勒頻移的正負(fù)性;PD(tm)表示左右麥克風(fēng)第m幀接收回波能量差的正負(fù)性。根據(jù)上述特征,構(gòu)造了手勢類型、位置與多普勒效應(yīng)的映射關(guān)系如表2所示。 由表2可知,可以由3個(gè)特征唯一確定G1~G6共6種情況下的手勢,對于無法識別的另外8種手勢G7~G14,采用機(jī)器學(xué)習(xí)算法進(jìn)行識別。
表2 手勢類型、位置與多普勒效應(yīng)的映射關(guān)系Table 2 Mapping functions between gesture,location and Doppler shift
對于多普勒效應(yīng)變化相似的手勢,利用機(jī)器學(xué)習(xí)算法構(gòu)建手勢識別模型進(jìn)行識別。由于手勢執(zhí)行速度和持續(xù)時(shí)間不同,對應(yīng)的功率譜密度矩陣時(shí)間維度的長度不同,無法直接將功率譜密度矩陣作為輸入構(gòu)建識別模型。由2.3節(jié)可知,功率譜密度矩陣頻率維度為定值kH-k1。采用奇異值分解(singular value decomposition,SVD)法[26]對功率譜密度矩陣沿頻率維度進(jìn)行分解并提取特征。
奇異值和特征值類似,在奇異值矩陣中從大到小排列,并且奇異值的衰減速度特別快,很多情況下,前10%甚至1%的奇異值之和占全部奇異值之和的90%以上。本研究選取前3個(gè)奇異值對應(yīng)的特征向量,將這3個(gè)特征向量作為參數(shù)分別輸入支持向量機(jī)、BP神經(jīng)網(wǎng)絡(luò)、K近鄰分類器,選取多種參數(shù)進(jìn)行比較,擇優(yōu)選擇算法實(shí)現(xiàn)手勢識別。
針對具體的應(yīng)用場景,將不同的手勢映射為不同的命令控制執(zhí)行機(jī)構(gòu)即可實(shí)現(xiàn)手勢控制。對于較為簡單的應(yīng)用場景,可以直接將4種手勢直接映射為4種不同的命令實(shí)現(xiàn)手勢控制。對于較為復(fù)雜的場景,可將4種手勢兩兩組合后映射為12種不同的命令實(shí)現(xiàn)較為復(fù)雜的手勢控制。本研究以圈舍中照明設(shè)備和換氣扇控制為例,得到手勢和控制動(dòng)作的映射關(guān)系如表3所示。
表3 照明設(shè)備及換氣扇對手勢與控制動(dòng)作的映射關(guān)系Table 3 Mapping gestures to control actions on light equipment and ventilator
如圖7所示,本研究提出的手勢識別系統(tǒng)由2套商用的揚(yáng)聲器(SAMSON MeteorMic,16 bit,48 kHz)和麥克風(fēng)組成(JBLJembe,8Watt,80 dB),2個(gè)麥克風(fēng)通過USB接口連接到筆記本電腦(MSI Intel(R) Core(TM) i7-9750H 2.60 GHz,16.0 GB RAM),2個(gè)揚(yáng)聲器分別通過外置聲卡(UGREEN聲卡)和3.5 mm音頻接口與筆記本電腦相連,左右揚(yáng)聲器發(fā)送聲波頻率分別為19和20 kHz。手勢識別算法在Matlab中實(shí)現(xiàn)并實(shí)時(shí)運(yùn)行,手勢識別系統(tǒng)的有效識別范圍如圖8所示,其中1~6分別表示位置1至位置6共6個(gè)位置。手勢控制硬件平臺由Arduino開發(fā)板、三色燈模塊及L9110H風(fēng)扇模塊組成。
圖7 手勢識別系統(tǒng)的聲波收發(fā)設(shè)備 圖8 手勢識別系統(tǒng)的感知范圍Fig.7 Acoustic transceiver of gesture recognition system Fig.8 Perception range of gesture recognition system
隨機(jī)招募15名測試者,首先測試系統(tǒng)對室內(nèi)環(huán)境中常見干擾的誤報(bào)率;然后對系統(tǒng)感知范圍內(nèi)不同位置、不同手勢速度、不同手勢幅度進(jìn)行測試,分別使用支持向量機(jī)、BP神經(jīng)網(wǎng)絡(luò)、K最鄰近算法3種機(jī)器學(xué)習(xí)算法,選擇不同的參數(shù)進(jìn)行比較;選取識別準(zhǔn)確率最高的算法及參數(shù)構(gòu)建最終的手勢識別模型。
4.2.1 常見干擾下的系統(tǒng)評估 在測試系統(tǒng)對室內(nèi)各種常見干擾誤報(bào)時(shí),具體的干擾項(xiàng)包括走動(dòng)、打開或關(guān)閉門窗、物品從不同高度掉落、說話或播放音樂以及窗簾飄動(dòng)等,試驗(yàn)結(jié)果如表4所示。
表4 常見干擾動(dòng)作下手勢識別系統(tǒng)的性能評估Table 4 Evaluation of gesture recognition system with common interferences
由表4可知,除說話或播放音樂未出現(xiàn)誤報(bào)外,其他干擾均會(huì)出現(xiàn)少量誤報(bào),說明說話或播放音樂為純噪音干擾,非移動(dòng)事件不會(huì)產(chǎn)生多普勒效應(yīng),因此系統(tǒng)不會(huì)產(chǎn)生誤報(bào)。而走動(dòng)、打開或關(guān)閉門窗、物品掉落和窗簾飄動(dòng)均為移動(dòng)事件,會(huì)引入多普勒效應(yīng)。雖然通常情況下上述移動(dòng)干擾產(chǎn)生的多普勒效應(yīng)與手勢移動(dòng)差異較大,但仍有部分移動(dòng)干擾可能產(chǎn)生與手勢相似的多普勒效應(yīng),從而產(chǎn)生誤報(bào)。由試驗(yàn)結(jié)果還可以看出,最高誤報(bào)率為2.50%,證明系統(tǒng)對室內(nèi)常見干擾具有較好的魯棒性。
4.2.2 不同位置的手勢識別結(jié)果 為測試系統(tǒng)對不同位置手勢的識別準(zhǔn)確率,隨機(jī)招募4位測試者分別在感知范圍內(nèi)6個(gè)位置(圖8)分別執(zhí)行4種手勢各100次,采用支持向量機(jī)、BP神經(jīng)網(wǎng)絡(luò)、K最鄰近算法3種機(jī)器學(xué)習(xí)算法進(jìn)行識別,調(diào)整參數(shù)并比較識別準(zhǔn)確率。對于支持向量機(jī)算法,分別采用線性核函數(shù)和徑向基核函數(shù)進(jìn)行建模;對于BP神經(jīng)網(wǎng)絡(luò)算法,將隱層神經(jīng)元個(gè)數(shù)n設(shè)置為30和50;對于K最近鄰算法,將最近鄰數(shù)k分別設(shè)置為3和5。3種機(jī)器學(xué)習(xí)算法的平均識別準(zhǔn)確率如表5所示。從表5可以看出,在位置1,2,3處的手勢識別準(zhǔn)確率較高且在同一水平,而在位置4,5,6處的識別準(zhǔn)確率較低。這是由于位置1,2,3距離設(shè)備較近,多普勒效應(yīng)的特征較為明顯,識別準(zhǔn)確率較高,而位置4,5,6距離設(shè)備較遠(yuǎn),多普勒頻移特征較弱,識別準(zhǔn)確率稍低。對比不同算法可以看出,線性支持向量機(jī)算法構(gòu)建的識別模型在6個(gè)位置的手勢識別準(zhǔn)確率最高,識別準(zhǔn)確率均在89%以上。
表5 基于不同算法的6個(gè)不同位置手勢識別準(zhǔn)確率的比較Table 5 Gesture recognition accuracy of different locations base on different algorithms
4.2.3 不同速度的手勢識別結(jié)果 不同手勢執(zhí)行速度會(huì)導(dǎo)致強(qiáng)弱不同的多普勒效應(yīng)。為測試系統(tǒng)對不同速度手勢過程的識別率,隨機(jī)招募4位測試者在聲波覆蓋范圍內(nèi)的任意位置(圖8),以快速、中速、慢速分別執(zhí)行每種手勢100次,采用如4.2.2節(jié)試驗(yàn)中的機(jī)器學(xué)習(xí)算法及參數(shù)進(jìn)行識別,并記錄測試結(jié)果。在不同速度下各種手勢的平均識別準(zhǔn)確率如表6所示。從表6可知,當(dāng)執(zhí)行快速和中速手勢時(shí),手勢識別準(zhǔn)確率較高,而慢速手勢的識別準(zhǔn)確率相對較低。由公式(1)可得,手勢移動(dòng)緩慢時(shí),所引起的多普勒效應(yīng)較弱,對動(dòng)作切分和特征提取造成影響,導(dǎo)致手勢識別準(zhǔn)確率較低。對比3種機(jī)器學(xué)習(xí)算法可以看出,線性支持向量機(jī)構(gòu)建的手勢識別模型識別準(zhǔn)確率最高,對快、中、慢3種手勢的識別準(zhǔn)確率均在88%以上。
表6 基于不同算法的不同速度手勢識別準(zhǔn)確率的比較Table 6 Gesture recognition accuracy of different speeds base on different algorithms
4.2.4 不同幅度的手勢識別結(jié)果 除手勢速度外,不同的手勢幅度也會(huì)產(chǎn)生強(qiáng)弱不同的多普勒效應(yīng)。為驗(yàn)證系統(tǒng)對不同幅度手勢的識別準(zhǔn)確率,4位測試者在聲波覆蓋范圍內(nèi)的任意位置(圖8)分別以大幅度、中幅度、小幅度執(zhí)行每種手勢100次,采用4.2.2節(jié)試驗(yàn)中的機(jī)器學(xué)習(xí)算法和參數(shù)進(jìn)行識別,并記錄測試結(jié)果。系統(tǒng)對不同幅度手勢的平均識別準(zhǔn)確率如表7所示。
表7 基于不同算法的不同幅度手勢識別準(zhǔn)確率的比較Table 7 Gesture recognition accuracy of different movement ranges base on different algorithms
從表7可以看到,以大幅度和中幅度執(zhí)行手勢時(shí),手勢識別準(zhǔn)確率較高,而以小幅度執(zhí)行手勢的識別準(zhǔn)確率較低。這是由于以大幅度或中幅度執(zhí)行手勢時(shí),手勢執(zhí)行的時(shí)間相對較長,多普勒效應(yīng)變化過程更清晰。對比3種機(jī)器學(xué)習(xí)算法可以看出,線性支持向量機(jī)算法準(zhǔn)確率最高,均在87%以上。
4.2.5 不同測試者的手勢識別結(jié)果 在上述試驗(yàn)中,線性支持向量機(jī)算法構(gòu)建的手勢識別模型準(zhǔn)確率較高。本試驗(yàn)采用線性支持向量機(jī)構(gòu)建手勢識別模型對不同測試者執(zhí)行手勢的準(zhǔn)確率進(jìn)行評估。15位測試者在感知范圍內(nèi)任意位置執(zhí)行每種手勢50次,系統(tǒng)識別準(zhǔn)確率如圖9所示。從圖9可以看出,該系統(tǒng)對不同測試者的識別準(zhǔn)確率均能達(dá)到較高水平,且平均識別準(zhǔn)確率為91.50%,能夠滿足實(shí)際應(yīng)用場景的需求。
圖9 基于線性支持向量機(jī)算法的15位測試者的手勢識別準(zhǔn)確率Fig.9 Gesture recognition accuracy of fifteen subjects base on linear SVM classifier
手勢控制硬件平臺主要包括Arduino開發(fā)板、三色燈模塊和L9110H風(fēng)扇模塊。手勢識別系統(tǒng)識別到手勢后通過串口將指令發(fā)送到Arduino開發(fā)板。照明設(shè)備控制程序以及換氣扇控制程序在Arduino開發(fā)板上運(yùn)行,控制照明設(shè)備和換氣扇按照不同的指令執(zhí)行不同的動(dòng)作。
對于照明設(shè)備,執(zhí)行前推手勢時(shí),開啟照明設(shè)備;執(zhí)行右移手勢時(shí),亮燈數(shù)-1;執(zhí)行左移手勢時(shí),亮燈數(shù)+1;執(zhí)行后移手勢時(shí),關(guān)閉照明設(shè)備。對于換氣扇,執(zhí)行前推手勢時(shí),開啟換氣設(shè)備;執(zhí)行右移手勢時(shí),換氣速度減慢;執(zhí)行左移手勢時(shí),換氣速度加快;執(zhí)行后移手勢時(shí),關(guān)閉換氣扇(手勢和動(dòng)作的具體映射關(guān)系見表3)。經(jīng)過反復(fù)試驗(yàn),系統(tǒng)運(yùn)行穩(wěn)定且符合預(yù)期。照明設(shè)備和換氣扇可按照對應(yīng)手勢執(zhí)行規(guī)定動(dòng)作,演示視頻鏈接為:https://tinyurl.com/3j34jkeu。
現(xiàn)有的手勢識別方法主要包括基于機(jī)器視覺的方法[8-11]、基于商用WiFi的方法[12-15]、基于RFID標(biāo)簽的方法[16-18]以及基于聲波的方法[19-22]。然而基于機(jī)器視覺的方法容易受到環(huán)境光照條件的影響,難以在夜間使用?;谏逃肳iFi的方法克服了光照條件的影響,但此類方法對天線擺放位置要求較高,僅當(dāng)收發(fā)天線處于特定位置才能實(shí)現(xiàn)手勢識別?;赗FID標(biāo)簽的方法同樣存在對設(shè)備擺放位置要求較高的問題,且RFID閱讀器價(jià)格昂貴,難以推廣使用。相比于上述方法,基于聲波的方法具有不受光線影響、不受頻譜資源限制、設(shè)備成本低等特點(diǎn),但現(xiàn)有方法同樣存在對用戶執(zhí)行手勢的位置要求較高的問題,限制了其實(shí)際應(yīng)用場景。
本研究提出了一種基于聲波的手勢識別方法,該方法通過規(guī)則與機(jī)器學(xué)習(xí)結(jié)合的方式實(shí)時(shí)分析手勢執(zhí)行過程中產(chǎn)生的多普勒效應(yīng),可實(shí)現(xiàn)在感知范圍內(nèi)不同位置、不同速度和不同幅度手勢過程的準(zhǔn)確識別,平均識別準(zhǔn)確率可達(dá)91.50%,且可成功應(yīng)用于照明設(shè)備和換氣扇控制。