微軟專利分享HoloLens通過光線投射與遠距離對象進行交互的方法
允許使用者在AR/VR應用中與3D對象進行自然交互具有優勢,因為它對應於使用者與現實世界中物件的交互方式。 但是,與手臂夠不著的3D物件交互可能十分困難。 對於這種情況,特別的”超自然”交互方法可能更為適合。
另外,儘管近距離交互可以用手直接操縱全息圖來實現,但用戶必須能夠與距離使用者較遠的全息圖進行交互。 理想情況下,這種遠距離交互應該以某種方式與近距離交互體驗相結合,並且應該對當前的目標方向和選擇狀態有明確的啟示。
在名為”Holographic palm raycasting for targeting virtual objects”的專利申請中,微軟提出了一種用於通過光線投射來與遠距離物件交互的方法。
光線投射是各種超自然交互方法常用的方式。 例如,可以從使用者的手部或頭部投射各種虛擬光線,從而便於使用者與遠處對象進行交互或顯示為手臂夠不著的物件。
在微軟的構思發明中,當用戶張開手掌並對準自己前方時,光線或光束從使用者手掌發出,從而用於支援遠處物件交互。 例如,當張開手掌時,光線可以通過虛線可視化。 當光線指向虛擬顯示物件時,顯示游標,例如環形游標。 用戶可以執行選擇手勢,例如輕敲,從而選擇他們當前瞄準的專案。 這時,光線的外觀可以發生變化。 例如,當游標從環形變為點時,光線本身可以顯示為實線。 游標變化可以二進位,或可以是類比。 一旦選擇了物件,使用者可以使用用於直接操縱近端物件的相同操縱手勢來操縱物件。
在一個實現中,光線的投射方式可以是:通過對使用者肩部和/或肘部的位置進行建模,然後通過手部追蹤技術,通過使用者建模的手臂關節和手部追蹤手掌關節投射光線。 然後,用戶可以將手放在其側面或前方進行瞄準。
圖1示出了示例頭戴式顯示設備10。 頭戴式顯示設備10包括以可佩戴在用戶頭部周圍的框架12,其支持位於用戶眼睛附近的透明顯示元件。 頭戴式顯示設備10可以使用增強現實技術來實現虛擬顯示圖像和真實世界背景的同時流覽。 所以,頭戴式顯示設備10可以經由透明顯示器14生成虛擬圖像。 透明顯示器14包括單獨的右眼和左眼顯示器14R和14L,並且可以是完全或部分透明。 透明顯示器14可以採用任何合適的形式,例如波導管或稜鏡,其配置為接收生成的圖像並將圖像指向佩戴者的眼睛。
頭戴式顯示設備10同時包括一個附加的透明光學元件16,其位於透明顯示器14和佩戴者看到的真實環境之間。 控制器18操作地耦合到透明光學元件16和其他顯示元件。 控制器18包括一個或多個邏輯設備和一個或多個計算機儲存設備,存儲邏輯設備可執行的指令,以實現頭戴式顯示設備10的功能。 頭戴式顯示設備10同時可以包括各種其他元件,例如二維圖像攝像頭20(例如可見光攝像機和/或紅外攝像機)和深度成像元件22,以及未示出的其他元件,包括但不限於揚聲器、麥克風、加速度計、陀螺儀、磁強計和溫度感測器等。
在一個實現中,深度成像元件22可包括右立體攝像頭和左立體攝像頭。 來自兩個攝像頭的時間解析度圖像可以相互註冊並組合以產生深度解析度視頻。
在一個實現中,「結構光」深度攝像頭可配置為投射具有許多離散特徵(例如線或點)的結構紅外照明。 攝像頭可配置成對從場景反射的結構化照明成像。 基於成像場景的各個區域中相鄰特徵之間的間隔,可以構建場景的深度映射。
在一個實現中,「飛行時間」(TOF)深度攝像頭可包括配置成將脈衝紅外照明投射到場景上的光源。 可以配置兩個攝像頭來檢測從場景反射的脈衝照明。
增強現實功能可能基於鉸接式手部交互。 對於近端獨享,可利用直接交互,由此可將手視為直接操縱全息圖。 在一個示例中,全息圖遠離使用者,例如大於基於臂長的閾值。 可以計算使用者或使用者的延伸部分與預期目標之間的距離。 通過這種方式,可以將相對距離與閾值距離進行比較,以確定預期目標相對於用戶視為”近”(在可及範圍內)還是”遠”(不可及)。 對於遠距離物件,可以賦予使用者「超自然」能力,以便他們可以與遠距離全息圖交互,無需”走向”全息圖。
在一個實現中,可以通過發射光線的方式來允許使用者對遠距離虛擬物件進行定位、選擇和操作。 對於這種情況,VR系統經常是通過控制器發射光束的方式來進行實現。 對於增強現實,可以把相同的心智模型和用戶體驗組合到一組直觀的介面控件中,例如直接在使用者手掌發射光線。
這種基於手的光線投射示例如圖所示。 使用者的左手255和右手260以開放式構象表示。 第一光線265顯示為源自使用者左手255的手掌,描繪為終止於選擇游標270的虛線。 第二光線275顯示為源自使用者右手260的手掌,描繪為終止於選擇游標280的虛線。 與以前的模型相比,這種光線投射提供了眾多優勢,例允許使用注視投射來指向物件,然後使用使用者的手來控制動作的方法。 直接從手部施放可以實現更直觀的瞄準和精細控制。 通過使用手掌,用戶同時保留了用手指操縱目標物件的自由。
圖3顯示了增強現實環境中光線投射的示例方法300。 在310,方法300包括在諸如頭戴式顯示器的顯示設備上呈現一個或多個虛擬物件。 一個或多個虛擬物件可以在沉浸式環境中渲染,並且可以由虛擬物件渲染機進行變換,以根據頭戴式顯示器的位置和方向修改渲染虛擬物件的位置、大小、形狀或角度。 每個渲染的虛擬物件可以呈現在相對於顯示設備的環境中的對應位置。 另外,可實時連續修改渲染虛擬物件,以根據頭戴式顯示器的變化位置和方向保持渲染虛擬物件的適當透檢視和配置。 在這方面,如果使用者靠近渲染的虛擬物件,其相對距離將更接近使用者。 類似地,如果使用者遠離渲染的虛擬物件,其相對距離將顯示得離使用者更遠。
當識別出預期目標時,使用者可以使用選定的交互方法移動(例如重新定位)、變換(例如,縮放、旋轉、傾斜、拉伸、扭曲等)、操縱或刪除渲染物件,甚至創建新物件。
在320,方法300包括從深度攝像頭接收關於環境的資訊。 例如,從深度攝像頭接收的資訊可用於確定環境邊界(例如牆、天花板、地板、窗、門等)的位置和大小,以及環境中真實世界物件的位置、大小和方向。
在330,方法300包括確定顯示設備在環境中的位置。 顯示設備的位置可以基於從深度照攝像頭接收的資訊。 當包括在頭戴式顯示器中時,顯示設備的位置可進一步基於一個或多個附加感測器元件(例如方向感測器和/或位置感測器)接收到的信息,從而促進生成與頭戴式顯示器的方向和位置以及與使用者感知視場相對應的追蹤數據。
在340,方法300包括基於頭戴式顯示器的位置推斷使用者手臂的關節的位置。 使用者手臂的關節可以是肩部、肘部或手腕,例如。 在一個示例中,使用者手臂的關節可能對頭戴式顯示器的深度攝像頭不可見,因此3D位置可以推斷關節的位置。 例如,基於人體工程學的指標可用於根據已知頭部位置預測使用者肩部和/或肘部的位置。 可以確定使用者肩部和/或肘部的代碼模型。
在一個示例中,用戶可執行校準練習,以根據頭戴式顯示器的六自由度位置確定使用者肩部和肘部的可能位置範圍。 諸如使用者手部位置的附加資訊可進一步告知使用者肩部或肘部的位置。
在350,方法300包括基於從深度照攝像頭接收到的信息確定使用者手的位置。 在一個實施例中,頭戴式顯示器可配置為分析與用戶對應的深度映射的圖元,以便確定每個像素對應於使用者身體的哪個部分。
在一個實現中,機器學習可用於為每個圖元分配身體部位索引和/或身體部位概率分佈。 機器學習方法參考從先前訓練的已知姿勢集合中學習的資訊來分析使用者。
對應於使用者手部的點雲可以進一步處理以揭示手的骨骼亞結構,並識別使用者的手的元件,例如腕關節、手指關節、相鄰的手指節段、指關節、手掌、背等。 通過分析各種手關節和/或節段中的位置變化,可以確定成像手的操作、動作或手勢。
在360,方法300包括基於使用者手臂關節的位置和使用者手的位置從使用者手的一部分投射光線。 例如,頭戴式顯示器可以生成和/或接收使用者手臂關節的三維座標和使用者手的三維座標。 頭戴式顯示器實際配置為延伸一條射線,其端點位於使用者手臂關節的位置並穿過使用者手的部分。 例如,可以為肩部和/或肘部以及手掌、手腕、關節等生成線。 然後可以基於所述位置和方向投射光線。 在一個示例中,使用者手臂長度的校準可以簡化演算法。
投射光線的長度可以是有限,也可以是無限。 對於有限長度的光線,可以游標、圖示或其他合適的顯示物件的形式指示光線的遠端。 游標可用於指向虛擬物件。 有限射線的長度可基於使用者偏好、環境的尺寸、環境中虛擬物件的位置等。 用戶可通過預定手勢使射線變長或變短。 另外或者,隨著光線接近虛擬物件,光線的長度可能會增加或減少。
圖4A-4D顯示了各種光線投射模式的圖示。
相關專利:Microsoft Patent | Holographic palm raycasting for targeting virtual objects
名為”Holographic palm raycasting for targeting virtual objects”的微軟專利最初在2021年8月提交,並在日前由美國專利商標局公佈。