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