蔡睿妍
摘要:針對(duì)傳統(tǒng)的多點(diǎn)觸控系統(tǒng)在安全性和適用范圍等方面的不足,提出了基于Kinect的多點(diǎn)觸控系統(tǒng)。該系統(tǒng)利用Kinect獲取三維深度信息,通過(guò)建立觸控感應(yīng)平面模型,檢測(cè)用戶多點(diǎn)觸控事件,并進(jìn)行觸控點(diǎn)的坐標(biāo)變換,實(shí)現(xiàn)對(duì)電腦的控制。實(shí)驗(yàn)結(jié)果表明,在多點(diǎn)觸控中,該系統(tǒng)具有較高的精度和穩(wěn)定性,對(duì)人體不會(huì)造成任何傷害。
關(guān)鍵詞:多點(diǎn)觸控;Kinect;感應(yīng)平面;目標(biāo)檢測(cè)
中圖分類(lèi)號(hào):TP391.9文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):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)的圖形人機(jī)交互界面的主要設(shè)備,長(zhǎng)期以來(lái)在計(jì)算機(jī)操作中處于主導(dǎo)地位,但是鼠標(biāo)只能用單手操作,無(wú)法將人自然生活的雙手操作技能應(yīng)用于人機(jī)交互之中。二十世紀(jì)以來(lái),隨著計(jì)算機(jī)技術(shù)和人機(jī)交互技術(shù)的發(fā)展,出現(xiàn)了許多基于雙手多點(diǎn)觸控操作的新型設(shè)備,例如美國(guó)MERT(三菱電器研究實(shí)驗(yàn)室)的DiamondTouch[1]、索尼的SmartSkin[2],以及微軟最新推出的劃時(shí)代多點(diǎn)觸控人機(jī)交互設(shè)備Surface II等。這些設(shè)備通過(guò)識(shí)別雙手的多點(diǎn)觸控事件,將其應(yīng)用到人機(jī)交互之中,取得了較為理想的效果。
雖然各種多點(diǎn)觸控設(shè)備不盡相同,但原理基本相同,主要是利用攝像機(jī)采集觸控物體在顯示區(qū)域中的圖像,建立背景模型,分離出前景圖像,通過(guò)目標(biāo)檢測(cè)和跟蹤算法獲得圖像中觸控點(diǎn)的信息,經(jīng)過(guò)坐標(biāo)映射變換,將圖像坐標(biāo)系轉(zhuǎn)換成交互界面的世界坐標(biāo)系,使計(jì)算機(jī)能夠識(shí)別觸控物體在顯示區(qū)域內(nèi)的位置坐標(biāo)和運(yùn)動(dòng)信息,實(shí)現(xiàn)預(yù)定義的各種觸控操作。由于上述方案實(shí)現(xiàn)簡(jiǎn)潔,主要處理模塊由軟件實(shí)現(xiàn),被大多數(shù)制造廠商和愛(ài)好者采用,但是由于組成設(shè)備中采用了功率較大的紅外激光光源,使用中會(huì)對(duì)操作者的眼睛造成潛在威脅,并且,攝像機(jī)對(duì)光線變化比較敏感,限制了設(shè)備的使用環(huán)境。
在分析各種多點(diǎn)觸控方案的基礎(chǔ)上,該文提出了基于kinect的多點(diǎn)觸控解決方案,用kinect取代了上述方案中的紅外激光器和攝像機(jī),在不對(duì)操作者造成傷害的前提下,擴(kuò)展了系統(tǒng)的使用范圍,增強(qiáng)了系統(tǒng)的通用性。
個(gè)方面:
1)檢測(cè)視場(chǎng)內(nèi)是否有物體進(jìn)入,如果有物體進(jìn)入,通過(guò)輪廓檢測(cè)算法檢測(cè)出進(jìn)入物體的質(zhì)心坐標(biāo)、輪廓信息[4,5];
2)求解進(jìn)入物體的“凸包”信息;
3)確定進(jìn)入物體中靠近“感應(yīng)平面”點(diǎn)的坐標(biāo)p(x,y);
4)確定進(jìn)入物體中靠近“感應(yīng)平面”點(diǎn)與該平面的距離d;
5)設(shè)定容差σ,當(dāng)d≤σ時(shí),定義該進(jìn)入物體實(shí)現(xiàn)“觸控”;
6)對(duì)觸控點(diǎn)坐標(biāo)世界坐標(biāo)p(x,y)進(jìn)行坐標(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)通過(guò)控制協(xié)議發(fā)送給電腦,實(shí)現(xiàn)多點(diǎn)觸控。
處理流程如圖4所示。
在普通實(shí)驗(yàn)室環(huán)境下進(jìn)行實(shí)驗(yàn),測(cè)試平面表面最大起伏≤3mm,Kinect距離平面垂直高度650mm,垂直傾角42°,分別對(duì)處理效率和識(shí)別準(zhǔn)確率進(jìn)行了實(shí)驗(yàn),結(jié)果如表1所示。
表1實(shí)驗(yàn)結(jié)果
在分析傳統(tǒng)多點(diǎn)觸控系統(tǒng)的基礎(chǔ)上,該文提出了基于Kinect三維傳感器的多點(diǎn)觸控解決方案,該方案通過(guò)Kinect獲取三維深度信息,對(duì)觸控平面建模,檢測(cè)用戶多點(diǎn)觸控事件并實(shí)現(xiàn)對(duì)電腦的控制,實(shí)驗(yàn)證明,該方案可以實(shí)現(xiàn)對(duì)觸控事件的實(shí)時(shí)處理,并且獲得了較高的觸控精度,滿足對(duì)多點(diǎn)觸控設(shè)備的需要。