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