999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

支持多模態交互的桌面增強顯示系統

2022-07-14 13:11:32王子珩姜忠鼎
計算機工程 2022年7期
關鍵詞:用戶系統

王子珩,姜忠鼎

(1.復旦大學 軟件學院,上海 200438;2.復旦大學 上海市數據科學重點實驗室,上海 200438)

0 概述

近年來,頭戴式顯示(Head Mounted Display,HMD)設備在重量、分辨率、續航能力和視場等方面不斷改進,以便于供個人用戶使用。由于HMD 設備可以將三維可視內容懸浮呈現在用戶眼前,因此與傳統桌面顯示器相比,HMD 設備在不占用額外物理空間的條件下,能夠顯示數量更多、形式類型更豐富的內容[1],有望被廣泛應用于日常辦公、學習場景中。

學術界已有較多關于使用HMD 設備進行信息呈現的研究。文獻[2]提出Personal Cockpit 概念,探索了在AR 空間下多窗口布局的參數對用戶交互效率的影響,通過多項用戶對比實驗獲得AR 空間下多窗口布局需要遵循的規律,但是Personal Cockpit 未研究相對于隔空手勢更加高效和準確的交互方式。文獻[3]提出Spatial Analytic Interfaces,使日常的可視化分析任務在任何合適的時間和地點都能夠就地執行,但是該研究同樣沒有進一步研究增強顯示HMD 的交互問題。文獻[4-5]提出以VR 設備作為遠程辦公平臺,文獻[6-7]提出基于VR 設備的虛擬辦公應用,可以在外出甚至交通工具上進行辦公,并且將遠程用戶以虛擬化的形式呈現在本地用戶的VR 空間中,但是該應用僅實現基本的畫面呈現和簡單交互。Facebook 提出Infinite Office 概念[8],在VR空間中將多個可視化窗口環繞在用戶眼前,支持隔空手勢和鍵盤輸入,滿足使用者日常化辦公的需求。但是Facebook Infinite Office 只實現了基于隔空手勢的跨窗口交互,并且VR 設備呈現的均為虛擬畫面,因此無法利用空間定位技術實現與真實空間的空間對齊,并且在該概念中,僅支持使用手勢在多窗口間進行切換和交互,以及利用鍵盤進行輸入,未考慮到鼠標交互這種更為高效且準確的交互方式。

關于使用HMD 設備與真實空間虛實融合進行交互和顯示的研究已取得一定的進展。早在1999年,文獻[9]提出基于虛實融合建立連續工作空間的概念。Mirage[10]是一個將AR 頭顯內畫面作為電腦擴展顯示屏,實現AR 空間與真實電腦畫面的虛實融合,但是該應用沒有實現交互空間的統一,用戶只能使用電腦自帶的鍵盤鼠標與AR 空間內的擴展屏交互,而在AR 空間內用戶無法與電腦屏幕進行交互。文獻[11]實現AR 頭顯與大屏的虛實融合,并通過空間定位技術建立虛擬畫面和真實大屏之間的聯系,但是該系統并不涉及多窗口顯示,因此無需考慮窗口間切換的交互問題,并且使用的也是手勢交互,不支持鍵盤和鼠標。文獻[12]將物理桌面屏與AR 眼鏡中的多維數據圖表相結合,增強了復雜數據的呈現形式,但是僅支持數據圖表增強現實,具有一般的泛用性。文獻[13]提出使用AR 頭顯增強現實中的紙質文件系統HoloDoc,但是該系統的應用場景較局限,無法應用在使用電腦的數字化辦公場景中。文獻[14]設計使用智能手機在AR 頭顯中進行多窗口管理的系統。文獻[15-16]分別提出BISHARE 和VESAD,實現了AR 頭顯與手機屏幕的虛實融合,但是在該系統中僅支持基于多種手勢的交互,交互效率、準確性都有所欠缺。文獻[17]通過空間定位將真實世界中的觸摸屏映射到VR 空間內,從而打破了真實世界與VR 空間的交互界限。在VR 空間內,用戶通過在觸摸屏上移動手指來操作虛擬畫面上的光標。該系統的不足之處在于,與基于鍵鼠的交互相比,基于觸摸屏的交互準確度較低、交互動作也更少。由于該系統基于VR 頭顯實現,因此無法對真實空間中的畫面進行增強顯示。文獻[18]提出Gluey,利用AR 眼鏡內的畫面作為“剪切板”,在注冊系統中的多設備之間傳遞圖像并重定向交互設備的輸入,盡管該系統同時涉及了真實和虛擬畫面,且交互設備輸入的重定向大幅提高了交互效率,但AR 眼鏡中的虛擬畫面僅起到臨時畫布的作用,并沒有與真實設備達到虛實融合的效果。最新的研究進展來自文獻[19],他們利用Windows Duplication API 采集本機電腦畫面,在Unity Editor 中運行并通過Holographic Remoting Player 將采集的畫面實時傳輸并顯示在AR 眼鏡中,同時使用電腦相連的鍵盤和鼠標進行正常交互。該成果僅將AR 眼鏡用作虛擬外接顯示器,所有的交互只能通過與電腦本身相連的設備才能完成,在AR 眼鏡中只能觀看。該系統必須運行Unity Editor 以及AR 眼鏡中的Remoting Player,并非運行于AR 眼鏡的本機應用,并且只能顯示一臺電腦的桌面內容,其可擴展性和實用性都較低。

