一種基于計算機虛擬界面的自然交互系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供了一種基于計算機虛擬界面的自然交互系統(tǒng),屬于智能計算機領(lǐng)域。該系統(tǒng)包括:構(gòu)建虛擬界面模塊:通過靜態(tài)和動態(tài)兩種方式構(gòu)建虛擬界面;虛擬界面分區(qū)模塊:將虛擬界面平均分成多個區(qū)域,每個區(qū)域具有不同的功能;虛擬界面實時刷新移動模塊:在交互過程中,如果用戶需要更換位置進行操作,則虛擬界面會根據(jù)用戶移動的距離情況進行相應(yīng)的同方向的移動。本發(fā)明通過靜態(tài)和動態(tài)兩種方式構(gòu)建虛擬界面,將虛擬界面進行分區(qū),然后將虛擬界面作為輸入界面與應(yīng)用系統(tǒng)進行交互,有效解決了“Midas Touch Problem”,而且減少了用戶的操作負(fù)荷,具有良好的用戶體驗。
【專利說明】
-種基于計算機虛擬界面的自然交互系統(tǒng)
技術(shù)領(lǐng)域
[0001] 本發(fā)明屬于智能計算機領(lǐng)域,具體設(shè)及一種基于虛擬界面的自然交互方法。
【背景技術(shù)】
[0002] 手勢是日常生活中人們經(jīng)常使用的一種交流方式,而手勢交互作為一種自然的交 互方式吸引了越來越多專家學(xué)者的注意,成為人機交互研究領(lǐng)域的一個熱點。與傳統(tǒng)的基 于圖形用戶界面的交互方式相比,基于視覺的手勢交互界面使用戶擺脫了鍵盤、鼠標(biāo)等輸 入設(shè)備的束縛,因而快速成為一種自然、無約束的交互方式?;谝曈X的手勢交互界面被廣 泛應(yīng)用在智能空間、增強現(xiàn)實、普適計算等領(lǐng)域,逐漸成為國內(nèi)外的研究熱點。但是由于基 于視覺的手勢交互界面本身具有非接觸性和模糊性等特點,計算機處理系統(tǒng)會對進入視頻 范圍內(nèi)的所有手勢命令進行處理,W至于用戶的一些下意識的手勢也會被解釋成有效命 令,造成系統(tǒng)素亂。所W在基于視覺的手勢交互界面中還存在一個問題即"Midas Touch Problem"。
[0003] 在基于視覺的手勢交互界面中"Midas Touch"是一個普遍存在的問題。在文獻"基 于視覺的手勢界面關(guān)鍵技術(shù)研究[JT'(武匯岳,張鳳軍,劉玉進,等..計算機學(xué)報,2009,10: 2030-2041.而 Yue-hui,ZHANG Feng-jun,LIU 化-jin,et al.Re search on Key Issue of Vision-Based Gesture Interfa ces[J].Chinese Journal of Computers,2009,10: 203 0-2041)中,武岳匯等人總結(jié)到對于該問題的解決辦法大致可W分為3類,分別是基于 時間延遲的策略、基于空間接近的原則W及基于widget提供交互上下文的方法?;跁r間 延遲的策略(Jacob R J K . Eye Movement-Based Human-ComputerInteraction Techniques:Toward Non-Command Interfa-ces[J].IN ADVANCES IN HUMAN-COMPUTER INTERACTION. 1999:151-19)是化cob提出的,其主要思想是通過計算手勢控制界面上的光 標(biāo)在界面對象上停留時間的長短來判斷該對象是否被選中。顯然,該方法不夠自然。因為用 戶在操作時必須時刻注意手勢停留在對象上的時間,運無疑增加了用戶的認(rèn)知負(fù)荷和操作 負(fù)荷。Kato等人提出了基于空間接近原則的策略化ato H,Billin曲urst !,Poupyrev I,et al. Virtual Object Manipulation on a Table-Top AR Environment!!J]. Proc . ISAR 2000,2000:111-111)。該方法的主要思想是通過判斷用戶手持的paddle與虛擬對象之間的 距離來完成一系列的交互任務(wù)。此方法的缺陷是由于paddle與虛擬對象之間的距離不容易 控制所W也會產(chǎn)生誤選的可能。Kjeldsen提出在手勢動作和視覺界面widget之間建立一定 的映身才關(guān)系(Kjeldsen R,Levas A,Pinhanez C.Dynamically reconfigurable vision- based user interfaces[J].Machine Vision and Applications,2004,16(I):6-12.)。由 于每個界面widget具有一定的空間位置,所W可通過其提供的交互上下文來約束視覺交互 行為。雖然此系統(tǒng)在一定程度上解決了誤選的問題,但是該方法不夠自然。因為當(dāng)系統(tǒng)需要 很多widget時,運無疑會加大用戶的認(rèn)知負(fù)荷,而且會使界面空間過大而影響交互。武岳匯 等人提出了一個可擴展的視覺手勢交互模型,該模型將手勢交互分為選擇性處理、分配性 處理和集中處理=個階段;然后在此模型的基礎(chǔ)上提出了一個手勢識別框架。雖然該算法 可W解決"Midas Touch Problem",但對于用戶無關(guān)的訓(xùn)練應(yīng)用,該方法的識別率不高。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明的目的在于解決上述現(xiàn)有技術(shù)中存在的難題,提供一種基于虛擬界面的自 然交互方法,解決"Midas Touch Problem",減少用戶的操作負(fù)荷。
[0005] 本發(fā)明是通過W下技術(shù)方案實現(xiàn)的:
[0006] -種基于虛擬界面的自然交互方法,包括:
[0007] Sl,構(gòu)建虛擬界面:通過靜態(tài)和動態(tài)兩種方式構(gòu)建虛擬界面;
[0008] S2,對虛擬界面進行分區(qū):將虛擬界面平均分成多個區(qū)域,每個區(qū)域具有不同的功 能;
[0009] S3,虛擬界面的實時刷新移動:在交互過程中,如果用戶需要更換位置進行操作, 則虛擬界面會根據(jù)用戶移動的距離情況進行相應(yīng)的同方向的移動。
[0010] 所述Sl包括:
[0011] Sll:獲取攝像頭所捕獲到的視頻帖圖像;
[0012] S12:對視頻帖圖像進行手勢分割,將人手從背景中分離出來;
[0013] S13:對分割后的手勢圖像進行識別,判斷識別結(jié)果是否為拳頭,若識別結(jié)果為拳 頭,則記錄下該帖手勢的位置H,然后轉(zhuǎn)到步驟S14;若識別結(jié)果不是拳頭,則轉(zhuǎn)到步驟S12;
[0014] S14:判斷手勢是否處于靜止?fàn)顟B(tài),若為靜止?fàn)顟B(tài),則轉(zhuǎn)到步驟S15 ;若不是靜止?fàn)?態(tài),則轉(zhuǎn)到步驟S16;
[0015] Sl 5:采用靜態(tài)方式創(chuàng)建虛擬界面;
[0016] S16:采用動態(tài)方式創(chuàng)建虛擬界面;
[0017] S17:判斷手勢是否靜止,若靜止,表明人手軌跡運動結(jié)束即動態(tài)構(gòu)建虛擬界面的 過程結(jié)束,轉(zhuǎn)到步驟S18;若手勢非靜止,則轉(zhuǎn)到步驟S16;
[001引S18:對集合C中的手勢坐標(biāo)點求軸對齊包圍盒,得到的包圍盒即為虛擬界面,根據(jù) 虛擬界面給出有效手勢命令的坐標(biāo)范圍。
[0019] 所述S15是運樣實現(xiàn)的:
[0020] WH為中屯、,在其周圍生成虛擬界面,虛擬界面各點的值由W下公式求得:
[0021]
[0022]式中的Hx Hy Hz分別為H點處的x、y、z方向的坐標(biāo)值,L、W和H為認(rèn)知實驗中所得到 的虛擬界面的值。
[0023] 所述L、W和H的取值如下:
[0024]
[00巧]所述S16是運樣實現(xiàn)的:
[0026] 保存每帖手勢的空間坐標(biāo)點到集合C中。
[0027] 所述S18中的根據(jù)虛擬界面給出有效手勢命令的坐標(biāo)范圍是運樣實現(xiàn)的:
[002引記人手在空間中的手勢坐標(biāo)為S,其在空間X方向、y方向和Z方向的坐標(biāo)值分別Sx、 Sy、Sz,只有當(dāng)Sx、Sy、Sz均滿足下列條件時,手勢命令才是有效的:
[0029]
[0030] 所述S2包括:
[0031] 將虛擬界面平均分成四個區(qū)域,分別為放大功能區(qū)、縮小功能區(qū)、旋轉(zhuǎn)功能區(qū)和移 動功能區(qū);
[0032] S21:按照公式(6)計算虛擬界面的重屯、位置:
[0033] .(6)
[0034] 式中的Xm、ym、Zm分別為重屯、位置處的X坐標(biāo)值、y坐標(biāo)值和Z坐標(biāo)值;
[0035] S22:判斷人手位于哪個功能區(qū)內(nèi):從攝像頭實時獲取每帖手勢的Sx、Sy、Sz值,并對 Sx、Sy、Sz進行判斷,具體判斷過程如下:
[0036] (a)判斷是否滿足公式(7),若滿足,則表明人手處于放大功能區(qū),此時3D場景中= 維物體的體積會變大;
[0037] (7)
[003引 是公式(8),若滿足,則表明人手處于縮小功能區(qū),此時3D場景中S 維物體I 12 (8) 2 (C)判斷是否滿足公式(9),若滿足,則表明人手處于旋轉(zhuǎn)功能區(qū),此時3D場景中的 =維物體會按照一個固定的方向旋轉(zhuǎn)一定角度;
[0041]
(9)
[0042] 足公式(10),若滿足,則表明人手處于移動功能區(qū),此時通過判斷 人手的i ]體的移動方向;
[0043] (10)
[0044] (e)如果W上條件都不滿足,表明人手處于虛擬界面之外,此時3D場景中的物體不 會有任何變化,即手勢命令無效。
[0045] 所述S3包括:
[0046] S31:記下虛擬界面學(xué)習(xí)完成時,即步驟Sl結(jié)束時,通過Kinect獲得的人體的初始 重屯、坐標(biāo)Pi;
[0047] S32:獲取每帖人體的重屯、坐標(biāo)P2,并計算人體在空間中移動的距離 ?
[0048] S33:判斷虛擬界面是否需要移動,判斷d>s是否成立,S為一常量,若成立表明虛 擬界面需要移動,然后根據(jù)公式(11)更新虛擬界面中的值;若不需要移動,則轉(zhuǎn)到步驟S32;
[0049] (11)
[0050] 其中,d為人體移動的距離;cosa、cos0、cos 丫分別為向量與空間X軸、y軸、Z軸 方向夾角的余弦值。
[0化1] S取值為200。
[0052] 與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:本發(fā)明方法通過靜態(tài)和動態(tài)兩種方式構(gòu) 建虛擬界面,將虛擬界面進行分區(qū),然后將虛擬界面作為輸入界面與應(yīng)用系統(tǒng)進行交互,有 效解決了 "Midas Touch Problem",而且減少了用戶的操作負(fù)荷,具有良好的用戶體驗。
【附圖說明】
[0053] 圖1認(rèn)知實驗結(jié)果圖
[0化4] 圖2概率分布圖
[0055] 圖3本發(fā)明構(gòu)建虛擬界面的步驟框圖
[0056] 圖4虛擬界面功能分布圖
[0057] 圖5虛擬界面學(xué)習(xí)所用時間圖 [0化引圖6交互出錯次數(shù)
[0化9]圖7用戶評價圖。
【具體實施方式】
[0060]下面結(jié)合附圖對本發(fā)明作進一步詳細(xì)描述:
[0061 ] 針對基于視覺的手勢交互界面中的"Midas Touch Problem",本發(fā)明提出了虛擬 界面的概念。本發(fā)明用統(tǒng)計分析的方法建立虛擬界面的認(rèn)知基礎(chǔ),提出了一種基于認(rèn)知行 為模型的虛擬界面構(gòu)建方法,實現(xiàn)了一個基于虛擬界面的示范應(yīng)用。在具體方法上,本發(fā)明 采用靜態(tài)和動態(tài)兩種方式對虛擬界面進行構(gòu)建,并對已構(gòu)建的虛擬界面進行分區(qū),每個分 區(qū)具有不同的功能,從而達到一種手勢實現(xiàn)多個功能,降低用戶記憶負(fù)荷的目的。實現(xiàn)虛擬 界面的實時刷新功能,達到與人體亦步亦趨的效果。本發(fā)明提出了有效的虛擬界面感知方 法,驗證了其交互能力及其解決"Midas Touch Problem"的積極效果。實驗結(jié)果表明:虛擬 界面不僅能夠高效解決"Midas Touch Problem",而且具有良好的用戶體驗。
[0062] 手勢是日常生活中人們經(jīng)常使用的一種交流方式,而手勢交互作為一種自然的交 互方式吸引了越來越多專家學(xué)者的注意,成為人機交互研究領(lǐng)域的一個熱點。與傳統(tǒng)的基 于圖形用戶界面的交互方式相比,基于視覺的手勢交互界面使用戶擺脫了鍵盤、鼠標(biāo)等輸 入設(shè)備的束縛,因而快速成為一種自然、無約束的交互方式?;谝曈X的手勢交互界面被廣 泛應(yīng)用在智能空間、增強現(xiàn)實、普適計算等領(lǐng)域,逐漸成為國內(nèi)外的研究熱點。但是由于基 于視覺的手勢交互界面本身具有非接觸性和模糊性等特點,計算機處理系統(tǒng)會對進入視頻 范圍內(nèi)的所有手勢命令進行處理,W至于用戶的一些下意識的手勢也會被解釋成有效命 令,造成系統(tǒng)素亂。所W在基于視覺的手勢交互界面中還存在一個問題即"Midas Touch Problem"。
[0063] 本發(fā)明在已有的研究基礎(chǔ)上,提出了一種基于虛擬界面的手勢交互方法。該方法 通過靜態(tài)和動態(tài)兩種方式構(gòu)建虛擬界面,將虛擬界面進行分區(qū),然后將虛擬界面作為輸入 界面與應(yīng)用系統(tǒng)進行交互,有效解決了 "Midas Touch Problem"。
[0064] 認(rèn)知是人認(rèn)識外界事物的過程,也可稱為認(rèn)識,體現(xiàn)了人最基本的屯、理過程,它可 W對作用于人的感覺器官的外界事物進行信息的加工。人要想對事物進行認(rèn)識,一般要經(jīng) 過從"不知'到"了解",在從"了解"到"理解"的過程W'W。在屯、理學(xué)中,認(rèn)知是通過個體思 維對信息進行處理的一種屯、理功能,是通過一系列像知覺、想象、形成概念或判斷等屯、理活 動來達到獲取知識的過程。
[0065] 通過研究認(rèn)知理論,并將其運用到人機交互中是人機交互領(lǐng)域中一個新的研究方 向,受到了眾多學(xué)者和專家的關(guān)注。人機交互顧名思義是人和計算機進行交互。在基于視覺 的手勢交互中,人手活動的有效區(qū)域往往是視頻所能捕獲到的整個范圍,即用戶在視頻范 圍內(nèi)的任一手勢動作都會被計算機解釋成有效命令。按照認(rèn)知理論,在手勢交互過程中,人 手的運動范圍會遵循一定的規(guī)律。本文在基于Kincet智能電視控制平臺上進行實驗,對實 驗中人手的運動范圍進行計算和統(tǒng)計,尋找其中的規(guī)律。
[0066] 人手在運動過程中是遵循一定規(guī)律的,為了研究其中的規(guī)律,本發(fā)明設(shè)計了認(rèn)知 實驗。實驗前先對操作者進行一些系統(tǒng)培訓(xùn),比如講解實驗的過程和任務(wù),讓他們對實驗有 一個認(rèn)識。為了使得到的實驗數(shù)據(jù)更具有普遍性和統(tǒng)計意義,實驗對象選擇了 200名不同年 齡(年齡段在19-27歲之間)、不同性別(其中包括男生110人,女生90人)、不同學(xué)歷(包括研 究生和本科生)、不同生活經(jīng)驗(其中35人有使用過智能手勢操作或智能電視的經(jīng)歷)的人。 認(rèn)知實驗是在基于Kinect智能電視控制平臺上進行的。實驗的具體過程是:在視頻用暴風(fēng) 影音軟件打開的情況下,讓操作者均站在一個固定的位置,按照順序依次完成W下六個任 務(wù)。運六個任務(wù)分別是(1)操作者向左揮手減少視頻的音量;(2)操作者向右揮手增加視頻 的音量;(3)操作者向上揮手切換上一個頻道;(4)操作者向下?lián)]手切換下一個頻道;(5)操 作者的手向前做前推動作,使視頻快進;(6)操作者的手向后拉做后拉動作,使視頻快退。六 個手勢動作完成即為任務(wù)結(jié)束。在實驗的整個操作過程中,不對操作者的手勢軌跡做出任 何糾正,操作者完全按照自己的操作習(xí)慣,用自己最自然、最舒適的方式去操作完成整個交 互任務(wù)。
[0067] 記錄下每個實驗者從任務(wù)開始到任務(wù)結(jié)束即整個任務(wù)操作過程中人手運動的軌 跡點集合。因為kinect可W獲得S維的人手空間坐標(biāo),所W對手勢軌跡點集合求取軸對齊 包圍盒(AABB),便得到一個S條邊均與空間坐標(biāo)軸平行并且能夠?qū)⑹謩蒈壽E點集合中的所 有手勢點包圍起來的最小長方體或是立方體(W下均稱為長方體)。所W最終獲得的實驗數(shù) 據(jù)為該長方體的長寬高的值。
[0068] 通過認(rèn)知實驗獲得了實驗數(shù)據(jù)后,就可W對數(shù)據(jù)進行分析。本發(fā)明是利用美國 MathWork公司的MTLAB軟件對數(shù)據(jù)進行分析和統(tǒng)計。由MTLAB得到的曲線圖如圖1所示。
[0069] 由圖1可知,雖然不同長方體的長、寬和高的值不盡相同,但均在一定范圍內(nèi)。運表 明雖然不同的人有不同的操作方式和交互方式,但操作區(qū)域大都在一定范圍內(nèi),此范圍也 是極為相似的。該操作范圍即體現(xiàn)了交互過程中人手運動的規(guī)律性。在交互過程中,人手的 活動區(qū)域大都控制在一定范圍內(nèi),此范圍對于操作者來說是舒適和方便的。該范圍即為本 發(fā)明所提出的虛擬界面,所W認(rèn)知實驗的設(shè)計為虛擬界面的存在和構(gòu)建提供了理論和數(shù)據(jù) 支持。圖2為概率分布圖。由圖2所知,認(rèn)知實驗過程中所得到的長方體的長、寬和高的值均 近似服從正態(tài)分布。
[0070] 本發(fā)明用L表示所得長方體的長度均值,OL表示長度標(biāo)準(zhǔn)差,W表示寬度均值,OW表 示寬度標(biāo)準(zhǔn)差,H表示高度均值,叫表示高度標(biāo)準(zhǔn)差。按照公式(1)計算UW和H的值,按照公 式(2)計算〇L、〇W、〇H的值。
[0071] .(1)
[0072] (2)
[0073] 其中,式(I)、(2)中以、胖1、出分別表示在認(rèn)知實驗中,每個實驗操作者所得到的操 作范圍的長寬高的值;N為參加認(rèn)知實驗的總?cè)藬?shù)。
[0074] 經(jīng)過計算得到; 單位均為mniDUW和H的值將用到下一節(jié) 5 虛擬界面的構(gòu)建過程中。
[0075] 手勢分割是從復(fù)雜背景中將手勢圖像分離出來,只在前景中保留手勢部分。手勢 分割的好壞將直接影響后續(xù)的手勢識別效果。本發(fā)明采用微軟的Kinect傳感器獲取深度數(shù) 據(jù),在此基礎(chǔ)上利用人手的深度信息對手勢進行分割,避免了光照、背景等因素的影響,提 高了手勢分割的魯棒性。然后對分割結(jié)果進行去噪、腐蝕、膨脹等處理。
[0076] 手勢識別是人機交互領(lǐng)域中的一項關(guān)鍵技術(shù)。本發(fā)明采用的是基于手勢主方向和 類-Hausdorff距離的手勢識別算法。該算法主要是對空間手勢的手勢坐標(biāo)點分布特征進行 提取,然后利用類-化USdorff作為相似性度量。實驗結(jié)果表明,該算法對于手勢的平移、旋 轉(zhuǎn)和縮放具有很好的魯棒性,具有很強的穩(wěn)定性和實用性。
[0077] 當(dāng)今世界人體工程學(xué)受到了越來越多國家的重視,并且其應(yīng)用領(lǐng)域也越來越廣。 W人為本作為人體工程學(xué)的基本思想,在科技快速發(fā)展的今天已經(jīng)成為一種趨勢。將人- 機-環(huán)境系統(tǒng)作為一個整體來研究是現(xiàn)代人機工程學(xué)的研究方向,其目的是為人類創(chuàng)造出 適合的產(chǎn)品和舒適的環(huán)境,從而達到人-機-環(huán)境和諧統(tǒng)一的目的。從人機工程學(xué)的角度出 發(fā),根據(jù)人的行為習(xí)慣,本發(fā)明提出了兩種構(gòu)建虛擬界面的方式,分別是靜態(tài)構(gòu)建和動態(tài)構(gòu) 建,意在建立一種符合用戶操作習(xí)慣和并且能夠增加用戶舒適度的創(chuàng)建方式。
[0078] 動態(tài)構(gòu)建虛擬界面的具體方法為:操作者在空中按照自己的操作習(xí)慣隨意畫一個 閉合的軌跡,此閉合軌跡的外接包圍盒即為構(gòu)建的虛擬界面。靜態(tài)創(chuàng)建虛擬界面的方式為: 操作者將手自然抬起,做拳頭手勢,并在空中靜止幾秒后,在人手的周圍,W人手為中屯、會 自動建立一個虛擬界面。該虛擬界面的大小,可由前面認(rèn)知實驗的結(jié)論(所得到的長方體的 長寬高的均值)來確定。運兩種構(gòu)建方式符合人的操作習(xí)慣,而且降低了操作者的操作負(fù)荷 和認(rèn)知負(fù)荷。運兩種方式的共同特點是:需要事先對拳頭手勢進行識別。因為本發(fā)明將拳頭 手勢作為構(gòu)建虛擬界面的特定手勢。運樣可W避免一些無效手勢命令。本發(fā)明用
[0079] VR={xi,X2,yi,y2,zi,Z2}. (3)
[0080] 來表示虛擬界面。其中X1、X2為在X方向上虛擬界面的最小值和最大值;yi、y2為在y 方向上虛擬界面的最小值和最大值;Z1、Z2為在Z方向上虛擬界面的最小值和最大值。
[0081] 構(gòu)建虛擬界面的算法的框架流程圖如圖3所示。
[0082] 構(gòu)建虛擬界面的具體算法如下:
[0083] 步驟1:獲取攝像頭所捕獲到的視頻帖圖像;
[0084] 步驟2:對視頻帖圖像進行手勢分割,將人手從背景中分離出來;
[0085] 步驟3:對分割后的手勢圖像進行識別,判斷識別結(jié)果是否為拳頭;若識別結(jié)果為 拳頭,記錄下該帖手勢的位置H,轉(zhuǎn)到步驟4;若識別結(jié)果不是拳頭,則轉(zhuǎn)到步驟2;
[0086] 步驟4:判斷手勢是否處于靜止?fàn)顟B(tài),若為靜止?fàn)顟B(tài),則可判斷為此方式為靜態(tài)創(chuàng) 建虛擬界面,然后轉(zhuǎn)為步驟5;若不是靜止?fàn)顟B(tài),則為動態(tài)創(chuàng)建虛擬界面的方式,轉(zhuǎn)為步驟6;
[0087]步驟5: WH為中屯、,在其周圍生成虛擬界面。虛擬界面各點的值可由W下公式求 得:
[008引 (4)
[0089] 式中的Hx Hy Hz分別為H點處的x、y、z方向的坐標(biāo)值,L、W和H為認(rèn)知實驗中所得到 的虛擬界面的值;
[0090] 步驟6:保存每帖手勢的空間坐標(biāo)點到集合C中;
[0091] 步驟7:判斷手勢是否靜止,若靜止,表明人手軌跡運動結(jié)束即動態(tài)構(gòu)建虛擬界面 的過程結(jié)束,轉(zhuǎn)到步驟8;若手勢非靜止,則轉(zhuǎn)到步驟6;
[0092] 步驟8:對集合C中的手勢坐標(biāo)點求軸對齊包圍盒,得到的包圍盒即為虛擬界面;
[0093] 記人手在空間中的手勢坐標(biāo)為S,其在空間X方向、y方向和Z方向的坐標(biāo)值分別Sx、 Sy、Sz。只有當(dāng)Sx、Sy、Sz均滿足下列條件時,手勢命令才是有效的。
[0094] .(5)
[00M]對虛擬界面分區(qū)的方法如下:
[0096] 學(xué)習(xí)過程確定了虛擬界面的大小和位置,接下來是利用虛擬界面與3D場景進行 交互。本發(fā)明的交互任務(wù)主要為放大、縮小、旋轉(zhuǎn)和移動=維物體。為了實現(xiàn)運四種常用的 功能,本發(fā)明提出了分區(qū)的概念,即對虛擬界面進行分區(qū)。本發(fā)明將虛擬界面平均分成四個 區(qū)域,每個區(qū)域具有不同的功能,從而用一種手勢就可W完成所有的功能。分區(qū)后的虛擬界 面W及個分區(qū)所具有的功能如圖4所示:
[0097] 具體分區(qū)算法如下所述:
[0098] 步驟1:按照公式(6)公式計算虛擬界面的重屯、位置。
[0099] .(6)
[0100] 式中的Xm、ym、Zm分別為重屯、位置處的X坐標(biāo)值、y坐標(biāo)值和Z坐標(biāo)值。
[0101] 步驟2:判斷人手位于哪個功能區(qū)內(nèi)。從攝像頭實時獲取每帖手勢的Sx、Sy、Sz值,并 對Sx、Sy、Sz進行判斷。具體判斷過程如下:
[0102] (a)判斷是否滿足公式(7)。若滿足,則表明人手處于放大功能區(qū),此時3D場景中= 維物體的體積會變大。
[0103] .(7)
[0104] f足公式(8)。若滿足,則表明人手處于縮小功能區(qū),此時3D場景中= 維物巾
[0105] .(8)
[0106] f足公式(9)。若滿足,則表明人手處于旋轉(zhuǎn)功能區(qū),此時3D場景中的 =維串^ E的方向旋轉(zhuǎn)一定角度。
[0107] .(9)
[0108] !足公式(10)。若滿足,則表明人手處于移動功能區(qū)。通過判斷人手 的運g 均移動方向。
[0109] (10)
[0110] (e)如果W上條件都不滿足,表明人手處于虛擬界面之外,此時無論人手怎么操作 3D場景中的物體都不會有任何變化,即手勢命令無效。
[0111] 虛擬界面的實時刷新移動方法如下:
[0112] 在交互過程中,有時用戶需要更換位置進行操作。在運種情況下,本發(fā)明規(guī)定之前 學(xué)習(xí)好的虛擬界面會根據(jù)用戶移動的距離情況進行相應(yīng)的同方向的移動,達到與用戶亦步 亦趨的效果。具體算法如下所述:
[0113] 步驟1:記下虛擬界面學(xué)習(xí)完成時,人體的初始重屯、坐標(biāo)Pi。
[0114] 步驟2:獲取每帖人體的重屯、坐標(biāo)P2,并計算人體在空間中移動的距離
[0115] 步驟3:判斷虛擬界面是否需要移動。判斷d>s是否成立,S為事先定義的一常量, 其推薦取值為200。若成立表明虛擬界面需要移動,然后根據(jù)公式(11)更新虛擬界面中的 值;若不需要移動,則轉(zhuǎn)到步驟2。
[0116] UD
[0117] 其中,d為人體移動的距離;cosa、cos0、cos 丫分別為向量P;P.-:與空間X軸、y軸、Z軸 方向夾角的余弦值。
[011引本發(fā)明實驗所用的普通個人計算機的基本配置為:windows7系統(tǒng),CPU為Intel Xeon W3520,主頻2.676化,內(nèi)存868。
[0119] 本發(fā)明的實驗操作場景和3D場景如下:左上方是虛擬界面所對應(yīng)的功能區(qū)圖。當(dāng) 人手處于虛擬界面的不同功能區(qū)時,對應(yīng)功能圖標(biāo)的周圍會出現(xiàn)一紅色邊框,表示用戶此 時所處的功能區(qū)域,給用戶一種實時的反饋。當(dāng)人手在虛擬界面之外時,系統(tǒng)會根據(jù)人手和 虛擬界面的相對位置,在圖片上給出相應(yīng)的反饋。例如,當(dāng)人手處于虛擬界面的下方時,左 上方圖中的下方會出現(xiàn)一紅線,W此來告訴用戶此時人手的位置。左中方是Kinect實時捕 獲到的用戶操作場景。左下方為利用Kinect獲得的深度信息對人手進行分割的結(jié)果。右邊 部分為虛擬場景,場景中的物體為一魔方。虛擬界面構(gòu)建完成后,用戶通過虛擬界面與虛擬 場景中的魔方進行交互。
[0120] 操作者通過虛擬界面與3D場景交互的過程如下:(a)初始狀態(tài)下3D場景中魔方的 狀態(tài);(b)人手處于移動功能區(qū),此時魔方相對于初始位置向右進行了一段距離的移動;(C) 人手處于縮小功能區(qū),此時魔方的體積在移動的基礎(chǔ)上變小;(d)人手處于放大功能區(qū),在 (C)的基礎(chǔ)上魔方的體積進行了一定比例的放大;(e)人手處于旋轉(zhuǎn)功能區(qū),可W看到魔方 在(d)的基礎(chǔ)上進行了一定角度的旋轉(zhuǎn);(f)人手處于虛擬界面外時,3D場景中的魔方不會 發(fā)生任何變化,與(e)的狀態(tài)完全相同,即此時手勢命令無效。
[0121] 在交互過程中,虛擬界面的實時刷新變化,包括:(a)虛擬界面學(xué)習(xí)完成時,虛擬界 面在屏幕上的投影位置,即初始位置;(b)當(dāng)人體向左平移一段距離時,虛擬界面的移動情 況,結(jié)果為虛擬界面向左也移動了一定的距離;(C)當(dāng)虛擬界面向左移動時,人手在旋轉(zhuǎn)功 能區(qū)使魔方進行一定角度的旋轉(zhuǎn);(d)當(dāng)人體向右平移一段距離時,虛擬界面向右也移動了 一段距離。(e)當(dāng)虛擬界面向右移動時,人手在放大功能區(qū)使魔方的體積在原來的基礎(chǔ)上變 大。
[0122] 本發(fā)明在時間和精度方面對本文算法進行了評價。時間為虛擬界面學(xué)習(xí)過程中 所消耗的時間。其中時間又分為靜態(tài)建立虛擬界面所消耗的時間和動態(tài)建立虛擬界面所消 耗的時間。精度為在通過虛擬界面與3D場景進行交互時,交互出錯的次數(shù)(預(yù)先設(shè)置好任務(wù) 即每次實驗過程中需要與3D場景交互10次,也就是所有的功能共執(zhí)行10次)。選取30名實驗 者進行30次獨立實驗,分別計算每次實驗時學(xué)習(xí)虛擬界面所用的時間和交互出錯出現(xiàn)的次 數(shù)。在30名操作者中,又平均分成兩組,每組15個人。其中一組選用靜態(tài)構(gòu)建虛擬界面的方 式對虛擬界面進行構(gòu)建,另外一組選用動態(tài)構(gòu)建虛擬界面的方式進行構(gòu)建虛擬界面。對實 驗過程中得到的數(shù)據(jù)利用ma化Iab軟件進行作圖,得到的結(jié)果圖如圖5和圖6所示。
[0123] 圖5為虛擬界面學(xué)習(xí)過程中的時間統(tǒng)計圖。由圖可知,靜態(tài)構(gòu)建虛擬界面所需要的 時間明顯少于動態(tài)構(gòu)建虛擬界面所需要的時間。運是因為靜態(tài)構(gòu)建虛擬界面時,操作者不 需要通過在空中畫軌跡來確定虛擬界面的大小。通過對每一組所得到的數(shù)據(jù)計算平均值, 得到靜態(tài)構(gòu)建虛擬界面所需的平均時間為2502ms,動態(tài)構(gòu)建虛擬界面所需的平均時間為 4950ms。圖6為精度統(tǒng)計圖。由圖可知,在所有的實驗中,雖然每次實驗都有不同的操作者完 成,但交互出錯的次數(shù)基本在1次到3次之間。由此表明,使用本算法操作者能夠很好與系統(tǒng) 進行交互,能夠很順利地完成操作任務(wù)。
[0124] 此外本發(fā)明還把用戶體驗作為對本文算法的一個評價標(biāo)準(zhǔn)。為了方面描述,將本 發(fā)明基于虛擬界面算法的系統(tǒng)簡稱為VIM(Vbtual Interface Method)。與之相對應(yīng)的即 無虛擬界面算法的系統(tǒng)則稱之為NVIM(None Virtual Interface Method)。隨機選取50名 不同專業(yè)、不同年齡、不同性別的本科生和研究生作為實驗者,在實驗場景和交互任務(wù)完全 相同的VIM和NVIM系統(tǒng)上進行實驗。本實驗場景如上面所講到的為3D場景中的立方體。實驗 任務(wù)為將放大、縮小、旋轉(zhuǎn)和移動功能共操作10次。本文將從疲勞度、努力程度、愉悅度和可 行性運四個方面對使用VIM的系統(tǒng)和使用NVIM的系統(tǒng)進行評價。其中,疲勞度為操作過程 中,操作者的辛苦程度;努力程度為為完成交互任務(wù),操作者需要付出多少的努力;愉悅度 為使用系統(tǒng)時,用戶所感到的愉悅程度;可行性為對于用戶來說,系統(tǒng)的可行程度。其中疲 勞度和努力程度分?jǐn)?shù)越低表示系統(tǒng)越好,可行性和愉悅度分?jǐn)?shù)越高表示系統(tǒng)越好。實驗者 做完實驗后,會為他們發(fā)放一份調(diào)查問卷。調(diào)查問卷的主要內(nèi)容是請操作者根據(jù)之前的操 作過程,從切身感受出發(fā),從疲勞度、努力程度、愉悅度和可行性方面對運兩個不同的系統(tǒng) 分別進行打分。具體的打分標(biāo)準(zhǔn)為:滿分均為100分。然后求各個性能在不同算法中的平均 分。實驗結(jié)果如圖7所示。由圖7可知在疲勞度和努力程度方面,基于VIM的系統(tǒng)優(yōu)勢尤其明 顯。運是因為與基于NVIM的系統(tǒng)相比,基于VIM系統(tǒng)的操作空間被限制到了某個特定的范圍 內(nèi)也就是虛擬界面內(nèi),運樣操作者在小范圍內(nèi)就可W完成整個操作任務(wù)而不需要移動身體 或者努力伸長胳膊才能達到目的。由于虛擬界面的存在防止了下意識的手勢觸發(fā)命令,所 W在愉悅度和可行度方面,基于VIM的系統(tǒng)也具有一定的優(yōu)勢。
[0125] 本發(fā)明提出了虛擬界面的概念,通過學(xué)習(xí)過程構(gòu)建虛擬界面,并規(guī)定處于虛擬界 面之內(nèi)的手勢是有效手勢,而處于虛擬界面之外的手勢是無效手勢,不會觸發(fā)任何命令,有 效解決了在基于視覺的手勢交互界面中出現(xiàn)的"Midas Touch Problem"。發(fā)明用大量的統(tǒng) 計實驗構(gòu)建"虛擬界面"的認(rèn)知基礎(chǔ);提出了一種基于認(rèn)知行為模型的虛擬界面構(gòu)建算法; 實現(xiàn)了一個基于虛擬界面的示范應(yīng)用。從實驗結(jié)果來看,虛擬界面的存在,不僅能有效解決 "Midas Touch Problem",而且減少了用戶的操作負(fù)荷,具有良好的用戶體驗。
[0126] 上述技術(shù)方案只是本發(fā)明的一種實施方式,對于本領(lǐng)域內(nèi)的技術(shù)人員而言,在本 發(fā)明公開了應(yīng)用方法和原理的基礎(chǔ)上,很容易做出各種類型的改進或變形,而不僅限于本 發(fā)明上述【具體實施方式】所描述的方法,因此前面描述的方式只是優(yōu)選的,而并不具有限制 性的意義。
【主權(quán)項】
1. 一種基于計算機虛擬界面的自然交互系統(tǒng),其特征在于,包括: 構(gòu)建虛擬界面模塊S1:通過靜態(tài)和動態(tài)兩種方式構(gòu)建虛擬界面; 虛擬界面分區(qū)模塊S2:將虛擬界面平均分成多個區(qū)域,每個區(qū)域具有不同的功能; 虛擬界面實時刷新移動模塊S3:在交互過程中,如果用戶需要更換位置進行操作,則虛 擬界面會根據(jù)用戶移動的距離情況進行相應(yīng)的同方向的移動。2. 根據(jù)權(quán)利要求1所述的基于計算機虛擬界面的自然交互系統(tǒng),其特征在于:所述構(gòu)建 虛擬界面模塊S1包括如下步驟: S11:獲取攝像頭所捕獲到的視頻幀圖像; S12:對視頻幀圖像進行手勢分割,將人手從背景中分離出來; S13:對分割后的手勢圖像進行識別,判斷識別結(jié)果是否為拳頭,若識別結(jié)果為拳頭,則 記錄下該幀手勢的位置H,然后轉(zhuǎn)到步驟S14;若識別結(jié)果不是拳頭,則轉(zhuǎn)到步驟S12; S14:判斷手勢是否處于靜止?fàn)顟B(tài),若為靜止?fàn)顟B(tài),則轉(zhuǎn)到步驟S15;若不是靜止?fàn)顟B(tài),則 轉(zhuǎn)到步驟S16; S15:采用靜態(tài)方式創(chuàng)建虛擬界面; S16:采用動態(tài)方式創(chuàng)建虛擬界面; S17:判斷手勢是否靜止,若靜止,表明人手軌跡運動結(jié)束即動態(tài)構(gòu)建虛擬界面的過程 結(jié)束,轉(zhuǎn)到步驟S18;若手勢非靜止,則轉(zhuǎn)到步驟S16; S18:對集合C中的手勢坐標(biāo)點求軸對齊包圍盒,得到的包圍盒即為虛擬界面,根據(jù)虛擬 界面給出有效手勢命令的坐標(biāo)范圍。3. 根據(jù)權(quán)利要求2所述的基于計算機虛擬界面的自然交互系統(tǒng),其特征在于:所述步驟 S15是這樣實現(xiàn)的: 以Η為中心,在其周圍生成虛擬界面,虛擬界面各點的值由以下公式求得:式中的Hx Hy Ηζ分別為Η點處的X、y、ζ方向的坐標(biāo)值,L、W和Η為認(rèn)知實驗中所得到的虛 擬界面的值。4. 根據(jù)權(quán)利要求3所述的基于計算機虛擬界面的自然交互系統(tǒng),其特征在于:所述L、W 和Η的取值如下:5. 根據(jù)權(quán)利要求4所述的基于計算機虛擬界面的自然交互系統(tǒng),其特征在于:所述步驟 S16是這樣實現(xiàn)的: 保存每幀手勢的空間坐標(biāo)點到集合C中。6. 根據(jù)權(quán)利要求5所述的基于計算機虛擬界面的自然交互系統(tǒng),其特征在于:所述步驟 S18中的根據(jù)虛擬界面給出有效手勢命令的坐標(biāo)范圍是這樣實現(xiàn)的: 記人手在空間中的手勢坐標(biāo)為S,其在空間X方向、y方向和z方向的坐標(biāo)值分別Sx、Sy、 Sz,只有當(dāng)Sx、Sy、Sz均滿足下列條件時,手勢命令才是有效的:7. 根據(jù)權(quán)利要求6所述的基于計算機虛擬界面的自然交互系統(tǒng),其特征在于:所述虛擬 界面分區(qū)模塊S2包括如下步驟: 將虛擬界面平均分成四個區(qū)域,分別為放大功能區(qū)、縮小功能區(qū)、旋轉(zhuǎn)功能區(qū)和移動功 能區(qū); S21:按照公式(6)計算虛擬界面的重心位置:式中的Xm、ym、Zm分別為重心位置處的X坐標(biāo)值、y坐標(biāo)值和Z坐標(biāo)值; S22:判斷人手位于哪個功能區(qū)內(nèi):從攝像頭實時獲取每幀手勢的Sx、Sy、Sz值,并對S x、 Sy、Sz進行判斷,具體判斷過程如下: (a) 判斷是否滿足公式(7),若滿足,則表明人手處于放大功能區(qū),此時3D場景中三維物 體的體積會變大;(b) 判斷是否滿足公式(8),若滿足,則表明人手處于縮小功能區(qū),此時3D場景中三維物 體體積會縮小;(C)判斷是否滿足公式(9),若滿足,則表明人手處于旋轉(zhuǎn)功能區(qū),此時3D場景中的三維 物體會按照一個固定的方向旋轉(zhuǎn)一定角度;(9) (d) 判斷是否滿足公式(10),若滿足,則表明人手處于移動功能區(qū),此時通過判斷人手 的運動方向決定3D物體的移動方向;(10) (e) 如果以上條件都不滿足,表明人手處于虛擬界面之外,此時3D場景中的物體不會有 任何變化,即手勢命令無效。8. 根據(jù)權(quán)利要求7所述的基于計算機虛擬界面的自然交互系統(tǒng),其特征在于:所述虛擬 界面實時刷新移動模塊S3包括: S31:記下虛擬界面學(xué)習(xí)完成時,即步驟S1結(jié)束時,通過Kinect獲得的人體的初始重心 坐標(biāo)Pi; S32:獲取每幀人體的重心坐標(biāo)P2,并計算人體在空間中移動的距離d二|巧尸2| | ,' S33:判斷虛擬界面是否需要移動,判斷d>s是否成立,s為一常量,若成立表明虛擬界 面需要移動,然后根據(jù)公式(11)更新虛擬界面中的值;若不需要移動,則轉(zhuǎn)到步驟S32;其中,d為人體移動的距離;cosa、cosP、cos γ分別為向量/丨心與空間X軸、y軸、z軸方向 夾角的余弦值。9. 根據(jù)權(quán)利要求8所述的基于計算機虛擬界面的自然交互系統(tǒng),其特征在于:所述s取 值為200。
【文檔編號】G06F3/01GK105955450SQ201610237038
【公開日】2016年9月21日
【申請日】2016年4月15日
【發(fā)明人】范長英
【申請人】范長英