国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于深度學(xué)習(xí)的手勢識別系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

2022-08-26 01:52李澥蔡振雄詹文杰邱梓逸
現(xiàn)代信息科技 2022年11期
關(guān)鍵詞:手勢指令鼠標(biāo)

李澥,蔡振雄,詹文杰,邱梓逸

(廣州軟件學(xué)院(廣州),廣東 廣州 510980)

0 引 言

隨著計(jì)算機(jī)技術(shù)的快速發(fā)展,人機(jī)交互方式也越來越先進(jìn)。傳統(tǒng)的交互主要通過兩個途徑實(shí)現(xiàn):用戶界面和外接硬件設(shè)備。用戶界面是常用的智能設(shè)備,直接在觸摸屏上進(jìn)行交互,外接硬件設(shè)備主要是鍵盤、鼠標(biāo)、電容筆等。傳統(tǒng)的交互方式本著“用戶適應(yīng)計(jì)算機(jī)的交互模式”進(jìn)行交互,當(dāng)前,用戶對交互方式的舒適性提出了更高的要求。為了使人機(jī)交互更加自然和諧,交互領(lǐng)域的諸多學(xué)者紛紛加入對語音識別、手勢識別等新興技術(shù)的研究大潮。

目前,投影儀的使用越來越普及,例如商業(yè)、教育、辦公環(huán)境下的投影演示以及家庭日常生活中的教育與娛樂之用。然而,當(dāng)前有很多投影儀都是作為一個輸出設(shè)備,在使用過程中往往受交互方式的限制,使用戶得不到良好的使用體驗(yàn)。鑒于此,本文基于現(xiàn)有計(jì)算機(jī)技術(shù)展開研究。

1 系統(tǒng)總體設(shè)計(jì)

采用雙目同步攝像頭獲取手勢圖像數(shù)據(jù),借助OpenCV機(jī)器視覺庫進(jìn)行圖像處理,使用tensorflow深度神經(jīng)網(wǎng)絡(luò)進(jìn)行手勢模型訓(xùn)練,識別用戶的手勢姿態(tài)。將已訓(xùn)練好的模型移植至ARM-a9開發(fā)板,系統(tǒng)進(jìn)行實(shí)時的手勢姿態(tài)識別,識別手勢圖片后會將識別內(nèi)容封裝為手勢數(shù)據(jù)并傳遞到被控制平臺(手機(jī)或電腦)上,被控制平臺的特定應(yīng)用程序會對接收到的數(shù)據(jù)命令進(jìn)行分析,通過模擬鼠標(biāo)方法或快捷鍵方法執(zhí)行相應(yīng)的操作。本系統(tǒng)還有附加功能,通過深度學(xué)習(xí)和語音識別模塊,訓(xùn)練不同場合下的語音識別和智能對話模型,使系統(tǒng)具有深度語音識別非特定人聲的功能,來讓設(shè)備投影到平面的界面且用戶能通過語音識別進(jìn)行智能對話。系統(tǒng)流程圖如圖1所示。

圖1 系統(tǒng)流程圖

2 系統(tǒng)硬件層的實(shí)現(xiàn)

處理器是硬件層最重要的核心部件,從數(shù)據(jù)的采集處理到執(zhí)行器控制等功能的開發(fā)都是圍繞著ARM-A9開發(fā)板展開的,選用ARM-A9處理器模塊的出發(fā)點(diǎn)源于對處理速度和功耗這兩項(xiàng)指標(biāo)的考慮。實(shí)物圖如圖2所示。

圖2 ARM-A9實(shí)物圖

硬件層主要包括攝像頭與ARM-A9開發(fā)板模塊,采用攝像頭模塊進(jìn)行手勢圖片的獲取,通過將USB線與ARM-A9開發(fā)板的連接實(shí)現(xiàn)數(shù)據(jù)傳輸。在ARM-A9開發(fā)板中安裝操作系統(tǒng),結(jié)合python語言、OpenCV庫和tensorflow深度學(xué)習(xí)框架,識別出攝像頭模塊采集到的手勢圖片的類型。

通過六軸傳感器(三維加速度和三維陀螺儀)和卡爾曼濾波算法進(jìn)行狀態(tài)估算(姿態(tài)預(yù)估)。用戶手指上佩戴一個小設(shè)備,設(shè)備集成了六軸傳感器、特定光發(fā)射器和核心控制板,特定光發(fā)射器發(fā)射的光投影到平面的界面上,通過攝像頭拍下的界面信息,經(jīng)過OpenCV算法、定位算法和比例轉(zhuǎn)換等處理后,可以得知用戶究竟是點(diǎn)擊了哪里。