本文基于HoloLens 2 AR 智能眼鏡,利用混合現實工具包[20](Mixed Reality Toolkit,MRTK)設計遠程桌面增強顯示系統,以支持多模態交互。采用基于二維碼識別的空間定位技術將真實電腦畫面投射至AR 虛擬空間內,通過坐標空間轉換和交互接口底層映射的技術,實現隔空手勢、鍵盤鼠標與真實電腦桌面以及AR 虛擬空間內畫面的交互。

1 虛實融合的多窗口顯示

1.1 遠程PC 控制的實現方法

實現AR 虛擬空間與真實電腦畫面虛實融合的主要步驟是首先將真實電腦屏幕準確映射到AR 虛擬空間中,并在AR 空間中與其物理位置空間對齊;其次AR頭顯通過網絡向電腦發送有序、正確的交互指令。

真實電腦屏幕在AR 空間內空間對齊的實現是利用HoloLens 2 眼鏡上4 個黑白攝像頭對黑白圖案(二維碼)進行識別[21],當識別完成后以該二維碼平面為基準面,建立一個局部坐標系。本文考慮到HoloLens 2關于二維碼識別的官方文檔[21]中要求二維碼邊長在5~10 cm 之間且對距離、環境有所限制,在正常光照的房間內,測試了不同尺寸、同樣內容的二維碼能夠識別的最遠距離,結果如表1 所示。

表1 不同尺寸二維碼的最遠識別距離Table 1 The farthest recognition distance of QR code with different sizes cm

從表1 可以看出,邊長6 cm 的二維碼能夠在60 cm 以內的范圍內穩定識別。由于考慮到定標二維碼對屏幕畫面的遮擋,同時在坐姿狀態下人眼距離屏幕的距離約為50~60 cm,因此本文選擇邊長為6 cm 的二維碼,做成卡片放置在電腦屏幕右下角進行定標,如圖1 所示。

圖1 二維碼定標Fig.1 QR code calibration

HoloLens 2 識別該二維碼后建立的局部坐標系如圖2 所示(彩色效果見《計算機工程》官網HTML 版)。

圖2 坐標系建立示意圖Fig.2 Schematic diagram of coordinate system establishment

在此基礎上,本文通過測量屏幕的長、寬等物理信息,將真實電腦屏幕在AR 空間中實現空間對齊,如圖3 所示。從圖3 可以看出,空心圓點為手部射線與真實屏幕在AR 空間內映射結果的交點,實心圓點為該交點映射到真實電腦屏幕上的顯示點,兩者幾乎重合,表明實現了空間對齊。由于二維碼緊貼在屏幕表面,因此無論是屏幕發生移動、旋轉還是翻轉,二維碼都能在AR 空間中準確確定物理屏幕的位置。

圖3 基于二維碼實現的空間對齊Fig.3 Space alignment based on QR code

當真實電腦畫面在AR 空間中實現空間對齊后,本文將物理畫面映射到虛擬空間中,使得后續在虛擬空間中能夠對物理畫面(即其映射結果)和虛擬畫面統一對待。

本文系統利用AR 頭顯和連接在AR 頭顯上的交互設備向遠程電腦發送模擬鼠標和鍵盤輸入數據的方式,實現交互空間的統一。本文系統使用Windows10 操作系統,其系統自帶的動態鏈接庫user32.dll 可以提供mouse_even(t)和SendInpu(t)接口,將鼠標、鍵盤的輸入信息映射成操作系統底層的鼠標和鍵盤。因此,遠程電腦只需要獲取AR 空間內交互光標的點擊狀態、交互光標在電腦屏幕上的歸一化坐標和鍵盤的按鍵數據,將AR 頭顯及其連接交互設備的輸入映射到遠程電腦上,從而實現交互空間的統一。

HoloLens 2 眼鏡支持與藍牙鼠標和藍牙鍵盤的無線連接,通過Stream Socket 與藍牙設備通信,準確獲取鼠標的點擊狀態、絕對位置和鍵盤的按鍵數據。對于光標在電腦屏幕上歸一化坐標的獲取。HoloLens 2 眼鏡將光標的歸一化坐標、點擊狀態和鍵盤的按鍵數據通過網絡發送至遠程電腦,遠程電腦通過Windows 操作系統底層接口映射成鍵鼠事件,從而實現AR 眼鏡對遠程電腦的控制。

1.2 多窗口布局

由于本文系統涉及真實電腦畫面在虛擬空間中的映射結果以及多個虛擬畫面窗口,因此需要考慮并設計包括多個真實和虛擬窗口的布局,方便用戶使用。文獻[22]提出Ethereal planes 設計框架。基于該設計框架的理念,ENS B 等人提出Personal Cockpit[1]并通過多項用戶對比實驗,根據不同參數下用戶操作的準確性和疲勞感,確定局部最優的參數組合。然而,對于Personal Cockpit,所有的窗口均為虛擬窗口,因此無需考慮任何現實的物理因素。在本文系統中,將真實電腦畫面通過空間對齊映射到虛擬空間的“真實窗口”,這是本文系統多窗口布局設計必須額外考慮的因素。此外,Personal Cockpit 的測試環境并非真正的AR 眼鏡,因此對于參數的選擇考慮較少,同時在對比實驗中所有的參數組合都是預先設置,無法根據不同用戶的個性化體驗進行修改,因此缺乏實際使用價值。

