VR交互探秘:我們到底需要怎樣的手部交互? | 硬創公開課
我們與現實世界進行交互的主要方式是手,我們與VR世界的交互同樣如此。
從最初級的手勢交互,例如英梅吉和 HoloLens 僅有固定幾個手勢,到追蹤用戶手指關節運動在虛擬空間中模擬整只手出來的Leap Motion、uSens,再到手拿手柄在虛擬空間裡進行交互的 Vive 手柄和 Touch,還有加入更多交互維度的產品,比如Dexmo和微軟都有研發的力回饋。
關於用戶的手與 VR 世界交互這塊幾乎所有VR公司都要涉及,當下的手部交互存在哪些問題?如何讓我們與VR世界的交互更加真實、自然?
本期公開課我們邀請到了VR領域技術專家張夢晗為大家解讀這些問題。
嘉賓介紹
張夢晗,男,VR領域技術專家,高級工程師。2012年至今從事VR/AR領域技術研發,目前聚焦在VR/AR交互領域進行技術探索和研究。
以下內容整理自公開課。
當下主流的VR對話模式
在回答這個問題之前,我想先解釋下交互在AR&VR裡面的意義。
現在的VR產品的產品形態逐漸趨同,世界上能提供合格螢幕、光學、晶片等等關鍵器件和材料的公司也就那麼幾家,大廠進來以後各種參考設計也越來越多,VR頭盔未來就是一個製造顯示器的活,能產生差異化的點越來越少了。
Microsoft Kinect
而目前大家都在VR交互方面下大功夫,短期來說是產品本身的差異化需求,這不僅僅關係到使用者體驗,還有內容生態本身的原因。以Microsoft Kinect為例,基於體感交互設計開發的遊戲成為了事實上的平臺獨佔遊戲,並且成為很多人購買Xbox的核心理由。
長期來看,VR和AR設備在交互領域是相通的,而且
目前的階段正是一個拓荒期:操作介面正在從二維平面轉移到三維空間,但是還沒有形成一個類似PC時代下滑鼠鍵盤操作介面這樣的大家公認的交互範式,這樣的機會應該說是所有做人機交互的專業人士一輩子難得遇到的機會。
在這樣的背景下,我傾向於將VR&AR交互的範疇劃的大一些:
一類是大家普遍關注的由人主動發起的交互動作
,比如手部交互、體感交互等等,這類交互往往發出的都是確定性的指令性資訊,要求準確達成某些特定的目的,也會耗費最多的精力和體力。
還有一類則是由機器主動發起的交互動作
,比如眼球跟蹤、腦電肌電、頭部位置跟蹤、表情識別等等,這類交互是機器來感知使用者的狀態來進行交互,很多時候使用者自身不需要牽扯太多精力。
再有一類不能忽視的是機器對環境的感知交互
,比如三維重建、情景感知、物體分割識別等等,很多時候尤其在AR中,只有先做好對外在環境的感知,人與機器之間的交互才能順暢。
這是我理解的交互範疇,帽子有點大蓋住的東西太多,但是今天我們還是集中於一個關鍵點,也就是手部交互來進行探討。
VR手部交互的重要性
手對你有多重要,手部交互就有多重要。
除了嘴之外,手應該是人日常最經常使用的的資訊輸出器官了,傳統的大部分交互介面也都是圍繞人手來設計,確定性高,相容性好。
PC時代那麼多交互範式,最後落到滑鼠鍵盤都是和手部相關。
當然我們不能因此就說只有手部交互才是VR&AR的未來,做好交互永遠是一個綜合治理的過程。
而且隨著AI的發展,由機器發起的交互逐漸也可以實現確定性的指令判決了,那麼手部交互的重要性可能會變弱。
遊戲“光暈”圖,裡面的士官長可以直接和寄宿在腦中晶片的AI交互,這是比較理想化的情況
但是從現在開始的相當長一段時間裡,手部交互依然是最成熟的控制類人機對話模式,並且體驗也遠遠沒到完美,值得投入完善。
VR手部輸入方式的種類
按我的區分方式就是裸手和非裸手兩類,根據產品形態和技術原理的不同又可以細分。
Google Project Soil 裸手交互
裸手就是不需要任何介質的手部交互
,比如Leap Motion基於電腦視覺的,Google Soli基於毫米波雷達的,還有一些基於超聲、紅外的解決方案,總的來說基於視覺影像處理的發展的最成熟,效果目前來說也最好。
Oculus Touch
非裸手就是需要某種介質的手部交互
,常見的就是Daydream Controller、Oculus Touch這種3DoF或者6DoF手柄,還有比較多的就是各種各樣的資料手套,基於視覺、慣性、彎曲感測器等等,總的來說手柄還是接受程度最高的,但是現在的趨勢是手柄和手套會逐漸融合成一體,形成一個新形態的人機交互媒介。
諾亦騰全身動捕套裝
在VR裡,實際上裸手還是非裸手都有比較廣泛的應用,而且相對來說非裸手還有一定的優勢:
在VR下人主要和虛擬物體和環境交互,通過某個媒介能提高交互的真實感。
在AR裡,因為人不僅僅要與虛擬物體交互同時也能看到現實場景和物體,所以裸手情況在AR中更多。
不同手部輸入方式的優劣勢
評價某項技術優劣勢有多種維度的考量,從產品角度成本和功耗就能幹死絕大部分的交互方案,當然目前我們還是希望能從體驗的角度來進行分析。
裸手的優劣
按我之間的分類方法,我們先談談裸手的優劣:
方便,你不用每天帶一個手套在手上,或者帶上頭盔四處亂摸找手柄;
如果不是要購買獨立模組(用手機上的攝像頭)或者付高昂的授權費用,裸手也會更便宜;
至於很多人所說的裸手交互更自然更符合人的習慣,在VR下我不贊同,但是在AR或者MR下大部分情況是對的。
劣勢就是:準確性還不達標,在VR環境下使用缺乏很多要素,這個我後面再細講。
非裸手的優劣
準確性好,你按一下就是一下,兩下就兩下,大部分時間不用擔心輸入錯誤;
靠媒介可以提供回饋,這個在VR下很關鍵;
劣勢:不方便,走哪你都要想著帶;有學習成本,當然也看UX設計的好壞;在AR和MR環境下會阻礙人與現實的交互,這個最致命。
總體來說,裸手和非裸手的優缺點是能夠互補的,所以在VR環境下這兩種手部交互會同時存在,而長期來看,AR/MR的時代裸手會逐漸成為主流,或者我們能找到一個融合方案,我個人覺得這個是一個值得大家一起努力的方向。
為什麼祼手交互沒有成為主流?
拋開成本和功耗不談(其實這兩個是最要命的),就體驗來說根據上面我說的優劣勢來判斷你也能知道問題所在的癥結了。
應用於PC上的Leap Motion
Leap Motion這類手部跟蹤方案出現於PC時代的末期,目標是替代滑鼠和鍵盤,結果大家也都看到了,因為PC下的滑鼠鍵盤實際上已經是公認的範式,大家在使用過程中並沒有感覺有太多不便,就算不方便也習慣了,這就導致絕大部分人沒有接受一種新的PC對話模式的需求,做產品的都知道沒有需求意味著啥。
應用於VR交互的Leap Motion
而VR興起了之後,裸手交互總算迎來了一個機遇,因為在VR下滑鼠鍵盤都不好用了,這下裸手交互總算是有需求了吧?事實上還是高興的有些早,因為這個時候和裸手競爭的還有非裸手的手柄和觸控板(參考EPSON BT200)。
EPSON BT200
華為VR頭盔的觸摸版
而和這些交互設備相比,裸手交互的優勢也並不明顯:
裸手交互在正確輸入前提下的確認度低這個老大難問題實際上一直沒有解決,就算有95%的確認率,玩遊戲的時候也是20次開槍有一次啞火,而手柄在正確輸入下的確認率毫無疑問是接近100%的。
僅僅這一項就導致裸手還無法取代手柄這類交互設備,這就帶來了
另一個更為關鍵的問題:裸手交互的必要充分場景在哪裡?
這也是我一直在和很多做手勢交互的朋友們探討的問題。
一項還不夠成熟的、不便宜的技術,如果想被廣泛的接受就必須有一個前提,我們要為它找到一個充分必要的場景,在這個場景下,它具有不可替代性,除了裸手沒有別的交互能做的更好,而如果這個場景是一個剛性場景,那麼就算再不成熟也可以忍耐。
但是在VR下裸手交互還沒有找到那個場景,國內有很多廠家用裸手交互來操作進度條、暫停播放等等,這樣的操作我用手柄或者頭盔上的觸控板可以更容易解決;還有描述車載家庭等場景下的裸手交互也是有問題,在這些場景下語音可能更有優勢(尤其是開車,手不能離開方向盤的)。
所以從手機時代直到VR,我覺得裸手交互都是很痛苦的,因為沒有實實在在的剛性需求,用戶和開發者往往會被Leap Motion的酷炫所吸引,但這種衝動式的熱情會很快被裸手的很多問題所磨滅,所以我個人認為最緊急的事情是找到裸手交互存在的充分必要場景,這樣大家就都能活下去。
而從VR到AR/MR,裸手交互的必要性才會越來越大,(當然也要強調交互設計,Hololens的那種手勢就過於生硬,明顯是硬塞進去的),我個人覺得這種充分必要的場景會在這個時間段出現,現在還是有些早。
為什麼很多VR裡的手顯得很假?
首先假不等於差,但是當一個人覺得某件事物假,那麼一定不是說某一點出了問題。
首先要說在VR手部交互方面借助手柄在某些場景下反而更真實,很多第一人稱設計類遊戲角色本身是一直手中有槍的,這種場景下拿一個手柄會比裸手更真實,目前也有一些依靠剪切力來模擬揮動以及開槍後坐力的方案,通過手柄媒介能做很多事情,更容易提升體驗。
而如果我們希望在VR交互環境中是裸手操作,那麼就會遇到更多顯得假的情況。首先強調的就是VR中需要的不是手勢識別(Gesture Recognition),而是手部跟蹤(Hand Tracking)。手勢識別和手部跟蹤估計是兩碼事,我們在日常生活中用到手勢的唯一場景就是打手語,所以你在VR環境中也用手勢來進行操作是假的不能再假的事情,肯定會讓人彆扭,這也是最容易出現的誤區。
而Hand Tracking雖然更符合人日常的交互習慣,我能看到整個手部模型並且能即時跟蹤(不管是有Bone還是僅僅是Tips和Palm),依然有很多顯得假的情況:估計的不准容易抖動,雙手交疊容易丟失,如果基於視覺做的話超出視距範圍也會丟失等等。
這還僅僅是手假,你在VR環境中所有的物體和場景也是假的,這會導致很著名的“幽靈手”現象。你的手想抓住一個虛擬的物體,摸到一個虛擬的牆壁或桌子,你會發現抓不到,摸不著,而視覺方面又不好做回饋,只好將手設計成可以穿過任何物體,你在這樣的場景下就是一個幽靈一般的存在,當然要多假有多假。
Jobs Simulator裡手的設計
所以大家可以看到實際上導致“假"的原因是比較綜合的,短期內想完全解決比較難,做好視覺的回饋包括UI的設計實際上是類似Leap Motion這樣的解決方案目前所關注的,也有了不小的成效。用戶雖然覺得假,但也不會覺得有更多的不適應,而且有的時候如果你真的沒有辦法做的完全真實,假一點反而有好處,任何模擬都是有恐怖穀的問題。
一張Leap Motion的圖,可以看到裡面不僅有手部,還有前臂部分的跟蹤
另外還要強調下,除了Hand部分的真假,很多開發者其實還忽視了Arm部分的重要性,如果只是懸空顯示一雙手的話,也是會顯的很假,Leap Motion考慮到了這一點將Arm也包括進來,實際上不僅對演算法魯棒性,對改善交互者的體驗也是有很大幫助。
對於“虛擬的手”,方便比真實更重要
剛才說在VR的手部交互方面借助手柄反而會更真實,因為手中有一個即時在在的回饋。而你(主持人)所說的虛擬用戶手的行為應該就是指Oculus Touch,因為別的手柄暫時都沒有這個能力來模擬一個真實的手。我們很多人都體驗過Oculus Touch,原理也都知道的差不多,它依靠幾個點的接近光感測器,確實能夠模擬出手部的一些細微動作變化,設計的很巧妙。
但是你所說的自然我覺得在VR中是不存在的,這個其實也是我一直想強調的事情,
自然不見得是VR場景下必須追求的事情,因為物體是虛擬的,你的手也是模擬估計出來的,這個毫無自然可言,我們更多的是追求流暢、快速、用最小的能耗省時省力的完成交互,而這些有的時候和自然會有矛盾。
比如現在很多交互設計,刻意做成和現實場景完全一致,比如抓取一些細微的零件、走老遠拉出一個抽屜,看上去蠻酷的,但是時間長了沒人會受得了,就像是在演默劇,明明哪裡沒有東西,我們還要按有東西來操作,這種不協調感會加劇人的疲勞和不適。
所以很多時候我們既然沒有辦法在VR中把交互做的那麼真實,那還不如就多思考如何讓交互更方便,比如把交互控制項做的大一些、引入raycast等方式操作遠距離的物體,不真實,但是簡單有效省時省力,反而是目前消費者更為需要的。
若是就是不惜一切代價的追求真實,除非是一些垂直行業的模擬場景,這種對成本不敏感,就完全是另外一種思路,而且我不覺得VR需要走到那一步。
如何讓裸手交互更受歡迎?
基於視覺的裸手交互的問題歸納起來有如下幾點:正確輸入下的確認率差,魯棒性也差,缺乏回饋,交互範圍相對窄(脫離視距範圍會丟失),易疲勞(更像真實交互所帶來的副作用,恐怖穀效應)。這些問題每一個都是挺要命的,需要綜合的治理和解決。
前面的幾條的改善就是比演算法硬功夫,你模型估計的越準確,即時性好,就會有所收益,但是即使做的再完美,後面的回饋問題和交互疲勞性問題也沒有辦法解決,所以兩部分要同時進行。
有一些設計將人的手作為操作介面,用另一隻手點擊虛擬出的功能表來完成交互,雖然會遇到交疊跟蹤丟失等問題,但可以提供回饋,依然是一個很好的思路。
交互範圍窄的問題在Inside-Out的場景下更為嚴重,Leap Motion使用雙魚眼鏡頭(Dual Fisheye Camera)的主要原因就是希望能盡可能的擴大交互範圍,而結構光和ToF的FoV與解析度的矛盾是硬傷,這需要器件本身的規格提升。
至於如何設計能讓用戶和開發者更受歡迎,
我還是強調幾點:忘掉所謂的自然,強調流暢快速省時省力。最最最最重要的是:找到一個只有裸手交互才能做的最好最舒服的充分必要場景,這個場景應該成為所有裸手交互研發人員共同最求的聖杯,找到了它大家才都能活的好。
力回饋手套解決的問題和存在的局限
關於回饋的重要性我前面也提到,解決幽靈手的問題,加入回饋機制是必不可少的。但是拋開成本和造價不談,力回饋手套還是有很多的問題。
首先所有的資料手套都沒有解決好的一點就是佩戴的舒適性和方便性,這個是制約其進入消費級別市場的最大因素。很多資料手套通過多IMU融合來做手部位置跟蹤捕捉,但是要想做的精確需要每個感測器精確放置在骨節上,並且還免不了要做初始化校準,這都不是一個消費級別產品能夠接受的。
另外加入回饋的方式也有很多問題,回饋分為力回饋/震動回饋/觸覺回饋,綜合形成一個比較好的HAPICS體驗,但是目前在力回饋領域還很難用一個小的機械結構提供足夠大的阻尼力,而且機械結構本身就有飛車的風險,容易造成人的肌肉損傷。
其他的回饋機制則也有很多硬傷,比如非侵入式的觸覺回饋,本身受環境影響很大,手一出汗沾水回饋效果就受到影響,而電極植入這種浸入式方案也明顯不會被消費者接受。
回饋方面的話題可以展開說很多,對於資料手套來說,目前大家做的都還是比較早期,也只有對精度要求較高的工業場景,醫療場景和設計場景中會有明確的需求,距離消費級市場比較遠。我們也看到很多公司在嘗試簡化系統,用比較低廉的價格嘗試進入消費領域,不過我還是希望他們能解決好佩戴和使用便利性的問題,另外就是要想好如何使用它。
手部交互的未來
分開來看,手柄手套這種非裸手的交互會在相當長一段時間裡一直存在下去,並且大家都在圍繞這個東西來做改良,從Oculus Touch到下一代的Vive手柄,我們都能清楚的看到這個趨勢,更多的功能被添加,更加貼合手型,可以做6DoF跟蹤,震動和力回饋等等,這都是基於介質來做手部交互的優勢,毫無疑問要想辦法發揚光大。
而裸手交互可能在短期內依然會比較艱難,當然好在大家都看的比較清楚裸手交互在AR/MR時代的必要性,所以還是會不斷的向前演進,除了提升演算法本身的穩定性,一些能夠改善體驗的UX設計也能改善體驗,撐著大家能夠活到AR興起的時期。另外還是要強調一點,尋找到那個聖杯:裸手交互的必要場景才是最主要的,別的我覺得都好說。
Q&A 環節
1、如何評價HoloLens的手勢交互,這種程式的手勢交互是否可以用作日常使用的產品?
張夢晗:
首先應該有不少朋友都體驗過Hololens了,大家相信對它的體驗都有感覺。
它是一種“手勢識別”,而不是一種“手部跟蹤”,視覺上並沒有一個回饋給到你,你甚至都很難判斷我當前的狀態到底是不是處在有效的交互範圍內。
這樣的情況下,交互的效率自然就大打折扣,並且還有一個問題,既然我的系統整體是使用頭瞄來選擇交互目標,我用一個簡單的觸控板(Touchpad)觸碰會不會比那個不靠譜的雙指掐擊更方便確認。
至少目前來說,我個人認為Hololens的主要精力並沒有放在手勢上,只是捎帶塞了一個對話模式進來。我甚至覺得這個對話模式有可能是硬體定型後才發現沒有對話模式,所以才利用視覺系統做了個手勢,其實我覺得側面加個觸控板也許更好用。
拋開Hololens本身的設計不談,我覺得裸手交互在AR設備上是絕對必要的。但也要有對應的交互設計配合才行。比如AR下很多時候我的目標交互物就是定位在某個現實物體之上的,甚至虛擬物體的運動會與現實物體發生交互,這個時候用裸手交互顯然是不二的選擇。
而回到Hololens,從它的交互介面來看我確實沒有看到必須要使用手勢的必要性,也就是說他們並沒有找到我提到的聖杯。
2、三維手勢交互上面,目前技術上的問題更多還是設計上的問題更多?技術上解決三維交互比較好的方向是什麼?離成熟還有多遠?
張夢晗:
技術上和設計上的問題都很多,而最大的問題是那個必要充分的場景沒有找到,這個我強調無數次了。
技術上我覺得單純的提升準確率和精度已經無法完全解決深度手部跟蹤的應用問題了,當然裸手交互方案提供商們還是會持續提升客觀指標,但是我們會漸漸發現很多客觀指標的提升已經很難在體驗上表現出來。
尤其是Inside-out場景下,再高的準確率也無法解決疲勞感和交互範圍狹小的問題,而解決後兩者就不僅僅是技術問題,而是設計問題,所以我之前說過,要綜合治理。
而在沒有找到手勢交互的必要場景之前,想留住用戶讓用戶想用願意用深度手勢,我覺得關鍵在於利用視覺聲學等綜合回饋,給用戶儘量提供明確的確認資訊,盡可能讓使用者像使用手柄一樣知道自己什麼時候選中了。
只有這種確認性接近達到手柄的水準,裸手手勢的方便性才能充分體現,如果不貴的話,也許我還願意用一下。至於別的我覺得等這個小目標達到了再慢慢看吧。
或者我們直接搞定聖杯,找到一個只有裸手才能搞定的業務場景,那麼問題再多我也願意將就著用,慢慢等你改良。讓用戶沒有選擇,你才能立於不敗之地。
3、手勢識別或是手勢跟蹤,主要基於機器視覺,或者是一些感測器融合,目前用的比較多,比較魯棒的技術有哪些呢?
張夢晗:
魯棒性的問題實際上和設計也有關係,相同的精度下操作小器件和大按鈕的發生錯誤的概率肯定不同。基於多感測器融合,可以很好的解決超視距下的交互問題,手揣兜裡也能跟蹤,這是基於視覺的手部跟蹤所沒有辦法解決的問題。
但是這種情況也會有陀螺儀長期累積漂移,需要初始化等問題,從這個角度來說,可以一直檢測校準的視覺方案又有優勢了。而最近有很多的解決方案強調自己在魯棒性上有好處,比如說很多基於60GHz的毫米波雷達定位,主打的就是相對視覺方案來說更能抗干擾,尤其在室外環境下。
即使是基於視覺原理,不同的器件方案也有影響,RGB Dual Camera會比結構光在室外抗紅外干擾能力強,但在暗光環境下又反過來。
沒有缺點的方案還沒有出現,目前採用Dual Camera比較多也是因為FoV可以做的比較大,交互範圍的大小要比魯棒性重要一些。