研發(fā)中,我們會為智能裝置(電腦、手機(jī)或智能電視等)制作應(yīng)用程序(APP軟件),應(yīng)用軟件通過藍(lán)牙與ARM a9開發(fā)板通信,通過Wi-Fi通信和投影儀進(jìn)行界面數(shù)據(jù)傳輸。盡可能使所開發(fā)的應(yīng)用軟件與電腦端各種不同的系統(tǒng)兼容。在手機(jī)端開發(fā)安卓APP。

獲取手勢識別的信息和語音交互的信息,用ARM a9開發(fā)板通過藍(lán)牙通信和智能裝置(電腦、手機(jī)或智能電視等)的應(yīng)用軟件進(jìn)行指令傳輸。傳輸?shù)男畔⑼ㄟ^研發(fā)的協(xié)議來規(guī)范,應(yīng)用軟件在收到指令后會執(zhí)行相應(yīng)的工作。

3 系統(tǒng)軟件層的實(shí)現(xiàn)

3.1 軟件架構(gòu)

系統(tǒng)軟件是一款基于Java開發(fā)的軟件,通過模擬鼠標(biāo)和鍵盤進(jìn)行電腦系統(tǒng)的應(yīng)用控制。采用藍(lán)牙指令代替普通的鼠標(biāo)和鍵盤輸入,實(shí)現(xiàn)對電腦控制的上層封裝。設(shè)備與電腦通過藍(lán)牙無線協(xié)議建立通信后,軟件端會捕獲到設(shè)備上報的指令信息包,電腦端軟件將會去除指令包的頭尾以提取到真實(shí)的指令字符。得到最終的指令后,系統(tǒng)會先后經(jīng)過常用指令判斷、模式切換判斷、模式指令操作,實(shí)現(xiàn)對電腦系統(tǒng)的基本控制。指令操作流程如圖3所示。

圖3 指令操作流程

3.2 自定義協(xié)議

若要實(shí)現(xiàn)穩(wěn)定的數(shù)據(jù)通信,不單單需要連接上的不斷開,更需要可靠的數(shù)據(jù)包收發(fā),為此,建立一套易閱讀、易擴(kuò)展、易解析的指令集就顯得尤為重要。電腦軟件端基于手勢指令實(shí)現(xiàn)三類指令的讀取,分別為常用指令、模式切換指令、模式指令。

其中,常用指令為全局通用指令,軟件提取指令后首先需要進(jìn)行匹配判斷的指令為常用指令。模式切換指令與模式指令為一體,其中模式指令根據(jù)不同的應(yīng)用場景可以有不同的指令集,如鼠標(biāo)控制模式和PPT控制模式等,要將每個桌面應(yīng)用的操作方式不同考慮在內(nèi)。模式切換則是進(jìn)行特定模式的切換工作,實(shí)現(xiàn)對應(yīng)的指令控制對應(yīng)的桌面程序,以實(shí)現(xiàn)更加高效的控制效果。

協(xié)議說明:指令控制命令字母均為小寫,此為鼠標(biāo)控制模式和PPT控制模式指令舉例。鼠標(biāo)PPT控制指令分別如表1、表2所示。

表1 鼠標(biāo)控制模式表

表2 PPT控制模式表

3.3 PC終端應(yīng)用程序

PC終端應(yīng)用程序通過無線藍(lán)牙協(xié)議與ARM-A9開發(fā)板連接,并與之進(jìn)行數(shù)據(jù)通信,實(shí)現(xiàn)手勢指令的獲取。指令獲取后將通過模擬鼠標(biāo)和鍵盤進(jìn)行電腦應(yīng)用控制。程序使用Java語言開發(fā),可跨平臺運(yùn)行使用,實(shí)現(xiàn)一處開發(fā)多處使用的效果。系統(tǒng)執(zhí)行流程如圖4所示。

圖4 系統(tǒng)執(zhí)行流程圖

3.4 基于卷積神經(jīng)網(wǎng)絡(luò)的手勢分割法

基于深度學(xué)習(xí)的卷積神經(jīng)網(wǎng)絡(luò)是當(dāng)前最高效的圖像處理方法,由卷積層、池化層和全連接層構(gòu)成。卷積層主要負(fù)責(zé)提取圖像的局部特征,池化層的作用是大幅降低參數(shù)量級(降維),全連接層輸出想要的結(jié)果。

采用tensorflow開源機(jī)器學(xué)習(xí)框架對特定的手勢進(jìn)行模型訓(xùn)練。深度學(xué)習(xí)架構(gòu)如圖5所示,首先收集用戶特定手勢素材,用于訓(xùn)練模型和提高識別的精準(zhǔn)度,模型訓(xùn)練好后,即可利用數(shù)據(jù)集對用戶的手勢進(jìn)行精準(zhǔn)識別,實(shí)現(xiàn)對用戶手勢的理解。訓(xùn)練參數(shù)如表3所示。