本文系統則支持根據用戶配置文件中預先設置的參數,引入到窗口布局位置計算模型中,自動計算位置并對多窗口在AR 空間中進行布局,同時在運行時,還支持用戶通過面板修改配置,更新計算模型參數,重新計算并進行窗口布局。該窗口布局計算模型包括屏幕坐標系、用戶坐標系(又稱相機坐標系)和世界坐標系之間的坐標變換,如圖4所示。

圖4 窗口布局計算模型Fig.4 Window layout calculation model

本文構建的窗口布局計算模型考慮在相機可視范圍內只有一個虛擬窗口的情況。在三維的AR空間中,三維的物體經過多次變換,其世界坐標最終被映射成屏幕空間下的三維坐標(Z坐標僅用于保留深度信息),三維物體以二維圖像的形式顯示在用戶眼前。用戶只需配置虛擬窗口在屏幕空間下的尺寸比例和偏移量。屏幕空間坐標系如圖5所示。

圖5 屏幕空間坐標系Fig.5 Screen space coordinate system

窗口中心在屏幕空間下的三維坐標(xscreenPos,yscreenPos,zscreenPos)如式(1)所示:

其中:d為相機的焦平面距離;Rx為相機橫向分辨率;raspect為寬高比;α為用戶配置的窗口比例;(xoffset,yoffset)為配置窗口的左下角偏移量。

窗口布局計算模型將坐標系從屏幕空間轉換到相機坐標系中。相機空間坐標系如圖6 所示。

圖6 相機空間坐標系Fig.6 Camera space coordinate system

透視相機根據其前后裁剪平面的距離n、f,近裁剪平面的上下左右距離t、b、l、r,以及其前裁剪平面的左上和右下的頂點坐標(l,t,-n)和(r,b,-n),確定一個四棱臺。在該四棱臺的六個面組成的包圍盒中,通過透視投影矩陣將三維坐標(由于三維坐標不能通過矩陣變換實現平移,在計算機圖形學中一般增加一個w分量構建四維齊次坐標,利用4×4 矩陣實現縮放、旋轉、平移變換)轉換成屏幕空間下的三維坐標。該相機空間坐標系透視投影的變換矩陣如式(2)所示:

根據圖6 的四棱臺在相機空間中的對稱性,可得:

對于XOZ平面的視場角hfov,以及裁剪平面的寬高比raspect,根據三角函數,可得:

將式(3)~式(6)代入到式(2)中,可得:

本文將坐標從屏幕空間轉換到相機空間的矩陣,即為上述投影矩陣的逆矩陣,該矩陣如式(8)所示:

