技術(shù)領(lǐng)域
[0001] 本
發(fā)明屬于計算機
人機交互技術(shù)領(lǐng)域,涉及一種基于聲音的手勢識別方法。 背景技術(shù)
[0002]
自然語言處理(natural language processing)是計算機科學(xué)領(lǐng)域與
人工智能領(lǐng)域中的一個重要方向。它研究能實現(xiàn)人與計算機之間用自然語言進行有效通信的各種理論和方法。自然語言處理是一
門融語言學(xué)、計算機科學(xué)、數(shù)學(xué)于一體的科學(xué)。因此,這一領(lǐng)域的研究將涉及自然語言,即人們?nèi)粘J褂玫恼Z言,所以它與語言學(xué)的研究有著密切的聯(lián)系,但又有重要的區(qū)別。自然語言處理并不是一般地研究自然語言,而在于研制能有效地實現(xiàn)自然語言通信的
計算機系統(tǒng),特別是其中的
軟件系統(tǒng)。因而它是計算機科學(xué)的一部分。 [0003] 動作識別(Gesture Recognition)是在計算機科學(xué)與通過數(shù)學(xué)
算法解釋人類手勢動作的語言技術(shù)當(dāng)中的一個課題,手勢源于肢體動作或者狀態(tài)但是,但通常來源于面部和手部的變化。當(dāng)前關(guān)注的領(lǐng)域包含了對面部動作的識別,和對手勢動作的識別。很多的方法可以使用攝像頭或者
計算機視覺算法(computer vision algorithm)去檢測手勢語言(sign language)。
[0004] 動作識別在計算機交互(computer interaction)領(lǐng)域的應(yīng)用已經(jīng)成長的越來越活躍,然而,這樣的應(yīng)用還存在著較高的
費用代價,例如檢測動作的
傳感器(e.g.leap motion$70),比如常用的高品質(zhì)攝像頭(e.g.Microsoft Kinect$200),這些設(shè)備都直接的制約了動作識別技術(shù)的推廣?;诼曇舻氖謩葑R別(sound gesture recognition)呼之欲出,音頻領(lǐng)域發(fā)展到今天,
硬件環(huán)境已經(jīng)接近完美,無論是音頻的發(fā)生裝置(e.g.various styles of Speakers),還是音頻的接收裝置(e.g.various styles of listeners),尤其是在計算機上,音頻設(shè)備已近成為計算機不可或缺的一部分。
[0005] 基于聲音的手勢識別(sound gesture recognition),是利用物理現(xiàn)象
多普勒效應(yīng)(Doppler effect or Doppler shift),獲得音頻
頻譜(spectrum)的變化進行動作語言處理(gesture language processing),
發(fā)明內(nèi)容
[0006] 本發(fā)明的目的在于克服上述技術(shù)
缺陷,提供一種基于聲音的手勢識別方法。其技術(shù)方案為:
[0007] 一種基于聲音的手勢識別方法,包括以下步驟:
[0008] a)處理由麥克
風(fēng)接收到返回的音頻
信號,利用帶通
濾波器過濾掉不關(guān)心的頻帶的信號,使用窗口函數(shù)減少頻譜泄露的影響,采取快速傅里葉變化獲得頻域信號,并處理為分貝數(shù)據(jù)存儲在
采樣隊列Queue1當(dāng)中。
[0009] b)從采樣隊列中獲取頻譜分析窗口隊列w1,計算公式為:
[0010] w1(x)=Queue1 ,x∈ 式(1-1)
[0011] 其中:Queue1是由步驟a)獲得的采樣隊列;
[0013] fshift是頻率變化的最大值;
[0015] c)從頻譜分析窗口隊列中獲取最大
頻率偏移fshift的左均值Wieft和右均值Wright: [0016] 式(1-2)
[0017] 式(1-3)
[0018] d)模擬定義邏輯的周期Tsimulate,如果Tsimulate過長,用戶會有明顯的延遲感,會使得人機交互感很差,但是Tsimulate過短,采樣數(shù)據(jù)不能及時更新,會產(chǎn)生大量的誤操作。定義概念必然誤差率Rerror,闡述為:由于信號
采樣頻率(從設(shè)備獲取數(shù)據(jù)的時間消耗)與采集
信號處理分析頻率(處理信號時間消耗)之間的差異,就會造成必然誤差的產(chǎn)生,Tsimulate的表達式為:
[0019] 式(1-4)
[0020] 其中:T0是采樣周期;
[0021] Rerror是必然誤差率;
[0022] e)定義一個受中心頻率f0的
能量Epeak和權(quán)值∝影響的
閾值TDegree,計算單位Tsimulate 周期里,左均值wleft和右均值wright的變化率,并與閾值TDegree進行比較: [0023] 式(1-5)
[0024] 其中:∝是權(quán)值;
[0025] Epeak是中心頻率f0的能量;
[0026] 式(1-6)
[0027] 式(1-7)
[0028] 比較過程:
[0029] Rleft>TDegree式(1-8)
[0030] 則發(fā)生的是一個遠離麥克風(fēng)的動作,記錄消息為Levent到消息隊列Queueevent中。 [0031] Rright>TDegree式(1-9)
[0032] 則發(fā)生的是一個靠近麥克風(fēng)的動作,記錄消息為Revent到消息隊列Queueevent中。 [0033] Rleft>TDegree and Rright>TDegree式(1-10)
[0034] 則發(fā)生的是一個復(fù)合動作(例如翻轉(zhuǎn)手勢,或者雙手前后運動),記錄消息為Devent到消息隊列Queueevent中
[0035] f)等待Tdelay時間內(nèi),如果產(chǎn)生消息,則記錄消息到消息隊列Queueevent中,
定時器歸位,重新等待Tdelay時間;如果沒有產(chǎn)生消息,則對消息隊列Queueevent進行一次消息處理分析,并清空隊列。
[0036] g)某個Tdelay時間內(nèi)沒有定時器歸位操作,對消息隊列Queueevent處理分析,獲得消息邏輯,并對該消息邏輯映射的操作進行模擬,實現(xiàn)控制計算機,完成人機交互的目的。 [0037] 與
現(xiàn)有技術(shù)相比,本發(fā)明的有益效果為:
[0038] 傳統(tǒng)的手勢識別方法,均是通過昂貴的外接計算機傳感器設(shè)備實現(xiàn)的,例如Microsoft Kinect,leap motion,這些設(shè)備大部分均是使用攝像頭(紅外攝像頭,RGB攝像頭等)。這樣的設(shè)備均具有一定的普及壓
力存在,這些壓力包括:1.對環(huán)境的適應(yīng)性較差,原因是攝像頭天生對光感要求嚴格。2.硬件成本較高,原因是為了提高傳感器設(shè)備的靈敏度,就使得外設(shè)本身硬件要求較高,例如Microsoft Kinect$200,leap motion$70。本發(fā)明技術(shù)硬件要求極低,并且一般的計算機均不必購置新的硬件外設(shè),僅使用常見的麥克風(fēng)與音響即可實現(xiàn)對計算機全新的手勢控制,為用戶提供廉價的并且實用的人機交互新方式,即使用戶本身不具備上述硬件環(huán)境,本發(fā)明還提供了聲音
鼠標,和陣列設(shè)備的設(shè)計方案,廉價的推廣本發(fā)明所述的技術(shù)。
附圖說明
[0039] 圖1為本發(fā)明設(shè)計思路圖;
[0040] 圖2為本發(fā)明原理模型圖;
[0041] 圖3為聲音鼠標外觀設(shè)計圖;
[0042] 圖4為陣列設(shè)備外觀設(shè)計圖;
[0043] 圖5為頻率能量圖,橫坐標表示頻率單位KHz,縱坐標表示能量單位DB,曲線表現(xiàn)了在中心頻率為18KHz的
位置存在一個峰值約為30DB,其余頻帶區(qū)域能量相對中心頻率的能量均表現(xiàn)低
水平的水平;
[0044] 圖6為頻率能量圖,橫坐標表示頻率單位KHz,縱坐標表示能量單位DB,曲線表現(xiàn)了,當(dāng)一個遠離麥克風(fēng)的手勢發(fā)生時,除中心頻率18KHz位置存在一個峰值,在17.7KHz到18KHz的頻帶上同樣由于能量的增加,出現(xiàn)了多個新的峰值,最大峰值能量約為20DB; [0045] 圖7為頻率能量圖,橫坐標表示頻率單位KHz,縱坐標表示能量單位DB,曲線表現(xiàn)了,當(dāng)一個靠近麥克風(fēng)的手勢發(fā)生時,除中心頻率18KHz位置存在一個峰值,在18KHz到
18.3KHz的頻帶上同樣由于能量的增加,出現(xiàn)了多個新的峰值,能量約為10DB; [0046] 圖8為時間頻率圖,橫軸為時間軸,縱軸為頻率軸,中
心軸為中心頻率大小,此處為18KHz,當(dāng)手勢動作的速度越大時,中心頻率的偏移幅度越大,并且呈現(xiàn)著,手勢遠離麥克風(fēng)時,中心頻率向著減少的方向發(fā)生偏移,手勢靠近麥克風(fēng)時,中心頻率向著增大的方向發(fā)生偏移;
圖9為本發(fā)明基于聲音的手勢識別方法的
流程圖。
具體實施方式
[0047] 下面結(jié)合附圖和具體實施方式對本發(fā)明的技術(shù)方案作進一步詳細地說明。 [0048] 對圖1分析可獲得表1中的四種設(shè)計方案:
[0049] 表1
[0050]
實施例1 實施例2 實施例3 實施例4
音響數(shù)量 1個 多個 1個 多個
麥克風(fēng)數(shù)量 1個 1個 多個 多個
中心頻率數(shù)量 1個 多個 1個 多個
[0051] 實施例1
[0052] 參照圖9,一種基于聲音的手勢識別方法,包括以下步驟:
[0053] a)音響發(fā)出連續(xù)的中心頻率為18KHz音頻信號,麥克風(fēng)接收源于肢體運動而返回的音頻信號,其中采樣頻率44.1Khz,每一個采樣的大小為2B,音頻信號的通道數(shù)為1,采樣隊列大小為2048samples。
[0054] b)通過計算結(jié)果采樣周期T0約為46.44ms,通過計算得每個采樣的
覆蓋頻率Fb的邊界為0KHz到22.05KHz。經(jīng)過處理后,于是獲得了1024點的采樣隊列。
[0055] c)可得知fshift為0.2KHz,在此條件下的肢體運動速度小于3.728m/s。可以獲得頻譜分析窗口隊列w1(x)。
[0056] d)模擬定義邏輯的周期Tsimulate,其中要求,通過計算得出Tsimulate大于44.23ms。 [0057] e)在每一個模擬定義邏輯的周期Tsimulate中,通過計算得出頻譜分析窗口隊列w1中的左均值wleft和右均值wright。
[0058] f)通過計算得出閾值TDegree,其中1等于0.8。每個周期Tsimulate中,計算得到的左均值wleft和右均值,記錄事件消息到消息隊列Queueevent中。
[0059] g)定義一個消息的產(chǎn)生延遲時間Tdelay等于12Tsimulate。
[0060] h)等待Tdelay時間內(nèi),如果產(chǎn)生消息,則記錄消息到消息隊列Queueevent中,定時器歸位,重新等待Tdelay時間;如果沒有產(chǎn)生消息,則對消息隊列Queueevent進行一次消息處理分析,并清空隊列。
[0061] 實施例2
[0062] 硬件環(huán)境設(shè)計:如圖2所示,一個音響產(chǎn)生一個中心頻率為f0的音頻信號,由一個麥克風(fēng)接收返回的音頻信號。
[0063] 實施例3
[0064] 硬件環(huán)境設(shè)計:利用聲音多聲道的特點,多音響可以播放多聲道多個中心頻率的音頻,利用增加硬件音響的數(shù)量,為模擬的消息上加上中心頻率屬性,實現(xiàn)更加復(fù)雜的手勢識別。
[0065] 聲音鼠標設(shè)計方案:
[0066] 如圖3所示,普通USB鼠標的
基礎(chǔ)上,嵌入單音響產(chǎn)生音頻信號,嵌入雙麥克風(fēng)接收返回音頻信號,其中利用USB本身供電和USB傳輸協(xié)議實現(xiàn)音頻信號的產(chǎn)生與接收,為模擬的消息加上麥克風(fēng)ID屬性,實現(xiàn)對雙手的手勢識別。
[0067] 麥克風(fēng)陣列設(shè)備方案:
[0068] 如圖4所示,嵌入一個音響產(chǎn)生音頻信號,多麥克風(fēng)環(huán)形嵌在具有一定弧度的斜面上接收音頻信號,由于麥克風(fēng)接收音頻信號
角度的差異,會產(chǎn)生接收到的信號強度的區(qū)別。實現(xiàn)聚焦,為模擬的消息加上位置屬性,以實現(xiàn)更加復(fù)雜的手勢識別。 [0069] 實施例4
[0070] 硬件環(huán)境設(shè)計:多個音響產(chǎn)生多個中心頻率的音頻信號,多個麥克風(fēng)在不同的角度接收返回的音頻信號,由于角度與位置的差異,不同的麥克風(fēng)接收到的信號存在能量大小的差異,通過差異計算實現(xiàn)聚焦操作,從而為模擬的消息增添中心頻率屬性,麥克風(fēng)ID屬性,與位置屬性,以實現(xiàn)更加復(fù)雜的手勢識別。
[0071] 系統(tǒng)接收到外界聲音后,將所得到的時間域的數(shù)據(jù),利用窗函數(shù)處理以減少頻譜泄露的影響,并利用快速傅里葉變化轉(zhuǎn)制成頻率域信號,使用log壓縮后,便是圖5中所示的橫軸為頻率,縱軸為能量的頻譜圖,此圖為中心頻率18KHZ的頻譜圖。
[0072] 基于多普勒現(xiàn)象(Doppler effect or Doppler shift)可知,當(dāng)物體在聲音傳輸路徑中發(fā)生運動會導(dǎo)致傳播聲音頻率的變化,在這里的基于原理模型(見圖2)所知: [0073] 式(1-11)
[0074] 其中fTX是聲音傳輸頻率,此處為18KHz,fRX是接收頻率,c為聲速,v為手勢動作的速度。
[0075] 圖6反映了,當(dāng)手勢為遠離麥克風(fēng)動作時,頻譜發(fā)生變化的情況,可以發(fā)現(xiàn)接收頻率朝向低于中心頻率18KHz的方向發(fā)生了偏移。
[0076] 圖7反映了,當(dāng)手勢為靠近麥克風(fēng)動作時,頻譜發(fā)生變化的情況,可以發(fā)現(xiàn)接收頻率朝向高于中心頻率18KHz的方向發(fā)生了偏移。
[0077] 圖8為時間頻率圖,橫軸為時間軸,縱軸為頻率軸,中心軸為中心頻率大小,此處為18KHz,當(dāng)手勢動作的速度越大時,中心頻率的偏移幅度越大,并且呈現(xiàn)著,手勢遠離麥克風(fēng)時,中心頻率向著減少的方向發(fā)生偏移,手勢靠近麥克風(fēng)時,中心頻率向著增大的方向發(fā)生偏移。圖8中清晰的表現(xiàn)了,當(dāng)發(fā)生手勢動作時中心頻率朝向兩邊發(fā)生了偏移的狀況。 [0078] 以上所述,僅為本發(fā)明較佳的具體實施方式,本發(fā)明的保護范圍不限于此,任何熟悉
本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明披露的技術(shù)范圍內(nèi),可顯而易見地得到的技術(shù)方案的簡單變化或等效替換均落入本發(fā)明的保護范圍內(nèi)。