【摘 要】針對(duì)目前微觀交通仿真系統(tǒng)中缺乏更靈活的多點(diǎn)觸控系統(tǒng)手勢(shì)交互模塊以及對(duì)觸摸手勢(shì)含義的理想描述和識(shí)別,提出了一種高性能的算法并優(yōu)化多點(diǎn)觸控指令,使其更符合用戶的思維與認(rèn)知。設(shè)置觸點(diǎn)位移和觸摸時(shí)間的雙閾值來提高觸點(diǎn)識(shí)別的精確性,防止突增雜點(diǎn)的誤判斷,減緩過快操作產(chǎn)生的抖動(dòng);采用統(tǒng)計(jì)分析和模型匹配識(shí)別算法來解決動(dòng)態(tài)手勢(shì)識(shí)別的問題,還引入界面widget飾物,大大提高了多點(diǎn)觸摸手勢(shì)識(shí)別的效率和精確度。
【關(guān)鍵字】多點(diǎn)觸摸 觸摸手勢(shì) 統(tǒng)計(jì)分析 模板匹配 界面widget
一、引言
隨著windows7操作系統(tǒng)對(duì)多點(diǎn)觸控技術(shù)的支持,多點(diǎn)觸控技術(shù)應(yīng)用越來越備受關(guān)注。本文研究了高性能的算法并優(yōu)化了多點(diǎn)觸控指令,分析和設(shè)計(jì)在微觀交通仿真系統(tǒng)中可能涉及的有用手勢(shì),大大提高了微觀交通仿真中的靈活性。
二、多點(diǎn)觸控系統(tǒng)人機(jī)交互手勢(shì)定義
(一)觸摸手勢(shì)的基元?jiǎng)幼?/p>
本文定義的基元操作是指每個(gè)手指的動(dòng)作,因此觸摸手勢(shì)的基元?jiǎng)幼魇菢?gòu)成多點(diǎn)觸摸手勢(shì)的基本單元。觸摸手勢(shì)的基元?jiǎng)幼魇菍?duì)單觸摸點(diǎn)的描述,其可以由觸點(diǎn)檢測(cè)和觸點(diǎn)追蹤兩個(gè)過程中的4個(gè)屬性構(gòu)成的數(shù)據(jù)結(jié)構(gòu)來表示:基元?jiǎng)幼?{ID,State, Coordinate,Time}其中ID={1,2,…,10},表示識(shí)別觸點(diǎn)的身份識(shí)別號(hào),每個(gè)觸點(diǎn)有唯一的ID號(hào)與其對(duì)應(yīng);State ={0,1}表示觸摸點(diǎn)相對(duì)于屏幕的狀態(tài),0表示接觸,1表示未接觸;Coordinate,表示系統(tǒng)記錄的觸摸點(diǎn)的坐標(biāo);Time表示觸點(diǎn)的生命周期,即從開始接觸到觸摸結(jié)束的時(shí)間,可由檢測(cè)系統(tǒng)時(shí)間得到。
(二)多點(diǎn)觸摸手勢(shì)的分類及描述
觸摸手勢(shì)由基元?jiǎng)幼鹘M合而成,基于觸點(diǎn)軌跡變化手勢(shì)可分成靜態(tài)手勢(shì)和動(dòng)態(tài)手勢(shì)。
三、多點(diǎn)觸摸手勢(shì)的識(shí)別方法
(一)靜態(tài)手勢(shì)識(shí)別
在實(shí)際應(yīng)用中由于光線等原因觸摸屏突增雜點(diǎn)也被系統(tǒng)記錄為有效觸點(diǎn),從而產(chǎn)生誤判斷;此外觸摸手勢(shì)操作過快時(shí)容易產(chǎn)生觸點(diǎn)抖動(dòng),以致系統(tǒng)誤判或丟失觸點(diǎn)。于是本文提出了雙閾值識(shí)別算法,就是對(duì)每個(gè)觸點(diǎn)添加觸點(diǎn)位移和時(shí)間間隔閾值檢測(cè)。
觸點(diǎn)位移閾值函數(shù):
時(shí)間間隔閾值函數(shù):
(二)動(dòng)態(tài)手勢(shì)的基元操作識(shí)別
為保證多點(diǎn)觸控系統(tǒng)對(duì)觸摸手勢(shì)指令識(shí)別的正確率和效率,本文采用了兩種識(shí)別算法相結(jié)合的方法--統(tǒng)計(jì)分析和模板匹配算法。
1.統(tǒng)計(jì)分析算法
首先計(jì)算觸摸的第一個(gè)和最后一個(gè)點(diǎn)的X和Y之間的差異,記為xDiff 和yDiff。如果yDiff是0或xDiff幾乎可以忽略不計(jì)(閾值為10像素),所以手勢(shì)是向上或向下。同樣水平方向識(shí)別也如此。當(dāng)xDiff 和yDiff都不接近0或不可以忽略時(shí),如果xDiff 和yDiff都大于0,則為向右上方移動(dòng),其他情況也類似。縮放手勢(shì)則分別計(jì)算兩個(gè)手指之間最初和最終的距離即可。
2.模板匹配算法
道路交互手勢(shì)的識(shí)別采用模板匹配技術(shù),即每條路線都被重置為N個(gè)等距的點(diǎn) (32≤N≤256),在整個(gè)路線上每隔間距I采用的是線性內(nèi)插值算法就放置一個(gè)點(diǎn);一次旋轉(zhuǎn),定義路線的中心和路線的第一個(gè)點(diǎn),旋轉(zhuǎn)手勢(shì)使得旋轉(zhuǎn)不變角度為0以找到最佳對(duì)準(zhǔn)角度;縮放,縮放手勢(shì)至一個(gè)可識(shí)別的區(qū)域,區(qū)域?yàn)檎叫?,而且是不均勻縮放;平移手勢(shì),使得手勢(shì)的中心點(diǎn)在(0,0)處;找出候選點(diǎn)C和模板T之間的平均距離:將距離轉(zhuǎn)化為 score [0,1] :在匹配基元?jiǎng)幼鲿r(shí),score必須大于等于0.8;如果score小于0.8,則舍棄匹配,表明是無效手勢(shì),提高匹配的準(zhǔn)確度。
(三)微觀交通仿真中的手勢(shì)識(shí)別
根據(jù)動(dòng)態(tài)手勢(shì)列表以及觸摸手勢(shì)的基元操作識(shí)別的算法,當(dāng)觸點(diǎn)數(shù)目為2時(shí),如果基元操作的組合是單指平移和單指點(diǎn)擊,則確定為平移手勢(shì),具體平移方向有單指平移這一基元?jiǎng)幼鞔_定;如果基元操作的組合是單指旋轉(zhuǎn)和單指點(diǎn)擊,則確定為雙手完成的旋轉(zhuǎn)操作,具體旋轉(zhuǎn)方向由基元旋轉(zhuǎn)操作決定;如果基元操作的組合是四指點(diǎn)擊后,另兩指的距離不斷增大,則為放大操作,距離減小則為縮小操作;如果基元操作的組合是兩個(gè)單指平移操作則此手勢(shì)為模型中道路的封堵。如果觸點(diǎn)數(shù)目為4,如果基元操作的組合是單指點(diǎn)擊和三個(gè)單指點(diǎn)擊則識(shí)別為仿真模型沿旋轉(zhuǎn)方向大幅旋轉(zhuǎn)手勢(shì)。如果觸點(diǎn)數(shù)目為1,且基元操作為“√”,則得到模型中道路的開路的手勢(shì)。
四、結(jié)語
本文對(duì)基于基元?jiǎng)幼鞯亩帱c(diǎn)觸摸手勢(shì)特性進(jìn)行分析,對(duì)交通仿真中的多點(diǎn)觸摸手勢(shì)進(jìn)行規(guī)范化的描述并提出手勢(shì)識(shí)別方法。本文創(chuàng)新點(diǎn)是提出了一種設(shè)置觸點(diǎn)位移和時(shí)間函數(shù)雙閾值的方法來提高觸點(diǎn)識(shí)別的精確性,防止突增雜點(diǎn)的誤判斷,減緩過快操作產(chǎn)生的抖動(dòng)。
參考文獻(xiàn):
[1]凌云翔,張國(guó)華,李銳,等.基于多點(diǎn)觸摸的自然手勢(shì)識(shí)別方法的研究[J].國(guó)防科技大學(xué)學(xué)報(bào),2010,32(1):4-5.
[2]王曉慶,等. 多點(diǎn)觸摸手勢(shì)分析及識(shí)別算法的研究[J].計(jì)算機(jī)科學(xué),2012,39(6A):522-525.
作者簡(jiǎn)介:羅曉麗 (1990.04--),陜西省西安市,碩士研究生,專業(yè):計(jì)算機(jī)技術(shù)