至此,本文得到虛擬窗口在相機空間中的三維坐標。窗口布局計算模型將坐標從相機坐標系轉換到世界坐標系。相機在世界坐標系下的坐標為(xcam,ycam,zcam),相機坐標系的基向量(分別對應世界坐標系下的基向量在世界坐標系下的表示為如式(9)所示:

其中:M1為將基向量從世界坐標轉換到相機坐標的變換矩陣。將基向量從相機坐標轉換到世界坐標的變換矩陣M2,如式(10)所示:

考慮到平移,窗口布局計算模型需要將三維坐標轉換為四維的齊次坐標。因此,從相機坐標系轉換到世界坐標系需要先將基向量從相機坐標轉換到世界坐標,再將相機坐標原點(xcam,ycam,zcam)通過平移與世界坐標的原點對齊。相機坐標到世界坐標的變換矩陣如式(11)所示:

因此,窗口布局計算模型將窗口坐標從屏幕坐標系轉換到世界坐標系,如式(12)所示:

通過將式(1)、式(8)和式(11)代入到式(12)中,根據任何一塊虛擬窗口的屏幕空間坐標,計算其在AR 眼鏡中世界空間的坐標。

針對多窗口布局問題,本文只需要在相機空間下計算窗口各自的空間坐標,最后統一根據式(11)將坐標轉換到世界空間中。根據用戶配置窗口間水平方向和垂直方向的夾角θh、θv,在相機空間下窗口間旋轉夾角的俯視圖和側視圖分別如圖7 所示。

圖7 在相機空間下窗口間旋轉夾角示意圖Fig.7 Schematic diagram of rotation angle between windows in camera space

從圖7 可以看出,對于窗口i,在相機空間下先將窗口i-1 圍繞相機原點處的軸旋轉θh,旋轉矩陣如式(13)所示:

窗口i再圍繞相機原點的方向為軸旋轉θv,即可得到窗口i的相機空間坐標。將每個窗口的相機空間坐標代入到式(11)中,即可計算出每個窗口的世界坐標。繞方向的旋轉矩陣如式(15)所示:

多窗口布局計算模型根據用戶自定義的窗口比例、窗口在屏幕中的偏移量、多窗口之間的水平和垂直夾角等數據,自動計算并設置每個虛擬窗口的布局。此外,除參數化的窗口位置計算模型之外,考慮到用戶的個性化需求,本文系統還支持用戶任意移動、縮放虛擬窗口。用戶自定義調整虛擬窗口示意圖如圖8 所示,其中虛擬窗口用黑色虛線框標示。

圖8 用戶自定義調整的虛擬窗口示意圖Fig.8 Schematic diagram of the virtual window with user-defined adjustment

2 多模態交互的實現方法

與Facebook Infinite Office[8]相似,本文系統使用的HoloLens 2 眼鏡也支持基于隔空手勢的交互方式,但該交互方式相較于傳統電腦的鍵盤和鼠標交互方式,交互效率和準確性都較差。考慮到電腦本身的交互方式是基于鍵鼠,本文在隔空手勢交互的基礎上實現基于鍵盤鼠標的交互方式。同時為了使交互更加自然,兩種交互方式需要通過自然切換方式達到多模態交互的效果。此外,考慮到在使用場景中存在用戶雙手都被當前任務占用但仍需進行簡單操作的情況,本文系統還支持基于視線檢測的語音輸入方式。

2.1 隔空手勢交互

隔空手勢交互需要將手部射線映射成遠程電腦的鼠標,其中射線位置信息映射成鼠標位置,不同手勢則對應不同的鼠標點擊狀態。

在AR 空間中手部射線和畫面窗口都是三維的,因此隔空手勢交互方式下交互光標在畫面上歸一化坐標的計算,只需要在三維空間中通過射線碰撞檢測得到手部射線和畫面窗口的碰撞交點,然后在畫面所在平面內根據交點坐標、畫面長寬計算得到位置信息。

隔空手勢交互計算示意圖如圖9 所示。在三維空間中手部射線與畫面窗口交于點P,畫面窗口確定平面XOY。在該平面內,交點P的橫縱坐標為(a,b),而畫面窗口的長寬為W和H,因此該交點的歸一化坐標為該坐標映射到遠程電腦上即為鼠標在電腦窗口內的歸一化坐標,根據本文1.1 節,將該坐標發送給遠程桌面,通過操作系統底層接口映射成鼠標位置。

圖9 隔空手勢交互計算示意圖Fig.9 Schematic diagram of calculation of air gesture-based interaction

手勢與鼠標點擊狀態的映射是根據常見手勢在AR 空間下的語義,合理映射為鼠標的點擊狀態,映射結果如表2 所示。

表2 手勢與鼠標點擊狀態的映射關系Table 2 Mapping relationship between gestures and mouse click states

上述原理實現了手部射線與遠程桌面鼠標之間(包括位置、點擊狀態)的映射,從而在AR 眼鏡空間內使用隔空手勢交互遠程操作電腦桌面。

2.2 鼠標交互

本文解決鼠標坐標從二維空間到三維空間的轉換,以及鼠標跨窗口交互的問題。

2.2.1 鼠標坐標轉換

Facebook Infinite Office 和本文系統實現了基于隔空手勢的交互。由于手部射線和窗口畫面均處于三維空間中,因此只需要利用射線的碰撞檢測進行求交計算。但是鼠標本身的坐標是二維的,因此通過算法將二維坐標映射到三維空間中進行后續的求交計算,得到鼠標在畫面上的歸一化坐標。

無論是真實電腦畫面在AR 空間內的映射結果,還是完全虛擬畫面,如果不考慮畫面呈現在AR 三維空間中的厚度,每個單獨的畫面都可以基于其面向使用者顯示畫面的表面,確定唯一的平面。三維畫面確定的平面示意圖如圖10 所示。

圖10 三維畫面確定的平面示意圖Fig.10 Plane schematic diagram of the three-dimensional image determination

三維畫面確定的平面是一個三維空間中的平面,因此將得到平面上光標P在該平面內的歸一化坐標(a,b),計算P的三維坐標,如式(16)所示:

已知當前畫面的分辨率Rx×Ry,當AR 程序啟動時,本文獲取當前鼠標的二維坐標(x0,y0),對應當前畫面確定平面的原點(即圖10 中的O點)的歸一化坐標(0,0),記為(a0,b0)。之后的每一幀i(其中i=1,2,…,n),對于獲取到的鼠標二維坐標(xi,yi),其對應的平面上坐標(ai,bi)如式(17)所示:

在每幀計算后通過式(18)將ai和bi都歸一化到[0,1]區間內:

(ai,bi)是鼠標在窗口上的歸一化坐標,如果該窗口是真實電腦屏幕在AR 空間中的映射窗口,則將該歸一化坐標發送給遠程電腦,通過操作系統底層接口映射成鼠標位置。將(ai,bi)代入到式(16)中,即可獲取每一幀鼠標的二維坐標(xi,yi)正確映射到三維空間中的三維坐標Pposi,從而在AR 空間中顯示三維光標作為提示。

2.2.2 鼠標跨窗口交互

鼠標跨窗口交互分為跨窗口連續移動和跨窗口的瞬間跳轉。

1)跨窗口連續移動

在三維空間內的隔空手勢可以自然地在多窗口之間連續移動,對于鼠標交互,也應達到在多塊桌面顯示器窗口之間連續移動的效果,交互更自然,降低使用者的學習成本。

