樊景超 周國民
摘要
為了實現(xiàn)自然方便的人機交互,提高用戶體驗,嘗試引入微軟公司的一款體感周邊外設Kinect設備,利用Kinect 傳感器所獲取的人體骨骼跟蹤識別點,通過對雙手在三維空間中的位置坐標轉換,對縮放、旋轉的手勢進行匹配,將合法的手勢信息轉換為識別結果,反饋給系統(tǒng)并完成相應的控制指令輸出,實現(xiàn)與系統(tǒng)的交互控制。結果表明,該系統(tǒng)具有較高的精度和穩(wěn)定性,具有一定的借鑒意義。
關鍵詞 骨骼跟蹤;手勢識別;Kinect
中圖分類號 S126 文獻標識碼 A 文章編號 0517-6611(2014)11-03444-03
Abstract In order to achieve a natural humancomputer interaction to facilitate and improve the user experience, this research attempt to introduce a Microsofts peripheral Kinect somatosensory peripheral equipment. Using Kinect sensor acquired identification of the human skeleton tracking point, by the hands of the position in three dimensional space coordinate conversion for scaling, rotation gesture match. The information is converted into a valid gesture recognition result, the system and complete the feedback control command output, controlling interaction with the system. Experimental results show that the system has higher precision and stability, with a certain significance.
Key words Skeleton tracking; Gesture recognition; Kinect
鼠標作為傳統(tǒng)的圖形人機交互界面的主要設備,長期以來在計算機操作中處于主導地位,但是鼠標只能用單手操作,無法將人自然生活的雙手操作技能應用于人機交互之中[1]。這種操作系統(tǒng)需要操作由圖標和菜單構成的基于GUI 的應用程序界面,導致這種界面通常具有陡峭的學習曲線[2]。理想的自然交互界面的發(fā)起者認為交互界面的設計應該對用戶非常直觀,使用用戶先天就會的行為來進行交互是操作理想化的狀態(tài),用戶走到應用程序前面就能夠開始使用它[3]。在過去的幾年里,隨著觸摸功能在智能手機和平板電腦的流行,輕點(Taps)已經(jīng)成為觸摸平臺的核心,逐漸取代了鍵盤鼠標[4]。當看到孩子們開始走到任何觸摸屏設備面前,用手去觸摸它,期待它的響應時,在這一點上看這一理念已經(jīng)逐步實現(xiàn)。
為此,筆者利用Kinect 傳感器的骨骼跟蹤技術, 捕獲用戶手勢運動數(shù)據(jù)作為控制信號,并反饋給相應的控制軟件,再通過對手勢的特征匹配從而轉換為相應的控制指令并完成操作, 從而實現(xiàn)雙手精準的手勢操作來完成相應的放大、縮小和旋轉功能。
1 Kinect簡介
1.1 Kinect設備
Kinect是微軟在2010年6月14日對XBOX360體感周邊外設正式發(fā)布的名字,其設備如圖1所示。Kinect共有3個攝像頭,中間一個是RGB攝像頭用來獲取640×480的彩色圖像,每秒鐘最多獲取30幀圖像;兩邊的是深度傳感器,左側的是紅外線發(fā)射器,右側的是紅外線接收器,用來檢測玩家的相對位置。Kinect的兩側是一組四元麥克風陣列,用于生源定位和語音識別;下方還有一個內置馬達的底座,可以調整俯仰角[5]。
1.2 Kinect骨骼跟蹤技術
Kinect采集三維圖像的光學部分主要包括兩個部件:紅外線發(fā)射器和紅外線/VGA攝像頭組。其工作原理[6]是:紅外線發(fā)射器發(fā)出紅外線覆蓋整個Kinect的可視范圍,攝像頭組接收反射回光線來識別玩家的距離和特征。紅外攝像頭可以識別到的是物體的“深度場”(Depth Field),其中每一像素的顏色代表了那一點物體到攝像頭的距離。比如離攝像頭近的身體呈亮紅色、綠色等,而離攝像頭遠的物體則呈暗灰色。
這是一種不同于傳統(tǒng)的TOF或者結構光測量技術的光編碼(light coding)技術,使用的是連續(xù)的照明(而非脈沖),也不需要特制的感光芯片,而只需要普通的CMOS感光芯片,這也大大降低了 Kinect的成本[7]。光編碼[8]是用光源照明給需要測量的空間編上碼的一種結構光技術。但與傳統(tǒng)的結構光方法不同,它投射出去的光源并不是一副周期性變化的二維的圖像編碼,而是一個具有三維縱深的“體編碼”,這種光源叫做激光散斑(laser speckle)。當激光照射到粗糙物體或穿透毛玻璃后會形成隨機衍射斑點,這些散斑具有高度的隨機性,而且會隨著距離的不同變換圖案,所以空間中任意兩處的散斑圖案都是不同的。通過這種激光散斑可以對整個空間進行標識,然后根據(jù)物體上的散斑圖案就可以推測計算出物體的深度位。在進行物體散斑識別前要對整個空間的散斑圖案進行記錄和標定。
骨骼追蹤技術通過處理景深數(shù)據(jù)來建立人體各個關節(jié)的坐標,骨骼追蹤能夠確定人體的各個部分,如哪部分是手、頭部以及身體。骨骼追蹤產(chǎn)生X、Y、Z數(shù)據(jù)來確定這些骨骼點。圖2是Kinect骨骼跟蹤技術對筆者進行跟蹤顯示的20個關節(jié)骨骼信息。
2 多點觸控系統(tǒng)設計
2.1 縮放手勢定義
骨骼追蹤技術的初衷:通過人體骨骼的關節(jié)點來控制人體運動[10]。在多點觸控系統(tǒng)中縮放手勢包括放大、縮小和停止3個。3個手勢的共同特征是雙臂手關節(jié)都在肘關節(jié)以上,當雙手不符合這一基本條件時認為是非縮放手勢。3個手勢的主要差別是雙臂與肘關節(jié)垂直中線的夾角的不同,這里的夾角根據(jù)左右是對稱的關系,左手夾角的值要乘以-1來判定手臂運動的方向。據(jù)此定義多
點觸控系統(tǒng)中縮放手勢的識別算法如圖3所示。
步驟1:系統(tǒng)在檢測到人體的骨骼信息之后,首先判斷雙手節(jié)點是否在肘關節(jié)之上,如果是則進入步驟2;否則重復步驟1。
步驟2:判斷當前雙臂是否垂直作為縮放手勢的啟動操作,是則進入步驟3;否則退回到步驟1。2.2 旋轉手勢定義
在多點觸控系統(tǒng)中旋轉手勢包括順時針旋轉、逆時針旋轉和停止旋轉3個。3個手勢的共同特征是雙臂手關節(jié)都在肘關節(jié)的外側,當雙手不符合這一基本條件時認為是非旋轉手勢。3個手勢的主要差別是雙臂與水平線的夾角的不同,這里的夾角根據(jù)左右是對稱的關系,左手夾角的值要乘以-1來判定手臂運動的方向。據(jù)此定義多點觸控系統(tǒng)中旋轉手勢的識別算法如圖7所示。
步驟1:系統(tǒng)在檢測到人體的骨骼信息之后,首先判斷雙手節(jié)點是否在肘關節(jié)外側,如果是則進入步驟2;否則重復步驟1。
步驟2:判斷當前雙手是否水平作為旋轉手勢的啟動操作,是則進入步驟3;否則退回到步驟1。
步驟3:用戶揮動雙手手臂進行選擇操作,系統(tǒng)根據(jù)雙手與水平線的夾角判斷用戶的指令信息。當15°≤夾角度數(shù)≤45°時,認為是逆時針旋轉手勢;當-15°≤夾角度數(shù)≤15°時,認為是停止旋轉手勢;當-45°≤夾角度數(shù)≤-15°時,認為是順時針旋轉手勢。
3 測試結果
在普通實驗室環(huán)境下進行試驗,測試平面表面最大起伏≤ 3 mm,Kinect距離平面垂直高度650 mm,垂直傾角42°,分別對處理效率和識別準確率進行了試驗,結果如表1所示。從測試的結果看,系統(tǒng)對肢體的幾何信息識別比較完整,精確度可以滿足手勢識別的需求。
4 結論
該研究基于Kinect精確捕獲被測對象骨骼信息空間坐標數(shù)據(jù)的方法,實現(xiàn)了對人體手勢運動特征的識別。該設計所采用的硬件設備具有低成本、高效率、非依賴性等特點。隨著虛擬現(xiàn)實在實際應用的進一步推廣,自然交互技術在軟件中的應用必將越來越深入, 交互方式也會更直觀、便捷。同時該研究還有一定的不足,由于Kinect 本身在環(huán)境光線較弱時, 對識別對象的檢測沒有較好的防抖處理,所以在操作時會發(fā)生抖動產(chǎn)生的誤差干擾,有待于進一步完善。相信該研究必將在更廣闊的領域得到更深層次的應用。
參考文獻
[1]
蔡睿妍.基于kinect多點觸控系統(tǒng)的研究與實現(xiàn)[J].計算機工程應用技術,2012,8(16):3987-3989.
[2] [譯]Kinect for Windows SDK開門入門(+):手勢識別上:基本概念[EB/OL].http://www.cnblogs.com/yangecnu/archive/2012/04/21/KinectSDK_GesturesDetection_part1_BasicConception.html.
[3] 呂開陽.Kinect體感技術在動物外科實驗教學中的應用及展望[J].中國醫(yī)學教育技術,2012,26(2):171-173.
[4] 黃康泉,陳碧金,鄭博,等.Kinect在視頻會議系統(tǒng)中的應用[J].廣西大學學報:自然科學版,2011,36(S1):308-314.
[5] 吳國斌.Kinect人機交互開發(fā)實踐[M].北京:人民郵電出版社,2013:4-5.
[6] 余濤.Kinect應用開發(fā)實踐[M].北京:機械工業(yè)出版社,2012:41-45.
[7] 韓旭.應用Kinect的人體行為識別方法研究與系統(tǒng)設計[D].濟南:山東大學,2013:21-22.
[8] 鄧小園.基于Kinect運動捕捉的高爾夫揮桿分析與輔助訓練系統(tǒng)的研制[D].北京:北京郵電大學,2013:7-9.
[9] 楊林.基于Kinect的人體目標檢測與跟蹤[D].大連:大連海事大學,2013:8-15.
[10] 馬慶.基于Kinect的實時人體動畫合成及重定向技術研究[D].杭州:浙江工業(yè)大學,2012:11-15.
[11] 楊曉敏,張奇志,周亞麗.基于Kinect深度信息的人體運動跟蹤算法[J].北京信息科技大學學報,2013,28(1): 33-36.
[12] 陶麗君,李翠華,張希婧,等.基于Kinect傳感器深度信息的動態(tài)手勢識別[J].廈門大學學報:自然科學版,2013,52(4):493.
[13] 黃露丹,嚴利民.基于Kinect深度數(shù)據(jù)的人物檢測[J].計算機技術與發(fā)展,2013,23(4):121-124.