<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于FPGA的手勢(shì)識(shí)別系統(tǒng)研究

          基于FPGA的手勢(shì)識(shí)別系統(tǒng)研究

          作者:陳虹玉,張福鼎(江蘇第二師范學(xué)院物理與信息工程學(xué)院,江蘇省基礎(chǔ)教育大數(shù)據(jù)應(yīng)用工程研究中心,南京 210013) 時(shí)間:2023-06-23 來源:電子產(chǎn)品世界 收藏
          編者按:相比于傳統(tǒng)鍵盤鼠標(biāo)人機(jī)交互模式,手勢(shì)識(shí)別具有更大發(fā)展?jié)摿Γ疚南却罱艘粋€(gè)有關(guān)手勢(shì)識(shí)別的框架,然后再和FPGA的硬件技術(shù)相關(guān)聯(lián),將FPGA融入手勢(shì)識(shí)別之中,并設(shè)計(jì)自己的手勢(shì)識(shí)別算法,使得能夠在平臺(tái)上得以實(shí)現(xiàn)。


          本文引用地址:http://www.ex-cimer.com/article/202306/447899.htm

          *基金項(xiàng)目:江蘇省高等學(xué)校大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計(jì)劃項(xiàng)目,項(xiàng)目編號(hào):202110900004Y;

          江蘇省高校自然科學(xué)研究面上項(xiàng)目,項(xiàng)目編號(hào):16KJB510007;

          教育部產(chǎn)學(xué)合作協(xié)同育人項(xiàng)目,項(xiàng)目編號(hào):201901163002、202002094006

          作者簡介:陳虹玉(2001—),女,2019級(jí)電子信息工程專業(yè)本科生

          通信作者:張福鼎(1982—),男,講師(Email:zfdc@qq.com)

          0 引言

          在當(dāng)今社會(huì)很多地方都要用到,具有非常廣闊的市場(chǎng)前景,通過不斷研發(fā)已經(jīng)成為一個(gè)成熟器件[1],作為一種可編程邏輯器件,具有半定制、電路靈活,門電路數(shù)多、實(shí)時(shí)性強(qiáng)、低成本等優(yōu)點(diǎn)[2],在市場(chǎng)上有了立足之地,取得優(yōu)異成績,并朝著多元化發(fā)展方向發(fā)展[3]。 最大特點(diǎn)是靈活可實(shí)現(xiàn)各種電路設(shè)計(jì),因此漸漸取代其他電子設(shè)計(jì),成為了眾多廠商及個(gè)人的首選[4]。

          先前的人機(jī)交互是傳統(tǒng)的鍵盤及鼠標(biāo)模式,而現(xiàn)在的交互模式更加寬泛[5]。手勢(shì)是最能表達(dá)人類動(dòng)作的一種形式,反映出來的是最直觀的感受,在這計(jì)算機(jī)流行的時(shí)代,能否將手勢(shì)和機(jī)器語言聯(lián)系在一起,呈現(xiàn)出人機(jī)互動(dòng)的形式,特別是當(dāng)今游戲盛行的時(shí)代,手語識(shí)別系統(tǒng)也可以應(yīng)用到游戲中[6]。最常見的體感游戲便是最好的證明,人類通過穿戴體感設(shè)備,從而將人體運(yùn)動(dòng)傳輸?shù)诫娔X中,經(jīng)過處理并及時(shí)顯現(xiàn)出來[7]。

          因此在生活中的運(yùn)用十分廣泛,所以越來越多的人致力于此項(xiàng)研究,類如數(shù)據(jù)手套的常見識(shí)別系統(tǒng)也是層出不窮,而手勢(shì)系統(tǒng)這一新生事物還處于研發(fā)階段,所以價(jià)格還很高,不適用于普及當(dāng)今社會(huì),人們著力于研究的發(fā)展技術(shù),力圖在方面獲得更多的成功。手勢(shì)識(shí)別系統(tǒng)的研究的重要性已經(jīng)不言而喻,在未來的生活中,手勢(shì)識(shí)別將會(huì)迅速發(fā)展[8]。

          手勢(shì)識(shí)別是人類和儀器溝通的橋梁,能否完成手勢(shì)識(shí)別這一任務(wù),也關(guān)系到和電腦等機(jī)器的互動(dòng)和溝通[9]。然而,現(xiàn)在手勢(shì)識(shí)別技術(shù)還不成熟,基于計(jì)算機(jī)視覺的交互系統(tǒng)容易收到外界干擾,不能識(shí)別大量手勢(shì)[10]。手勢(shì)跟蹤等[11]穩(wěn)定性差,使得手勢(shì)成為一種復(fù)雜可變形體,有時(shí)甚至不能準(zhǔn)確識(shí)別出來[12]。

          本論文的主要內(nèi)容是基于 的手勢(shì)識(shí)別系統(tǒng)研究,先搭建了手勢(shì)識(shí)別框架,并設(shè)計(jì)手勢(shì)識(shí)別算法,外部硬件由數(shù)據(jù)收集模塊、信號(hào)處理模塊、結(jié)果顯示模塊和外部觸摸板模塊組成,再根據(jù)對(duì)應(yīng)的算法來實(shí)現(xiàn)他們的功能。

          1 基于FPGA的手勢(shì)識(shí)別系統(tǒng)

          1.1 硬件框架

          基于FPGA 的硬件框架如圖1 所示,分為數(shù)據(jù)采集模塊,信號(hào)處理模塊,結(jié)果顯示模塊,外部觸摸板模塊和攝像頭模塊。

          1687497078543450.png

          為了日??梢噪S身攜帶,也為了方便我們的穿戴,所以安裝在人體身上的模塊必須要小巧簡單,因此選擇了尺寸較小的采集模塊,具體的數(shù)據(jù)為長30 mm,寬15mm,厚2mm。具體的由控制器和傳感器組合而成,通過捕捉人體移動(dòng)信號(hào),將信號(hào)從控制器發(fā)向傳感器,由傳感器進(jìn)行數(shù)據(jù)采樣,最后再通過控制芯片傳遞給其他設(shè)備。經(jīng)測(cè)定,sEMG 傳感器工作時(shí)的信噪比保持在20dB 以上,ACC 芯片在運(yùn)轉(zhuǎn)之時(shí)有很多狀態(tài),尤其是在1.5 gn 時(shí),會(huì)形成一個(gè)驚人的信號(hào),分辨率超出很多科學(xué)家的想象。此時(shí)對(duì)信號(hào)傳輸?shù)囊髸?huì)非常高,需要不容易產(chǎn)生波動(dòng)、大小合適,所以在此推薦CC2500 這個(gè)芯片。CC2500 之所以獲得眾多公司的青睞,除了以上的特長,還能夠幫助公司節(jié)約能源損耗,為公司的利益也是謀取了福利。在數(shù)據(jù)采集模塊中,這兩個(gè)芯片不可或缺,起到了至關(guān)重要的作用,更加有利于對(duì)實(shí)時(shí)數(shù)據(jù)的采集。

          信號(hào)處理模塊首先配備了獲得信號(hào)的設(shè)備,為了得到精準(zhǔn)的信號(hào),我們這里采用CC2500,可以連接在FPGA 上,但是他們兩個(gè)卻絲毫沒有關(guān)系,分別處于不同的頻道,不影響各自的工作。信號(hào)處理模塊包含了多個(gè)硬件,而其中最關(guān)鍵的、最為核心的,便是FPGA 了。

          FPGA 的硬件構(gòu)成較為復(fù)雜,其中有上萬邏輯單元等。收集模塊已經(jīng)收集到了sEMG 和ACC 信號(hào),那么在處理模塊中的主要目的就是識(shí)別這兩個(gè)信號(hào),在接下來的軟件設(shè)計(jì)中,將會(huì)詳細(xì)說明算法。FPGA 所對(duì)應(yīng)的功能已經(jīng)在上述中所詳細(xì)介紹,對(duì)應(yīng)的如圖2 所示。

          1687497191167882.png

          結(jié)果顯示模塊的功能是顯示識(shí)別的結(jié)果,要求在LCD屏上快速顯現(xiàn)出來,對(duì)其處理速度有一定要求,所以我們?cè)诖四K配備了LCD屏及單片機(jī),采用的單片機(jī)也具有超高的配置,和如今的USB 接口一樣,傳輸速度使得我們立馬就能在LCD 屏上看見結(jié)果。

          觸摸板結(jié)構(gòu)圖如圖3 所示,核心處理器是STM32微處理器,為了方便具體使用,在處理器上外接一塊控制板,觸摸屏控制板的型號(hào)是TSC2046,觸摸板在模塊中的作用就是選擇手勢(shì)識(shí)別出來的結(jié)果,如果沒有與之相匹配的,就通過觸摸板,輸入自己想表達(dá)的手勢(shì),另外,觸摸板上還能顯示其他信息,如顯示電池容量,顯示實(shí)時(shí)溫度等。

          1687497251211362.png

          攝像頭模塊是作為整個(gè)系統(tǒng)的一個(gè)關(guān)鍵,如果不能實(shí)現(xiàn)這一模塊,將會(huì)無法進(jìn)行準(zhǔn)確的識(shí)別,影響手勢(shì)識(shí)別結(jié)果的處理。此模塊的工作原理相當(dāng)簡單,首先攝像頭鎖定人手的具體方位,向處理模塊實(shí)時(shí)運(yùn)達(dá)手勢(shì)的變化,同時(shí),鎖定了方位后,聯(lián)合傳感器,確定其他移動(dòng)設(shè)備,具體應(yīng)用見如圖4 所示。

          1687497325120172.png

          1.2 軟件框架

          當(dāng)信號(hào)發(fā)生在活動(dòng)段的時(shí)候,屏幕上就會(huì)出現(xiàn)sEMG信號(hào),此時(shí)意味著活動(dòng)段算法開始執(zhí)行。因?yàn)樾盘?hào)的差異性,所以要對(duì)收集到的數(shù)據(jù)進(jìn)行整理,然后傳遞給下一模塊,在下一模塊中檢測(cè)接收數(shù)據(jù),根據(jù)傳遞的順序,依次接收信號(hào)。在活動(dòng)段中,傳送的單位是幀,也就是說完成傳遞個(gè)1 信號(hào),就意味著1 幀的結(jié)束。

          活動(dòng)段獲取算法是數(shù)據(jù)采集模塊所對(duì)應(yīng)的軟件算法,通過計(jì)算平均絕對(duì)值,再用它來設(shè)計(jì)算法,具體完成操作如圖5 所示。由于不同的通道信號(hào)的數(shù)值是各不相同的,所以要計(jì)算出其總和,那么就需要采用以下方法,設(shè)置1個(gè)累加器1,用幀同步信號(hào)作為累加器1 的清零端,用位同步信號(hào)作為累加器1 時(shí)鐘,數(shù)據(jù)取絕對(duì)值后流入累加器1,每個(gè)幀同步來到時(shí)累加器1 輸出1次結(jié)果。32 點(diǎn)移動(dòng)平均用移位寄存器的結(jié)構(gòu)實(shí)現(xiàn),幀同步信號(hào)為移位寄存器提供時(shí)鐘,在每個(gè)時(shí)鐘周期進(jìn)行1次移位,累加器2 加入新進(jìn)寄存器的值,減去移出寄存器的值,累加的結(jié)果與閾值比較。采用了這種簡便的算法后,給活動(dòng)段的檢測(cè)帶來了不少好處,既提升了檢測(cè)效率,又沒有過多的浪費(fèi)資源。為了更好的檢測(cè)兩只手同時(shí)做出的手勢(shì),我們?cè)诖朔胖昧藘蓚€(gè)檢驗(yàn)?zāi)K。

          1687497430274542.png

          在這特征算法這一階段,首要目標(biāo)就是找到特征值,就是對(duì)收集到的信號(hào),計(jì)算出它的絕對(duì)平均值。在外面的SRAM 充當(dāng)了數(shù)據(jù)收集的作用,里面集合了完整的數(shù)據(jù),此時(shí)的信號(hào)被傳送到下一階段之時(shí),它所對(duì)應(yīng)的在SRAM 中就有唯一的地址,然后對(duì)其做好記號(hào),傳送結(jié)束后,此時(shí)又有新的對(duì)應(yīng)的地址,并做好新的標(biāo)記。接下來,就可以通過整理出來的地址數(shù)據(jù),先分別提取出來,再完成運(yùn)算。

          ACC 信號(hào)是本次實(shí)驗(yàn)中一個(gè)不可或缺的信號(hào),其主要目的在于確定手勢(shì)的具體地址,為了更好的確定其坐標(biāo),可以用公式AX i/N u=Σ|X i-A|/N,后者是為了了解手勢(shì)的擺動(dòng)幅度。經(jīng)過嚴(yán)格的推理和證明,發(fā)現(xiàn)這兩個(gè)公式可以簡化,并合成為1 個(gè)新的公式,即F=Σ|X i-C|/N,這個(gè)公式可以同時(shí)計(jì)算出平均值和一階矩,可以說是十分便利,只需滿足條件C =0 和C =A,毫無疑問,這種計(jì)算方法有利的提高了計(jì)算的效率,也有效的解決了過多的占用FPGA 資源的問題,達(dá)到了省時(shí)省力的效果。

          因?yàn)椴捎玫氖浅ㄋ惴?,所以?nèi)部占據(jù)了數(shù)量龐大的邏輯單元,從多次運(yùn)算的實(shí)踐中可以看到,通過反復(fù)的算法實(shí)現(xiàn),ACC 的出現(xiàn)是固定的,局限在固定數(shù)值之內(nèi),一般認(rèn)為這個(gè)數(shù)值是256,再根據(jù)乘法運(yùn)算,把所有可能出現(xiàn)的N 的倒數(shù)1/N(0~255)乘以65 536(2的16 次方)得到65 536/N,按照一一對(duì)應(yīng)的原則,依次傳遞給RAM,將生成的地址,再傳遞給ROM,最后能夠計(jì)算出結(jié)果為65 536/N。接下來的步驟就是借助乘法器,在位數(shù)移動(dòng)16 位的基礎(chǔ)之上進(jìn)行乘法運(yùn)算,最終獲取結(jié)果,最準(zhǔn)確的數(shù)值可以達(dá)到萬分之一,采用這種方法,既節(jié)約了計(jì)算的時(shí)間,又達(dá)到了精度高的要求,對(duì)于能夠?qū)崟r(shí)的進(jìn)行大量的特征運(yùn)算,達(dá)到了這一目的。

          識(shí)別算法分為兩個(gè)步驟:首先,為了更好地確定其坐標(biāo),根據(jù)之前算法得出的特征進(jìn)行第1 次分類,然后結(jié)合sEMG 信號(hào),對(duì)其第2 次分類。為了確定手勢(shì)的具體位置,我們進(jìn)行以下步驟:先完成特征算法,計(jì)算出對(duì)應(yīng)的平均值,最后對(duì)均值進(jìn)行分析判斷得出。要實(shí)現(xiàn)對(duì)靜態(tài)和動(dòng)態(tài)的區(qū)分,用兩者的一階矩作為判定的依據(jù),當(dāng)大于其對(duì)應(yīng)的閾值時(shí)是動(dòng)態(tài)手勢(shì),與之相反,就是靜態(tài)手勢(shì)。在識(shí)別算法中的分類不是沒有好處的,如果沒有進(jìn)行分類識(shí)別,會(huì)給這一算法帶來巨大的計(jì)算量,影響識(shí)別效率。

          完成分類后,把5 通道sEMG 的絕對(duì)均值組成特征向量,設(shè)計(jì)正態(tài)分布下的貝葉斯分類器對(duì)手勢(shì)動(dòng)作進(jìn)行精確的分類識(shí)別。分類器的結(jié)構(gòu)如圖6 所示。

          image.pngimage.png

          圖6 分類器結(jié)構(gòu)

          其中,X=(x1,x2, …,xd-1xd),gi(X) 為類別wi的判別函數(shù),N 為類別數(shù)。在這個(gè)手勢(shì)識(shí)別算法中,分類器采用了對(duì)應(yīng)的算法,對(duì)這個(gè)規(guī)則我們給予詳細(xì)的介紹,存在一個(gè)密度函數(shù)P(X|wi) 符合給定條件,呈正態(tài)分布的形式,μi 和Σi 分別表示X 在類別wi 下的均值向量和協(xié)方差陣。經(jīng)過化簡,我們可以得到如下公式gi(X)=-ln|Σ|-(X-μi )Σ-1i(X-μi ),i=1,2,3,…,N。

          為了增加函數(shù)的準(zhǔn)確性,采用不同的數(shù)據(jù),代入分類器實(shí)踐操作,這樣就能夠了解函數(shù)的組成部分。此時(shí)的算法還不能準(zhǔn)確的對(duì)手勢(shì)進(jìn)行識(shí)別,仍需要借助在電腦上模擬完成。經(jīng)過反復(fù)的訓(xùn)練,將生成的數(shù)據(jù)同函數(shù)融合在一起,便可以載入FPGA 的自生成ROM 中。最后對(duì)特征向量不斷的運(yùn)算,在電腦上就可以呈現(xiàn)結(jié)果。

          在本文的手勢(shì)系統(tǒng)中,對(duì)單手和雙手的識(shí)別是兼容的,對(duì)其數(shù)據(jù)采集后,都可以運(yùn)行特征算法,并實(shí)現(xiàn)分類,最后在屏幕上呈現(xiàn)出手勢(shì)。識(shí)別結(jié)果用1 個(gè)字節(jié)表示,用bit 來顯示所代表的含義。單片機(jī)通過解析這個(gè)字節(jié)便可得知所需信息,進(jìn)一步做出反應(yīng)。不論是單手手勢(shì)的識(shí)別,還是雙手手勢(shì)的識(shí)別,都確保了時(shí)效性,立馬就能識(shí)別出手勢(shì)特征,對(duì)手勢(shì)識(shí)別速度的發(fā)展做出貢獻(xiàn)。觸摸模塊軟件算法實(shí)現(xiàn)主要包括:

          1)ucos 系統(tǒng)建立任務(wù),包括主任務(wù),用戶界面任務(wù),CAN 報(bào)文接收任務(wù)等;

          2)ucGUI 圖形用戶界面程序,設(shè)計(jì)相關(guān)操作界面;

          3)中斷服務(wù)程序,執(zhí)行CAN 總線接收的中斷處理;

          4)硬件平臺(tái)初始化程序,包括時(shí)鐘,CAN 模塊,觸摸屏等等的初始化;

          5)LCD 的底層驅(qū)動(dòng)函數(shù)。

          攝像上傳識(shí)別算法實(shí)現(xiàn)其主要思想是在攝像頭固定的情況下,通過減去背景圖像方法進(jìn)行運(yùn)動(dòng)部分識(shí)別。在采集攝像頭數(shù)據(jù)后,首先要對(duì)背景進(jìn)行建模。本系統(tǒng)采用基于統(tǒng)計(jì)的背景模型提取方法,以一段時(shí)間內(nèi)某像素點(diǎn)所在區(qū)域亮度的平均值作為該像素點(diǎn)的背景值。之后對(duì)實(shí)時(shí)圖像進(jìn)行高斯平滑,并與背景圖像相減再二值化,將得到的差值圖像通過膨脹、腐蝕等形態(tài)學(xué)濾波后,尋找最大連通區(qū)域,從而確定運(yùn)動(dòng)部位坐標(biāo)。

          參考文獻(xiàn):

          [1] 羅娜.基于OpenCV的自然手勢(shì)識(shí)別與交互系統(tǒng)研究[D]: 廣州:廣東工業(yè)大學(xué), 2012.

          [2] GUPTA A, V K SEHRAWAT, M KHOSLA. FPGA based real time human hand gesture recognition System[J]. Procedia Technology, 2012, (6)98-107.

          [3] 周天彤等. 基于unity和kinect的交警手勢(shì)識(shí)別仿真系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)[J].計(jì)算機(jī)測(cè)量與控制, 2016, 24(5): 156-159.

          [4] 龔陶波.基于計(jì)算機(jī)視覺的靜態(tài)手勢(shì)識(shí)別系統(tǒng)[D].武漢:華中師范大學(xué), 2008.

          [5] 譚同德,郭志敏.基于雙目視覺的人手定位與手勢(shì)識(shí)別系統(tǒng)研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2012,33(1): 259-264.

          [6] 湯志彥,馮哲.適用于機(jī)器人視覺的手勢(shì)識(shí)別系統(tǒng)[J].計(jì)算機(jī)工程與應(yīng)用, 2005(16): 51-54.

          [7] 曾維.手勢(shì)識(shí)別系統(tǒng)中手指及指尖檢測(cè)方法[J].國外電子測(cè)量技術(shù), 2013, 32(4): 39-42.

          [8] 杜釗君.基于體感傳感器的手勢(shì)識(shí)別及人機(jī)交互系統(tǒng)研究[D].武漢:武漢科技大學(xué), 2013.

          [9] 劉江華,陳佳品,程君實(shí).用于人機(jī)交互的靜態(tài)手勢(shì)識(shí)別系統(tǒng)[D].紅外與激光工程, 2002(6): 499-503.

          [10] 王茂吉.基于視覺的靜態(tài)手勢(shì)識(shí)別系統(tǒng)[J].哈爾濱:哈爾濱工業(yè)大學(xué), 2006.

          [11] 魯姍丹,周松斌,李昌.基于多光源紅外傳感技術(shù)的手勢(shì)識(shí)別系統(tǒng)[J].自動(dòng)化與信息工程, 2015, 36(2): 22-26.

          [12] 徐成,馬翌倫,劉彥.一種基于嵌入式系統(tǒng)實(shí)時(shí)交互的手勢(shì)識(shí)別方法[J].計(jì)算機(jī)應(yīng)用研究,2011,28(7): 2782-2785.

          (本文來源于《電子產(chǎn)品世界》雜志2023年6月期)



          關(guān)鍵詞: 202306 FPGA 手勢(shì)識(shí)別

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();