跨窗口連續移動的實現原理和傳統鼠標跨多顯示器移動類似。鼠標向左移出當前窗口示意圖如圖11 所示。在移出瞬間,鼠標在當前窗口畫面所在平面的歸一化坐標為(0,bi)。為保證鼠標在窗口間連續移動時,其位置相對于整個窗口的比例固定,在移入左側窗口的瞬間,鼠標在左側窗口所在平面的歸一化坐標為(1,bi)。在該平面內代入式(16)得到當前鼠標的三維坐標。之后的每一幀通過式(16)~式(18)計算出鼠標的三維坐標。

圖11 鼠標向左移出當前窗口的示意圖Fig.11 Schematic diagram of moving the mouse to the left out of current window

鼠標向右移出當前窗口的示意圖如圖12 所示。在移出瞬間,鼠標在當前窗口畫面所在平面的歸一化坐標為(1,bi),在移入右側窗口的瞬間,其在右側窗口所在平面的歸一化坐標為(0,bi),在該平面內代入式(16)得到當前鼠標的三維坐標。

圖12 鼠標向右移出當前窗口的示意圖Fig.12 Schematic diagram of moving the mouse to the right out of current window

如果僅根據歸一化坐標的橫坐標臨界值和鼠標運動方向判斷鼠標是否需要跨窗口連續移動。因此,本文系統增加了對鼠標移動速度的判斷。如果鼠標移動速度小于閾值,那么用戶很可能只是在窗口邊緣進行交互。只有當鼠標歸一化橫坐標達到臨界值且移動速度大于閾值時,才會認為用戶有跨窗口連續移動鼠標的意圖。

2)跨窗口的瞬間跳轉

如果僅實現鼠標跨窗口的連續移動,那么在窗口數量較多或用戶需要一次性跨多個窗口交互時效率較低,因此還需實現鼠標跨窗口的瞬間跳轉。文獻[23]設計并實現的Multi-monitor Mouse,利用鼠標特殊按鍵在多個物理窗口之間瞬間跳轉,在鼠標跳轉后將其保持在與之前頁面等比例的位置上,能夠有效提高效率。他們還設計了當鼠標跳轉到新頁面時,將鼠標自動移動到上一次離開該頁面的歷史位置,由于操作系統限制,因此無法提供額外的信息提示。

本文受Multi-monitor Mouse 切換策略的啟發,用戶將視線移動到目標頁面后,通過鍵盤的組合按鍵CTRL+TAB 觸發鼠標的瞬間跳轉,在鼠標跳轉后,將其保持在與之前頁面等比例的位置。瞬間跳轉后鼠標位置顯示的示意圖如圖13 所示,鼠標在瞬間跳轉至新窗口后,在跳轉窗口內保持與原窗口相同的歸一化坐標(a,b)。

圖13 鼠標瞬間跳轉后位置顯示示意圖Fig.13 Schematic diagram of position display after mouse jumps instantaneously

瞬間切換改變了用戶交互的當前上下文,并且用戶需在新窗口內回憶歷史交互記錄。Multimonitor Mouse 受底層操作系統的限制,無法為用戶提供鼠標歷史位置的提示,但是AR 空間中可以在當前窗口上疊加一個鼠標最近一次離開頁面時的歷史位置,并將其作為提示,以便于用戶在瞬間跳轉后迅速切換至當前窗口的歷史上下文,提高切換效率。

對于歷史位置的計算,如果是通過跨窗口連續移動的方式離開頁面,則歷史位置為鼠標離開頁面時在頁面邊緣臨界處的坐標,其歸一化坐標為(0,bi)或(1,bi)。如果用戶通過跨窗口的瞬間跳轉方式切換頁面,則歷史位置為用戶按CTRL+TAB 鍵時鼠標在上一個頁面中的歸一化坐標(a,b)。

本文系統將歷史位置記錄完成后,鼠標在瞬間跳轉到新頁面時,將會在新頁面上疊加顯示上一次離開該頁面時的歷史坐標,其原理如圖14 所示。

圖14 鼠標跨窗口瞬間跳轉后歷史位置顯示原理Fig.14 Display principle of historical position after mouse jumps across the window instantaneously

鼠標最初在窗口A 內的歸一化坐標為(a,b),瞬間跳轉至窗口B 時保持鼠標在A 中的歸一化坐標(a,b),此時記錄鼠標在窗口A 中的歷史位置(a,b)。鼠標在窗口B 內移動至(c,d)處后,又瞬間跳轉至窗口A,并保持坐標為(c,d),同時系統獲取到鼠標在窗口A 內的歷史位置(a,b),疊加顯示在窗口A 上,提示用戶在上一次交互結束時的位置信息。

在窗口A 中,為了增強提示作用,歷史位置的提示標志會持續閃爍,在以下兩種條件下該閃爍提示才會消失:(1)用戶將鼠標移至歷史位置附近,表示用戶接受該提示;(2)用戶在頁面內的任意位置觸發鼠標點擊事件,表示不再需要該歷史位置的提示。

