蔡睿妍
摘要:針對傳統(tǒng)的多點觸控系統(tǒng)在安全性和適用范圍等方面的不足,提出了基于Kinect的多點觸控系統(tǒng)。該系統(tǒng)利用Kinect獲取三維深度信息,通過建立觸控感應(yīng)平面模型,檢測用戶多點觸控事件,并進行觸控點的坐標(biāo)變換,實現(xiàn)對電腦的控制。實驗結(jié)果表明,在多點觸控中,該系統(tǒng)具有較高的精度和穩(wěn)定性,對人體不會造成任何傷害。
關(guān)鍵詞:多點觸控;Kinect;感應(yīng)平面;目標(biāo)檢測
中圖分類號:TP391.9文獻標(biāo)識碼:A文章編號:1009-3044(2012)16-3987-03
The Design and Realization of Multi-touch System Based on Kinect
CAI Rui-yan
(Information and Engineering College of Dalian University, Dalian 116622, China)
Abstract: According to the deficiency of aspects such as safety and application in traditional multi-touch system, a new multi-touch sys? tem based on Kinect is proposed. This system uses Kinect to obtain three-dimensional depth information, models for induction plane, de? tects multi-touch events of user, transforms the coordinate system of touch point and controls the computer. The experimental results show that the system has high precision and stability, is harmless to human beings.
Key words: multi-touch; Kinect; induction plane; target detection
鼠標(biāo)作為傳統(tǒng)的圖形人機交互界面的主要設(shè)備,長期以來在計算機操作中處于主導(dǎo)地位,但是鼠標(biāo)只能用單手操作,無法將人自然生活的雙手操作技能應(yīng)用于人機交互之中。二十世紀(jì)以來,隨著計算機技術(shù)和人機交互技術(shù)的發(fā)展,出現(xiàn)了許多基于雙手多點觸控操作的新型設(shè)備,例如美國MERT(三菱電器研究實驗室)的DiamondTouch[1]、索尼的SmartSkin[2],以及微軟最新推出的劃時代多點觸控人機交互設(shè)備Surface II等。這些設(shè)備通過識別雙手的多點觸控事件,將其應(yīng)用到人機交互之中,取得了較為理想的效果。
雖然各種多點觸控設(shè)備不盡相同,但原理基本相同,主要是利用攝像機采集觸控物體在顯示區(qū)域中的圖像,建立背景模型,分離出前景圖像,通過目標(biāo)檢測和跟蹤算法獲得圖像中觸控點的信息,經(jīng)過坐標(biāo)映射變換,將圖像坐標(biāo)系轉(zhuǎn)換成交互界面的世界坐標(biāo)系,使計算機能夠識別觸控物體在顯示區(qū)域內(nèi)的位置坐標(biāo)和運動信息,實現(xiàn)預(yù)定義的各種觸控操作。由于上述方案實現(xiàn)簡潔,主要處理模塊由軟件實現(xiàn),被大多數(shù)制造廠商和愛好者采用,但是由于組成設(shè)備中采用了功率較大的紅外激光光源,使用中會對操作者的眼睛造成潛在威脅,并且,攝像機對光線變化比較敏感,限制了設(shè)備的使用環(huán)境。
在分析各種多點觸控方案的基礎(chǔ)上,該文提出了基于kinect的多點觸控解決方案,用kinect取代了上述方案中的紅外激光器和攝像機,在不對操作者造成傷害的前提下,擴展了系統(tǒng)的使用范圍,增強了系統(tǒng)的通用性。
個方面:
1)檢測視場內(nèi)是否有物體進入,如果有物體進入,通過輪廓檢測算法檢測出進入物體的質(zhì)心坐標(biāo)、輪廓信息[4,5];
2)求解進入物體的“凸包”信息;
3)確定進入物體中靠近“感應(yīng)平面”點的坐標(biāo)p(x,y);
4)確定進入物體中靠近“感應(yīng)平面”點與該平面的距離d;
5)設(shè)定容差σ,當(dāng)d≤σ時,定義該進入物體實現(xiàn)“觸控”;
6)對觸控點坐標(biāo)世界坐標(biāo)p(x,y)進行坐標(biāo)映射,具體步驟為:首先將坐標(biāo)p(x,y)映射到Kinect三維傳感器的圖像坐標(biāo)I(x,y),然后將I(x,y)坐標(biāo)映射到電腦屏幕的控制坐標(biāo)S(x,y)。
7)將坐標(biāo)S(x,y)通過控制協(xié)議發(fā)送給電腦,實現(xiàn)多點觸控。
處理流程如圖4所示。
在普通實驗室環(huán)境下進行實驗,測試平面表面最大起伏≤3mm,Kinect距離平面垂直高度650mm,垂直傾角42°,分別對處理效率和識別準(zhǔn)確率進行了實驗,結(jié)果如表1所示。
表1實驗結(jié)果
在分析傳統(tǒng)多點觸控系統(tǒng)的基礎(chǔ)上,該文提出了基于Kinect三維傳感器的多點觸控解決方案,該方案通過Kinect獲取三維深度信息,對觸控平面建模,檢測用戶多點觸控事件并實現(xiàn)對電腦的控制,實驗證明,該方案可以實現(xiàn)對觸控事件的實時處理,并且獲得了較高的觸控精度,滿足對多點觸控設(shè)備的需要。