楊世偉 王澤鵬 陳錦鈺
摘 要:文中設(shè)計(jì)了一種基于FDC2214芯片的手勢(shì)識(shí)別系統(tǒng)。在芯片的外接極板上方擺放不同手型會(huì)影響極板外界環(huán)境從而影響頻率值,F(xiàn)DC2214芯片將接收到的頻率值轉(zhuǎn)變?yōu)殡娙菪盘?hào)以I2C通信方式發(fā)送至STM32單片機(jī),單片機(jī)通過比對(duì)錄入手勢(shì)與測(cè)試手勢(shì)數(shù)據(jù)差異,可實(shí)現(xiàn)對(duì)剪刀、石頭、布以及1~5的精確識(shí)別。實(shí)驗(yàn)測(cè)試表明:在指定極板間距下,系統(tǒng)對(duì)任意測(cè)試者的猜拳和劃拳手勢(shì)識(shí)別正確率超過91.6%,識(shí)別響應(yīng)時(shí)間小于1 s,新測(cè)試者的手勢(shì)特征訓(xùn)練時(shí)間小于1 min。文中設(shè)計(jì)的手勢(shì)識(shí)別系統(tǒng)解決了當(dāng)今手勢(shì)識(shí)別領(lǐng)域普遍存在的成本高昂、技術(shù)復(fù)雜等問題,可在大眾化消費(fèi)應(yīng)用中普及。
關(guān)鍵詞:手勢(shì)識(shí)別;FDC2214芯片;STM 32單片機(jī);覆銅板;電容傳感器;操作器
中圖分類號(hào):TP39;TN702文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):2095-1302(2019)09-00-04
0 引 言
手勢(shì)識(shí)別技術(shù)是當(dāng)今人機(jī)交互領(lǐng)域的一項(xiàng)關(guān)鍵技術(shù),這項(xiàng)技術(shù)涉及范圍廣泛,如模式識(shí)別、智能分析、三維圖像處理、計(jì)算機(jī)視覺等。使用手勢(shì)識(shí)別方便人們與機(jī)器通信,且無需任何機(jī)械設(shè)備即可自然交互,使得常規(guī)輸入設(shè)備如鼠標(biāo)、鍵盤甚至觸摸屏變得冗余。
目前,手勢(shì)識(shí)別流程基本可劃分為圖像獲取、手勢(shì)檢測(cè)和分割、手勢(shì)分析、手勢(shì)識(shí)別四部分,其核心技術(shù)大致分為手勢(shì)分割、手勢(shì)分析和手勢(shì)識(shí)別等。當(dāng)前手勢(shì)識(shí)別的實(shí)現(xiàn)需要特別的硬件和較為復(fù)雜的算法得以支持,且造價(jià)高昂。
基于此,本文設(shè)計(jì)了以FDC2214芯片為核心的手勢(shì)識(shí)別系統(tǒng),解決了當(dāng)今手勢(shì)識(shí)別領(lǐng)域普遍存在的成本高昂、技術(shù)復(fù)雜等問題,可在大眾化消費(fèi)應(yīng)用中普及。其應(yīng)用范圍廣闊,無論是智能家居、智能可穿戴或VR等應(yīng)用領(lǐng)域,若增加手勢(shì)識(shí)別控制功能,就可極大程度優(yōu)化人與機(jī)器間的通信交流。
1 功能與結(jié)構(gòu)
手勢(shì)識(shí)別系統(tǒng)的構(gòu)造主要包括傳感器芯片(FDC2214)及外接極板、系統(tǒng)控制模塊(STM32單片機(jī))、顯示模塊以及電源模塊等。
識(shí)別操作前需對(duì)系統(tǒng)進(jìn)行訓(xùn)練,單片機(jī)將各手勢(shì)對(duì)應(yīng)的數(shù)值保存作為比對(duì)參考量。進(jìn)行識(shí)別時(shí),因不同手勢(shì)的覆蓋面積不同,會(huì)不同程度地影響測(cè)試區(qū)外接極板的外部環(huán)境,使得外部極板接收到不同的頻率值,F(xiàn)DC2214傳感器芯片可將頻率值轉(zhuǎn)換為等效電容值經(jīng)I2C通信形式傳遞至STM32單片機(jī),之后單片機(jī)通過比對(duì)識(shí)別操作和訓(xùn)練操作的數(shù)值進(jìn)行準(zhǔn)確的手勢(shì)判斷,并在顯示模塊顯示。電源模塊為系統(tǒng)供電,維持系統(tǒng)的正常工作[1-3]。系統(tǒng)模塊如圖1所示。
2 硬件電路
2.1 FDC2214
FDC2214芯片是由德州儀器(TI)推出的一款高分辨率多通道電容感測(cè)集成電路產(chǎn)品,其不受來自無線電、電源、光照和電機(jī)等環(huán)境噪聲的影響。與現(xiàn)有電容感測(cè)解決方案相比,在噪聲出現(xiàn)時(shí),F(xiàn)DC2214系列的性能提升約60倍,在任何環(huán)境下均可實(shí)現(xiàn)基于低成本電容方式的人體和物體感測(cè)。且FDC2214將電容感測(cè)的優(yōu)點(diǎn)引入到之前依賴其他感測(cè)技術(shù)的應(yīng)用中,使其具有更好的外觀、更低的系統(tǒng)成本和更可靠的解決方案,適用于汽車、消費(fèi)類和工業(yè)應(yīng)用。系統(tǒng)電路如圖2所示,芯片如圖3所示。
本文所設(shè)計(jì)的手勢(shì)識(shí)別系統(tǒng),芯片接收引腳可與外接極板相連,極大程度上擴(kuò)大接收信號(hào)的面積,且極板能根據(jù)不同要求制作成不同形狀,以增強(qiáng)準(zhǔn)確性。當(dāng)其上方有人或者物體接近時(shí),該極板接收到的頻率值改變,經(jīng)由芯片轉(zhuǎn)換的等效電容值(數(shù)量級(jí)可達(dá)百萬)也隨機(jī)發(fā)生變化。經(jīng)實(shí)驗(yàn)測(cè)得:當(dāng)距離約為1 cm、覆蓋面積約為5 cm2(大致等于最小手指覆蓋面積)時(shí)其變化量近十萬。
同時(shí),系統(tǒng)支持高速率傳輸,經(jīng)試驗(yàn)驗(yàn)證:當(dāng)波特率設(shè)為921 600時(shí)傳輸速率可達(dá)每秒約120組數(shù)據(jù),從而在極短時(shí)間內(nèi)測(cè)出相應(yīng)手勢(shì),并保證較高準(zhǔn)確率。
2.2 STM32F1單片機(jī)
STM32F1系列屬于中低端32bARM微控制器,該系列芯片由意法半導(dǎo)體(ST)公司出品,其內(nèi)核為Cortex-M3處理器。該系列芯片有多達(dá)9個(gè)通信接口,3個(gè)USART接口,低功耗、性能穩(wěn)定,工作的溫度范圍為-40~105 ℃。
STM32單片機(jī)的GPIOC11引腳與FDC2214芯片的SDA相連,用以發(fā)送與接收數(shù)據(jù);GPIOC12引腳與芯片的SCL相連,定義該口的模式為復(fù)用功能的推挽輸出。
2.3 顯示模塊
LCD1602液晶顯示屏與單片機(jī)連接,由于本設(shè)計(jì)模式簡(jiǎn)單、顯示文字少,故采用1602液晶屏,可最大程度減少系統(tǒng)體積,同時(shí)1602相對(duì)于12864或TFT彩屏耗電更低,更加節(jié)約能源。
3 軟件設(shè)計(jì)思想
3.1 核心算法
根據(jù)硬件平臺(tái)及所測(cè)數(shù)據(jù),綜合考慮后,采用求平均差值匹配的方法進(jìn)行數(shù)據(jù)分析。
平均差是所有單位與其算術(shù)平均數(shù)離差絕對(duì)值的算術(shù)平均數(shù)。離差是總體各單位的標(biāo)志值與算術(shù)平均數(shù)之差。因離差和為零,離差的平均數(shù)不能將離差和除以離差的個(gè)數(shù)求得,而必須將離差取絕對(duì)數(shù)來消除正負(fù)號(hào)。平均差是反映各標(biāo)志值與算術(shù)平均數(shù)之間的平均差異。平均差越大,表明各標(biāo)志值與算術(shù)平均數(shù)的差異程度越大,該算術(shù)平均數(shù)的代表性就越小;平均差越小,表明各標(biāo)志值與算術(shù)平均數(shù)的差異程度越小,該算術(shù)平均數(shù)的代表性就越大。
3.2 功能描述
本系統(tǒng)軟件部分主要實(shí)現(xiàn)數(shù)據(jù)的分析、按鍵設(shè)置和顯示。系統(tǒng)設(shè)有四個(gè)按鍵,可進(jìn)行模式選擇。按壓“錄入手勢(shì)”按鍵后單片機(jī)執(zhí)行錄入手勢(shì)的程序并保存數(shù)值;按壓“判決”按鍵后單片機(jī)執(zhí)行數(shù)據(jù)分析程序以判決當(dāng)前手勢(shì),并通過LCD1062液晶顯示屏輸出當(dāng)前所選擇的模式和判決結(jié)果,完成識(shí)別。
3.3 程序設(shè)計(jì)思路
主程序設(shè)有猜拳訓(xùn)練、劃拳訓(xùn)練、猜拳判定和劃拳判定四個(gè)模式。通過按鍵鍵值的調(diào)節(jié)可以控制模式轉(zhuǎn)換。在硬件設(shè)計(jì)中,我們考慮到手掌的生理構(gòu)造及普遍的擺放習(xí)慣,將芯片通道通過引線連接到不同位置、不同大小、不同形狀的極板,并測(cè)試出最準(zhǔn)確、最穩(wěn)定的模式。即將IN0,IN1,IN2三個(gè)監(jiān)測(cè)通道分別對(duì)應(yīng)手掌、大拇指及其余四根手指的位置,可通過分段數(shù)據(jù)分析逐步判斷是否有手掌、是否伸出大拇指以及其余四根手指伸出幾根。通過伸出手指的根數(shù)實(shí)現(xiàn)判斷當(dāng)前手勢(shì)的功能。程序設(shè)計(jì)流程如圖4所示。
4 算法的程序?qū)崿F(xiàn)
4.1 錄入階段
系統(tǒng)需要錄入一次空值作為基礎(chǔ)初值,該值是對(duì)當(dāng)下環(huán)境的實(shí)時(shí)描述。因?yàn)镕DC2214芯片對(duì)環(huán)境變化較為敏感、分辨率較高,因此在不同環(huán)境下各通道外接極板的數(shù)據(jù)接收值會(huì)存在較大差異,導(dǎo)致簡(jiǎn)單常數(shù)通常無法精準(zhǔn)表示實(shí)時(shí)的環(huán)境狀況。而通過初值錄入,可在最大程度上避免此類誤差的出現(xiàn)。
訓(xùn)練階段,芯片三通道引出的對(duì)應(yīng)外接極板可監(jiān)測(cè)到因手型差異而引起的環(huán)境變化。單片機(jī)將獲得的近百組數(shù)據(jù)進(jìn)行求均值計(jì)算并存放,所求得的值即該手型的特征數(shù)據(jù)描述,可作為后期判定模式下數(shù)據(jù)比對(duì)的基礎(chǔ)。
4.2 判定階段
識(shí)別系統(tǒng)處于訓(xùn)練階段時(shí),由系統(tǒng)直接測(cè)量一組數(shù)據(jù),并求平均值記為B。將同一手勢(shì)幾次測(cè)得的數(shù)據(jù)取平均值。1~5五種手勢(shì)可分別得到通道3的平均值Fre1,F(xiàn)re2,F(xiàn)re3,F(xiàn)re4,F(xiàn)re5。將這5組平均值分別與B作差,得到的結(jié)果記為ave12,ave22,ave32,ave42,ave52。這組數(shù)據(jù)同時(shí)代表在除大拇指外的四指中,有一根手指伸出時(shí),數(shù)據(jù)變化均值為ave12;有兩根手指伸出時(shí),數(shù)據(jù)變化均值為ave22,依次類推。
4.3 判決階段
在判決階段,對(duì)于通道3,將當(dāng)前手勢(shì)測(cè)得的數(shù)據(jù)平均值記為m2。令變量m02=m2-B。判斷m02與ave12,ave22,ave32,ave42,ave52的近似程度,若與ave12最接近,則判斷當(dāng)前在除大拇指外的四指中,只有一根手指伸出;若與ave22最接近,則有兩根手指伸出。依次類推,則可以得出在除大拇指外的四指中伸出的手指數(shù)量。判決流程如圖5所示。
5 設(shè)計(jì)過程
5.1 材料選用
通過serialplot軟件對(duì)用錫箔紙做傳感平面和用銅片做傳感平面的兩種方式進(jìn)行比較,發(fā)現(xiàn)若設(shè)計(jì)方案相同,銅片的效果相較錫箔紙更加明顯,所以選擇銅片做傳感平面。
5.2 傳感平面面積選擇
通過serialplot軟件對(duì)不同大小的傳感平面進(jìn)行比較,發(fā)現(xiàn)面積較大的平面,測(cè)試者的每個(gè)手勢(shì)數(shù)據(jù)差別較大,有利于識(shí)別,同時(shí)測(cè)試距離較長(zhǎng),但噪聲(穩(wěn)定期間內(nèi)波動(dòng)幅度)較大。采用小型銅片做傳感平面,測(cè)試噪聲較小,但距離限制增加。最終決定選用15 cm×20 cm的銅板。
5.3 形狀選用
本文對(duì)四種不同的方案進(jìn)行了比較。首先第一種方案為單塊銅板,波形較明顯;第二種方案為四通道的波浪形銅板,波形變化幅度可明顯觀測(cè),但是干擾較大;第三種方案為四通道12×12的正方形矩陣,設(shè)計(jì)難度較大,波形變化幅度較小;第四種方案為三通道區(qū)域形,即手掌劃分一片區(qū)域,四手指劃分一片區(qū)域,大拇指劃分一片區(qū)域,此方案相較于前三種方案波形變化明顯且設(shè)計(jì)簡(jiǎn)單,故選擇第四種方案。
5.4 結(jié)論
選擇三通道區(qū)域形15 cm×20 cm的銅片作為最終使用傳感平面。
6 實(shí)驗(yàn)結(jié)果
首先對(duì)某一位測(cè)試者進(jìn)行訓(xùn)練,每種手勢(shì)訓(xùn)練3次,當(dāng)訓(xùn)練結(jié)束后對(duì)其放置的手勢(shì)進(jìn)行判決,實(shí)驗(yàn)結(jié)果顯示,對(duì)于1~5以及石頭、剪刀、布的判讀不超過1 s,且在100次的測(cè)試中,錯(cuò)誤率小于8.4%。系統(tǒng)實(shí)物如圖6所示。
7 結(jié) 語(yǔ)
本文基于STM32單片機(jī)和FDC2214芯片設(shè)計(jì)了一款手勢(shì)識(shí)別裝置,可實(shí)現(xiàn)對(duì)剪刀、石頭、布以及1~5的精確識(shí)別,解決了當(dāng)今手勢(shì)識(shí)別領(lǐng)域普遍存在的成本高昂、技術(shù)復(fù)雜等問題,可在大眾化消費(fèi)應(yīng)用中普及。
參 考 文 獻(xiàn)
[1]戴蓉,劉波峰.傳感器原理與工程應(yīng)用[M].北京:電子工業(yè)出版社,2014:1-5.
[2]顧立忠.基于表達(dá)的手勢(shì)識(shí)別及人機(jī)交互研究[D].上海:上海交通大學(xué),2008:45-67.
[3]覃文軍.基于視覺信息的手勢(shì)識(shí)別跟蹤算法與模型研究[D].沈陽(yáng):東北大學(xué),2010:13-41.
[4]杜堃,譚臺(tái)哲.復(fù)雜環(huán)境下通用的手勢(shì)識(shí)別方法[J].計(jì)算機(jī)應(yīng)用,2016,36(7):1965-1970.
[5]呂蕾,張金玲,朱英杰,等.一種基于數(shù)據(jù)手套的靜態(tài)手勢(shì)識(shí)別方法[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2015,27(12):2410-2418.
[6]曹瑩,苗啟廣,劉家辰,等.Ada Boost算法研究進(jìn)展與展望[J].自動(dòng)化學(xué)報(bào),2013,39(6):745-758.
[7]張洪明,趙德斌,高文.基于膚色模型、神經(jīng)網(wǎng)絡(luò)和人臉結(jié)構(gòu)模型的平面旋轉(zhuǎn)人臉檢測(cè)[J].計(jì)算機(jī)學(xué)報(bào),2002,25(11):1250-1256.
[8]王茂吉.基于視覺的靜態(tài)手勢(shì)識(shí)別系統(tǒng)[D].哈爾濱:哈爾濱工業(yè)大學(xué),2006.
[9]蔡娟,蔡堅(jiān)勇,廖曉東,等.基于卷積神經(jīng)網(wǎng)絡(luò)的手勢(shì)識(shí)別初探[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2015,24(4):113-117.
[10]李騰.基于視角手勢(shì)識(shí)別的車載音樂系統(tǒng)控制[D].天津:天津工業(yè)大學(xué),2017.
[11]赫文強(qiáng),艾矯燕,赫銀峰.動(dòng)態(tài)手勢(shì)識(shí)別及在PPT播放當(dāng)中的應(yīng)用研究[J].自動(dòng)化技術(shù)與應(yīng)用,2014,33(2):59-63.
[12]張墨逸,張秋宇,蘆俊池,等.移動(dòng)單目相機(jī)下基于單應(yīng)的動(dòng)態(tài)手勢(shì)軌跡識(shí)別[J].華中科技大學(xué)學(xué)報(bào) (自然科學(xué)版),2016,44(5):7-12.
[13]劉怡明,王偉明,張?chǎng)┺?非接觸式手勢(shì)識(shí)別智能控制器設(shè)計(jì)[J].電子測(cè)試,2018(24):13-15.