鼠標在跨窗口瞬間跳轉后,保持與上一個頁面相同歸一化坐標的位置,使得鼠標的瞬間跳轉十分自然,并且符合用戶的歷史經驗,這一點在Multimonitor Mouse[23]中已經得到證實。用戶通過歷史位置的提示顯示可以快速回憶之前交互的上下文,即使用戶不需要歷史信息提示,該提示信息也不會干擾用戶的正常交互,相較于Multi-monitor Mouse[23],本文系統提高了交互的效率。對于鼠標跨窗口瞬間跳轉的實現效果見本文3.3 節。

2.3 隔空手勢與鼠標交互間的切換

本文在2.1 節和2.2 節中實現了在AR 空間內使用隔空手勢和鼠標這兩種交互方式,在此基礎上,還需要支持用戶在不同交互方式之間的自然切換,降低用戶的學習成本,提高交互的準確性和效率。

本文考慮到在日常辦公和學習中,用戶大量使用鍵盤和鼠標與電腦進行交互,因此用戶對這類交互方式更熟悉。在AR 空間內大多數用戶會選擇使用鍵盤和鼠標進行交互。一旦用戶伸手將手部射線朝向畫面窗口,就將交互方式切換為隔空手勢交互,不再響應鼠標的任何輸入。為了避免用戶抬手誤觸,又考慮到大多數用戶是右利手,因此本文在檢測用戶手部射線時只檢測右手的手部射線,將左手射線均視作誤觸。當右手的手部射線與任一畫面發生碰撞并產生交點時,本文系統才將交互方式切換為隔空手勢交互,并在碰撞結束后自動切換為鼠標交互。

本文實現了隔空手勢與鼠標交互的切換,還需要考慮在兩者切換時交互光標的顯示問題。本文采取形狀不同的光標對兩者進行區分。當鼠標交互切換至隔空手勢交互時,本文記錄鼠標在先前畫面內的歷史位置,隨后隱藏鼠標的交互光標,將手部射線光標設置在右手射線與發生射線碰撞畫面的交點處。在隔空手勢交互結束后,切換至鼠標交互時,隱藏手部射線光標,本文將鼠標位置設置為手部射線與畫面窗口最后一次發生碰撞的交點處,并在該位置顯示鼠標交互光標。

本文實現了隔空手勢與鼠標交互間的自然切換,并最大程度地避免了用戶手勢的誤操作。同時,在兩種交互方式之間進行切換時,本文設置了切換前后不同光標的顯示位置,避免用戶在切換交互方式時丟失光標。

2.4 結合視線檢測的語音輸入

隔空手勢結合鍵盤鼠標的交互方式基本能滿足一般工作場景的需求。但是考慮到學習、工作中雙手被任務占用時還需要進行其他操作的情況,因此本文系統實現了結合視線檢測的語音輸入交互方式。在該場景下用戶的雙手被任務占用,對于操作目標的選定無法再依賴于需要手的交互方式,因此本文選擇通過獲取用戶視線的聚焦對象,為用戶完成語音控制前的目標選定。系統通過MRTK 中的Gaze Provider 獲取用戶視線的方向,在該方向上進行實時的射線碰撞檢測,檢測到支持語音交互的物體時,用戶可隨之進行語音輸入。

與鍵盤鼠標輸入以及隔空手勢相比,由于語音輸入的效率和準確度較低,因此語音輸入主要支持復雜程度較低的操作。語音輸入支持的指令如表3所示。

表3 語音輸入支持的指令描述Table 3 Description of instructions supported by voice input

表3 中的指令在對應場景下可以讓用戶無需中斷手頭當前任務,就可以進行調整窗口位置、大小、距離等操作,在多窗口場景下能夠有效提高用戶的工作效率,減少交互上下文切換產生的不必要開銷。

3 實驗結果與分析

3.1 實驗環境

系統基于Unity 游戲引擎開發,版本為2019.411f1(64 bi)t,在Microsoft HoloLens 2 增強現實眼鏡上運行。真實電腦采用Intel i7-7700 HQ 處理器,2.80 GHz,16 GB內存,顯卡為NVIDIA GTX1060 3 GB,Windows 10 64 bit 操作系統,運行一個使用C#開發的Socket 服務器。眼鏡和電腦連接在同一個局域網中。另有6 臺相同配置的電腦負責推流給AR眼鏡,從而呈現虛擬畫面。

3.2 跨窗口連續移動時鼠標位置

在使用鼠標交互的狀態下,本文首先在窗口A將鼠標移動至歸一化坐標為(1.0,0.5)的臨界處,鼠標向右快速水平移動至窗口B,觀察此時鼠標光標的位置。跨窗口連續移動時的鼠標位置如圖15所示。

圖15 跨窗口連續移動時的鼠標位置Fig.15 Mouse position when moving across windows continuously

從圖15(a)可以看出,鼠標離開上一個窗口時臨界位置的歸一化坐標(1.0,0.5)。從圖15(b)可以看出,鼠標連續移動后,其進入新窗口時的臨界值歸一化坐標為(0.0,0.5)。當鼠標進入新窗口和離開上一個窗口臨界位置的橫坐標均為臨界值時,縱坐標相同。該實驗說明當鼠標跨窗口連續移動時,在不同窗口間的歸一化坐標計算和顯示是連續的,驗證了跨窗口連續移動時鼠標位置計算和顯示的正確性。

3.3 跨窗口瞬間跳轉時鼠標位置與歷史位置

