李富蕓 符謀松
摘要:伴隨計(jì)算機(jī)技術(shù)的發(fā)展,人機(jī)交互技術(shù)歷經(jīng)“命令行界面”—“圖形用戶界面”—“自然用戶界面”的發(fā)展歷程。該文探索使用低成本的Kinect體感器,在貼近人們習(xí)慣的前提下,讓用戶以便捷自然的動(dòng)作與虛擬場景漫游系統(tǒng)交互,給用戶帶來無接觸式漫游體驗(yàn)。
關(guān)鍵詞:動(dòng)作識(shí)別;虛擬漫游;Kinect;骨骼跟蹤;人機(jī)交互
中圖分類號(hào):TP3 ? ? ? ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2020)28-0015-03
Abstract:With the development of computer technology, human-computer interaction technology has gone through the development process of "command line interface""graphical user interface" and "natural user interface". This paper explores the use of low-cost Kinect body sensor, in close to the premise of people's habits, let users interact with the virtual scene roaming system in convenient and natural actions, and brings users contactless roaming experience.
Key words: motion recognition;virtual roaming; Kinect; skeleton tracking; human-computer interaction
隨著科學(xué)技術(shù)的發(fā)展,虛擬漫游中使用鼠標(biāo)、鍵盤等傳統(tǒng)的交互設(shè)備已經(jīng)不能滿足人們的人機(jī)交互要求。鼠標(biāo)、鍵盤來控制漫游的方式不免會(huì)讓用戶體驗(yàn)不佳,不能充分發(fā)揮虛擬漫游的沉浸感。也有為了增強(qiáng)沉浸感而采用可穿戴的設(shè)備,如數(shù)據(jù)手套、位置跟蹤器等,但這些設(shè)備多數(shù)為特殊應(yīng)用定制,軟件平臺(tái)不通用,難以在虛擬漫游中普及和推廣。
Kinect體感器無須任何手持或可穿戴設(shè)備即可完成自然人機(jī)交互,即可通過肢體動(dòng)作、手勢、姿態(tài)、語音等自然方式與終端交互,這種自然的人機(jī)交互方式將會(huì)給用戶帶來自然真實(shí)的感受。
本文針對(duì)虛擬漫游中傳統(tǒng)交互設(shè)備用戶體驗(yàn)不佳的問題,基于Kinect設(shè)計(jì)了4種便捷動(dòng)作,將每一種動(dòng)作對(duì)應(yīng)于一種命令,從而給用戶帶來無接觸式漫游體驗(yàn)。
1 Kinect體感器獲取動(dòng)作信息
1.1 Kinect體感器
Kinect體感器是微軟推出的智能體感外設(shè),硬件主要由彩色攝像頭、深度(紅外)攝像頭、紅外線投射機(jī)和四元線性麥克風(fēng)陣列組成,如圖1所示。利用Kinect體感器可以獲取到彩色圖像數(shù)據(jù)、深度圖像數(shù)據(jù)、骨骼數(shù)據(jù)以及音頻數(shù)據(jù)。
1.2 Kinect體感器獲取人體骨架
Kinect的骨骼跟蹤是其核心技術(shù)之一,它可以對(duì)人體25個(gè)關(guān)節(jié)點(diǎn)進(jìn)行準(zhǔn)確標(biāo)定和關(guān)節(jié)點(diǎn)位置的實(shí)時(shí)跟蹤。骨骼跟蹤是在深度圖像的基礎(chǔ)上,利用機(jī)器學(xué)習(xí)方法逐步實(shí)現(xiàn)的。第一步是人體輪廓分割,判斷深度圖像上的每個(gè)像素是否屬于某一個(gè)用戶,過濾背景像素。第二步是人體部位識(shí)別,從人體輪廓中識(shí)別出不同部位,例如頭部、軀干、四肢等肢體。第三步是關(guān)節(jié)定位,從人體部位中定位25個(gè)關(guān)節(jié)點(diǎn),生成骨骼圖如圖2所示。
2 動(dòng)作交互控制
2.1動(dòng)作設(shè)計(jì)
自然人機(jī)交互設(shè)計(jì)應(yīng)該遵循如下原則:
(1)最大契合動(dòng)作習(xí)慣:這一點(diǎn)正是自然交互的要求,讓每一個(gè)交互動(dòng)作都符合日常的動(dòng)作習(xí)慣,比如抬腿表示走動(dòng)、左右揮手表示切換等。
(2)最小相互干擾:無論算法多么精確,都會(huì)存在一定的誤識(shí)別現(xiàn)象,尤其是相似的動(dòng)作姿態(tài)。所以在交互設(shè)計(jì)的時(shí)候應(yīng)該盡量避免相似的動(dòng)作,尤其是避免在同一時(shí)刻用相似的動(dòng)作表示不同的操作。
(3)最小識(shí)別時(shí)間:對(duì)于手勢識(shí)別和語音識(shí)別的高誤識(shí)別率來說,如果長時(shí)間開啟,會(huì)將很多小動(dòng)作、小聲音誤識(shí)別為目標(biāo)操作。因此應(yīng)該最大限度地縮小這種識(shí)別的持續(xù)時(shí)間,最好是利用姿態(tài)識(shí)別,僅僅在需要進(jìn)行手勢識(shí)別的時(shí)候才開啟。
(4)讓用戶的肢體移動(dòng)幅度盡可能小,減少交互給用戶帶來的疲勞度和厭煩感。
遵循上述原則,可以最大限度地提高Kinect應(yīng)用的交互體驗(yàn),并避免誤操作,誤識(shí)別[1]。本文遵循上述原則,設(shè)計(jì)的動(dòng)作有如下4種:左手向左揮,右手向右揮,左腳向前伸,左腳向后伸,對(duì)應(yīng)場景的效果如表1所示。
2.2動(dòng)作識(shí)別算法
本文設(shè)計(jì)的4種動(dòng)作,“左手向左揮、右手向右揮”此兩種動(dòng)作用到的是左肩關(guān)節(jié)點(diǎn)和左腕關(guān)節(jié)點(diǎn),右肩關(guān)節(jié)點(diǎn)和右腕關(guān)節(jié)點(diǎn)。為了適應(yīng)不同身高、不同體形的用戶,使得軟件具有用戶自適應(yīng)性,先利用左右肩關(guān)節(jié)點(diǎn)計(jì)算出用戶的肩膀?qū)挾?,取肩膀?qū)挾鹊囊话胱鳛殚撝礣hreshhold。
若“左肩關(guān)節(jié)點(diǎn)X坐標(biāo)”與“左腕關(guān)節(jié)點(diǎn)X坐標(biāo)”的差值大于閾值,代碼為:
(body.Joints[JointType.ShoulderLeft].Position.X - body.Joints[JointType.WristLeft].Position.X)>
Threshhold,則判斷為“左手向左揮”;
若“右腕關(guān)節(jié)點(diǎn)X坐標(biāo)”與“右肩關(guān)節(jié)點(diǎn)X坐標(biāo)”的差值大于閾值,代碼為:
(body.Joints[JointType.WristRight].Position.X-body.Joints[JointType.ShoulderRight].Position.X)>Threshhold,則判斷為“右手向右揮”;
“左腳向前伸、左腳向后伸”此兩種動(dòng)作用到的是左右踝關(guān)節(jié)點(diǎn)。
若右踝關(guān)節(jié)點(diǎn)比左踝關(guān)節(jié)點(diǎn)的Z坐標(biāo)大于閾值,代碼為:
(body.Joints[JointType.AnkleRight].Position.Z-body.Joints[JointType. AnkleLeft].Position.Z)>Threshhold,則判斷為“左腳向前伸”;
若左踝關(guān)節(jié)點(diǎn)比右踝關(guān)節(jié)點(diǎn)的Z坐標(biāo)大于閾值,代碼為:
(body.Joints[JointType. AnkleLeft].Position.Z-body.Joints[JointType. AnkleRight].Position.Z)>Threshhold,則判斷為“左腳向后伸”。
2.3漫游控制流程圖
2.4場景交互漫游
在漫游控制中,利用4種用戶動(dòng)作控制相機(jī)視角變化。當(dāng)檢測到“左腳向前伸、左腳向后伸”動(dòng)作時(shí),通過positon屬性設(shè)置相機(jī)的移動(dòng);當(dāng)檢測到“左手向左揮、右手向右揮”動(dòng)作時(shí),通過rotation方法設(shè)置相機(jī)的旋轉(zhuǎn)。在相機(jī)旋轉(zhuǎn)時(shí),設(shè)定相機(jī)沿Y軸旋轉(zhuǎn)來實(shí)現(xiàn)水平旋轉(zhuǎn)。
3用戶體驗(yàn)與結(jié)果分析
測試時(shí)用戶面向攝像頭做出4種動(dòng)作,以第一人稱視角對(duì)虛擬場景進(jìn)行漫游,效果如圖4所示。本文使用動(dòng)作交互代替?zhèn)鹘y(tǒng)的鼠標(biāo)鍵盤交互,體驗(yàn)者從動(dòng)作識(shí)別的準(zhǔn)確性、動(dòng)作設(shè)計(jì)的合理性、交互的實(shí)時(shí)性對(duì)場景漫游交互設(shè)計(jì)做出評(píng)價(jià),感受在虛擬場景漫游過程中的體感交互效果,整體來說軟件的綜合體驗(yàn)效果比較理想。
4結(jié)語
本文設(shè)計(jì)并實(shí)現(xiàn)了在虛擬漫游系統(tǒng)中加入了動(dòng)作交互控制方法,使系統(tǒng)脫離外接的控制硬件,真正實(shí)現(xiàn)了人與計(jì)算機(jī)的自然交互,給用戶帶來無接觸式漫游體驗(yàn),期待能為今后相關(guān)系統(tǒng)的開發(fā)提供參考。
參考文獻(xiàn):
[1] 吳國斌,李斌,閻驥洲.KINECT人機(jī)交互開發(fā)實(shí)踐[M].北京:人民郵電出版社,2013.
[2] 劉開余,夏斌.基于Kinect的實(shí)時(shí)人體姿勢識(shí)別[J].電子設(shè)計(jì)工程,2014,22(19):31-34.
[3] 謝亮,廖宏建,楊玉寶.基于Kinect的姿勢識(shí)別與應(yīng)用研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,2013,23(5):258-260.
[4] 徐屹.基于自然人機(jī)交互技術(shù)的虛擬漫游系統(tǒng)設(shè)計(jì)[D].長沙:中南大學(xué),2013.
[5] 毛雁明,章立亮.基于Kinect骨架追蹤技術(shù)的PPT全自動(dòng)控制方法研究[J].海南大學(xué)學(xué)報(bào)(自然科學(xué)版),2015,33(3):215-220.
【通聯(lián)編輯:代影】