是什麼使得一個還沒有發佈任何產品的公司吸引了阿里巴巴 8 億美金投資,公司估值高達 45 億美金?
在硅谷大講堂「硅谷 VR/AR 技術論壇」上,Google 資深研究員,9 年專注 VR/AR 技術的美女吳博士,紐約州立大學石溪分校顧險峯教授共同解析了 VR/AR 的前世金生,以及 Magic leap 和 Hololens 背後的技術和未來挑戰。
這次講座之餘,筆者跟吳博士交流,還得到她的獨家授權分享她對於 Magic Leap 的獨到見解。(注:原文 發表在 Medium 上。僅代表個人觀點,和公司無關。文章內容都是基於公開信息。)
Magic Leap Demo
(一)Magic Leap 和 HoloLens 是什麼?
Magic Leap 和 HoloLens 都是 Augmented Reality (AR) 眼鏡的代表,有一個相關的概念也很火爆:Virtual Reality (VR)。
AR 和 VR 眼鏡的區別是什麼?
AR 眼鏡是透明的,讓你能同時看到現實世界,和疊加在上面的虛擬成像。應用例子:趕不上 Lady Gaga 的演唱會?沒關係,戴上眼鏡她就在你家裏開一個。代表產品原型:Magic Leap 和微軟的 HoloLens。
VR 眼鏡是不透明的,只顯示虛擬世界,把物理世界完全擋住。應用例子:坐在家裏也能去大溪地“潛水”。代表產品 / 原型:三星的 Gear VR,谷歌的 Cardboard VR,和臉書的 Oculus Rift。
谷歌的 Cardboard VR
Facebook Oculus VR
2. Magic Leap 和 Microsoft 為什麼要做透明 AR 眼鏡?
總的來説,這是計算機的必然發展趨勢。2007 年蘋果推出 iPhone 以來,手機發展太迅猛,用户隨時隨地帶着它,各項使用數據毫無懸念地都在超越 PC 端。所以,人機交互界面的未來主要在於移動。但現在的手機侷限在於,(1)既然要便於攜帶屏幕就做得小,屏幕小了某些功能就得受限;(2)顯示屏幕是平面也就是二維 (2D) 的,而真實世界是三維 (3D) 的。
未來的透明 AR 眼鏡有望實現大突破,就是既能讓用户隨身攜帶,又能在她眼前顯示超大屏幕,還能把以假亂真的 3D 內容渲染到她看到的真實世界裏(想象你坐在教室裏聽課,你的老師看起來真實無比,但其實就是在你的眼鏡上虛擬出來的)。這樣的眼鏡大概不會完全取代手機,但毫無疑問潛力無窮。
跟 VR 比較,AR 的應用場景也更廣闊(你總不能帶着 VR 頭盔大街上走吧)。本質上,AR 是 VR 的超集,鏡片前面一擋就成了 VR(前提是視角能做到差不多大)。
3. 但是戴眼鏡好麻煩,為什麼不直接像《星球大戰》一樣在空氣中顯示全息圖(Hologram)?
Holography 是人類的美好願景,有一天也許能做成,但近期看離實用還早。現在有一些大學實驗室在研究裸眼光場顯示器(light field display),但需要很複雜笨重昂貴的設備,還只能在安裝了的地方用。相對而言,眼鏡的可行性要大得多。如果能做成輕便的 AR 眼鏡,將是移動人機交互界面上也是計算機發展的重大革新。
4. 在 VR 頭盔上加個前視攝像頭不也就成 AR 了嗎?為什麼非要透明的?
好問題。説起來 AR 有兩種,一種是前面所説的透明 AR (optical see-through)——現實世界是透過鏡片直接看到的。另一種就是“視頻疊加”(video see-through 或者 video overlay)——現實世界是通過攝像頭捕捉,然後以視頻的方式呈現給用户(在上面再渲染一些東西)。事實上,現在手機和平板上已經出現了很多 video overlay 的應用,比如可以幫助用户看星空,求翻譯,選傢俱等。
那為什麼不用 VR 頭盔加攝像頭實現這種 AR 呢?當然可以,現在很多 VR 頭盔都在試探這種做法。它和透明 AR 相比各有優劣,比如優勢在於用視頻實現的虛擬和現實的疊加(overlay)要比透明 AR 簡單得多,這也是為什麼它已經開始在移動端商用的原因。
但劣勢也可想而知,用户看到的畢竟只是一個 2D 視頻,質量跟眼睛直接看到的世界還是差很大的。而且視頻從採集到顯示總歸是有延遲的,如果跟體感信號不一致的話會造成身體不適。所以不管怎樣,都還是會有公司前仆後繼地去做透明 AR 的,Magic Leap 和 Microsoft HoloLens 就是例子。
5. Magic Leap 為什麼那麼牛能融到 14 億美金?(最近的 Series C 融了 8 億)
前面説的應用潛力無窮肯定是助力,同時還有技術,創始人,團隊的原因。
Magic Leap 的核心技術是來自華盛頓大學前研究員 Brian Schowengerdt 的,他導師 Eric Seibel 是光纖掃描內窺鏡(Scanning Fiber Endoscope)的專家。大家都知道內窺鏡就是醫生們做手術時用來體內成像的,本質是個微小攝像頭。Brian 呢很聰明地逆轉光路把這個技術用到了顯示上,這樣通過極細的光纖用激光就可以打出彩色的圖像(如左圖所示)。這個技術十幾年前就發表了 [2],後來又不斷改進,生成了一堆專利。
因此 Magic Leap 很大程度上是基於 Brian 的這些專利(可惜這麼重要的技術骨幹既沒有成為創始人,也沒有被列為“核心人員”,不過這是題外話了)。
然而光有技術牛是不夠的,AR 眼鏡這種東西,要想做好可想而知是需要投入巨大的人力物力的,軟件硬件都得有重大突破。蘋果、微軟、谷歌這樣的公司可能有財力去做這個事,為什麼會相信一個初創小企業能做成?
我覺得猶太人創始人 Rony Abovitz 起的作用很大。Rony 之前是 MAKO Surgical 的聯合創始人。這家公司知道的人不多,但他們做的東西説出來就嚇人了——他們是做機器人手術(robotic surgery)的,主要是骨科手術精準定位。聽起來科幻吧超前吧,可是人 2004 年創建,2008 年就上市了,2013 年以 16.5 億美元賣給了 Stryker Medical。這種 track record(過去的成就)他拉不到投資誰能拉到?
除了創始人兼 CEO,團隊也不是蓋的,計算機視覺部分拉到了 Gary Bradski 和 Jean-Yves Bouguet 這樣的大牛。合作的 Weta Workshop 是在好萊塢給電影做特效的,《指環王》就是他們做的。所以 Magic Leap 當年用來拉投資用的概念視頻就像一個微型電影一樣。
6. 現在該回到前面的問題了,為什麼 Magic Leap 的光場顯示技術很重要?
首先,它是基於極細的光纖的,可以讓眼鏡做得輕薄。但更重要的是因為 Brian 證明了用這種技術不僅可以投射出一個 2D 圖片,還能顯示出一個光場 (Light Field)。
現代的近眼眼鏡為了實現 3D 有兩種主要的技術:Stereoscopic(中文翻譯成“立體”,但其實不夠準確),和 Light Field(光場)。Stereoscopic 眼鏡早已商化(比如所有 3D 影院裏用的,還有市面上幾乎所有 AR 和 VR 眼鏡 / 原型——包括 Microsoft HoloLens,Epson Moverio,Lumus DK-40, Facebook Oculus——都是 Stereoscopic)。而 Light Field 還只在實驗室裏有雛形(Magic Leap 大概是做得最好的一個)。什麼是 Stereoscopic 3D 呢?為什麼它不夠好還要做 Light Field 呢?什麼又是 Light Field 呢?
Stereoscopic 3D 是假 3D
3D 圖像比 2D 圖片多了一個維度,這個維度就是景深 (depth),看過 3D 電影和 2D 電影的同學知道感官上有明顯的區別(只有少數人有雙盲症不能看到)。大家知道人眼感知景深有很多機制,包括單眼(monocular)和雙眼(binocular)的。單眼能感知的景深信號很多,比如:一個東西遮擋了另一個(occlusion),熟悉的物體的大小(relative size/height),物體移動的變化(遠的物體變化慢近的物體變化快,即 motion parallax)。在此基礎上,雙眼的景深信號也非常強烈(所以遠古的我們能更好地判斷對面的老虎或者鹿到底離多遠)。兩隻眼睛看到同一個場景會有細微差別,這讓大腦能通過三角計算(triangulation)來得到物體景深。
Stereoscopic 3D 就是利用這個原理給雙眼分別顯示不同的圖片(如下圖),它們很相似,只在水平方向上有細微差別。而這兩張圖片拍攝的時候,就是用兩個並排的相機模擬人眼的位置拍的,現在的 3D 電影都是基於這個原理。
但這樣的 Stereoscopic 3D 有什麼問題呢?簡單講它會引起用户身體不適如頭暈、噁心等。為什麼呢?這又涉及到人眼的一個有意思的機制。當我們在看一個現實世界中的物體時,眼睛其實有兩種自然反應:
(1)聚焦(Accommodation/Focus)。眼睛的晶狀體就像一個凸透鏡,它會調節凸度來讓那個物體在咱們視網膜上清楚成像。
(2) “會聚”(Convergence)。在每隻眼睛聚焦的同時,兩隻眼球還會有旋轉運動來一起指向那個物體。
很自然地,這兩種反射運動在神經上是聯接的(neurally coupled),也就是説任意一種運動會自動引發另一種運動。這也意味着,在人眼看真實物體的時候,聚焦和會聚的距離總是相等的(vergence distance = accommodation distance,參見下圖 A)。
那麼 Stereoscopic 3D 的問題就來了。因為 Stereoscopic 的投射距離總是固定的(也就是 accommodation distance 不變),而圖片的 disparity 會讓眼睛會聚在不同的距離(vergence distance)以產生景深 3D 效果(見下圖 B)。所以,這兩種距離經常是不一致的(vergence distance ≠ accommodation distance),會造成這兩種神經相連的運動強行分離(neurally decoupled)。
從另一個角度講,在自然世界裏,當人眼聚焦並會聚到一個物體時,別的距離的物體應該都是模糊的(下圖 C)。而在 Stereoscopic 3D 裏,不管人眼聚焦到哪兒,別的距離的物體成像都是清楚的(下圖 D)。
這些都不符合自然界人眼的規律,因此大腦會產生混亂,長時間就會引起噁心暈眩等症狀 [4]。所以 Stereoscopic 其實是用了一個小伎倆讓人能看到 3D 效果,但它並不是真 3D。
光場(light field)是真 3D
光場顯示跟 Stereoscopic 3D 比的一個很大不同就是它有本事能讓人眼聚焦到不同的距離,從而和會聚的距離保持一致。這是最符合人眼觀察自然世界規律的做法,因此被稱為 true-3D。
可以想象要實現這樣的光場顯示,並不是那麼簡單。現在主要是兩種方法:空間複用(space multiplexing)和時間複用(time multiplexing)。“空間複用”簡單説就是把一個像素當幾塊用來實現不同的聚焦距離。Nvidia 在 SIGGRAPH 上展示的那個原型就屬於這種。這個方法最大的問題就是分辨率大打折扣。我曾經試戴過,基本就是霧裏看花。
“時間複用”呢,就是用高速原件來快速產生不同的聚焦距離,讓人眼以為它們是同時產生的。這樣的好處就是分辨率不損失。大家知道人眼的速度感知是有限的,很多顯示器都是 60Hz 的,因為人眼能分辨的極限值一般就是 60Hz(在某些高速內容比如遊戲裏可能達到 90-120Hz)。這意味着什麼呢,如果利用高速顯示 360Hz,就可以實現 6 個不同的聚焦距離。而有研究表明用 6 個聚焦距離加上一種線性混合(linear blending)的渲染算法就基本能實現從約 30 釐米到無窮遠讓人眼自然對焦 [5]。
Magic Leap 的技術是哪種呢?它最近 demo 用的哪種技術沒有公開,但很有可能還是基於 Brian 的高速激光光纖掃描 (scanning fiber) 技術,也是一種時間複用的辦法。Brian 當年先試過只用一根光纖掃描不同聚焦距離,這樣做明顯對速度要求太高,後來用一個光纖束(fiber bundle/array),比如 16 根,每個光纖有一點位置差,然後同時掃描得到不同聚焦距離。
這樣的光場受現實系統的侷限肯定不可能是連續的,都是被採樣的(downsampled)。但是,即使是這樣的光場投射到眼睛裏也在理論上是跟真實世界物體光線進入眼睛是一個道理,因此可以實現 true-3D。回到最初的問題,這也是為什麼 Magic Leap 的技術重要的原因。現在你也理解了為什麼 Rony 説“HoloLens 會讓人噁心”了吧?
(二)透明 AR 眼鏡面臨哪些挑戰
Botao 同學談到了一些重要挑戰(知乎),比如 3D 感知和定位,手勢識別,眼動跟蹤,計算量,電池的問題等,我再補充幾個。
1. 顯示
首先能實現近眼光場顯示就很難,現在的公司除了 Magic Leap 還都是用古老的 Stereoscopic 3D 的方法,用户戴長了就會眼困頭暈噁心。而 Magic Leap 所用的近眼顯示技術理論上成立,現實中也還有很多問題要解決。比如:
系統大小: Magic Leap 現在還沒有公開過它的原型照片,據報道都還是像一個冰箱一樣大的,離可穿戴還有很長的路要走。光場採樣:既然是採樣就一定有損失,比如對比度清晰度上,如何才能最優採樣?
聚焦和會聚(Accommodation-vergence matching):即便聚焦距離對了,也要保證會聚距離始終與其保持一致。Magic Leap 現在的 demo 視頻還只是從單眼攝製的,還沒有證據表明他們很好地解決了雙眼問題。
室外顯示:現在大家的 demo 都是室內的。當用户在室外時,太陽光強度比顯示光高几個數量級。至少鏡片需要有自動調光的技術。
捕捉內容:雖然現在可以用計算機圖形來做 demo,但以後的應用一定會需要相機採集的內容,而光場的拍攝本身還有很多問題要解決。
散熱:是一個容易被忽視的問題。當年 Google Glass 出來的時候有人説用着用着臉就像要燒起來了。現在還沒有證據表明 HoloLens 和 Magic Leap 的眼鏡能長時間保持涼爽。
2. 鏡片
近眼顯示有兩個關鍵部件:顯示器和鏡片。現在大部分的 AR 眼鏡鏡片都是基於分光鏡(beamsplitter prism)的,比如 Google Glass,HoloLens,Epson Moverio。如圖左,簡單的分光鏡就是 45 度角,把顯示器產生的光從眼鏡框反射進人眼,也同時讓現實世界的光透進來。這樣做簡單便宜,但是鏡片厚。一個以色列公司 Lumus 做出了一個光導(waveguide)技術讓鏡片變得很薄,可惜工藝複雜成本太高。後來也有一些便宜的光導產品出現,但質量還遠不如 Lumus。所以,鏡片也還有很長的路要走,不僅要做到視角(Field-of-View)大,還要輕薄,透光性好,在折射 / 反射顯示光的時候也要儘量保持光的屬性並做到儘量小的光損失。
3. 視角(FoV)和分辨率(Resolution)
視角直接決定了用户體驗。現在的很多 AR 眼鏡視角還在 20°-40° 之間,不少試戴了 HoloLens 的記者都對它的視角表示失望。而人眼的橫向視角雙眼差不多有 200°,縱向有 130°。視角大意味着總的分辨率也要很大才能覆蓋,8K*8K 才會比較理想。
4. 遮擋(Occlusion)
前面説到過單眼的景深感知有一個很重要的信號就是物體之間的遮擋。在用透明 AR 眼鏡時,一個關鍵問題就是虛擬物體和現實物體之間的遮擋怎麼實現。
如果是現實物體在前面,虛擬物體在後面,還相對比較好辦,就是要自動探測現實物體的距離,再計算出虛擬物體哪些部位需要遮擋從而不渲染。但是如果反過來,虛擬物體需要遮擋現實物體,就沒那麼直接了,因為理論上需要把現實物體的光從眼鏡上選擇性地濾掉。從 Magic Leap 最近的 demo 看,在虛擬物體明亮時,它本身的亮度會自然遮擋後面的真實物體,但當虛擬物體比較暗時,還是有所謂的“鬼影效果”(ghost effect),不符合自然規律,又會讓大腦產生混亂。
如果想實現完全正確的遮擋效果,只能在鏡片上做實時的像素級的濾光機制(per-pixel shutter),但現在的技術都還不成熟。
Magic Leap:以增強現實展示科幻世界
5. 渲染黑色
透明 AR 眼鏡現在還沒辦法渲染黑色。因為它説到底是虛擬光和自然光的疊加。如果畫黑色,用户是看不到的,只會看到後面的背景真實物體的光。類似的暗色都有這個問題。
6. 延遲
透明 AR 眼鏡還有一個很大的挑戰就是延遲。把虛擬物體疊加到真實物體上(比如放一個虛擬水杯到一個真實桌子上)涉及到一系列計算:探測真實物體→計算它的空間位置和方向→計算疊加位置→渲染虛擬物體等。這一切都必須在一眨眼內發生,讓用户感覺不到延遲。比如在那個水杯例子裏,我們的頭可能是一直在動的,隨着我們頭動,我們看到的那個水杯應該在桌上原來的位置不動才對。而如果系統延遲過大,我們看到的那個水杯的位置可能就總是不對,大腦就又混亂了。這對透明 AR 挑戰尤其大,因為真實世界我們是直接看到的,幾乎沒有任何延遲,而虛擬物體的渲染得能跟上這個速度才顯得自然。在 video overlay 裏,就沒有這個問題,因為我們看到的真實世界的視頻已經是延遲的了,這樣在上面的物體疊加就比較容易跟它保持同步。
7. 激光
Magic Leap 以前的技術專利是用激光直接打到人眼裏,雖然據説很安全,但還沒有確切的科學證據。所以用户接受度是個問題,很多人估計一聽到這個就望而卻步了。
説了這麼多,這下一代移動人機交互界面到底什麼時候能做成呢?我個人感覺要做成人民羣眾喜聞樂見的版本至少要 5 年時間,也許更長。因為以上列出的這些挑戰,每一個都還需要很多努力才能解決。目前它們很多都還不到量變(只是需要優化)的階段,而是需要大的質的飛躍。所以,路漫漫而修遠兮。但既然這是計算機發展的必然方向,拭目以待吧。