本發(fā)明屬于人機(jī)交互技術(shù)領(lǐng)域,涉及一種基于時(shí)頻分析的手勢(shì)識(shí)別方法及其裝置。
背景技術(shù):
隨著物聯(lián)網(wǎng)時(shí)代的不斷發(fā)展,智能交互電子產(chǎn)品擁有廣闊的市場(chǎng),交互方式也逐漸往非接觸式人機(jī)交互方向發(fā)展,但是單一的攝像頭視覺交互識(shí)別效率低、成本高且抗干擾性不強(qiáng),于是現(xiàn)在出現(xiàn)了新的聲波交互識(shí)別,在很大程度上彌補(bǔ)了現(xiàn)有產(chǎn)品的不足。
當(dāng)聲波的發(fā)射波源與接收之間存在相對(duì)運(yùn)動(dòng)時(shí),聲波的波長(zhǎng)將產(chǎn)生變化。當(dāng)運(yùn)動(dòng)為相互靠近時(shí)聲波被壓縮,波長(zhǎng)變短;反之運(yùn)動(dòng)為相互遠(yuǎn)離時(shí)波長(zhǎng)將變長(zhǎng),頻率將變低。且聲波的變化幅度與相對(duì)運(yùn)動(dòng)速度大小成正比。這種現(xiàn)象稱為多普勒效應(yīng),聲波接收與發(fā)射頻率之差稱為多普勒頻移。這種多普勒效在無(wú)損檢測(cè)、醫(yī)學(xué)診斷、海洋開發(fā)、軍事探測(cè)等方面都有重要應(yīng)用,并體現(xiàn)出高準(zhǔn)確度與低硬件復(fù)雜度、高獨(dú)立性等優(yōu)勢(shì)。
因此,可將頻域多普勒效應(yīng)應(yīng)用于人機(jī)交互領(lǐng)域,來(lái)改進(jìn)和發(fā)展現(xiàn)有技術(shù)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明目的在于充分利用頻域的多普勒效應(yīng)來(lái)克服現(xiàn)有技術(shù)缺陷,提供一種基于時(shí)頻分析的手勢(shì)識(shí)別方法及其裝置。
本發(fā)明的原理是:首先在聲波發(fā)射器上疊加中心頻率為21khz的2khz帶通信號(hào),通過(guò)麥克風(fēng)獲取反射聲波,根據(jù)聲波頻域的變化來(lái)判斷出不同的手勢(shì)動(dòng)作。
本發(fā)明采用的技術(shù)方案如下:提供一種基于時(shí)頻分析的手勢(shì)識(shí)別方法。
第一步:采用高頻聲波發(fā)射器將疊加有人耳聽覺范圍外的聲波信號(hào)進(jìn)行功率放大,并發(fā)射出來(lái);該聲波信號(hào)必須包含21khz以上的單頻信號(hào),且以此單頻信號(hào)為中心的2khz帶寬內(nèi)不存在其他信號(hào);第二步:采用高頻聲波接收器接收包含手勢(shì)信息的反射聲波信號(hào);第三步:采用模擬信號(hào)處理電路將高頻聲波接收器接收到的反射聲波信號(hào)先進(jìn)行高通濾波處理,再進(jìn)行兩級(jí)放大,最后傳送至微處理器信號(hào)處理單元;第四步:采用微處理器信號(hào)處理單元內(nèi)部的數(shù)模轉(zhuǎn)換器產(chǎn)生并發(fā)射所需的高頻信號(hào);同時(shí)用微處理器信號(hào)處理單元內(nèi)部的模數(shù)轉(zhuǎn)換器先以遠(yuǎn)高于高頻聲波頻率的150khz采樣速率采集模擬信號(hào)處理電路輸出的聲波信號(hào)并進(jìn)行處理;第五步,采用微處理器信號(hào)處理單元內(nèi)部的處理程序先對(duì)模數(shù)轉(zhuǎn)換器采集到的數(shù)據(jù)做64階fir帶通濾波處理,再做16倍的降采樣用以減少數(shù)據(jù)樣點(diǎn)及實(shí)現(xiàn)實(shí)時(shí)處理,然后對(duì)降采樣得到的數(shù)據(jù)進(jìn)行快速傅里葉變換得到該聲波信號(hào)的頻譜分布信息,再經(jīng)過(guò)頻域預(yù)處理模塊對(duì)頻譜分布信息進(jìn)行歸一化及閾值噪聲濾除處理,得到一幀高頻聲波信號(hào)的處理結(jié)果,通過(guò)實(shí)時(shí)處理得到連續(xù)的多幀處理結(jié)果,將這多幀處理結(jié)果傳送至手勢(shì)信息的分析模塊;第六步,采用微處理器信號(hào)處理單元內(nèi)部的分析程序?qū)β暡ㄐ盘?hào)的多幀處理結(jié)果通過(guò)方差與過(guò)零點(diǎn)數(shù)量的閾值檢測(cè)判斷手勢(shì)動(dòng)作的始末端點(diǎn),然后比較包含手勢(shì)信息的中間幀以載波為中心的左右頻譜分布得到每一幀的特征向量,最后通過(guò)模板的規(guī)則匹配確定對(duì)應(yīng)手勢(shì)。
優(yōu)選的,所述第三步中的模擬信號(hào)處理電路高通濾波的截止頻率為20khz,即為以21khz單頻信號(hào)為中心的2khz帶寬的最小值,用以濾除非手勢(shì)信息。
優(yōu)選的,所述第四步中的微處理器信號(hào)處理單元中帶通采樣模塊采用64階fir帶通濾波算法,濾出以21khz為中心的2khz帶通信號(hào);然后根據(jù)帶通采樣定理,對(duì)采集到的數(shù)據(jù)進(jìn)行16倍的降采樣,將此帶通信號(hào)進(jìn)行頻譜搬移至低頻,降低數(shù)據(jù)處理量以實(shí)現(xiàn)實(shí)時(shí)處理;微處理器信號(hào)處理單元的時(shí)頻轉(zhuǎn)換模塊對(duì)信號(hào)進(jìn)行快速傅里葉變換得到時(shí)間與頻譜的相對(duì)關(guān)系;微處理器信號(hào)處理單元的頻域預(yù)處理模塊對(duì)取出其中包含手勢(shì)信息的2khz帶通信號(hào)的頻譜數(shù)據(jù)進(jìn)行歸一化處理,再減去預(yù)設(shè)噪聲數(shù)組,最后將數(shù)據(jù)存儲(chǔ)到程序數(shù)組里等待手勢(shì)信息識(shí)別模塊處理。
優(yōu)選的,所述檢測(cè)手勢(shì)信息分類處理包含:首先,閾值檢測(cè),通過(guò)比較處理完數(shù)據(jù)的方差及過(guò)零點(diǎn)數(shù)量,得到手勢(shì)軌跡序列的起始時(shí)間點(diǎn)與終結(jié)點(diǎn);然后通過(guò)比較頻譜中心頻率左右部分的方差與過(guò)零點(diǎn),提取特征值,進(jìn)而分類匹配識(shí)別出手勢(shì),其中包含推、拉、單擊、雙擊、交叉切換的基本手勢(shì);最后根據(jù)頻譜變化峰值的位置可得到手勢(shì)運(yùn)動(dòng)的相對(duì)速度,將手勢(shì)動(dòng)作包含快、中、慢三等,最終得到15種組合動(dòng)作。
本發(fā)明另外提供一種基于時(shí)頻分析的手勢(shì)識(shí)別裝置,包括以下設(shè)備:
高頻聲波發(fā)射器,用于將疊加有人耳聽覺范圍外的聲波信號(hào)先進(jìn)行功率放大后發(fā)射出來(lái);該聲波信號(hào)必須包含21khz以上的單頻信號(hào),且以此單頻信號(hào)為中心的2khz帶寬內(nèi)不存在其他信號(hào);高頻聲波接收器,用于接收包含手勢(shì)信息的反射聲波信號(hào);模擬信號(hào)處理電路,用于將高頻聲波接收器接收到的反射聲波信號(hào)先進(jìn)行高通濾波處理,再進(jìn)行兩級(jí)射極放大,最后輸送給微處理器信號(hào)處理單元;微處理器信號(hào)處理單元,用于通過(guò)程序算法得到該信號(hào)的時(shí)間、頻譜分布信息,再根據(jù)該時(shí)間頻譜分布來(lái)確定對(duì)應(yīng)的手勢(shì);所述微處理器信號(hào)處理單內(nèi)置用于產(chǎn)生發(fā)射所需的高頻信號(hào)的數(shù)模轉(zhuǎn)換器以及用于接收模擬信號(hào)處理電路輸出信號(hào)并進(jìn)行處理的模數(shù)轉(zhuǎn)換器;微處理器信號(hào)處理單元內(nèi)部的處理程序先對(duì)模數(shù)轉(zhuǎn)換器采集到的數(shù)據(jù)做64階fir帶通濾波處理,再做16倍的降采樣用以減少數(shù)據(jù)樣點(diǎn)及實(shí)現(xiàn)實(shí)時(shí)處理,然后對(duì)降采樣得到的數(shù)據(jù)進(jìn)行快速傅里葉變換得到該聲波信號(hào)的頻譜分布信息,再經(jīng)過(guò)頻域預(yù)處理模塊對(duì)頻譜分布信息進(jìn)行歸一化及閾值噪聲濾除處理,得到一幀高頻聲波信號(hào)的處理結(jié)果,通過(guò)實(shí)時(shí)處理得到連續(xù)的多幀處理結(jié)果,將這多幀處理結(jié)果傳送至手勢(shì)信息的分析模塊;微處理器信號(hào)處理單元內(nèi)部的分析程序?qū)β暡ㄐ盘?hào)的多幀處理結(jié)果通過(guò)方差與過(guò)零點(diǎn)數(shù)量的閾值檢測(cè)判斷手勢(shì)動(dòng)作的始末端點(diǎn),然后比較包含手勢(shì)信息的中間幀以載波為中心的左右頻譜分布得到每一幀的特征向量,最后通過(guò)模板的規(guī)則匹配確定對(duì)應(yīng)手勢(shì)。
優(yōu)選的,所述模擬信號(hào)處理電路高通濾波的截止頻率為20khz,即為以21khz單頻信號(hào)為中心的2khz帶寬的最小值,用以濾除非手勢(shì)信息。
優(yōu)選的,所述微處理器信號(hào)處理單元進(jìn)一步包括:帶通采樣模塊,用于采用64階fir帶通濾波算法,取出以21khz為中心的2khz帶通信號(hào),根據(jù)帶通采樣定理,將此帶通信號(hào)進(jìn)行頻譜搬移,降低數(shù)據(jù)處理量;時(shí)頻轉(zhuǎn)換模塊,用于對(duì)信號(hào)進(jìn)行快速傅里葉變換得到時(shí)間與頻譜的相對(duì)關(guān)系;頻域預(yù)處理模塊,用于對(duì)取出其中有用的2khz帶通信號(hào)頻譜數(shù)據(jù)進(jìn)行歸一化,再減去預(yù)設(shè)噪聲數(shù)組,最后將數(shù)據(jù)存儲(chǔ)到程序數(shù)組里等待手勢(shì)信息識(shí)別模塊處理。
優(yōu)選的,所述手勢(shì)信息識(shí)別模塊的處理過(guò)程如下:首先,閾值檢測(cè),通過(guò)比較處理完數(shù)據(jù)的方差及過(guò)零點(diǎn)數(shù)量,得到手勢(shì)軌跡序列的起始時(shí)間點(diǎn)與終結(jié)點(diǎn);然后通過(guò)比較頻譜中心頻率左右部分的方差與過(guò)零點(diǎn),提取特征值,進(jìn)而分類匹配識(shí)別出手勢(shì),其中包含推、拉、單擊、雙擊、交叉切換的基本手勢(shì);最后根據(jù)頻譜變化峰值的位置可得到手勢(shì)運(yùn)動(dòng)的相近速度,將手勢(shì)動(dòng)作包含快、中、慢三等,最終得到15種組合動(dòng)作。
本發(fā)明具有的有益效果是:
(1)首次提出利用時(shí)頻分析來(lái)識(shí)別手勢(shì)。
(2)具有實(shí)現(xiàn)方法簡(jiǎn)單有效,具備低硬件復(fù)雜度與高探測(cè)靈敏度優(yōu)勢(shì)。
(3)可以準(zhǔn)確識(shí)別基本的手勢(shì)動(dòng)作。
(4)本發(fā)明可以使聲波手勢(shì)識(shí)別技術(shù)脫離手機(jī)、平板、電腦等終端,直接應(yīng)用于智能家居,將會(huì)有廣泛的應(yīng)用;當(dāng)然,本發(fā)明也可以充分結(jié)合手機(jī)、平板、電腦等終端賦予其非接觸式的手勢(shì)交互功能。
附圖說(shuō)明
圖1是本發(fā)明基于時(shí)頻分析的手勢(shì)識(shí)別方法流程圖。
圖2是本發(fā)明基于時(shí)頻分析的手勢(shì)識(shí)別裝置硬件框圖。
圖3是本發(fā)明基于時(shí)頻分析的手勢(shì)識(shí)別方法框圖。
圖4是本發(fā)明使用帶通采樣的matlab仿真效果示意圖,分為a、b、c三部分,用以對(duì)比不同處理效果。
圖5是每幀手勢(shì)遠(yuǎn)離運(yùn)動(dòng)所得頻譜圖,遠(yuǎn)離時(shí)聲波頻率降低。
圖6是每幀手勢(shì)靠近運(yùn)動(dòng)所得頻譜圖,靠近時(shí)聲波頻率增高。
圖7是時(shí)間頻譜圖,圖中只表示頻譜的相對(duì)關(guān)系,橫軸為時(shí)間,縱軸為頻率,顏色代表頻率幅值;微處理器根據(jù)圖中關(guān)系將信息分類識(shí)別出手勢(shì)。
具體實(shí)施方式
本發(fā)明提供了一種基于頻域多普勒的手勢(shì)識(shí)別方法及其裝置,下面結(jié)合附圖和具體實(shí)施方式對(duì)本發(fā)明的技術(shù)方案進(jìn)一步明確說(shuō)明。需要注意的是以下說(shuō)明的具體實(shí)施僅僅用以解釋本發(fā)明,而并不是用于限定本發(fā)明。
圖1及圖2是本發(fā)明所述頻域多普勒手勢(shì)識(shí)別方法與裝置的硬件框圖及流程圖,如圖1和圖2所示,其中包括:
高頻聲波發(fā)射器,本實(shí)施例采用普通音頻驅(qū)動(dòng)模塊,用以將多媒體輸入微弱音頻信號(hào)進(jìn)行功率放大后驅(qū)動(dòng)揚(yáng)聲器播放音頻,此處音頻信號(hào)一般在20hz到20khz之間。
數(shù)模轉(zhuǎn)換器,本實(shí)施例采用微處理器信號(hào)處理單元內(nèi)部數(shù)模轉(zhuǎn)換器輸出21khz階梯型信號(hào),然后通過(guò)二階rc低通濾波電路變成標(biāo)準(zhǔn)正弦波。
模擬信號(hào)處理電路,本實(shí)施例采用模擬信號(hào)加法器,將普通音頻信號(hào)與21khz單頻信號(hào)疊加后輸出。
揚(yáng)聲器作為聲波發(fā)射源,用以發(fā)出正常音頻信號(hào),此信號(hào)一般低于20khz;同時(shí),在這音頻信號(hào)上疊加有21khz信號(hào)作為基準(zhǔn)高頻聲波信號(hào),用以產(chǎn)生頻域多普勒效應(yīng),將手勢(shì)運(yùn)動(dòng)信息調(diào)制到發(fā)射聲波的頻率中。
高頻聲波接收器,本實(shí)施例采用麥克風(fēng)信號(hào)處理單元,用以接收發(fā)射回來(lái)的聲波信號(hào),并對(duì)信號(hào)先進(jìn)行高通濾波處理,再通過(guò)兩級(jí)射極放大電路將信號(hào)放大,輸送至微處理器內(nèi)部的模數(shù)轉(zhuǎn)換器。
微處理器信號(hào)處理單元,本實(shí)施例通過(guò)微處理器的內(nèi)部模數(shù)轉(zhuǎn)換器得到包含手勢(shì)信息的數(shù)據(jù),然后通過(guò)程序算法對(duì)數(shù)據(jù)進(jìn)行處理后分類識(shí)別出手勢(shì)。
圖3是本發(fā)明所述時(shí)頻分析手勢(shì)識(shí)別方法與裝置的軟件算法框圖,如圖3所示,其中包括:
模數(shù)轉(zhuǎn)換模塊,由于手勢(shì)信息隱含于21khz左右的音頻信號(hào)中,根據(jù)奈奎斯特–香農(nóng)采樣定理知采樣頻率應(yīng)高于原信號(hào)的兩倍,但為使信號(hào)失真度盡可能降低,保證手勢(shì)信息的完整性,本實(shí)施例采用遠(yuǎn)高于原信號(hào)兩倍頻率的150khz采樣頻率;采樣隊(duì)列大小為1024個(gè)采樣點(diǎn);為保證信號(hào)采樣的連續(xù)性,完成數(shù)據(jù)的無(wú)縫緩沖與處理,采用乒乓采樣的流水式算法,即利用兩塊內(nèi)存單元分時(shí)存儲(chǔ)adc采集到的數(shù)據(jù),第一塊內(nèi)存單元在數(shù)據(jù)處理的同時(shí)第二塊內(nèi)存單元?jiǎng)t在采集數(shù)據(jù),采集數(shù)據(jù)完成后則調(diào)換功能,即第一塊內(nèi)存單元在采集數(shù)據(jù)而第二塊內(nèi)存單元在對(duì)數(shù)據(jù)進(jìn)行處理。
帶通采樣模塊,如圖4所示,由于在150khz采樣頻率下對(duì)數(shù)據(jù)進(jìn)行1024點(diǎn)的快速傅里葉變換得出頻譜分辨率由公式:
samplefre/n=150khz/1024=146.48hz
但是空氣中對(duì)于聲波頻率為21khz、手勢(shì)運(yùn)動(dòng)速度為1m/s,由多普勒效應(yīng)可知多普勒頻移為
從數(shù)據(jù)的對(duì)比及圖4中a部分可得知,若是在150khz采樣頻率對(duì)數(shù)據(jù)做1024點(diǎn)快速傅里葉變換,手勢(shì)運(yùn)動(dòng)信息將很難再在數(shù)據(jù)中體現(xiàn)出來(lái),使得手勢(shì)很難被識(shí)別出來(lái);為了解決頻率分辨率低的缺點(diǎn),可采用將信號(hào)下變頻至中頻,但是這種方法使數(shù)據(jù)運(yùn)算量增大,無(wú)法保證信號(hào)處理實(shí)時(shí)性,因此本發(fā)明獨(dú)創(chuàng)性地采用帶通采樣方法;考慮到帶通采樣將使信號(hào)頻譜進(jìn)行搬移導(dǎo)致頻譜混疊,從而使背景噪聲增加,如圖4中b部分所示,減少信噪比為dsnr=10log10(m+1)db,因此本發(fā)明先對(duì)原信號(hào)進(jìn)行64階fir帶通濾波,如圖4中c部分所示,背景噪聲將被大幅度降低,然后再進(jìn)行帶通采樣,將原始150khz采樣頻率下變至9.375khz,使頻譜被整體搬移,原始21khz中心頻率因此被搬移至2.25khz。
時(shí)頻轉(zhuǎn)換模塊,本實(shí)施例采用將帶通采樣得到的數(shù)據(jù)進(jìn)行1024點(diǎn)快速傅里葉變換,此時(shí)頻率分辨率為9.16hz。
頻域預(yù)處理模塊,因?yàn)殡x散傅里葉變換將產(chǎn)生頻譜泄露,且環(huán)境中存在不確定的聲波信號(hào),容易引起噪聲干擾,降低識(shí)別效果,因此為提高識(shí)別準(zhǔn)確率,本實(shí)施例將快速傅里葉變換得到的數(shù)據(jù)進(jìn)行歸一化后減去預(yù)設(shè)噪聲閾數(shù)組,得到純凈的頻譜;本實(shí)施例中預(yù)設(shè)噪聲閾值數(shù)組,是取連續(xù)十幀無(wú)手勢(shì)信息聲波信號(hào)做與本系統(tǒng)相同處理后的頻譜信息最大值。
手勢(shì)信息識(shí)別模塊,首先是閾值檢測(cè),通過(guò)比較每一幀頻譜數(shù)據(jù)的方差及過(guò)零點(diǎn)數(shù)量,前一幀數(shù)據(jù)方差與過(guò)零點(diǎn)數(shù)量皆小于閾值而這一幀數(shù)據(jù)方差與過(guò)零點(diǎn)數(shù)量皆大于閾值時(shí)認(rèn)定當(dāng)前幀為手勢(shì)動(dòng)作的起始點(diǎn),前一幀數(shù)據(jù)方差與過(guò)零點(diǎn)數(shù)量皆大于閾值而這一幀數(shù)據(jù)方差與過(guò)零點(diǎn)數(shù)量皆小于閾值時(shí)認(rèn)定當(dāng)前幀為手勢(shì)動(dòng)作的終結(jié)點(diǎn),如此即可得到手勢(shì)軌跡序列的起始點(diǎn)與終結(jié)點(diǎn);然后比較每一幀載波中心頻率左右相同距離部分的方差與過(guò)零點(diǎn),提取特征值,如圖5與圖6所示,手勢(shì)變化使每幀數(shù)據(jù)都產(chǎn)生明顯變化,本實(shí)施例比較載波中心頻率的左右各25個(gè)頻點(diǎn),當(dāng)頻譜中心頻率左部分過(guò)零點(diǎn)數(shù)量大于2且左部分方差大于右部分方差的5倍時(shí)置該幀特征值為1,當(dāng)頻譜中心頻率右部分過(guò)零點(diǎn)數(shù)量大于2且右部分方差大于左部分方差的5倍時(shí)置該幀特征值為2,當(dāng)頻譜中心頻率左部分與右部分過(guò)零點(diǎn)數(shù)量都大于2且兩部分方差之商大于0.2且小于5時(shí)置該幀特征值為3,其它情況置該幀特征值為0;對(duì)包含手勢(shì)信息的每幀聲波信號(hào)都做處理即可提取整個(gè)動(dòng)作的特征值序列;進(jìn)而通過(guò)規(guī)則匹配識(shí)別出手勢(shì),如圖7所示,其中包含推、拉、單擊、雙擊、交叉切換的基本手勢(shì),考慮到系統(tǒng)的魯棒性問題,當(dāng)特征值序列中1的數(shù)量大于序列長(zhǎng)度的90%時(shí)判別該手勢(shì)為拉,當(dāng)特征值序列中2的數(shù)量大于序列長(zhǎng)度的90%時(shí)判別該手勢(shì)為推,當(dāng)特征值序列中2的數(shù)量大于序列長(zhǎng)度的90%時(shí)判別該手勢(shì)為推,當(dāng)特征值序列中3的數(shù)量大于序列長(zhǎng)度的75%時(shí)判別該手勢(shì)為交叉切換,當(dāng)特征值序列中1和2的數(shù)量均大于序列長(zhǎng)度的30%且基本樣式為22221111時(shí)判別該手勢(shì)為單擊,當(dāng)特征值序列中1和2的數(shù)量均大于序列長(zhǎng)度的30%且基本樣式為22112211時(shí)判別該手勢(shì)為雙擊;最后計(jì)算每一幀載波中心頻率左右部分的峰值位置形成峰值序列,可得到手勢(shì)運(yùn)動(dòng)的相對(duì)速度,將手勢(shì)動(dòng)作包含快、中、慢三等,當(dāng)峰值序列的平均值大于18時(shí)判別該動(dòng)作為快速操作,當(dāng)峰值序列的平均值小于18且大于10時(shí)判別該動(dòng)作為中速操作,峰值序列的平均值小于10時(shí)判別該動(dòng)作為慢速操作,最終得到15種組合動(dòng)作。
應(yīng)當(dāng)清楚的是,本發(fā)明的保護(hù)范圍不限于上述實(shí)施方式。任何熟悉本領(lǐng)域的技術(shù)人員,對(duì)本發(fā)明的簡(jiǎn)單變化或等效替換均落入本發(fā)明的保護(hù)范圍內(nèi);但在不脫離本發(fā)明的精神和范圍內(nèi),當(dāng)可做些許更動(dòng)與潤(rùn)飾,因此本發(fā)明的保護(hù)范圍應(yīng)當(dāng)以權(quán)利要求書所界定的保護(hù)范圍為準(zhǔn)。