郭 霞, 譚亞麗, 申 淼
(西安交通大學 城市學院, 陜西 西安 710018)
手勢是生活當中一種自然而直觀的人際交流模式,而人機交互技術(shù)也隨著計算機技術(shù)的發(fā)展而不斷進步,因此人們對于人機交互的便捷性、實時性的要求也就越來越高[1~3]。手勢識別正順應(yīng)這一發(fā)展潮流,能使人與計算機的交互變得像人與人之間的交流那樣便捷、自然。因此,手勢識別技術(shù)已成為人機交互領(lǐng)域的一個重要研究課題[4~6]。
針對基于圖像的手勢識別方法應(yīng)用的局限性問題,本文主要采用了TI公司最新推出的低功耗、低成本、高分辨率的非接觸式電容式傳感器FDC2214進行手勢特征提取,在STM32中實現(xiàn)手勢的訓練與識別,最終將識別效果由OLED液晶顯示出來。
本文系統(tǒng)以STM32F103RCT6為主控單元,獨立鍵盤為輸入單元,F(xiàn)DCC2214電容式傳感器為檢測單元,OLED液晶為顯示單元組成手勢識別系統(tǒng),其硬件框圖如圖1所示。
圖1 總體設(shè)計硬件框圖
STM32F103RCT6是ST公司專為要求高性能、低成本、低功耗嵌入式應(yīng)用專門設(shè)計的ARM Cortex-M3架構(gòu)內(nèi)核的32位處理器產(chǎn)品[7],內(nèi)置128 kB的FLASH,20 kB的RAM,12位A/D,4個16位定時器和3路USART通信等多種資
源,時鐘頻率最高可達72 MHz,是同類產(chǎn)品中性能最高的產(chǎn)品[8,9]。
手勢識別是整個系統(tǒng)中最重要的環(huán)節(jié),其數(shù)據(jù)的即時性和準確性直接影響著整個系統(tǒng)的穩(wěn)定情況[10]。本文設(shè)計中手勢識別檢測單元為FDC2214,其工作電壓為3.3 V ,傳感器還具有高速的I2C接口,8 腳的軟排線可以方便地接入各種系統(tǒng)。
1.3.1 FDC2214檢測基本原理
FDC2214是基于LC諧振電路原理的電容檢測傳感器。其基本原理如圖2所示。
圖2 FDC2214檢測基本原理
FDC2214前端由諧振電路驅(qū)動器組成,在芯片每個檢測通道的輸入端連接一個電感器和電容器,組成LC電路,被測電容傳感端(圖2中灰色標識部分即為被測電容)與LC電路相連接,將產(chǎn)生一個振蕩頻率fS,后面跟著一個多路復用器,其依次通過主動通道,將各通道連接到測量數(shù)字化傳感器頻率的核心Core。該內(nèi)核使用參考頻率fREF來測量傳感器頻率。fREF來源于內(nèi)部參考時鐘(振蕩器)或外部提供的時鐘。每個通道的數(shù)字化輸出是成比例的與fS/fREF的比率,將該值設(shè)為DAXA。I2C接口用于支持設(shè)備配置和傳輸數(shù)字化DAXA給STM32主處理器。
根據(jù)式(1)可得出所測頻率值的大小
(1)
再根據(jù)fS計算出被測電容值
(2)
式中L,C為輸入端連接的電感值和電容值,在本次設(shè)計中,L=18 μH,C=33 pF。
1.3.2 手勢感應(yīng)原理
利用FDC2214的工作原理可實現(xiàn)手勢接近和識別的功能,F(xiàn)DC2214中“Copper Sensor”部分稱為“FDC2214的傳感平面”,該平面為導體材質(zhì),系統(tǒng)采用了單面敷銅板,當人手接近敷銅板平面時,傳感端的電容值發(fā)生了變化,導致LC電路振蕩頻率的變化,根據(jù)式(1)和式(2)即可反映出手勢接近,在STM32中實現(xiàn)手勢信號識別。
為方便操作和直觀顯示處理結(jié)果,系統(tǒng)安裝有鍵盤和顯示單元 ,可以實時進行操作和顯示識別結(jié)果[11]。
本文采用功耗低,體積小的0.96in(1in=2.54 cm)的OLED 作為顯示單元。OLED,即有機發(fā)光二極管(organic light emitting diode,OLED)由于同時具備自發(fā)光,不需背光源、對比度高、厚度薄、視覺廣、反應(yīng)速度快、可用于撓曲性面板、使用溫度范圍廣、構(gòu)造及制造較簡單等優(yōu)勢,是當前平面顯示器新型應(yīng)用技術(shù)。OLED顯示屏與STM32芯片通過I2C協(xié)議進行通信實現(xiàn)多功能顯示。
人機交互中的鍵盤由3個按鍵組成,分別對應(yīng)3個硬件中斷(int0,int1,int2),來實現(xiàn)模式的選擇以及切換。本文系統(tǒng)要求有兩種游戲模式即游戲一(石頭、剪刀、布)和游戲二(1,2,3,4,5),兩種工作模式即判別模式和訓練模式,故需要以上拉電阻器構(gòu)成3個外圍按鍵開關(guān)電路便可以實現(xiàn)這4種功能。原理如圖3所示。
圖3 鍵盤及外圍電路原理
本文系統(tǒng)為手勢識別裝置,通過電容傳感器FDC2214電容值的變化,識別指定手勢。系統(tǒng)中含有兩個游戲:猜拳(石頭,剪刀,布)和劃拳(1,2,3,4,5);兩個模式分別為訓練模式和判決模式:訓練模式為對任意測試者進行猜拳和劃拳的手勢訓練,每種動作訓練次數(shù)不大于3次,總的訓練時間不大于3 min;判決模式能對參賽者指定人員進行猜拳和劃拳判決,要求每次判決的時間不大于1 s。
系統(tǒng)的程序設(shè)計主要包括主程序和中斷處理程序,主程序主要完成計算和顯示,中斷處理程序是指定時器中斷,主要完成數(shù)據(jù)的的采集和鍵盤的掃描及處理。 圖4給出主程序流程。
圖4 主程序流程
考慮到影響該電容式傳感器干擾因素較多,分模塊調(diào)試完畢后,再進行系統(tǒng)整體測試,其系統(tǒng)實物如圖5所示。
圖5 手勢識別系統(tǒng)實物
在測試過程中需要不斷實驗,反復對比數(shù)據(jù)。其調(diào)試步驟如下:
1)猜拳手勢的訓練與識別
a.裝置工作在訓練模式下,對任意測試者進行猜拳(石頭、剪刀、布)的手勢訓練,每種動作訓練次數(shù)不大于3次,總的訓練時間不大于2 min;
b.切換工作模式到判決模式,隨機找到被訓練的人員,將手勢放置于測試區(qū),對于石頭、剪刀、布分別進行多次猜拳判決,每次識別的時間不大于1 s。
2)劃拳手勢的訓練與識別
a.裝置工作在訓練模式下,對任意測試者進行劃拳(1,2,3,4,5)的手勢訓練,每種動作訓練次數(shù)不大于3次,總的訓練時間不大于2 min;
b.切換工作模式到判決模式,隨機找到被訓練的人員,將手勢放置于測試區(qū),多次進行實驗,對于1,2,3,4,5分別進行多次劃拳判決,每次識別的時間不大于1 s。
經(jīng)過多次實驗檢測可以十分精確地識別出被測者手勢,測試結(jié)果統(tǒng)計如表1。
表1 手勢識別率
由表1可以看出,可得出手勢“1”的識別率最高,為99 %,“布”和“5”的識別率最低,為95 %,8種手勢的平均識別率為96.75 %。
在識別速度方面,對每個手勢識別所需要的時間大致相同,由上述對毎個手勢進行的100次測試得出,每個手勢的平均識別時間保持在100 ms以內(nèi),8種手勢的總體平均識別時間為96.45 ms,滿足設(shè)計要求。
本文提出的基于FDC2214的手勢識別系統(tǒng),解決了基于圖像的手勢識別對于環(huán)境的依賴問題,通過實驗測試,在識別準確度上,各種定義手勢的識別率為95 %以上,系統(tǒng)響應(yīng)延時基本保持在0.5 s之內(nèi),基本上達到人機交互的基本要求和實驗的期望結(jié)果,說明該系統(tǒng)可以廣泛應(yīng)用于人機交互的手勢識別系統(tǒng)中。