圖5 深度學(xué)習(xí)架構(gòu)圖

表3 訓(xùn)練參數(shù)表

對手勢圖片進(jìn)行標(biāo)定處理后轉(zhuǎn)換為Pascal VOC數(shù)據(jù)集,通過tensorflow深度學(xué)習(xí)框架將Pascal VOC數(shù)據(jù)集轉(zhuǎn)換成TFRecord文件,對項(xiàng)目設(shè)定的手勢進(jìn)行模型訓(xùn)練,獲取所需的訓(xùn)練數(shù)據(jù)文件,數(shù)據(jù)效果顯示如圖6所示。

圖6 tensorflow訓(xùn)練數(shù)據(jù)結(jié)果圖

3.5 手勢特征提取

先對采集到的圖像數(shù)據(jù)進(jìn)行過濾去噪,降低干擾形狀對膚色提取的影響,接著對手部進(jìn)行膚色分割。此方式可有效避免背景過于復(fù)雜、目標(biāo)物和背景灰度差別不大等影響,有利于提高手勢分割的精準(zhǔn)度。特征提取效果如圖7所示。

圖7 特征提取效果圖

進(jìn)行特征提取時,通過手勢指尖的數(shù)量和位置,將指尖和掌心連線,采用距離公式計(jì)算各指尖到掌心的距離,再運(yùn)用反余弦公式計(jì)算各指尖與掌心連線間的夾角,將距離和夾角作為選擇的特征。此方式不僅可以獲得較高的識別正確率,同時也縮短了識別時間。

傅立葉變換可以將函數(shù)分解為頻率不同的正弦函數(shù)和余弦函數(shù)的組合,而圖像處理中的傅立葉變換一般專指二維離散傅立葉變換,它可以將圖像從空間域變換到頻域,擁有很多優(yōu)良的特質(zhì),如線性、對稱、平移、卷積等。通過二維空間坐標(biāo)上的灰度值來表征圖像的形狀、紋理、尺寸等特征,從二維圖像的角度來看,頻率高低表征的是原圖灰度變化的劇烈程度,也就是空間域中的梯度。背景區(qū)域等灰度變化緩慢的區(qū)域,梯度較低,處于頻域中的低頻部分,邊緣、噪聲等灰度變化快的區(qū)域,梯度較高,處于頻域中的高頻部分。通常,在一般的圖片中低頻的內(nèi)容會占一大部分。

二維DFT的極坐標(biāo)表示:

幅度或頻率譜為:

其中,(,)和(,)分別是(,)的實(shí)部和虛部。

相角或相位譜為:

功率譜為:

(,)的原點(diǎn)變換:

4 手勢識別系統(tǒng)開發(fā)環(huán)境介紹

該手勢識別系統(tǒng)軟件的開發(fā)環(huán)境為ARM-a9開發(fā)板,采用Linux系統(tǒng),圖像識別工具為第三方開源計(jì)算機(jī)視覺庫OpenCV,通過tensorflow深度學(xué)習(xí)分析手勢類型,系統(tǒng)環(huán)境架構(gòu)如圖8所示。

圖8 系統(tǒng)環(huán)境圖

PyCharm是由JetBrains打造的一款Python IDE,VS2010的重構(gòu)插件Resharper就是出自JetBrains之手。這些功能在先進(jìn)代碼分析程序的支持下,使PyCharm成為Python專業(yè)開發(fā)人員和初學(xué)人員使用的有力工具。

PyCharm 1.5于2011年6月6日發(fā)布,該版本做出了大量的改進(jìn),使Python和Django開發(fā)變成一種享受。

PyCharm 3.0版本主要改進(jìn)包括:

(1)全功能的嵌入式本地終端窗口;

(2)支持SQLAlchemy;

(3)支持PyramidWeb框架;

(4)支持Web2Py框架;

(5)對PyQt和PyGTK支持的改進(jìn)。

5 結(jié) 論

手勢識別通過攝像頭對用戶的手勢圖片進(jìn)行采集,使用OpenCV機(jī)器視覺對采集到的手勢圖片進(jìn)行處理。市場上使用輪廓識別的方式存在著環(huán)境固定和特定手勢缺點(diǎn),本項(xiàng)目提出通過tensorflow深度學(xué)習(xí)框架的方式來訓(xùn)練手勢圖片,以此提高手勢的識別率,具有一定的研究價值。

猜你喜歡
手勢指令鼠標(biāo)
一樣,不一樣
《單一形狀固定循環(huán)指令G90車外圓仿真》教案設(shè)計(jì)
挑戰(zhàn)!神秘手勢
新機(jī)研制中總裝裝配指令策劃研究
勝利的手勢
鼠標(biāo)折疊筆
認(rèn)手勢說數(shù)字
太空第一人
45歲的鼠標(biāo)
超能力鼠標(biāo)