最近Magic Leap和HoloLens很火。它們是什么?為什么這么火?什么時候能做成?還面臨哪些挑戰(zhàn)?Botao同學(xué)在知乎上談了不少3D感知部分,我來補充補充別的。
注:本文僅代表個人觀點,和我的公司無關(guān)。文章內(nèi)容都是基于公開信息。
(一)Magic Leap和HoloLens是什么?
Magic Leap和HoloLens都是Augmented Reality (AR)眼鏡的代表,有一個相關(guān)的概念也很火爆:Virtual Reality (VR)。
1。AR 和VR眼鏡的區(qū)別是什么?
AR眼鏡是透明的,讓你能同時看到現(xiàn)實世界,和疊加在上面的虛擬成像。應(yīng)用例子:趕不上Lady Gaga的演唱會?沒關(guān)系,戴上眼鏡她就在你家里開一個。代表產(chǎn)品原型:Magic Leap和微軟的HoloLens。
VR眼鏡是不透明的,只顯示虛擬世界,把物理世界完全擋住。應(yīng)用例子:坐在家里也能去大溪地“潛水”。代表產(chǎn)品/原型:三星的Gear VR,谷歌的Cardboard VR,和臉書的Oculus Rift。
2。 Magic Leap和Microsoft為什么要做透明AR眼鏡?
總的來說,這是計算機的必然發(fā)展趨勢。2007年蘋果推出iPhone以來,手機發(fā)展太迅猛,用戶隨時隨地帶著它,各項使用數(shù)據(jù)毫無懸念地都在超越PC端。所以,人機交互界面的未來主要在于移動。但現(xiàn)在的手機局限在于,(1)既然要便于攜帶屏幕就做得小,屏幕小了某些功能就得受限;(2)顯示屏幕是平面也就是二維(2D)的,而真實世界是三維(3D)的。
未來的透明AR眼鏡有望實現(xiàn)大突破,就是既能讓用戶隨身攜帶,又能在她眼前顯示超大屏幕,還能把以假亂真的3D內(nèi)容渲染到她看到的真實世界里(想象你坐在教室里聽課,你的老師看起來真實無比,但其實就是在你的眼鏡上虛擬出來的)。這樣的眼鏡大概不會完全取代手機,但毫無疑問潛力無窮。
跟VR比較,AR的應(yīng)用場景也更廣闊(你總不能帶著VR頭盔大街上走吧)。本質(zhì)上,AR是VR的超集,鏡片前面一擋就成了VR(前提是視角能做到差不多大)。
3。 但是戴眼鏡好麻煩,為什么不直接像《星球大戰(zhàn)》一樣在空氣中顯示全息圖(Hologram)?
Image credit: ibtimes
Holography是人類的美好愿景,有一天也許能做成,但近期看離實用還早?,F(xiàn)在有一些大學(xué)實驗室在研究裸眼光場顯示器(light field display),但需要很復(fù)雜笨重昂貴的設(shè)備,還只能在安裝了的地方用。相對而言,眼鏡的可行性要大得多。如果能做成輕便的AR眼鏡,將是移動人機交互界面上也是計算機發(fā)展的重大革新。
Image credit: kym-cdn
4。 在VR頭盔上加個前視攝像頭不也就成AR了嗎?為什么非要透明的?
好問題。說起來AR有兩種,一種是前面所說的透明AR(optical see-through)——現(xiàn)實世界是透過鏡片直接看到的。另一種就是“視頻疊加”(video see-through或者video overlay)——現(xiàn)實世界是通過攝像頭捕捉,然后以視頻的方式呈現(xiàn)給用戶(在上面再渲染一些東西)。事實上,現(xiàn)在手機和平板上已經(jīng)出現(xiàn)了很多video overlay的應(yīng)用,比如看星空,求翻譯,選家具等。
Image credit: rafaelgrossmann and thetecholic
那為什么不用VR頭盔加攝像頭實現(xiàn)這種AR呢?當(dāng)然可以,現(xiàn)在很多VR頭盔都在試探這種做法。它和透明AR相比各有優(yōu)劣,比如優(yōu)勢在于用視頻實現(xiàn)的虛擬和現(xiàn)實的疊加(overlay)要比透明AR簡單得多,這也是為什么它已經(jīng)開始在移動端商用的原因。
但劣勢也可想而知,用戶看到的畢竟只是一個2D視頻,質(zhì)量跟眼睛直接看到的世界還是差很大的。而且視頻從采集到顯示總歸是有延遲的,如果跟體感信號不一致的話會造成身體不適。所以不管怎樣都還是會有公司前仆后繼地去做透明AR的,Magic Leap和Microsoft HoloLens就是例子。
5。 Magic Leap為什么那么牛能融到500+M?(最近的Series C在融800+M)
前面說的應(yīng)用潛力無窮肯定是助力,同時還有技術(shù),創(chuàng)始人,團隊的原因。
Image credit: [1]
Magic Leap的核心技術(shù)是來自華盛頓大學(xué)前研究員Brian Schowengerdt的,他導(dǎo)師Eric Seibel是光纖掃描內(nèi)窺鏡(Scanning Fiber Endoscope)的專家。大家都知道內(nèi)窺鏡就是醫(yī)生們做手術(shù)時用來體內(nèi)成像的,本質(zhì)是個微小攝像頭。Brian呢很聰明地逆轉(zhuǎn)光路把這個技術(shù)用到了顯示上,這樣通過極細(xì)的光纖用激光就可以打出彩色的圖像(如左圖所示)。這個技術(shù)十幾年前就發(fā)表了[2],后來又不斷改進,生成了一堆專利。Magic Leap很大程度上是基于Brian的這些專利。(可惜這么重要的技術(shù)骨干既沒有成為創(chuàng)始人,也沒有被列為“核心人員”,不過這是題外話了。)
那這種技術(shù)為什么重要呢?我們后面留成一個專門的問題講。
然而光有技術(shù)牛是不夠的,AR眼鏡這種東西,要想做好可想而知是需要投入巨大的人力物力的,軟件硬件都得有重大突破。蘋果、微軟、谷歌這樣的公司可能有財力去做這個事,為什么會相信一個初創(chuàng)小企業(yè)能做成?我覺得猶太人創(chuàng)始人Rony Abovitz起的作用很大。Rony之前是MAKO Surgical的聯(lián)合創(chuàng)始人。這家公司知道的人不多,但他們做的東西說出來就嚇人了——人是做機器人手術(shù)(robotic surgery)的,主要是骨科手術(shù)精準(zhǔn)定位。聽起來科幻吧超前吧,可是人2004年創(chuàng)建,2008年就上市了,2013年以16.5億美元賣給了Stryker Medical。這種track record他拉不到投資誰能拉到。
除了創(chuàng)始人兼CEO,團隊也不是蓋的,計算機視覺部分拉到了Gary Bradski和Jean-Yves Bouguet這樣的大牛。合作的Weta Workshop是在好萊塢給電影做特效的,《指環(huán)王》就是他們做的。所以Magic Leap當(dāng)年用來拉投資用的概念視頻就像一個微型電影一樣。(點擊此處觀看視頻)
6。 現(xiàn)在該回到前面的問題了,為什么Magic Leap的光場顯示技術(shù)很重要?
首先,它是基于極細(xì)的光纖的,可以讓眼鏡做得輕薄。但更重要的是因為Brian證明了用這種技術(shù)不僅可以投射出一個2D圖片(上圖),還能顯示出一個光場(Light Field)。
現(xiàn)代的近眼眼鏡為了實現(xiàn)3D有兩種主要的技術(shù):Stereoscopic(中文翻譯成“立體”,但其實不夠準(zhǔn)確),和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電影的同學(xué)知道感官上有明顯的區(qū)別(只有少數(shù)人有雙盲癥不能看到)。大家知道人眼感知景深有很多機制,包括單眼(monocular)和雙眼(binocular)的。單眼能感知的景深信號很多,比如:一個東西遮擋了另一個(occlusion),熟悉的物體的大?。╮elative size/height),物體移動的變化(遠(yuǎn)的物體變化慢近的物體變化快,即motion parallax)。在此基礎(chǔ)上,雙眼的景深信號也非常強烈(所以遠(yuǎn)古的我們能更好地判斷對面的老虎或者鹿到底離多遠(yuǎn))。兩只眼睛看到同一個場景會有細(xì)微差別,這讓大腦能通過三角計算(triangulation)來得到物體景深。
Stereoscopic 3D就是利用這個原理給雙眼分別顯示不同的圖片(如下圖),它們很相似,只在水平方向上有細(xì)微差別。而這兩張圖片拍攝的時候,就是用兩個并排的相機模擬人眼的位置拍的,現(xiàn)在的3D電影都是基于這個原理。
Image credit: lightfield-forum
但這樣的Stereoscopic 3D有什么問題呢?簡單講它會引起用戶身體不適如頭暈、惡心等。為什么呢?這又涉及到人眼的一個有意思的機制。當(dāng)我們在看一個現(xiàn)實世界中的物體時,眼睛其實有兩種自然反應(yīng):
?。?)聚焦(Accommodation/Focus)。眼睛的晶狀體就像一個凸透鏡,它會調(diào)節(jié)凸度來讓那個物體在咱們視網(wǎng)膜上清楚成像。
Image credit: eyetec
?。?) “會聚”(Convergence)。在每只眼睛聚焦的同時,兩只眼球還會有旋轉(zhuǎn)運動來一起指向那個物體。
Image credit: sinauer
很自然地,這兩種反射運動在神經(jīng)上是聯(lián)接的(neurally coupled),也就是說任意一種運動會自動引發(fā)另一種運動。這也意味著,在人眼看真實物體的時候,聚焦和會聚的距離總是相等的(vergence distance = accommodation distance,參見下圖A)。
那么Stereoscopic 3D的問題就來了。因為Stereoscopic的投射距離總是固定的(也就是accommodation distance不變),而圖片的disparity會讓眼睛會聚在不同的距離(vergence distance)以產(chǎn)生景深3D效果(見下圖B)。所以,這兩種距離經(jīng)常是不一致的(vergence distance ≠ accommodation distance),會造成這兩種神經(jīng)相連的運動強行分離(neurally decoupled)。
從另一個角度講,在自然世界里,當(dāng)人眼聚焦并會聚到一個物體時,別的距離的物體應(yīng)該都是模糊的(下圖C)。而在Stereoscopic 3D里,不管人眼聚焦到哪兒,別的距離的物體成像都是清楚的(下圖D)。
這些都不符合自然界人眼的規(guī)律,因此大腦會產(chǎn)生混亂,長時間就會引起惡心暈眩等癥狀[4]。所以Stereoscopic其實是用了一個小伎倆讓人能看到3D效果,但它并不是真3D。
Image credit: arvojournals [4]
光場(light field)是真3D
光場顯示跟Stereoscopic 3D比的一個很大不同就是它有本事能讓人眼聚焦到不同的距離,從而和會聚的距離保持一致。這是最符合人眼觀察自然世界規(guī)律的做法,因此被稱為true-3D。
可以想象要實現(xiàn)這樣的光場顯示,并不是那么簡單。現(xiàn)在主要是兩種方法:空間復(fù)用(space multiplexing)和時間復(fù)用(time multiplexing)。“空間復(fù)用”簡單說就是把一個像素當(dāng)幾塊用來實現(xiàn)不同的聚焦距離。Nvidia在SIGGRAPH上展示的那個原型就屬于這種。這個方法最大的問題就是分辨率大打折扣。我曾經(jīng)試戴過,基本就是霧里看花。
“時間復(fù)用”呢,就是用高速原件來快速產(chǎn)生不同的聚焦距離,讓人眼以為它們是同時產(chǎn)生的。這樣的好處就是分辨率不損失。大家知道人眼的速度感知是有限的,很多顯示器都是60Hz的,因為人眼能分辨的極限值一般就是60Hz(在某些高速內(nèi)容比如游戲里可能達到90-120Hz)。這意味著什么呢,如果利用高速顯示360Hz,就可以實現(xiàn)6個不同的聚焦距離。而有研究表明用6個聚焦距離加上一種線性混合(linear blending)的渲染算法就基本能實現(xiàn)從約30厘米到無窮遠(yuǎn)讓人眼自然對焦[5]。
Magic Leap的技術(shù)是哪種呢?它最近demo用的哪種技術(shù)沒有公開,但很有可能還是基于Brian的高速激光光纖掃描(scanning fiber)技術(shù),也是一種時間復(fù)用的辦法。Brian當(dāng)年先試過只用一根光纖掃描不同聚焦距離,這樣做明顯對速度要求太高,后來用一個光纖束(fiber bundle/array),比如16根,每個光纖有一點位置差,然后同時掃描得到不同聚焦距離。
這樣的光場受現(xiàn)實系統(tǒng)的局限肯定不可能是連續(xù)的,都是被采樣的(downsampled)。但是,即使是這樣的光場投射到眼睛里也在理論上是跟真實世界物體光線進入眼睛是一個道理,因此可以實現(xiàn)true-3D?;氐阶畛醯膯栴},這也是為什么Magic Leap的技術(shù)重要的原因?,F(xiàn)在你也理解了為什么Rony說“HoloLens會讓人惡心”了吧?
(二)透明AR眼鏡面臨哪些挑戰(zhàn)
Botao同學(xué)談到了一些重要挑戰(zhàn),比如3D感知和定位,手勢識別,眼動跟蹤,計算量,電池的問題等,我再補充幾個。
1。 顯示
首先能實現(xiàn)近眼光場顯示就很難,現(xiàn)在的公司除了Magic Leap還都是用古老的Stereoscopic 3D的方法,用戶戴長了就會眼困頭暈惡心。而Magic Leap所用的近眼顯示技術(shù)理論上成立,現(xiàn)實中也還有很多問題要解決。比如:
系統(tǒng)大?。?Magic Leap現(xiàn)在還沒有公開過它的原型照片,據(jù)報道都還是像一個冰箱一樣大的,離可穿戴還有很長的路要走。
光場采樣:既然是采樣就一定有損失,比如對比度清晰度上,如何才能最優(yōu)采樣?
聚焦和會聚(Accommodation-vergence matching):即便聚焦距離對了,也要保證會聚距離始終與其保持一致。Magic Leap現(xiàn)在的demo視頻還只是從單眼攝制的,還沒有證據(jù)表明他們很好地解決了雙眼問題。
室外顯示:現(xiàn)在大家的demo都是室內(nèi)的。當(dāng)用戶在室外時,太陽光強度比顯示光高幾個數(shù)量級。至少鏡片需要有自動調(diào)光的技術(shù)。
捕捉內(nèi)容:雖然現(xiàn)在可以用計算機圖形來做demo,但以后的應(yīng)用一定會需要相機采集的內(nèi)容,而光場的拍攝本身還有很多問題要解決。
散熱:是一個容易被忽視的問題。當(dāng)年Google Glass出來的時候有人說用著用著臉就像要燒起來了?,F(xiàn)在還沒有證據(jù)表明HoloLens和Magic Leap的眼鏡能長時間保持涼爽。
2。 鏡片
Image credit: androidautority
近眼顯示有兩個關(guān)鍵部件:顯示器和鏡片?,F(xiàn)在大部分的AR眼鏡鏡片都是基于分光鏡(beamsplitter prism)的,比如Google Glass,HoloLens,Epson Moverio。如圖左,簡單的分光鏡就是45度角,把顯示器產(chǎn)生的光從眼鏡框反射進人眼,也同時讓現(xiàn)實世界的光透進來。這樣做簡單便宜,但是鏡片厚。一個以色列公司Lumus做出了一個光導(dǎo)(waveguide)技術(shù)讓鏡片變得很薄,可惜工藝復(fù)雜成本太高。后來也有一些便宜的光導(dǎo)產(chǎn)品出現(xiàn),但質(zhì)量還遠(yuǎn)不如Lumus。所以,鏡片也還有很長的路要走,不僅要做到視角(Field-of-View)大,還要輕薄,透光性好,在折射/反射顯示光的時候也要盡量保持光的屬性并做到盡量小的光損失。
3。 視角(FoV)和分辨率(Resolution)
視角直接決定了用戶體驗?,F(xiàn)在的很多AR眼鏡視角還在20°-40°之間,不少試戴了HoloLens的記者都對它的視角表示失望。而人眼的橫向視角雙眼差不多有200°,縱向有130°。視角大意味著總的分辨率也要很大才能覆蓋,8K*8K才會比較理想。
4。 遮擋(Occlusion)
前面說到過單眼的景深感知有一個很重要的信號就是物體之間的遮擋。在用透明AR眼鏡時,一個關(guān)鍵問題就是虛擬物體和現(xiàn)實物體之間的遮擋怎么實現(xiàn)。
如果是現(xiàn)實物體在前面,虛擬物體在后面,還相對比較好辦,就是要自動探測現(xiàn)實物體的距離,再計算出虛擬物體哪些部位需要遮擋從而不渲染。但是如果反過來,虛擬物體需要遮擋現(xiàn)實物體,就沒那么直接了,因為理論上需要把現(xiàn)實物體的光從眼鏡上選擇性地濾掉。從Magic Leap最近的demo看,在虛擬物體明亮?xí)r,它本身的亮度會自然遮擋后面的真實物體,但當(dāng)虛擬物體比較暗時,還是有所謂的“鬼影效果”(ghost effect),不符合自然規(guī)律,又會讓大腦產(chǎn)生混亂。
如果想實現(xiàn)完全正確的遮擋效果,只能在鏡片上做實時的像素級的濾光機制(per-pixel shutter),但現(xiàn)在的技術(shù)都還不成熟。
Image source: Magic Leap demo (youtube)
5。 渲染黑色
透明AR眼鏡現(xiàn)在還沒辦法渲染黑色。因為它說到底是虛擬光和自然光的疊加。如果畫黑色,用戶是看不到的,只會看到后面的背景真實物體的光。類似的暗色都有這個問題。
6。 延遲
透明AR眼鏡還有一個很大的挑戰(zhàn)就是延遲。把虛擬物體疊加到真實物體上(比如放一個虛擬水杯到一個真實桌子上)涉及到一系列計算:探測真實物體→計算它的空間位置和方向→計算疊加位置→渲染虛擬物體等。這一切都必須在一眨眼內(nèi)發(fā)生,讓用戶感覺不到延遲。比如在那個水杯例子里,我們的頭可能是一直在動的,隨著我們頭動,我們看到的那個水杯應(yīng)該在桌上原來的位置不動才對。而如果系統(tǒng)延遲過大,我們看到的那個水杯的位置可能就總是不對,大腦就又混亂了。這對透明AR挑戰(zhàn)尤其大,因為真實世界我們是直接看到的,幾乎沒有任何延遲,而虛擬物體的渲染得能跟上這個速度才顯得自然。在video overlay里,就沒有這個問題,因為我們看到的真實世界的視頻已經(jīng)是延遲的了,這樣在上面的物體疊加就比較容易跟它保持同步。
7。 激光
Magic Leap以前的技術(shù)專利是用激光直接打到人眼里,雖然據(jù)說很安全,但還沒有確切的科學(xué)證據(jù)。所以用戶接受度是個問題,很多人估計一聽到這個就望而卻步了。
說了這么多,這下一代移動人機交互界面到底什么時候能做成呢?我個人感覺要做成人民群眾喜聞樂見的版本至少要5年時間,也許更長。因為以上列出的這些挑戰(zhàn),每一個都還需要很多努力才能解決。目前它們很多都還不到量變(只是需要優(yōu)化)的階段,而是需要大的質(zhì)的飛躍。所以,路漫漫而修遠(yuǎn)兮。但既然這是計算機發(fā)展的必然方向,拭目以待吧。
References
[1] Brian T。 Schowengerdt et al。, 3D Displays using Scanning Laser Projection, SID Symposium Digest of Technical Papers Volume 43, Issue 1, pages 640–643, June 2012。
[2] Brian T。 Schowengerdt et al。, True Three-Dimensional Displays that Allow Viewers to Dynamically Shift Accommodation, Bringing Objects Displayed at Different Viewing Distances Into and Out of Focus, CYBERPSYCHOLOGY & BEHAVIOR Volume 7, Number 6, 2004。
[3] Xu Liu and Haifeng Li, The Progress of Light-Field 3-D Displays, Information Display, 2014。
[4] David M。 Hoffman et al。, Vergence–accommodation conflicts hinder visual performance and cause visual fatigue, J。 Vis。 2010。
[5] K。 J。 MacKenzie, D。 M。 Hoffman, and S。 J。 Watt, Accommodation to Multiple-Focal-Plane Displays: Implications for Improving Stereoscopic Displays and for Accommodation Control, Journal of Vision(2010)。