在使用鼠標交互的狀態下,本文首先在窗口A將鼠標移動至歸一化坐標為(0.15,0.84)處,通過組合鍵將鼠標瞬間跳轉至窗口B,觀察此時鼠標光標的位置,然后在窗口B 內將鼠標光標移動至歸一化坐標為(0.17,0.18)處,通過組合鍵將鼠標瞬間跳轉回窗口A,觀察此時鼠標的光標位置,以及顯示的歷史位置。跨窗口瞬間跳轉時的鼠標位置及歷史位置如圖16 所示。

圖16 跨窗口瞬間跳轉時鼠標位置及歷史位置Fig.16 Mouse position and historical position when jumping across windows instantaneously

從圖16(a)和圖16(b)可以看出,鼠標瞬間跳轉后,其在新窗口內保持與之前窗口相同比例的位置。從圖16(c)和圖16(d)可以看出,鼠標再次瞬間跳轉回先前頁面時,頁面上顯示正確的歷史位置提示。該實驗表明鼠標瞬間跳轉時,其跳轉位置和歷史位置的計算和顯示均正確。

3.4 隔空手勢、鼠標連續移動和瞬間跳轉的效率對比

本文在多窗口場景下,測試隔空手勢、鼠標連續移動和鼠標瞬間跳轉的交互效率。實驗流程是在AR 眼鏡中使用2×3 的窗口布局,每個窗口占相機畫面的比例為0.3,寬高比為16/9。窗口間橫向和縱向圓心角的夾角均為27°,實驗窗口布局示意圖如圖17所示。每個窗口內的畫面顯示如圖18 所示,有編號為1~4 的四個按鈕,排列順序隨機。實驗參與者需要根據指令依次點擊窗口中的按鈕。“指令”為一個包含3 個元素的元組,3 個元素分別表示按下的按鈕所在窗口的行號、列號和按鈕的編號。例如,1、3、4表示參與者需要點擊第1 行、第3 列窗口中的4 號按鈕。每位參與者需要進行2 次實驗,每次實驗需要完成的指令個數分別為10 和15 個,每次實驗中,參與者用3 種交互方式各完成一遍指令并計算耗時。實驗共有3 名參與者。

圖17 實驗窗口布局示意圖Fig.17 Schematic diagram of experimental window layout

圖18 窗口內按鈕分布示意圖Fig.18 Schematic diagram of button layout inside the window

不同交互方式的平均耗時對比如圖19 所示,隔空手勢交互和鼠標連續移動交互的效率均低于鼠標瞬間跳轉方式。其原因為瞬間跳轉在窗口數量較多時節省了光標在不同位置之間移動的時間。在交互指令數量較少時,隔空手勢交互效率高于鼠標連續移動,但兩者之間的差距在指令數量增多時有所減小,這是因為隔空手勢需要用戶始終舉著一只手,在指令較多、交互時間較長時容易讓人產生疲勞感,而鼠標交互方式則沒有此問題。

圖19 不同交互方式的平均耗時對比Fig.19 Average time consumption comparison among different interaction methods

實驗結果表明,與隔空手勢交互方式相比,本文系統實現的鼠標交互方式在沒有降低交互效率的同時減輕了用戶使用時的疲勞感,在長時間交互中優勢將逐漸凸顯。而本文提出的鼠標跨窗口瞬間跳轉的交互方式在避免疲勞的基礎上還顯著提高了交互效率,驗證了本文系統實現多模態交互方式的正確性、有效性和必要性。

3.5 與相關工作效率對比

本文設計3 組任務對本文系統和對照系統(文獻[19]提出的系統)進行工作效率對比。對照系統與本文系統的實驗環境相同,運行Unity 版本、AR 眼鏡、計算機CPU、內存、顯卡、操作系統均與本文系統相同。對照系統使用與計算機相連的有線鍵鼠,本文系統使用與AR 眼鏡通過藍牙相連的無線鍵鼠。

本文系統和對照系統在初始狀態下均使用2 個虛擬的桌面畫面窗口和1 個真實電腦窗口,其中真實窗口在中間,虛擬窗口在兩側并正對使用者。本文實驗的窗口布局如圖20 所示。為保證實驗結果的準確性,本文實驗分別在對照系統和本文系統中搭建相似窗口布局的實驗環境。

圖20 本文實驗的窗口布局示意圖Fig.20 Schematic diagram of window layout of the experiment in this paper

本文系統的窗口布局可由使用者自行修改,而對照系統窗口布局是固定的。其中對照系統的3 個窗口均為同一臺計算機的3 個分屏窗口,本文系統的1 個真實電腦窗口運行在一臺計算機上,2 個虛擬桌面窗口呈現的是2 臺不同計算機上的遠程桌面畫面。實驗共分為3 個任務,3 名參與者每人均需在2 個系統中分別完成3 個任務。

任務1 是數字對比,3 個窗口各顯示一個Excel文件,其中左右兩個虛擬窗口各有50 個數,按照順序一一對應,其中有30%的數字不同,其余相同。實驗者需要將50 個數錄入到中間窗口的空表中,相同數字直接錄入,不同數字錄入較小的那一個。

