斯琴其木格 田英愛 高丹陽(yáng) 朱慧敏



摘要:人機(jī)交互技術(shù)日益發(fā)展,發(fā)展過程中,鍵盤和鼠標(biāo)成為人機(jī)交互的主要媒介,但相較于機(jī)械裝置,人體姿勢(shì)是更為自然的一種人機(jī)交互方式。手勢(shì)是一種最為自然且直觀的非語言交流方式。在目前的手勢(shì)識(shí)別領(lǐng)域中,大多使用單一的傳感器,識(shí)別手勢(shì)動(dòng)作單一,動(dòng)作數(shù)量有限,本文提出了一種基于Arduino平臺(tái)的多重傳感手勢(shì)識(shí)別器,主要將兩種不同原理的手勢(shì)識(shí)別傳感器進(jìn)行基于組合數(shù)公式算法的交叉復(fù)合連接,并對(duì)一般機(jī)械車進(jìn)行交叉控制。該識(shí)別器提高了智能識(shí)別本身的傳感可辨范圍以及識(shí)別效率,并解決了單一手勢(shì)識(shí)別傳感器的安全性和精準(zhǔn)性問題。
關(guān)鍵詞:人機(jī)交互;3D手勢(shì)識(shí)別;RGB紅外手勢(shì)識(shí)別;多重傳感手勢(shì)識(shí)別器
中圖分類號(hào):TP391.41 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2019)11-0134-04
0 引言
目前手勢(shì)識(shí)別技術(shù)正值大紅大火時(shí)期。最初的手勢(shì)識(shí)別主要是利用機(jī)器設(shè)備,通過直接檢測(cè)瘦胳膊各關(guān)節(jié)的角度和空間位置,滿足了人們對(duì)方便的需求。目前在許多領(lǐng)域都應(yīng)用的手勢(shì)識(shí)別技術(shù),例如:虛擬現(xiàn)實(shí)(VR),仿生機(jī)械臂和智能駕駛等。本文實(shí)現(xiàn)的多重手勢(shì)識(shí)別傳感器控制的機(jī)械車,可以幫助特殊人群;可以替代人工繁重勞動(dòng);可以代替人參與一些特殊環(huán)境的操作控制:比如受限空間操作、惡略環(huán)境操作、甚至是空間操作、深海操作等等,可以廣泛應(yīng)用于日常生活當(dāng)中。
人機(jī)交互的傳統(tǒng)定義是,人輸入信息給設(shè)備,設(shè)備給出反饋的形式。傳統(tǒng)的人機(jī)交互形式由按鍵或者觸摸屏來控制,信息入口固定,操作性也是比較單一,單一的操作性并不能保證識(shí)別的精確性。相較之,攝像頭的圖像識(shí)別能最大程度的保證識(shí)別的精確性,但是問題在于攝像頭捕捉到的圖像來源于現(xiàn)實(shí)中的人本身,不能保證識(shí)別后的安全性,可能會(huì)帶來身體信息泄露的情況,包括面部、指紋等。
為了解決上述的準(zhǔn)確度和安全性的問題,需要一種既可以保證精確性又可以提供高安全性的方式來進(jìn)行人機(jī)交互。本文提出的多重傳感器,相較于單一傳感器可以提供更復(fù)雜的識(shí)別系統(tǒng),同時(shí)可以通過大量的測(cè)試來保證精確性,最后也不存在信息泄露的問題。本方案實(shí)現(xiàn)更加復(fù)雜的識(shí)別系統(tǒng)應(yīng)用的是組合數(shù)公式算法,該算法是統(tǒng)計(jì)學(xué)的一類組合計(jì)算方法,它主要應(yīng)用于計(jì)算n個(gè)不同元素中,任取m(m 1 多重傳感手勢(shì)識(shí)別器構(gòu)建 本文提出的多重傳感手勢(shì)識(shí)別器需要有手勢(shì)獲取功能,判別功能,多重復(fù)合連接與控制及交叉控制功能,主要構(gòu)成有一下三個(gè)模塊,設(shè)計(jì)流程模塊如圖1所示。 首先,第一模塊是對(duì)于同一Arduino板將兩個(gè)不同原理的手勢(shì)識(shí)別傳感器進(jìn)行有效的復(fù)合連接[1]。以由簡(jiǎn)單到復(fù)雜的方式,在該模塊將先測(cè)試RGB紅外手勢(shì)識(shí)別傳感器3D手和勢(shì)識(shí)別傳感器的使用有效性,同時(shí)將同步測(cè)試單一的傳感器識(shí)別的準(zhǔn)確率。最后將兩個(gè)傳感器同時(shí)連接在一塊Arduino板上進(jìn)行復(fù)合使用測(cè)試,成功即完成復(fù)合連接多重傳感手勢(shì)識(shí)別器。[5] 第二模塊實(shí)現(xiàn)的是多重傳感手勢(shì)識(shí)別器與一般機(jī)械車的連接使用。該模塊將分為兩個(gè)步驟。首先,為不損壞硬件本身及機(jī)械車內(nèi)部,將首先利用LED燈進(jìn)行識(shí)別器對(duì)外連接的使用測(cè)試。其次,在成功的基礎(chǔ)上,將進(jìn)一步連接機(jī)械車,實(shí)現(xiàn)可連接使用的測(cè)試。 第三模塊的目的是實(shí)現(xiàn)多重傳感手勢(shì)識(shí)別器對(duì)一般機(jī)械車的交叉控制。本模塊主要分為三個(gè)部分。第一部分是對(duì)于控制機(jī)械車的多種手勢(shì)的設(shè)計(jì),在該部分將設(shè)計(jì)多種基礎(chǔ)且可用性強(qiáng)的手勢(shì),便于生活應(yīng)用。第二部分會(huì)針對(duì)設(shè)計(jì)出的手勢(shì),在代碼設(shè)計(jì)中實(shí)現(xiàn)識(shí)別器對(duì)機(jī)械車的交叉控制。第三部分會(huì)在手勢(shì)設(shè)計(jì)完成且識(shí)別器與機(jī)械車連接交叉控制使用無礙的基礎(chǔ)上完成識(shí)別精確度的測(cè)試。 2 手勢(shì)識(shí)別傳感器復(fù)合連接設(shè)計(jì) 旨在提高手勢(shì)識(shí)別的準(zhǔn)確性要求,基于已存在的單一手勢(shì)識(shí)別器,本文提出使用兩個(gè)不同原理的傳感器,分別基于RGB紅外實(shí)現(xiàn)手勢(shì)識(shí)別和電近場(chǎng)實(shí)現(xiàn)3D手勢(shì)識(shí)別。本實(shí)驗(yàn)主要實(shí)現(xiàn)兩個(gè)傳感器的單獨(dú)連接測(cè)試,以及雙傳感器的交叉復(fù)合連接,實(shí)現(xiàn)如圖2所示。 2.1 RGB紅外手勢(shì)識(shí)別傳感器識(shí)別 RGB紅外手勢(shì)識(shí)別傳感器模塊需要集成RGB、環(huán)境光、近程和手勢(shì)傳感器等多種模塊于一體,同時(shí)還需要具備UV-IR遮光濾光片課實(shí)現(xiàn)精準(zhǔn)的環(huán)境光和相關(guān)色溫檢測(cè)的功能。[4] 通過紅外發(fā)射器發(fā)射紅外信號(hào),當(dāng)手以一個(gè)方向從傳感器上方移動(dòng)過時(shí),利用4個(gè)定向二極管來感知反射回的紅外線能量,當(dāng)二極管接受到反射回的紅外信號(hào)時(shí),二極管電壓值會(huì)有較明顯的增加,由于二極管電壓值變化的順序與手移動(dòng)時(shí)的方向是一致的,所以可以通過不同方位上的二極管的電壓值變化的時(shí)間差來判斷手勢(shì)方向。 對(duì)于RGB紅外手勢(shì)識(shí)別傳感器與Arduino的連接,傳感器的數(shù)字IO引腳D與Arduino的接口2連接,APDS-9960傳感器的I2C數(shù)據(jù)信號(hào)SDA引腳和I2C時(shí)鐘信號(hào)SCL引腳分別與Arduino的SDA和SCL接口相連接,傳感器的正極VCC引腳和負(fù)極GND引腳分別與Arduino的5V和GND接口相連。綜合考慮,我們?cè)诒緦?shí)驗(yàn)中采用了APDS-9960紅外手勢(shì)識(shí)別傳感器。 2.2 3D手勢(shì)識(shí)別傳感器的識(shí)別 3D手勢(shì)識(shí)別傳感器模塊使用識(shí)別時(shí)會(huì)將位置數(shù)據(jù)、觸摸或多觸摸信息添加到自由空間[3]手勢(shì)傳感中,最后通過電近場(chǎng)[2],當(dāng)手靠近時(shí),會(huì)干擾磁場(chǎng),從而使磁場(chǎng)接收器檢測(cè)到變化。 對(duì)于3D手勢(shì)識(shí)別傳感器與Arduino的連接,傳感器的數(shù)字IO引腳D與Arduino的接口7連接,傳感器的I2C數(shù)據(jù)信號(hào)SDA引腳和I2C時(shí)鐘信號(hào)SCL引腳分別與Arduino的A4和A5接口相連接,傳感器的正極VCC引腳和負(fù)極GND引腳分別于Arduino的5V和GND接口相連接。本文使用的3D手勢(shì)識(shí)別傳感器是基于Microchip專利的GestIC技術(shù),能夠?qū)崿F(xiàn)我們所需要的功能。 2.3 雙傳感器的交叉復(fù)合連接 多重傳感手勢(shì)識(shí)別器,本文將上述兩個(gè)不同原理的手勢(shì)識(shí)別傳感器進(jìn)行復(fù)合連接,實(shí)現(xiàn)多重傳感手勢(shì)識(shí)別器。由于兩個(gè)傳感器的原理不同,實(shí)現(xiàn)功能時(shí)的引腳連接是不同的最宏觀的體現(xiàn)。在連接測(cè)試時(shí),主要解決的問題時(shí)兩個(gè)傳感器的引腳沖突問題。根據(jù)上述的連接測(cè)試可知,兩個(gè)傳感器的數(shù)據(jù)信號(hào)和時(shí)鐘信號(hào)并不沖突,但是一般的正極VCC和負(fù)極GND兩引腳發(fā)生沖突。解決方法有兩個(gè),其一是改變硬件條件,通過擴(kuò)展Arduino板增加引腳;其二可以通過程序設(shè)計(jì)改變Arduino引腳的屬性,從而導(dǎo)出兩對(duì)正負(fù)極接口。 3 多重傳感手勢(shì)識(shí)別器與機(jī)械車的連接與控制 3.1 多重傳感手勢(shì)識(shí)別器與機(jī)械車的連接 基于第一模塊設(shè)計(jì)的多重傳感手勢(shì)識(shí)別器,再該階段將實(shí)現(xiàn)識(shí)別器的獨(dú)立實(shí)驗(yàn)測(cè)試,以及與一般機(jī)械車的連接實(shí)驗(yàn)。 在已連接好雙傳感器的Arduino板上,將4色的LED測(cè)試燈連接在對(duì)應(yīng)即將連在小車上的引腳位置,編寫簡(jiǎn)單的if語句代碼,進(jìn)行二者同步使用是否可行的測(cè)試。 在LED燈正常亮燈的基礎(chǔ)上,接下來進(jìn)行與機(jī)械車的本體的連接。該部分主要是將Arduino板與機(jī)械車相結(jié)合。[6]Arduino板上的引腳接口主要用于與傳感器連接,在拷入代碼之后,實(shí)現(xiàn)與小車的連接使用的是USB接口,也因此該多重傳感手勢(shì)識(shí)別器可以針對(duì)不同類型的機(jī)械車,具有普遍適用性。 3.2 多重傳感手勢(shì)識(shí)別器對(duì)機(jī)械車的交叉控制 在可識(shí)別手勢(shì)的基礎(chǔ)上,本實(shí)驗(yàn)針對(duì)兩種傳感器設(shè)計(jì)實(shí)現(xiàn)六種不同的基礎(chǔ)手勢(shì),主要用于復(fù)合識(shí)別應(yīng)用。[7]應(yīng)用引言中提到的組合數(shù)公式算法,將兩個(gè)傳感器的基礎(chǔ)手勢(shì)進(jìn)行結(jié)合,使使用者在使用的過程中,可以從不同的手勢(shì)組合,亦或同一手勢(shì)組合的不同發(fā)生順序來進(jìn)行對(duì)機(jī)械車的不同控制方式,如表1所示。[8] 基于3.2的連接與LED燈測(cè)試代碼,添加定義變量等,并且修改if語句,將具體的操作寫入if語句。之后就可以針對(duì)設(shè)計(jì)好的多重手勢(shì)向Arduino板中拷入代碼完成多重傳感手勢(shì)識(shí)別器的設(shè)計(jì)與實(shí)現(xiàn)。將該Arduino板與機(jī)械車進(jìn)行連接,進(jìn)行接下來相應(yīng)的精確性測(cè)試。 4 實(shí)驗(yàn)測(cè)試分析 本文設(shè)計(jì)實(shí)現(xiàn)了傳感器與實(shí)物之間的連接使用,如圖3所示,以及不同識(shí)別原理的傳感器之間的交叉應(yīng)用。目的在于提高傳感器的安全性和精確性。本模塊的測(cè)試識(shí)別準(zhǔn)確率主要體現(xiàn)在精確性方面。 在三階段階段設(shè)計(jì)后,本實(shí)驗(yàn)最后進(jìn)行了識(shí)別率的測(cè)試,如表2所示。 通過抽樣測(cè)試多重傳感手勢(shì)識(shí)別器的識(shí)別準(zhǔn)確率可以發(fā)現(xiàn),準(zhǔn)確率較單個(gè)識(shí)別器有了一定的提高。安全性方面,因?yàn)槭謩?shì)組合后的繁多樣式,以及攝像頭的避用,對(duì)各人信息的安全保護(hù)方面做了加強(qiáng)。 5 結(jié)語 本文運(yùn)用Arduino單片機(jī)與RGB手勢(shì)識(shí)別傳感器&3D手勢(shì)識(shí)別傳感器三種主要工具,通過傳感器的基于組合數(shù)公式的交叉復(fù)合連接使用,基于不同傳感器的多種識(shí)別原理,設(shè)計(jì)實(shí)現(xiàn)了復(fù)雜的多重傳感手勢(shì)識(shí)別器,用識(shí)別簡(jiǎn)單手勢(shì)的傳感器組合實(shí)現(xiàn)了復(fù)雜手勢(shì)的識(shí)別,實(shí)現(xiàn)了對(duì)機(jī)械車的控制和操作,在已有技術(shù)的基礎(chǔ)上提高了一定的準(zhǔn)確性;在不使用攝像頭、指紋等元素,以及復(fù)雜多樣的手勢(shì)動(dòng)作設(shè)計(jì)的情況下,一定程度的保證了用戶使用的安全性;而且操作不受時(shí)間,地點(diǎn)等其他因素的限制,更為方便。本實(shí)驗(yàn)設(shè)計(jì)的多重傳感手勢(shì)識(shí)別器旨在提高人們的生活質(zhì)量,尤其為特殊人群提供便利。該針對(duì)不同原理識(shí)別器復(fù)雜綜合應(yīng)用的技術(shù)可以衍生設(shè)計(jì)出更多相關(guān)專用技術(shù),應(yīng)用于不同需求的工程項(xiàng)目中,具有較好的發(fā)展前景。 參考文獻(xiàn) [1] 梁梓廷,葉軍,鄭樹海,等.基于Arduino的手勢(shì)識(shí)別控制裝置[J].電腦知識(shí)與技術(shù),2017,13(18):184-185. [2] 周雄健.基于靜電電容式觸摸檢測(cè)的3D手勢(shì)識(shí)別技術(shù)[J].家電科技,2018(12):58-61. [3] 梁秀波,張順,李啟雷,等.運(yùn)動(dòng)傳感驅(qū)動(dòng)的3D只管手勢(shì)交互[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2010,22(3):521-533. [4] 劉鑫辰,傅慧源,馬華東.基于RGB-D攝像頭的實(shí)時(shí)手指跟蹤與手勢(shì)識(shí)別[J].計(jì)算機(jī)科學(xué),2014,41(10):50-61. [5] 李袁媛,林尹雅,李想,等.基于Arduino平臺(tái)的三位手勢(shì)感應(yīng)臺(tái)燈設(shè)計(jì)與實(shí)現(xiàn)[J].無線互聯(lián)科技,2018(15):70-73. [6] 胡薦苛,丁哲通,蔣晨.基于Leap Motion手勢(shì)識(shí)別的Arduino智能車控制[J].機(jī)械設(shè)計(jì)與制造工程,2017,46(8):51-54. [7] Shweta K.Yewale,Pankaj K.Bharne.Artificial Neutral Network Approach for Hand Gesture Recognition[J].3th International Journal of Engineering Science and Technology,2011,3(4):2603-2608. [8] COLLINS R,GROSS R,SHI J.Silhouette-based human identification from body shapeand Gait[J].5th International Conference on Automatic Face and Gesture Recognition,2002.