楊 賢, 張 碩, 何漢武, 吳悅明
(1.廣東工業(yè)大學(xué) 藝術(shù)與設(shè)計(jì)學(xué)院,廣州510075;2.廣東工業(yè)大學(xué)機(jī)電工程學(xué)院,廣州510006)
多通道融合的虛擬實(shí)驗(yàn)環(huán)境(Multi-channel Fusion Virtual Experiment Environment,MFVEE)因其高度沉浸特征使得用戶可以與虛擬環(huán)境進(jìn)行自然交互,在獲取用戶的行為數(shù)據(jù)方面具有其他技術(shù)無法比擬的優(yōu)勢(shì)[1],自然手勢(shì)交互技術(shù)是其中的關(guān)鍵技術(shù)[2-3],也是目前人機(jī)交互與虛擬現(xiàn)實(shí)領(lǐng)域的研究熱點(diǎn)。但是目前的交互方式并不自然,交互方式基本上借助手柄等非自然交互設(shè)備,在虛擬現(xiàn)實(shí)3個(gè)典型特征:沉浸、想象和交互性中,作為虛擬現(xiàn)實(shí)其中一個(gè)很重要的特征“交互性”一直是困擾著虛擬現(xiàn)實(shí)發(fā)展的重要原因[4-5]。為了實(shí)現(xiàn)虛擬實(shí)驗(yàn)環(huán)境下更好的人機(jī)交互以達(dá)到更好的實(shí)驗(yàn)結(jié)果,本文在多通道虛擬現(xiàn)實(shí)實(shí)驗(yàn)環(huán)境下,設(shè)計(jì)了基于自然手勢(shì)交互的實(shí)驗(yàn)手段,讓用戶能夠在虛擬實(shí)驗(yàn)環(huán)境中進(jìn)行自然的人機(jī)對(duì)話。自然人機(jī)對(duì)話使得虛擬環(huán)境能夠獲取更加真實(shí)、更多維度的用戶行為數(shù)據(jù)成為可能。
在用戶行為數(shù)據(jù)獲取的研究方面,一開始屬于心理學(xué)的范疇,隨著計(jì)算機(jī),人工智能等的發(fā)展,用戶行為慢慢成為人機(jī)交互、產(chǎn)品測(cè)試與虛擬仿真等領(lǐng)域的研究熱點(diǎn)[6-7]。在虛擬實(shí)驗(yàn)環(huán)境中,用戶手勢(shì)行為常常被用來通過行為數(shù)據(jù)識(shí)別用戶意圖,Chemero認(rèn)為,研究的焦點(diǎn)并非是人的意圖與認(rèn)知,而是人的行為,更具體地說,重點(diǎn)在于用戶與所在環(huán)境的交互行為[8],本文主要研究用戶在虛擬實(shí)驗(yàn)環(huán)境中的的手勢(shì)行為。手勢(shì)行為包含靜態(tài)的、動(dòng)態(tài)的、具有語義的、用以傳達(dá)用戶意圖的行為。McNeill[9]把人的姿體信息設(shè)計(jì)成隱喻的、圖標(biāo)的與節(jié)奏性的姿勢(shì),這些姿勢(shì)分類對(duì)虛擬實(shí)驗(yàn)環(huán)境的交互界面設(shè)計(jì)起到很重要的作用,該研究被借鑒并用于姿勢(shì)的可視化交互、指代性導(dǎo)航以及記號(hào)語言解釋等。Aggarwal等[6]設(shè)計(jì)了一個(gè)可以識(shí)別人與物體的高層交互行為的系統(tǒng),以及基于上下文的自然手勢(shì)識(shí)別方法等[10]。2010年,美國(guó)微軟公司發(fā)布了劃時(shí)代的第1個(gè)具有市場(chǎng)消費(fèi)級(jí)的自然手勢(shì)交互設(shè)備,即Kinect系統(tǒng),從此,各種消費(fèi)應(yīng)用級(jí)的系統(tǒng)尤其是游戲領(lǐng)域開始爆發(fā)并推動(dòng)了VR的發(fā)展[11-14]。但是目前為止,VR交互的標(biāo)準(zhǔn)尚未形成,解決用戶與虛擬空間之間更加自然更多維度的自然交互技術(shù)是關(guān)鍵。
2.1.1 手勢(shì)機(jī)器訓(xùn)練
用戶的手勢(shì)操作或其它肢體運(yùn)動(dòng)是用戶行為作為人機(jī)交互系統(tǒng)輸入的主要方式之一。手勢(shì)是包含動(dòng)態(tài)和靜態(tài)的、具有語義的、用以傳達(dá)用戶意圖的用戶行為,機(jī)器通過捕捉用戶行為識(shí)別用戶的意圖、需求等,進(jìn)而評(píng)估用戶行為與心理、產(chǎn)品設(shè)計(jì)指導(dǎo)以及仿真與測(cè)試等應(yīng)用。
本文采用Kinet工作室(Kinect Studio,KS)錄制手勢(shì)樣本以及采用視覺手勢(shì)生成器(Visual Gesture Builder,VGB)與Adaboost算法進(jìn)行手勢(shì)訓(xùn)練和測(cè)試,動(dòng)作識(shí)別以迭代算法Adaboost算法為依托,主要針對(duì)同一訓(xùn)練集中訓(xùn)練不同的弱分類器,再將弱分類器集合起來,組成一個(gè)強(qiáng)分類器,在樣本訓(xùn)練的基礎(chǔ)上得到分類器和特征集,并以此為基礎(chǔ)識(shí)別出人體動(dòng)作。在Adaboost弱分類器中,假設(shè)用 3個(gè)特征:F1、F2、F3來判斷輸入圖像是否是抓取手勢(shì),其決策樹的結(jié)構(gòu)如圖1(a);圖1(b)為開始加載剪輯后的手勢(shì)訓(xùn)練過程。
圖1 決策樹結(jié)構(gòu)及訓(xùn)練過程
2.1.2 手勢(shì)特征值表達(dá)
以用戶抓取雞蛋為例說明基于手勢(shì)特征值表達(dá)的具體機(jī)器訓(xùn)練過程。要讓虛擬系統(tǒng)理解用戶拿起了一個(gè)雞蛋,需要對(duì)這個(gè)“抓取”手勢(shì)進(jìn)行語義定義,手勢(shì)特征表達(dá)是對(duì)手勢(shì)行為的數(shù)學(xué)賦值,這些賦值使得用戶行為能夠以計(jì)算機(jī)特征值的數(shù)學(xué)方式表達(dá)并且能夠被虛擬環(huán)境理解,設(shè)定“抓取”手勢(shì)的特征表達(dá)為s,
式中:cth為手部的拇指尖;cin為食指尖;cpa為掌心;cco為拇指與食指的凹點(diǎn);cho為手內(nèi)包含的中空區(qū)。這5個(gè)特征值即為手勢(shì)“抓取”的語義,這樣定義還有另外一個(gè)很重要的原因,由于Kinect二代只能檢測(cè)到手部的拇指、食指以及掌心3個(gè)點(diǎn),如圖2所示。以此類推,定義好每一個(gè)手勢(shì)語義,并進(jìn)行手勢(shì)訓(xùn)練以提高交互效率。
圖2 Kinect的手勢(shì)捕捉及其特征值表達(dá)
2.2.1 交互約束
相比傳統(tǒng)人機(jī)交互的交互技術(shù),VR的交互技術(shù)需要實(shí)現(xiàn)從二維界面到三維虛擬空間的跨越,需要解決物理世界與虛擬世界的無縫交融。MFVEE環(huán)境中,由于虛擬實(shí)驗(yàn)環(huán)境缺少物理約束,比如碰撞、重力加速度、捆綁等,需要建立虛擬實(shí)驗(yàn)環(huán)境的約束條件。因?yàn)闊o論是人體的映射還是虛擬物體,它們的空間位置過于自由,不像在真實(shí)世界中受到應(yīng)有的碰撞或者重力等約束,以完成圖3中手部與冰箱把手的交互為例:在真實(shí)世界中,當(dāng)用手去開冰箱門的時(shí)候,手和冰箱門把手是握緊的狀態(tài),冰箱門隨著手部的力移動(dòng),手也受到冰箱門運(yùn)動(dòng)軌跡的限制,不會(huì)偏離冰箱門把手的運(yùn)動(dòng)軌跡,但是在虛擬世界中,虛擬手部的位置是現(xiàn)實(shí)世界手部的實(shí)時(shí)映射,而實(shí)際的手并不會(huì)受到虛擬冰箱門把手的約束。本文提出一種改進(jìn)的四元數(shù)算法來確保當(dāng)手部偏離門把手的運(yùn)動(dòng)軌跡時(shí),冰箱門依舊以正常狀態(tài)打開。
圖3 手部與冰箱把手的交互
2.2.2 基于四元數(shù)算法的虛擬旋轉(zhuǎn)體的捆綁交互約束技術(shù)
四元數(shù)是愛爾蘭數(shù)學(xué)家William在1843年所提,是復(fù)數(shù)的不可交換延伸。復(fù)數(shù)是由實(shí)數(shù)加上虛數(shù)單位i組成,i2=-1,而四元數(shù)是由實(shí)數(shù)加上3個(gè)虛數(shù)單位i、j、k 組成,i2=j2=k2= -1。如果把復(fù)數(shù)定義為二維空間,那么四元數(shù)則代表四維空間。每個(gè)四元數(shù)都是1、i、j和 k 的線性組合,表示為a+bi+cj+dk。
冰箱的門把需要跟手部一起旋轉(zhuǎn),跟歐拉角的旋轉(zhuǎn)不一樣,歐拉角是采用簡(jiǎn)單的x、y、z的值來分別表示在x、y和z軸上的旋轉(zhuǎn)角度,取值范圍是0°~360°。一般情況下,使用roll、pitch和yaw表示這些分量的旋轉(zhuǎn)值。歐拉角容易出現(xiàn)不容易在任意方向的旋轉(zhuǎn)軸插值、萬向節(jié)死鎖、旋轉(zhuǎn)次序無法確定等問題。而四元數(shù)的旋轉(zhuǎn)是用一個(gè)三維向量來表示轉(zhuǎn)軸,用一個(gè)角度分量來表示繞著旋轉(zhuǎn)軸的旋轉(zhuǎn)角度,表示為(x,y,z,w),
式中:(ax,ay,az)為軸的矢量,是三維坐標(biāo)中的矢量;θ為繞著旋轉(zhuǎn)軸的旋轉(zhuǎn)角度。四元數(shù)是在統(tǒng)一4維空間中的,非常方便歸一化和插值,可以方便得到軸和角的這些用于3D圖像的數(shù)據(jù)。利用四元數(shù)算法進(jìn)行交互約束的流程如圖4所示。
圖4 手部與冰箱把手的交互約束
經(jīng)過交互約束后,手部與冰箱門把手實(shí)現(xiàn)了捆綁交互,如圖5所示。圖中有模糊與疊影的現(xiàn)象是因?yàn)檫@是在3D虛擬環(huán)境中所拍攝,需要帶上3D眼鏡觀看才會(huì)清晰。
圖5 手部與冰箱把手的交互效果圖
2.2.3 虛擬實(shí)驗(yàn)環(huán)境的其他交互約束
在MFVEE中,除了捆綁約束外,虛擬環(huán)境中存在大量剛體,這些剛體有些能夠交互,有些是沒有交互屬性的。以從冰箱中抓取一個(gè)雞蛋為例:首先,對(duì)雞蛋進(jìn)行交互屬性定義,當(dāng)雞蛋具有碰撞檢測(cè)等交互屬性后,用戶抓取雞蛋時(shí),使其剛體組件失效,然后設(shè)定其父物體為手部物體,這樣手部在移動(dòng)和旋轉(zhuǎn)的時(shí)候則其子物體也跟著運(yùn)動(dòng)。虛擬環(huán)境中需要對(duì)這一類物體進(jìn)行定義,包括碰撞檢測(cè),如圖6所示。本文定義了多種物體的交互方式,如具有旋轉(zhuǎn)屬性的冰箱門;具有重力加速度的剛體等,這些交互的設(shè)定,都可以在虛擬界面中直接進(jìn)行設(shè)置。
圖6 對(duì)交互物體進(jìn)行定義
圖7所示為實(shí)驗(yàn)流程。
圖7 實(shí)驗(yàn)流程
3.2.1 剪輯錄制數(shù)據(jù)
首先獲取原始數(shù)據(jù),選擇聲音、顏色、紅外、深度等數(shù)據(jù)流,如圖8所示,取得的原始剪輯,將其存放起來以便隨時(shí)調(diào)用,同時(shí)將原始數(shù)據(jù)轉(zhuǎn)換為處理數(shù)據(jù)。
3.2.2 手勢(shì)訓(xùn)練數(shù)據(jù)
仍然以“抓取”這個(gè)手勢(shì)為例,VGB中的解決方案內(nèi)有兩個(gè)項(xiàng)目,其中 Grab.a是分析項(xiàng)目,沒有后綴“.a”的訓(xùn)練項(xiàng)目,所有放在這里的剪輯都會(huì)被使用,當(dāng)作姿勢(shì)的實(shí)際檢測(cè)。放在.a的任何剪輯都將用于測(cè)試檢測(cè)。本文將剪輯分出2/3用于訓(xùn)練,1/3用于測(cè)試。如圖9所示,添加剪輯并標(biāo)記,把抓的過程標(biāo)記為真,剪輯中會(huì)有準(zhǔn)備動(dòng)作或無效動(dòng)作不標(biāo)記,默認(rèn)為假。
圖8 記錄的數(shù)據(jù)源與錄制結(jié)果
圖9 標(biāo)記有效動(dòng)作
本文采用Kinect的深度攝像頭進(jìn)行人體識(shí)別與跟蹤,并且使用KS和VGB進(jìn)行手勢(shì)訓(xùn)練,在虛擬現(xiàn)實(shí)環(huán)境中進(jìn)行測(cè)試,其正確識(shí)別率與對(duì)比文獻(xiàn)采用普通攝像頭的2D空間效果相比,仍有明顯的提升,其數(shù)據(jù)見表1。
表1 識(shí)別率對(duì)比
圖10所示為測(cè)試的幾種“抓取”手勢(shì)的效果圖,從測(cè)試的效果看,具有比較高的識(shí)別率,論證了虛擬實(shí)驗(yàn)環(huán)境中自然手勢(shì)交互的優(yōu)勢(shì)。
圖10 “抓取”手勢(shì)的幾種效果
虛擬現(xiàn)實(shí)與人機(jī)交互涉及到很多未來關(guān)鍵技術(shù)與產(chǎn)業(yè),它們目前并沒有很好地融合在一起,尤其在MFVEE上,虛擬現(xiàn)實(shí)有3個(gè)典型的特征,即沉浸感、交互性以及構(gòu)想性,作為虛擬現(xiàn)實(shí)一個(gè)非常重要的特性,“交互性”一直沒有得到有效解決,導(dǎo)致MFVEE沒有廣泛應(yīng)用。MFVEE跟頭戴式虛擬現(xiàn)實(shí)系統(tǒng)的交互方式極大不同,主要依賴自然手勢(shì)交互,除了需要解決傳統(tǒng)人機(jī)交互的手勢(shì)實(shí)時(shí)提取、遮擋等問題,更重要的是如何解決手勢(shì)與虛擬空間模型的自然交互、深度空間交互、姿體數(shù)據(jù)的通信等關(guān)鍵技術(shù)問題。本文面向虛擬實(shí)驗(yàn)環(huán)境,構(gòu)建了自然手勢(shì)交互手段,體現(xiàn)了人機(jī)對(duì)話中以人為本的理念,同時(shí)由于用戶在虛擬實(shí)驗(yàn)中的自然交互,在獲取用戶行為數(shù)據(jù)方面具有天然的優(yōu)勢(shì),因此本文所提方案能夠很好地應(yīng)用于虛擬仿真等實(shí)驗(yàn)。