【導(dǎo)讀】智能手勢識別輸入系統(tǒng)分為兩種形式,一種是手持端即手勢數(shù)據(jù)采集模塊,一種是主機端即數(shù)據(jù)接收處理模塊。這兩種形式都是通過無線方式連接,區(qū)別在于手持端佩戴在手指上對手勢數(shù)據(jù)進(jìn)行采集,主機端則與PC機接口,能夠接受手勢數(shù)據(jù)并智能處理。
Smartmouse智能手勢輸入裝置,可準(zhǔn)確識別人的各種手勢并依據(jù)手勢流暢的進(jìn)行如移動鼠標(biāo)、左鍵、右鍵、刪除、確定、取消、移動文件等等相應(yīng)操作。信號采集端可實時完整的采集人手部動作的信息,經(jīng)整理后以相應(yīng)的數(shù)據(jù)格式通過2.4G無線頻段傳輸給PC或接收機上的主機端;主機端可在無需任何驅(qū)動程序的前提下將自身例化為USB接口形式的鼠標(biāo)鍵盤復(fù)合設(shè)備;接收數(shù)據(jù)后,對數(shù)據(jù)進(jìn)行智能化處理,識別出手勢所表達(dá)的意義,同時將相應(yīng)操作反饋給PC或接收機。對手勢的識別率應(yīng)達(dá)到消費類電子的水平。
圖1 系統(tǒng)原理框圖
1 系統(tǒng)功能實現(xiàn)原理
Smartmouse智能輸入系統(tǒng)采用加速度傳感器對使用者的手部動作數(shù)據(jù)進(jìn)行采集和初步識別,結(jié)合無線通信和USB接口技術(shù),通過自創(chuàng)的簡單且智能的手勢識別處理算法,將得到的手部動作信息通過USB接口傳輸給PC或接收機,使用戶能夠以更符合肢體動作習(xí)慣的方式對PC進(jìn)行控制,給用戶帶來全新的操作體驗。
Smartmouse智能輸入系統(tǒng)硬件結(jié)構(gòu)框圖如下圖2所示。
圖2 系統(tǒng)硬件結(jié)構(gòu)框圖
(1)手勢數(shù)據(jù)采集
Smartmouse智能手勢輸入系統(tǒng)的手持端需對使用者手部動作數(shù)據(jù)進(jìn)行連續(xù)且準(zhǔn)確的采樣,并將采集到的手部動作數(shù)據(jù)通過無線形式傳輸給連接在PC機USB接口上的主機端。本系統(tǒng)采用美新公司生產(chǎn)的雙軸MEMS加速度傳感器芯片MXC6202xMP作為主要的手勢動作感知器件,在正確感知手部動作數(shù)據(jù)的同時,達(dá)到低功耗、高精度的要求。
(2)數(shù)據(jù)接收與處理
連接在PC機USB口上的主機端,即數(shù)據(jù)接收與處理模塊,將自身例化為PC機的鼠標(biāo)和鍵盤復(fù)合設(shè)備,同時將通過無線方式接收到的手勢數(shù)據(jù)通過識別算法進(jìn)行智能處理,將處理后的結(jié)果以鼠標(biāo)鍵盤操作數(shù)據(jù)的形式傳輸給PC機。數(shù)據(jù)接收與處理模塊與PC機的連接過程無需安裝任何驅(qū)動,可實現(xiàn)即插即用。對手勢數(shù)據(jù)的識別率能夠滿足消費類電子要求。本系統(tǒng)中以AVR單片機為核心處理單元,負(fù)責(zé)將設(shè)備按照USB協(xié)議枚舉為USB復(fù)合設(shè)備,管理無線收發(fā)模塊,并通過無線模塊對手持端進(jìn)行管理,同時將接收到的手勢數(shù)據(jù)通過自創(chuàng)的手勢識別算法進(jìn)行分析,將結(jié)果發(fā)送給主機端。
(3)數(shù)據(jù)的傳輸
采集的手勢數(shù)據(jù)的傳輸采用當(dāng)前在消費類電子產(chǎn)品領(lǐng)域應(yīng)用比較廣泛的2.4G頻段,在保證帶寬的前提下準(zhǔn)確傳輸數(shù)據(jù)和控制信息,同時可實現(xiàn)設(shè)備休眠等降低功耗的操作。
(4)主機端與PC接口
主機端即手勢數(shù)據(jù)處理模塊通過USB接口與PC機進(jìn)行連接,將自身例化為PC機的鍵盤鼠標(biāo)復(fù)合設(shè)備,在不需要任何驅(qū)動的前提下實現(xiàn)即插即用。
(5)電源供給
手持端采用微型鋰電池作為電源,體積較小并可進(jìn)行重復(fù)充電與使用。同時通過休眠、停機等操作降低系統(tǒng)功耗。
主機端通過主機USB接口供電,在長時間不使用情況下可進(jìn)行休眠操作。
(6)智能識別率
Smartmouse智能手勢輸入系統(tǒng)需要流暢的對PC機進(jìn)行操作,對手勢的識別率有較高要求,同時能對現(xiàn)今比較流行的演示軟件進(jìn)行復(fù)雜操作。本設(shè)計中通過32位AVR單片機對接收到的手勢數(shù)據(jù)進(jìn)行處理,結(jié)合本團(tuán)隊自創(chuàng)的手勢識別算法,識別出手勢具有的意義。
[page]
2 硬件平臺選用及資源配置
由于本系統(tǒng)所包含的模塊眾多、算法復(fù)雜,同時對功耗、穩(wěn)定性又有很高要求,所以在平臺的選擇時分兩個步驟進(jìn)行:
功能實現(xiàn)階段,主要為完善手勢識別算法、USB接口協(xié)議、無線通訊協(xié)議等。各個部分均使用現(xiàn)成模塊。無線收發(fā)部分采用TI公司生產(chǎn)的eZ430無線收發(fā)模塊;算法硬件實現(xiàn)和USB接口等的管理采用Atmel公司提供的EVK1100開發(fā)板。
作品完善階段,在實現(xiàn)手勢識別算法、USB接口協(xié)議、無線通訊協(xié)議等的基礎(chǔ)上,使用Atmel公司的生產(chǎn)的ATXMEGA32D4單片機和無線收發(fā)芯片AT86RF212自制手持端;采用AT32UC3L064單片機和無線收發(fā)芯片AT86RF212實現(xiàn)主機端的數(shù)據(jù)接收、手勢識別算法和USB接口管理。
3 系統(tǒng)程序架構(gòu)
本系統(tǒng)中,軟件設(shè)計主要分為手勢數(shù)據(jù)采集、無線通訊協(xié)議、手勢數(shù)據(jù)識別算法和USB接口協(xié)議幾部分。
手勢數(shù)據(jù)采集:在主機端的控制下對手勢數(shù)據(jù)進(jìn)行采集并按一定的格式打包準(zhǔn)備進(jìn)行傳輸;
無線通訊協(xié)議:管理手持端與主機端之間的連接和數(shù)據(jù)傳輸;
手勢識別算法:為本系統(tǒng)中的算法核心,采用一種自創(chuàng)的基于加速度傳感器數(shù)據(jù)的智能識別算法,對手勢數(shù)據(jù)進(jìn)行處理,得出手勢所具有的意義;
USB接口協(xié)議:管理主機端與PC或接收機之間的連接,將主機端枚舉為電腦的鼠標(biāo)鍵盤復(fù)合設(shè)備,實現(xiàn)在無驅(qū)動條件下的即插即用。
4 系統(tǒng)程序流程
本系統(tǒng)中程序主要分為手持端程序和主機端程序,程序流程圖如下圖3所示。
圖3 程序運行流程圖
5 系統(tǒng)預(yù)計實現(xiàn)結(jié)果
借助Atmel提供的EVK1100系列開發(fā)板和TieZ430無線模塊實現(xiàn)樣機一套,實現(xiàn)鼠標(biāo)所有功能,并能對簡單的瀏覽軟件進(jìn)行控制,同時達(dá)到識別準(zhǔn)確率90%以上。自制產(chǎn)品初級模型一套,實現(xiàn)鼠標(biāo)所有功能,同時具有“空中畫筆”功能,能對簡單的瀏覽軟件進(jìn)行流暢的控制,達(dá)到準(zhǔn)確識別90%以上。
相關(guān)閱讀:
在阻性觸摸屏上實現(xiàn)手勢識別
用加速度傳感器來進(jìn)行手勢識別器的設(shè)計
還不知道正確的數(shù)據(jù)采集模式?你OUT了!