国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種非接觸式手勢(shì)識(shí)別裝置和識(shí)別方法與流程

      文檔序號(hào):12461570閱讀:440來源:國(guó)知局
      一種非接觸式手勢(shì)識(shí)別裝置和識(shí)別方法與流程

      本發(fā)明屬于手勢(shì)識(shí)別技術(shù)領(lǐng)域,特別涉及一種非接觸式的手勢(shì)識(shí)別裝置和識(shí)別方法。



      背景技術(shù):

      在計(jì)算機(jī)科學(xué)中,手勢(shì)識(shí)別是通過數(shù)學(xué)算法來識(shí)別人類手勢(shì)的一個(gè)技術(shù)。手勢(shì)識(shí)別可以來自人的身體各部位的運(yùn)動(dòng),但一般是指臉部和手的運(yùn)動(dòng)。通常用于智能手機(jī)及智能眼鏡、平板電腦中。

      目前非接觸手勢(shì)識(shí)別技術(shù)主要分為以下三類:

      1)基于模式匹配技術(shù)的二維靜態(tài)手型識(shí)別。這種方式主要是依靠模式識(shí)別技術(shù)來實(shí)現(xiàn)。

      2)基于微機(jī)視覺算法的二維手勢(shì)識(shí)別技術(shù)。這種方式主要是依靠微機(jī)的圖片處理技術(shù)。

      3)基于更強(qiáng)的計(jì)算機(jī)視覺算法的三維手勢(shì)識(shí)別技術(shù)。這種方式主要依靠圖片處理,計(jì)算機(jī)視覺算法,機(jī)器學(xué)習(xí)等技術(shù)。

      雖然上述方法在實(shí)際應(yīng)用中比較廣泛,但由于當(dāng)前基于圖片處理技術(shù)的硬件要求較高,傳感器昂貴等因素,其在很多低成本應(yīng)用場(chǎng)景中難以推廣。

      如專利申請(qǐng)201510796509.6公開了一種用于虛擬現(xiàn)實(shí)顯示輸出設(shè)備的手勢(shì)識(shí)別方法及虛擬現(xiàn)實(shí)顯示輸出設(shè)備,識(shí)別方法包括:從第一攝像頭獲取第一視頻,從第二攝像頭獲取第二視頻;從所述第一視頻中分離出關(guān)于第一視頻中手圖形的第一平面信息的第一平面手勢(shì),從所述第二視頻中分離出關(guān)于第二視頻中手圖形的第二平面信息的第二平面手勢(shì);采用雙目成像方式將所述第一平面信息和所述第二平面信息轉(zhuǎn)換為空間信息,生成包括所述空間信息的空間手勢(shì);獲取所述空間手勢(shì)對(duì)應(yīng)的執(zhí)行指令;執(zhí)行所述執(zhí)行指令。該申請(qǐng)能夠采用普通攝像頭完成三維手勢(shì)的識(shí)別。



      技術(shù)實(shí)現(xiàn)要素:

      基于此,因此本發(fā)明的首要目地是提供一種非接觸式手勢(shì)識(shí)別裝置和識(shí)別方法,該裝置及方法通過利用距離傳感去探求低成本的非接觸式手勢(shì)識(shí)別系統(tǒng)應(yīng)用,這樣一方面滿足了低成本、低功耗的要求;另一方面可以實(shí)現(xiàn)一些簡(jiǎn)單的非接觸式手勢(shì)交互,在通常的簡(jiǎn)易交互場(chǎng)景下完全可以滿足。

      本發(fā)明的另一個(gè)目地在于提供一種非接觸式手勢(shì)識(shí)別裝置和識(shí)別方法,該裝置及方法提高基于距離的非接觸式手勢(shì)手別的準(zhǔn)確性、穩(wěn)定性和實(shí)用性,且實(shí)現(xiàn)簡(jiǎn)便,成本低廉。

      為實(shí)現(xiàn)上述目的,本發(fā)明的技術(shù)方案為:

      一種非接觸式手勢(shì)識(shí)別裝置,其特征在于該裝置由傳感器單元、控制模塊和被控單元組成,其中,所述傳感器單元包含有復(fù)數(shù)個(gè)傳感器,所述傳感器為距離傳感器,且所述距離傳感器呈陣列式排列。

      進(jìn)一步,所述傳感器單元中復(fù)數(shù)排豎向排列的距離傳感器,所述每排豎向排列的距離傳感器之間的距離相等,相鄰兩排距離傳感器之間距離為D,據(jù)此進(jìn)行閥值的對(duì)比和判斷。

      所述控制模塊由微控制器和發(fā)送命令模塊組成,微處理器激勵(lì)距離傳感器獲取響應(yīng)以后,讀響應(yīng)進(jìn)行相關(guān)處理后得到手勢(shì)命令,最后通過發(fā)送命令模塊向外發(fā)送,由被控單元接收相應(yīng)信標(biāo),做相應(yīng)響應(yīng)。

      基于此,通過上述手勢(shì)識(shí)別裝置實(shí)現(xiàn)了本發(fā)明的非接觸式手勢(shì)識(shí)別方法。該方法包括:

      101、設(shè)定一個(gè)觸發(fā)閾值(閥值1),該閾值是與距離大小有關(guān)的一個(gè)物理量;設(shè)定一個(gè)二級(jí)閾值(閥值2),該閾值用于丟棄隨機(jī)干擾;

      102、微控制器對(duì)距離傳感器的數(shù)據(jù)信號(hào)進(jìn)行轉(zhuǎn)換,并獲取每個(gè)傳感器的距離數(shù)值;

      103、依次檢測(cè)并將所有距離傳感器距離信息,若獲得信息滿足觸發(fā)閾值要求條件,則認(rèn)為是正確觸發(fā)信號(hào),進(jìn)入數(shù)字信號(hào)處理流程;

      104、根據(jù)給定的觸發(fā)閾值,使用閾值判斷法初步篩選出有效數(shù)據(jù),分別存放,記憶上一次該有效數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)值,將兩次數(shù)據(jù)值相減然后與二級(jí)閾值進(jìn)行對(duì)比,如果大于二次閥值,則認(rèn)為本次數(shù)據(jù)無效,丟棄無效數(shù)據(jù),等待新的一筆數(shù)據(jù)到來,直至確認(rèn)滿足二級(jí)閥值的有效數(shù)據(jù);

      105、得到有效數(shù)據(jù)后,將其存入隊(duì)列長(zhǎng)度為N的緩存器,然后分別求出隊(duì)列數(shù)據(jù)的和,丟去一個(gè)或多個(gè)最大值和最小值求其平均再賦值給有效數(shù)據(jù)。這樣就實(shí)現(xiàn)了原始數(shù)據(jù)的加工,此步可進(jìn)一步屏蔽某些隨機(jī)數(shù)據(jù);

      106、由用戶設(shè)置一個(gè)距離閾值稱為TH1(閾值3),該閾值用于體現(xiàn)數(shù)據(jù)的位置特性;通過對(duì)閾值TH1的判斷,并定義狀態(tài)FLAG、GestureFlag、LeftCount、RightCount、GestureDetc,來對(duì)手的位置和方向進(jìn)行精確的定位,以判斷出左滑、右滑、左擊和右擊手勢(shì)。

      該方法分析基于距離感應(yīng)的手勢(shì)數(shù)據(jù)的距離、時(shí)間等物理特征,利用狀態(tài)機(jī)方式,根據(jù)數(shù)據(jù)的方向特性等多重交叉驗(yàn)證,提高基于距離的非接觸式手勢(shì)手別的準(zhǔn)確性、穩(wěn)定性和實(shí)用性。

      所述步驟105中,緩存器具有多個(gè),每次得到的有效數(shù)據(jù)按照其位置存入對(duì)應(yīng)的緩存器。

      進(jìn)一步,所述步驟106中,以兩個(gè)相鄰傳感器數(shù)據(jù)為X1和X2,且X1代表左邊傳感器數(shù)據(jù),X2代表右邊傳感器數(shù)據(jù);手勢(shì)的判斷步驟為:

      1061、獲取的新的數(shù)據(jù)組,分別存在X1和X2中;

      1062、分別將X1和X2與閾值TH1進(jìn)行比較,并將大于閾值TH1的X1或X2的值設(shè)置為新閾值TH1;

      具體地說,步驟1062中,比較X1和閾值TH1(閾值3)的大小,小于TH1則執(zhí)行下一步,大于等于則將X1的值設(shè)置為TH1;

      比較X2和閾值TH1的大小,小于閾值TH1則執(zhí)行下一步,大于等于則將X2的閾值設(shè)置為TH1;

      1063、重新將X1和X2與新閥值TH1進(jìn)行對(duì)比,并據(jù)此檢測(cè)FLAG標(biāo)志位,判斷手勢(shì);

      進(jìn)一步,該1063步驟中,判斷是否X1小于閾值TH1的同時(shí),X2也等于TH1;如果X1小于閾值TH1的同時(shí)X2等于TH1,那么再去檢測(cè)是否FLAG標(biāo)志位的值為RIGHT;如果FLAG的值為RIGHT,那么說明檢測(cè)到了左滑手勢(shì),重置GestureFlag的值為L(zhǎng)eftShift,并且設(shè)置GestureDetc為true,這說明正確檢測(cè)到手勢(shì)。并且在此處響應(yīng)手勢(shì)到來該做的動(dòng)作,如發(fā)送控制命令,結(jié)束本次數(shù)據(jù)流刷新。

      更進(jìn)一步,該1063步驟中,判斷是否X1小于TH1且X2等于TH1;如果X1小于TH1并且X2等于TH1,且FLAG的值為L(zhǎng)EFT,不是則設(shè)置FLAG為L(zhǎng)EFT,是則設(shè)置LeftCount自加一次,結(jié)束本次數(shù)據(jù)流刷新。

      更進(jìn)一步,該1063步驟中,重新判斷是否X2小于閾值TH1的同時(shí),X1也等于TH1;如果X2小于閾值TH1的同時(shí)X1等于TH1,則檢測(cè)是否滿足FLAG的值為L(zhǎng)EFT,如果為真,則說明檢測(cè)到右滑手勢(shì),執(zhí)行右滑相關(guān)命令,結(jié)束循環(huán)。如果FLAG的值為RIGHT則RightCount++,即對(duì)變量進(jìn)行自加一次,不為RIGHT則將FLAG值置為RIGHT,結(jié)束本次數(shù)據(jù)流刷新。

      進(jìn)一步,該1063步驟中,如果發(fā)現(xiàn)TH1大于X1并且TH1大于X2,如果為真則將LeftCount、RightCount的值清空,且把FLAG值設(shè)置為NONE,把GestureDetc值設(shè)置為FALSE;否則繼續(xù)流程,判斷GestureDetc是否為真,如果為true則將LeftCount、RightCount的值清空,且把FLAG值設(shè)置為NONE,把GestureDetc值設(shè)置為FALSE;否則繼續(xù)判斷是否滿足LeftCount大于TH2(閾值4,即第4個(gè)閾值),如果滿足,則說明檢測(cè)到左擊手勢(shì),響應(yīng)左擊手勢(shì)相關(guān)動(dòng)作,然后結(jié)束本次數(shù)據(jù)刷新。

      更進(jìn)一步,繼續(xù)判斷是否滿足RightCount大于TH2;如果為真則說明檢測(cè)到右擊手勢(shì),這里應(yīng)該執(zhí)行相關(guān)命令,然后結(jié)束本次刷新;將LeftCount、RightCount的值清空,且把FLAG值設(shè)置為NONE,把GestureDetc值設(shè)置為FALSE。

      所述閥值1、閥值2、閥值3、閥值4可依據(jù)用戶的實(shí)際需求自行設(shè)定。

      本發(fā)明利用距離傳感去探求低成本的非接觸式手勢(shì)識(shí)別系統(tǒng)應(yīng)用,這樣,一方面滿足了低成本、低功耗的要求;另一方面可以實(shí)現(xiàn)一些簡(jiǎn)單的非接觸式手勢(shì)交互,在通常的簡(jiǎn)易交互場(chǎng)景下完全可以滿足。

      本發(fā)明同時(shí)使用一種新的算法來實(shí)現(xiàn)左滑、右滑等手勢(shì)的定義與識(shí)別及應(yīng)用。

      附圖說明

      圖1是本發(fā)明所實(shí)施的結(jié)構(gòu)示意圖。

      圖2是本發(fā)明所實(shí)施傳感器單元的結(jié)構(gòu)示意圖。

      圖3是本發(fā)明所實(shí)施一種傳感器單元的具體構(gòu)造圖。

      圖4是本發(fā)明所實(shí)施手勢(shì)判斷的示意圖。

      圖5是本發(fā)明所實(shí)施的控制流程圖。

      具體實(shí)施方式

      為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。

      如圖1所示,為本發(fā)明所實(shí)現(xiàn)非接觸式手勢(shì)識(shí)別裝置的結(jié)構(gòu)圖,圖中所示,該非接觸式手勢(shì)識(shí)別裝置100由傳感器單元101、控制模塊102和控制模塊103組成。

      其中,結(jié)合圖2、圖3所示,傳感器單元陣列式排列,傳感器單元有101有傳感器陣列106以及傳感器組107組成。相鄰兩個(gè)傳感之間距離為D(cm)。

      控制模塊102由微控制器104和發(fā)送命令模塊105組成。微處理器激勵(lì)距離傳感器獲取響應(yīng)以后,讀響應(yīng)進(jìn)行相關(guān)處理后得到手勢(shì)命令,最后通過發(fā)送命令模塊105向外發(fā)送,由被控模塊接收相應(yīng)信標(biāo),做相應(yīng)響應(yīng)。

      為了便于表述,本文只分析其中兩個(gè)相鄰超聲波傳感器檢測(cè)得來數(shù)據(jù),三個(gè)及其以上可以此類推。那么對(duì)于這個(gè)擁有三個(gè)超聲波器件的陣列而言,我們首先需要固定器件,由于兩個(gè)超聲波傳感器靠的太近容易引起干擾并綜合考慮手勢(shì)動(dòng)作的空間軌跡因素等。作為參考,將相鄰兩個(gè)傳感器之間的距離設(shè)置為D cm。如圖2、圖3所示。結(jié)構(gòu)特性決定了采集到的距離數(shù)據(jù)的一些位置特性。

      如圖4示。當(dāng)手從其中兩個(gè)傳感器上方移動(dòng)時(shí),實(shí)際上,相對(duì)某個(gè)參考點(diǎn)而言。距離d1和d2是同時(shí)變化的。并且選定參考點(diǎn)后,兩點(diǎn)變化依賴關(guān)系可以相互推導(dǎo)。

      其數(shù)據(jù)分別用X1和X2來表示。當(dāng)X1>=TH0(閾值1)且X2>=TH0時(shí),才認(rèn)為是有效數(shù)據(jù)。這里初步篩選出有效數(shù)據(jù),分別存放在X1和X2中。記憶上一次X1和X2的值分別為X1’和X2’,如果X1-X1’>TH0’(閾值2)或者X2-X2’>TH0’,則認(rèn)為本次數(shù)據(jù)無效。丟棄無效數(shù)據(jù),等待新的一筆數(shù)據(jù)到來。

      得到X1和X2后,假定設(shè)置隊(duì)列長(zhǎng)度為N的緩存器Q1和Q2,每次得數(shù)據(jù)X1和X2,都將其分別入列。丟棄隊(duì)列中的一個(gè)或多個(gè)最大值和最小值,然后分別求出隊(duì)列數(shù)據(jù)的和,求其平均再賦值給X1和X2。這樣就實(shí)現(xiàn)了進(jìn)一步防隨機(jī)干擾濾波處理。

      如圖5示,通過以下步驟來實(shí)現(xiàn)手勢(shì)的識(shí)別。這是本方法的核心算法流程。以兩個(gè)相鄰傳感器數(shù)據(jù)為X1和X2,且X1代表左邊傳感器數(shù)據(jù),X2代表右邊傳感器數(shù)據(jù)。

      201、獲取的新的數(shù)據(jù)組,分別存在X1和X2中。

      202、比較X1和閾值TH1(閾值3)的大小,小于TH1則跳到步驟204。

      203、將X1的置設(shè)置為TH1。這相當(dāng)于重置了X1的值。

      204、比較X2和閾值TH1的大小,小于閾值TH1則跳到步驟206。

      205、將X2的閾值設(shè)置為TH1。這相當(dāng)于重置了X2的值。

      206、判斷是否X1小于閾值TH1的同時(shí),X2也等于TH1;如果X1小于閾值TH1的同時(shí)X2等于TH1,否則跳至步驟208,那么再去檢測(cè)是否FLAG標(biāo)志位的值為RIGHT。如果FLAG的值為RIGHT,那么說明檢測(cè)到了左滑手勢(shì),重置GestureFlag的值為L(zhǎng)eftShift。并且設(shè)置GestureDetc為true,這說明正確檢測(cè)到手勢(shì)。并且在此處響應(yīng)手勢(shì)到來該做的動(dòng)作,如發(fā)送控制命令,結(jié)束本次數(shù)據(jù)流刷新。

      207、判斷是否X1小于TH1且X2等于TH1。如果X1小于TH1并且X2等于TH1且FLAG的值為L(zhǎng)EFT,不是則設(shè)置FLAG為L(zhǎng)EFT,是則設(shè)置LeftCount自加一次,結(jié)束本次數(shù)據(jù)流刷新。否則跳至步驟208。

      208、重新判斷是否X2小于閾值TH1的同時(shí),X1也等于TH1;如果X2小于閾值TH1的同時(shí)X1等于TH1,否則跳至步驟213。是則檢測(cè)是否滿足FLAG的值為RIGHT,如果為真,說明檢測(cè)到了右滑手勢(shì),執(zhí)行相應(yīng)右滑命令,結(jié)束本次循環(huán)。,如果FLAG的值為RIGHT,則RightCount++,即對(duì)變量進(jìn)行自加一次。否則將FLAG值置為RIGHT。結(jié)束本次數(shù)據(jù)流刷新。

      209、這說明檢測(cè)到右滑手勢(shì),此時(shí)需置GestureFlag的值為RightShift,并且將GestureDetc標(biāo)志設(shè)置為True然后將FLAG的值設(shè)置為NONE。此時(shí)應(yīng)當(dāng)將右滑手勢(shì)處理命令或代碼放在此處以方便實(shí)時(shí)響應(yīng)動(dòng)作。然后結(jié)束本次數(shù)據(jù)刷新。

      210、繼續(xù)判斷,如果發(fā)現(xiàn)TH1大于X1并且TH1大于X2。如果為真則轉(zhuǎn)至步驟213。否則繼續(xù)流程。

      211、此時(shí)需判斷GestureDetc是否為真,如果為true則轉(zhuǎn)至步驟13。否則繼續(xù)判斷是否滿足LeftCount大于TH2(閾值4)。如果滿足,則說明檢測(cè)到左擊手勢(shì),這里需要響應(yīng)左擊手勢(shì)相關(guān)動(dòng)作。然后結(jié)束本次數(shù)據(jù)刷新。否則繼續(xù)流程。

      212、繼續(xù)判斷是否滿足RightCount大于TH2。如果為真則說明檢測(cè)到右擊手勢(shì),這里應(yīng)該執(zhí)行相關(guān)命令。然后結(jié)束本次刷新。轉(zhuǎn)至步驟213。

      213、將LeftCount、RightCount的值清空,且把FLAG值設(shè)置為NONE,把GestureDetc值設(shè)置為FALSE。

      為了提高手勢(shì)識(shí)別的準(zhǔn)確性以及更多手勢(shì)。本算法還適用于多個(gè)距離傳感器陣列的情況。對(duì)于多個(gè)傳感器陣列,只需將其兩兩處理即可。

      本發(fā)明利用距離傳感去探求低成本的非接觸式手勢(shì)識(shí)別系統(tǒng)應(yīng)用,這樣,一方面滿足了低成本、低功耗的要求;另一方面可以實(shí)現(xiàn)一些簡(jiǎn)單的非接觸式手勢(shì)交互,在通常的簡(jiǎn)易交互場(chǎng)景下完全可以滿足。

      以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。

      當(dāng)前第1頁1 2 3 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1