任務2 是根據指令點擊指定按鈕。在3 個窗口內分別顯示圖18 中的4 個按鈕,編號為1~4,順序為亂序的。實驗者需要根據指令點擊窗口的對應按鈕,指令長度為20。

任務3 是文件歸檔。左側窗口的桌面有4 個名為A、B、C、D 的文件夾,以及20 個文件,文件名分別為1~20 的數字,文件格式為pdf、txt 或doc。右側窗口有一個需求文檔,包含20 個文件的歸檔要求,歸檔要求形如“將所有編號能被3 整除的pdf 文件放入文件夾B”。實驗者需要根據歸檔要求,將所有文件拖入指定文件夾進行歸檔。

對照系統和本文系統對各任務的平均耗時對比如圖21 所示。對于任務1 和任務2,相比對照系統,本文系統的平均耗時分別降低了10%和33%。對于任務3,本文系統與對照系統的平均耗時相近。實驗結果表明,對于任務2,實驗者使用鼠標和手勢同時進行交互的方式,大幅提升跨窗口交互的效率。而對于任務1 和任務3,實驗者均根據需要調整了虛擬窗口的位置,方便對比和查看。

圖21 本文系統和對照系統的平均耗時對比Fig.21 Average time consumption comparison between the proposed system and contrast system

實驗結果表明,與對照系統相比,本文系統通過多模態的交互方式以及多窗口布局策略,在常見的辦公任務中顯著提升了交互效率,驗證了本文系統設計、功能和算法的先進性。此外,相比對照系統,本文系統支持同時顯示并操作多臺計算機,而對照系統僅支持同時顯示一臺計算機的多個桌面窗口。

4 結束語

本文基于AR 眼鏡設計遠程桌面增強顯示系統,以支持多模態交互。通過構建窗口布局計算模型,根據用戶自定義參數自動調整多窗口的布局,并增加基于鍵盤鼠標的跨窗口交互方式以及結合視線檢測的語音輸入方式,在豐富交互方式的同時提高交互效率和準確性,實現交互空間的統一。實驗結果表明,與傳統隔空手勢交互、鼠標交互等方式相比,本文系統具有較高的交互效率。下一步將優化遠程畫面傳輸的網絡模塊和編解碼模塊,并設計合理的調度策略,以解決當顯示大量遠程桌面虛擬窗口時存在AR 眼鏡CPU 性能瓶頸的問題。

猜你喜歡
用戶系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
Camera360:拍出5億用戶
創業家(2015年10期)2015-02-27 07:55:08
主站蜘蛛池模板: 狠狠色噜噜狠狠狠狠色综合久| h视频在线播放| 欧洲一区二区三区无码| 综合社区亚洲熟妇p| 国产在线精品人成导航| 伊人五月丁香综合AⅤ| 亚洲福利片无码最新在线播放| 国产精品一区不卡| 波多野结衣一区二区三区四区视频| 亚洲精选无码久久久| 国产高清无码第一十页在线观看| 黄片在线永久| 亚洲三级视频在线观看| 69免费在线视频| 国产亚洲欧美另类一区二区| 日韩精品一区二区深田咏美| 国产精品嫩草影院av | 蜜臀av性久久久久蜜臀aⅴ麻豆 | 国产农村精品一级毛片视频| 中文字幕资源站| 欧美精品成人一区二区视频一| 亚洲最大看欧美片网站地址| 国产成人免费| 成人毛片在线播放| 国产在线一区视频| 国产激爽大片高清在线观看| 九九热视频在线免费观看| 麻豆精品在线播放| 国产一区二区丝袜高跟鞋| 久久青草免费91线频观看不卡| 不卡无码h在线观看| 亚洲天堂区| 亚洲一本大道在线| 国产av无码日韩av无码网站| 色哟哟国产精品| 国产精女同一区二区三区久| 国产精品久久久久久久久| 精品一区二区三区水蜜桃| 91精品aⅴ无码中文字字幕蜜桃| 91精品国产无线乱码在线| 欧美日韩导航| 国产精品原创不卡在线| 亚洲不卡av中文在线| 成人免费视频一区| 亚洲成人一区在线| 国内熟女少妇一线天| 无码高潮喷水在线观看| 精品偷拍一区二区| 综合五月天网| 国产精品主播| 精品国产香蕉伊思人在线| 一本无码在线观看| 毛片网站在线看| 欧美h在线观看| a级毛片一区二区免费视频| 日韩免费毛片视频| 狠狠v日韩v欧美v| 国产激情影院| 国产哺乳奶水91在线播放| 成年午夜精品久久精品| 国产免费自拍视频| 四虎影视无码永久免费观看| 三上悠亚一区二区| 好吊日免费视频| 在线看片免费人成视久网下载| 国产97视频在线观看| 免费一级毛片在线观看| 97影院午夜在线观看视频| 国产亚洲精品97在线观看| 五月天久久综合| 欧美伊人色综合久久天天| 扒开粉嫩的小缝隙喷白浆视频| 国产美女人喷水在线观看| 国产裸舞福利在线视频合集| 91精品国产91久无码网站| 欧美日韩中文字幕二区三区| 9丨情侣偷在线精品国产| 国产在线自乱拍播放| 色135综合网| 亚洲首页在线观看| 91蝌蚪视频在线观看| 欧美va亚洲va香蕉在线|