吳振宇, 吳冀平, 蔡天馳, 吳 凡
(大連理工大學(xué) 創(chuàng)新創(chuàng)業(yè)學(xué)院, 遼寧 大連 116024)
培養(yǎng)和提升大學(xué)生的創(chuàng)新創(chuàng)業(yè)能力,是國(guó)家對(duì)高校的基本要求,有助于服務(wù)創(chuàng)新型社會(huì),助推國(guó)家的創(chuàng)新發(fā)展[1-2]。手勢(shì)是一種自然、直觀的人機(jī)交互手段,以手勢(shì)作為計(jì)算機(jī)的輸入,已經(jīng)成為一種趨勢(shì)[3]。將結(jié)合電子、軟件、算法等學(xué)科的手勢(shì)識(shí)別技術(shù)作為創(chuàng)新實(shí)踐班創(chuàng)新教育的載體,能夠很好地激發(fā)學(xué)生的學(xué)習(xí)興趣。目前,國(guó)內(nèi)對(duì)于手勢(shì)識(shí)別的研究處于試驗(yàn)室探索階段,缺乏適用于本科學(xué)生學(xué)習(xí)的實(shí)驗(yàn)平臺(tái)。
從創(chuàng)新實(shí)踐班的實(shí)驗(yàn)教育需求出發(fā),設(shè)計(jì)了包括嵌入式控制系統(tǒng)、頂層應(yīng)用框架模塊、人工智能識(shí)別算法3個(gè)模塊的手勢(shì)識(shí)別實(shí)驗(yàn)平臺(tái)。該平臺(tái)嵌入式部分為保證學(xué)生可自行改造采用紅外距離傳感陣列方案,摒棄常見(jiàn)的視覺(jué)或數(shù)據(jù)手套方案;應(yīng)用框架部分搭建C#環(huán)境下的演示框架供學(xué)生修改,同時(shí)還提供案例應(yīng)用供參考;識(shí)別算法部分提供二乘法、歐氏距離、決策樹(shù)、SVM、貝葉斯、回歸算法、神經(jīng)網(wǎng)絡(luò)等人工智能常見(jiàn)算法演示代碼,實(shí)際開(kāi)發(fā)中學(xué)生可自行調(diào)整算法參數(shù)或修改源代碼。平臺(tái)結(jié)構(gòu)框圖如圖1所示。
圖1 實(shí)驗(yàn)平臺(tái)結(jié)構(gòu)框圖
平臺(tái)在設(shè)計(jì)階段采用模塊化思想,教學(xué)中采取小組式學(xué)習(xí)方式,學(xué)生自由選擇模塊學(xué)習(xí),并以互補(bǔ)的原則加入學(xué)習(xí)小組,小組通過(guò)討論得出共同的研究目標(biāo),并通過(guò)合作完成既定目標(biāo)[4]?;谄脚_(tái)開(kāi)發(fā)的作品具有可穿戴屬性,符合可穿戴設(shè)備發(fā)展潮流,學(xué)生具有學(xué)習(xí)興趣,社會(huì)關(guān)注度高,在教學(xué)實(shí)踐中取得了良好效果[5]。學(xué)生基于平臺(tái)制作的優(yōu)秀作品獲得省大學(xué)生創(chuàng)新創(chuàng)業(yè)年會(huì)“優(yōu)秀創(chuàng)業(yè)項(xiàng)目”稱(chēng)號(hào)。
目前常見(jiàn)的手勢(shì)識(shí)別技術(shù)按照手勢(shì)數(shù)據(jù)輸入方式可以分為基于視覺(jué)的手勢(shì)識(shí)別和基于傳感器手套的手勢(shì)識(shí)別2大類(lèi)[6-7]。2種方案各具特點(diǎn),基于視覺(jué)的方案利用攝像頭采集手勢(shì)圖像進(jìn)行分析獲取數(shù)據(jù),這是目前實(shí)際應(yīng)用中最普遍的方法,但是對(duì)于目標(biāo)手的位置和方向有一定要求[8-9]。基于數(shù)據(jù)手套裝置通過(guò)分布在用戶(hù)佩戴的手套內(nèi)的數(shù)個(gè)傳感器采集關(guān)節(jié)角度、運(yùn)動(dòng)加速度等數(shù)據(jù)進(jìn)行手勢(shì)識(shí)別。這種方案由于數(shù)據(jù)采集直接,識(shí)別效果好,但設(shè)備會(huì)阻礙手指感知、影響手指運(yùn)動(dòng)[10-11]。兩種方案追求高識(shí)別率使得造價(jià)高昂且技術(shù)復(fù)雜,不符合創(chuàng)新實(shí)踐班學(xué)生研究需要。
大阪大學(xué)、東京大學(xué)的學(xué)者先后提出了利用接觸電阻、骨傳聲等特征進(jìn)行手勢(shì)識(shí)別的方法,識(shí)別率較低,但結(jié)構(gòu)簡(jiǎn)單成本低廉[12-13]。東京大學(xué)提出利用手腕輪廓推定手勢(shì)的方法,由于手指運(yùn)動(dòng)會(huì)導(dǎo)致手腕部的肌腱運(yùn)動(dòng)進(jìn)而導(dǎo)致手腕表面輪廓變化。這一方案通過(guò)安裝在腕帶式裝置上的嵌入式系統(tǒng)控制紅外傳感器陣列捕捉手腕表面輪廓數(shù)據(jù),進(jìn)而推測(cè)手勢(shì)信息[14-15]。
本平臺(tái)采用基于手腕輪廓推測(cè)手勢(shì)信息的方法,采用新日本無(wú)線(xiàn)株式會(huì)社生產(chǎn)的NJL5901AR-1型光反射傳感器作為手腕輪廓采集單元核心器件,該器件將發(fā)射單元與接收單元集成在一起,體積僅為1.3 mm×1.6 mm×0.6 mm,輸出電流為400 μA[16]。傳感器僅可采集點(diǎn)狀區(qū)域內(nèi)的手腕輪廓數(shù)據(jù),故需要多組傳感器協(xié)同工作,本設(shè)計(jì)采用D觸發(fā)器構(gòu)成的鏈?zhǔn)綌?shù)據(jù)采集電路,如圖2所示。以STM32F103為核心的嵌入式系統(tǒng)僅提供時(shí)鐘信號(hào)CLK、觸發(fā)信號(hào)DIN各1路,將DIN置高后輸出1個(gè)時(shí)鐘鎖存,而后拉低DIN,此時(shí)D觸發(fā)器D1輸出端Q輸出高電平驅(qū)動(dòng)紅外距離傳感器1采集數(shù)據(jù),處理器通過(guò)R2取得DOUT處電壓UDOUT,此時(shí)CLK再輸出時(shí)鐘將高電平鎖存于D2,D1則鎖存低電平,此時(shí)UDOUT為采集傳感器2數(shù)據(jù),依次類(lèi)推。通過(guò)共用電源和地線(xiàn),分時(shí)復(fù)用數(shù)據(jù)線(xiàn)簡(jiǎn)化陣列布線(xiàn),提高陣列密度,保證了平臺(tái)可穿戴屬性必須的輕便小巧特性。
圖2 總線(xiàn)式數(shù)據(jù)采集電路圖
上述方案設(shè)計(jì)、器件選擇及電路設(shè)計(jì)在實(shí)際實(shí)驗(yàn)教學(xué)中僅作為參考方案提供給學(xué)生,學(xué)生可按照該方案,自行設(shè)計(jì)PCB電路與硬件外觀佩戴方式等,同時(shí)也鼓勵(lì)學(xué)生自行進(jìn)行方案設(shè)計(jì),指導(dǎo)老師會(huì)給以必要的幫助。圖3展示了部分學(xué)生設(shè)計(jì)的手腕輪廓采集裝置。
實(shí)驗(yàn)教學(xué)中為在嵌入式編程教學(xué)中加入軟件算法內(nèi)容,要求學(xué)生對(duì)手腕輪廓數(shù)據(jù)進(jìn)行校正。圖4展示的是在1.5 mm反射距離下未經(jīng)過(guò)校正的采集數(shù)據(jù)。相同的反射距離下,不同傳感器的UDOUT值都存在差異。誤差主要由紅外距離傳感器安裝位置、方向不一致以及器件本身工作曲線(xiàn)的不一致性導(dǎo)致。
圖4 存在誤差的反射距離測(cè)試數(shù)據(jù)
為解決上述誤差,要求學(xué)生在STM32嵌入式處理器內(nèi)對(duì)數(shù)據(jù)進(jìn)行校正,推薦算法如下:對(duì)每個(gè)傳感器構(gòu)造反射距離D=Y(UDOUT)函數(shù),即通過(guò)傳感器采集到的UDOUT值通過(guò)函數(shù)Y計(jì)算出實(shí)際的反射距離。函數(shù)Y由實(shí)驗(yàn)數(shù)據(jù)進(jìn)行多項(xiàng)式擬合得到,多項(xiàng)式擬合使用高斯-馬爾可夫定理。將每個(gè)傳感器不同反射距離下測(cè)量得到的AD數(shù)據(jù)經(jīng)過(guò)以上方法擬合得到多項(xiàng)式各項(xiàng)的系數(shù)a[i]。接下來(lái)就可以通過(guò)
(1)
將傳感器測(cè)量的UDOUT數(shù)據(jù)轉(zhuǎn)化為真實(shí)的距離D。式中:Y(UDOUT)為UDOUT數(shù)據(jù)與反射距離的函數(shù);m為矯正采用多項(xiàng)式的最高次冪,校正后的1.5 mm反射距離測(cè)試數(shù)據(jù)見(jiàn)圖5。由于不同硬件設(shè)計(jì)造成的誤差不同,實(shí)際教學(xué)中學(xué)生也可以自行計(jì)算并設(shè)計(jì)算法對(duì)手腕輪廓數(shù)據(jù)進(jìn)行校正。
圖5 校正后的反射距離數(shù)據(jù)
圖形化軟件演示與學(xué)習(xí)單元作為實(shí)驗(yàn)平臺(tái)的重要組成部分,分為數(shù)據(jù)采集、數(shù)據(jù)分析、應(yīng)用3個(gè)部分。如圖6所示。數(shù)據(jù)采集部分可以調(diào)用存儲(chǔ)的案例手腕輪廓數(shù)據(jù)也通過(guò)串行接口與嵌入式硬件數(shù)據(jù)采集及處理單元對(duì)接,通過(guò)平臺(tái)定義的標(biāo)準(zhǔn)數(shù)據(jù)接口讀取手腕輪廓識(shí)別。數(shù)據(jù)分析和應(yīng)用2個(gè)部分分別為模式識(shí)別算法設(shè)計(jì)模塊、頂層應(yīng)用設(shè)計(jì)模塊的具體實(shí)現(xiàn)提供支持。
圖6 采用C#編寫(xiě)的上位機(jī)測(cè)試程序
為了引導(dǎo)學(xué)生將模式識(shí)別算法應(yīng)用到具有手勢(shì)識(shí)別功能的可穿戴設(shè)備中,平臺(tái)提供了二乘法、歐氏距離、決策樹(shù)、支持向量機(jī)、貝葉斯、回歸算法、神經(jīng)網(wǎng)絡(luò)等示例算法,對(duì)采集到的手腕輪廓信息進(jìn)行分析匹配。實(shí)驗(yàn)教學(xué)中,學(xué)生可以調(diào)整算法參數(shù)觀察實(shí)驗(yàn)結(jié)果也可以在Matlab軟件中查看算法實(shí)現(xiàn)過(guò)程。實(shí)驗(yàn)要求學(xué)生針對(duì)小組設(shè)計(jì)的應(yīng)用選擇合適的識(shí)別算法并進(jìn)行修改達(dá)到應(yīng)用需求。
以歐氏距離算法為例,該算法是基于實(shí)例學(xué)習(xí)的分類(lèi)算法中比較常用的一種方案,基于統(tǒng)計(jì)的分類(lèi)方法,是根據(jù)測(cè)試樣本在特征空間中若干個(gè)最鄰近樣本匯總的多數(shù)樣本的類(lèi)別來(lái)進(jìn)行分類(lèi),因此具有直觀、無(wú)需先驗(yàn)統(tǒng)計(jì)知識(shí)等特點(diǎn),從而成為非參數(shù)分類(lèi)的一種重要方法。先期存儲(chǔ)S組不同手勢(shì)數(shù)據(jù),每組為M個(gè)傳感器數(shù)據(jù),數(shù)據(jù)x表示為{A1(x),A2(x),A3(x)……,AM(x)},并為每組數(shù)據(jù)設(shè)立手勢(shì)標(biāo)簽。當(dāng)需要識(shí)別的手勢(shì)信息到來(lái)時(shí),系統(tǒng)計(jì)算待識(shí)別數(shù)據(jù)到S組數(shù)據(jù)的歐氏距離:
(2)
計(jì)算得到的d值最小的手勢(shì)即為當(dāng)前手勢(shì)。
實(shí)驗(yàn)平臺(tái)為學(xué)生提供了播放器控制、翻頁(yè)器、手語(yǔ)翻譯等可穿戴設(shè)備應(yīng)用案例,方便學(xué)生直觀地觀察到平臺(tái)的實(shí)用性能,實(shí)驗(yàn)教學(xué)中學(xué)生可以通過(guò)標(biāo)準(zhǔn)接口,直接調(diào)用前面單元輸出的手勢(shì)識(shí)別結(jié)果進(jìn)行相應(yīng)操作,例如識(shí)別到握拳即控制系統(tǒng)播放器切換到下一首音樂(lè)。教學(xué)中通常以手勢(shì)翻譯應(yīng)用為例測(cè)試學(xué)生識(shí)別算法的有效性,測(cè)試過(guò)程如下:以拳、掌、一指、二指等4種基本手勢(shì)為1組,教師隨機(jī)選擇某一組數(shù)據(jù)組合提供給學(xué)生進(jìn)行測(cè)試,以學(xué)生系統(tǒng)得出的混淆矩陣作為系統(tǒng)手勢(shì)識(shí)別準(zhǔn)確度的評(píng)價(jià)標(biāo)準(zhǔn)。圖7所示為測(cè)試結(jié)果案例。
識(shí)別結(jié)果拳拇指二指掌識(shí)別率給定手勢(shì)拳20000100%拇指2171085%二指00200100%掌0002095%識(shí)別結(jié)果拳食指ok掌識(shí)別率給定手勢(shì)拳20000100%食指1190095%ok1019095%掌00020100%
圖7 識(shí)別結(jié)果混淆矩陣案例
本平臺(tái)總結(jié)多年可穿戴設(shè)備開(kāi)發(fā)實(shí)驗(yàn)教學(xué)經(jīng)驗(yàn),以實(shí)用性為前提,引入前沿技術(shù)的同時(shí)加入模式識(shí)別相關(guān)內(nèi)容,一方面提高了學(xué)生學(xué)習(xí)的積極性,另一方面也使得實(shí)驗(yàn)教學(xué)貼近實(shí)際項(xiàng)目開(kāi)發(fā)需求。平臺(tái)提供了實(shí)現(xiàn)可穿戴手勢(shì)識(shí)別系統(tǒng)設(shè)計(jì)所需的完整硬件基礎(chǔ)及軟件架構(gòu),提供了豐富的模式識(shí)別算法例程,給出了多種直觀的可穿戴手勢(shì)識(shí)別應(yīng)用案例,有利于學(xué)生快速進(jìn)行可穿戴應(yīng)用開(kāi)發(fā),學(xué)習(xí)人工智能相關(guān)軟件算法設(shè)計(jì)、實(shí)現(xiàn)過(guò)程,降低學(xué)生學(xué)習(xí)難度的同時(shí)也引導(dǎo)學(xué)生自行設(shè)計(jì)并開(kāi)發(fā)軟硬件模塊。該實(shí)驗(yàn)平臺(tái)已經(jīng)在我校創(chuàng)新創(chuàng)業(yè)學(xué)院機(jī)電創(chuàng)新實(shí)踐班及VR實(shí)驗(yàn)室使用,取得了良好教學(xué)效果,得到學(xué)生的一致好評(píng)。