1. 何謂魔幻現實主義
Diana Hu首先通過四本書來介紹何謂魔幻現實主義。
例如,《百年孤獨》的作者是加西亞·馬爾克斯,一位諾貝爾文學獎獲得者。他來自哥倫比亞,而這本書與馬孔多鎮有關,同時涉及大量關于哥倫比亞的歷史。它敘述了一個家庭的日常生活,一段關于孤獨的旅程。這本書的有趣之處在于,它以新聞和世俗的方式講述了一系列故事,但其中的角色經歷了很多看似普通的神奇經歷。例如,有會變老的鬼魂,有能夠飛行的飛毯,而這對于那里的角色來說似乎是最普通不過的事情。
第二本書是弗蘭茲·卡夫卡的《變形記》。它講述了一個年輕工作狂的故事。突然有一天,這個年輕人變成一只昆蟲,然后從昆蟲的視角來感受現實和社會。這本書的有趣之處在于故事的敘述方式,這種昆蟲變形十分奇異,但在故事中,這聽起來十分正常,仿佛只是剛剛發生的一件普通事情。你醒來,你變成了昆蟲,就這樣而已。
第三本書的作者是村上春樹。他是一位日本作家,這本書的書名是《奇鳥行狀錄》。這是一個關于岡田亨尋找妻子失蹤的貓咪的偵探故事。這聽起來同樣十分正常,但有趣的是,隨著故事的開展,他開始在東京發現了一系列奇幻的事情。這個故事同時是以一種非常實事求是式的方法來敘事故事,令這一切看似十分魔幻的事情是可以出現在我們的日常生活之中。
最后第四本書改編成了電影,由蘿拉·艾斯齊維撰寫的《巧克力情人》,它講述了一位禁止婚戀的女人在制作巧克力時能夠釋放魔法的故事。同樣,這樣戲劇化的事件在故事中是非常平常的事情。
她說道:“上面提到的書籍及作者有什么共同之處呢?所有這一切都遵循一種名為魔幻現實主義的文學寫作方式,不是科幻作品或幻想作品,而是魔幻現實主義。對于幻想主義,一個關鍵的要點是它需要一個完全不同于現世的世界,如《權力的游戲》,《哈利波特》或《星球大戰》。一個不存在于現世的,完全不同的世界。科幻作品同樣不是魔幻現實主義,它主要描述了一個變樣的世界誒,其中科學帶來了瘋狂的進步。”
魔幻現實主義的有趣之處在于,其虛構的元素發生在我們的現世世界中。它們可能發生在你的鄰居身上,可能是我向你講述的故事,或者是你奶奶向你講述的故事。它對魔幻元素有一個有趣的介紹,而魔幻元素在很多時間都可以作為升華故事和敘述故事,或者批判現實社會所發生的事情,如卡夫卡和《變形記》對社會孤立的批判。
2. 映照現實的魔幻啟示
上面所提的內容有什么關系呢?對于這種映照現實的魔幻啟示,它經常是都以類似新聞報道的,不帶任何感情色彩的方式來敘述故事,比如說“是的,有一條飛毯,但那又如何?”正是這種仿佛是在敘述事實一樣的方式來講述包含在日常世界中的魔幻元素,但請注意,這種想象力是用于豐富現實而不是像科幻作品或幻想作品那樣逃避現實。它依然是基于現實,因為如果它只是魔幻,這將是純粹的奇思妙想。通過將其植根于現實世界中,這會以一種意想不到的方式構建出令現實更加美好的維度。
對于大多數這樣的故事和書籍的敘述方式,一個重要的地方是它以一種引人入勝的,現世所無法實現的方式來敘述故事,但同時又令這一切顯得逼真可信,以至于你相信飛毯確實能夠飛行,鬼魂確實會變老,而且因為相關的敘事方式,它們看起來是十分普遍的事情。
這與增強現實又有什么關系呢?Diana Hu對增強現實的定義是:一種能夠將魔幻元素包含在物理世界中。魔幻的類比對照是數字化元素,是數字角色,它們可以顯示出現并無縫融合至物理世界,并且遵循物理定律和人類的行為感知方式,但同時用奇幻元素作為佐料,因為有了數字,你可以用更有趣的方式來表示信息。
3. 增強現實
你如何構建這樣的現實呢?其中有什么要素呢?
對于魔幻現實主義,其構成是魔幻+現實。至于增強現實,其對應的是數字+物理。Diana Hu指出,構建這樣的現實有三個原則:探索;鍛煉和社交。
探索是指更多地探索我們周圍的世界。這意味著到處都有很多故事和冒險等待被發現。諸如《Ingress》或《Pokemon Go》會在你的社區呈現一次冒險之旅,而你將會找到一些自己所不了解的歷史地標信息。
鍛煉是一個方面,我們都需要一點推動力量,而這種類似于嵌入其中的,遵循其物理,遵循身體自然節奏的元素能夠增加AR的可信度。
另一方面是社交,我們天生是社交動物。創建你能夠與朋友一起參與至現實世界的體驗,以及創建一種我們可以結交新朋友的方式,不僅僅只是社交網絡意義上的朋友,而是某種能夠在真正意義上與你建立聯系的朋友。
Diana Hu繼續指出,數字世界應該遵循與現實世界類似的規則,從而維持真實感。作為現實的一部分,世界十分多樣化,其存在諸如天氣這樣的元素,它會下雨,它會出太陽,又或者會下雪等等,所以Niantic希望游戲能夠將其體現出來。這是《Pokemon Go》中的一項功能。當下雨時,你會看到相應的效果會正確得呈現在手機的數字屏幕之中。
4. 實現可信的數字元素
如果實現可信的數字元素呢?Diana Hu表示我們可以向魔幻現實主義大師學習,因為他們已經編織了所有這些可信的故事,當你閱讀它們時,你能夠完全沉醉其中。對于AR,我們如何做到這一點呢?
這主要涉及三個元素:理解世界;視覺;創造。
為了實現優秀的AR體驗,首先你需要理解世界,然后才能用數字增強世界。這意味著你必須主要利用所有不同的傳感器,比如說攝像頭。你需要開始理解和解釋它的意義,語義,并且標記你所看到的內容。理解世界與SLAM和Vince等算法息息相關,其中你利用不同的攝像頭捕獲位置來進行三角測量,并且通過基于時間的立體視覺來建立3D理解,然后進行特征提取和使用一系列其他組件來構建用于AR的世界表示。為什么AR需要它們呢?因為為了顯示數字角色,你需要將它們鎖定于世界。你如何鎖定它們呢?你必須大致了解你的相干系統,而SLAM具備構建它的能力。
另一點是視覺的需要。為了顯示可信的數字對象和數字角色,它們需要融入至真實世界。你需要創建中合理存在于3D空間中的角色。這是一個充滿圖形,3D動畫或諸如此類的世界。
第三點是創造。你擁有了所有這些組成要素,‘好,我理解了世界。現在,我可以渲染一些角色’,接下來你應該如何創建角色呢?增強現實之所以適合游戲的原因是,游戲開發者一直以來都是以在3D中感覺自然的方式來創建世界和體驗。用于構建體驗的工具有諸如Unity和Unreal及其他。
4.1 為人類感知設計AR系統
Diana Hu討論了構成AR的一些要素。她同時提到與AR相關的重要方面:人類。你必須構建能夠響應人類的AR系統。上文提到的很多算法都與自動駕駛汽車相似,而這是兩者產生不同的地方,因為AR系統需要為人類提供非常高的交互性。
Diana Hu提到了米勒響應時間測試。這個研究的核心是,對于任何不足100毫秒的響應,你會感覺它是瞬間或實時發生,或者感覺自然。
一秒左右足夠快,但不是瞬時,這樣的速度足夠獲得響應,但不夠好。如果它超過10秒,也許當你看到加載欄時你就會失去用戶,因為用戶將失去耐心。所以,你需要設計小于100毫秒的系統。這是創建難以置信的真實感或令一切成為支持物理世界支持我們感官的事實的關鍵。
右圖的研究是關于心理學場景感知期間的眼球運動和視覺編碼,它說明視網膜需要看著圖像80毫秒左右才能完全登記完成,并理解它是什么。
4.2 提高響應時間
要構建可信的AR,我們需要在移動設備的限制內構建足夠迅速的AR系統。它們只能提供小量的計算,它們的續航不長,攝像頭質量不夠好,而且大多數傳感器相較于機器人或自動駕駛汽車系統都有點低端。對于后者,你或許可以把GPU放到汽車尾箱。但對于移動設備,你顯然不想這樣做,因為在未來當我們發展到頭顯時代時,你不會希望燒著用戶的頭發。有很多諸如此類的約束,所以你必須為低計算和低續航進行優化,同時實現非常非常快的響應速度。
我們如何做到呢?
Niantic采取了上面這兩個設計原則。一個是你希望盡可能實現超級高效的網絡;另一個要素是并行編程。
Diana Hu說道:“世界正在越來越多地朝多核發展,而非單個越來越快的大核,所以我們需要可以利用這一點,令更多的核心而非單個大核來負責處理。一個例子是iPhone的處理器,甚至是三星設備的處理器,四個大核心和四個小核心的設計。四個小核心負責快速簡單的計算,四個大核心負責計算負載更高的任務,所以你需要聰明地利用它們,而隨著時間的發展,這種設計將會越來越普遍。”
她進一步指出,我們的生活是實時進行。當你和朋友說話時你沒有加載條,你希望與包含角色的AR體驗同樣沒有加載條,它們應該要感覺自然。
傳統云架構服務的當前限制之一是,對于大多數基于云端的應用程序,一系列的機器都是托管在遠處。如果你經常逛亞馬遜,弗吉尼亞州或俄勒岡州的亞馬遜,當你在世界其他地方付款時,潛在的往返將是幾百毫秒。單單這個數字已經超過我之前提到的低于100毫秒的人類感知。如果是幾百毫秒并且你嘗試渲染你朋友的AR位置,你將大致是每秒渲染一個位數的幀,而這是非常糟糕的事情。
Diana Hu接下來列出了四個象限:實時;非實時;可靠信息;不可靠信息。顯然,逼真可信的AR需要位于左上象限。
我們如何達到我們想要的象限?事實上,沒有一種神奇的解決方案能夠真正結合兩者。當然,是有一些新的網絡協議或一些巧妙的解決方案。
Diana Hu解釋說,Niantic用自己的網絡協議來建立AR技術的實時P2P技術。她指出:“你可以把它想象成WebSockets,但效果更好,不是非常笨重,但對包,對計算機視覺進行了優化。如果你嘗試利用云端領域,你手機撥號一次,信號進入一個手機信號塔,然后進入云端,然后云端又傳到手機信號塔,最后再傳到另一個手機。整個往返是幾百毫秒,而屆時你不會看到你的朋友被虛擬角色所包裹。畫面會不和諧,因為存在偏差。它將發送先前的位置,而不是當前的位置?!?/p>
“我們所做的事情是砍掉將往返云端的過程,而是直接與手機信號塔對話。這是一種有趣的方法,因為在5G的世界中,數據傳輸速度變得更快。這是另一項定律,計算存在各種各樣的定律,埃德霍姆帶寬定律表明無線通信在某個時候將與有線通信一樣快。存在可以做到這一點的物理定律和數據傳輸方法?!?/p>
“圍繞邊緣計算的概念正在推動業界將計算放在手機信號塔上,由于我前面提到的所有原因,這對AR而言將非常有趣。你可以開始聚合一些計算并在信號塔中執行它們。現在,我們所做的實際上只是在手機進行操作,并消耗多一點你的電池電量,但稍后我們可以減少這一點。這是行業發展的有趣之處,同時是我們押寶的地方。現在,你可以從幾百毫秒減少到幾十毫秒,然后你就達到了人類響應時間方面的神奇預算。”
4.3 加速計算
另一個設計考慮因素是加速計算這個概念,目前行業正在實現更多的內核而非更大的內核。我們如何做到這一點?
Diana Hu首先從High Level入手講述傳統的增強現實SLAM管道。對于High Level,你有這四個階段。你有來自像素和IMU的原始傳感器輸入,亦即陀螺儀加速度計,然后它們用于特征提取,以更有用的方式提取數據。
Diana Hu提到我們不應該使用原始圖像。她舉例道:對于攝像頭,如果你面對的是1080P,想象一下你獲得的是一個1080×720再乘以3的矩陣,因為是RGB。這未進行壓縮,所以是很大,10的6次方或10的8次方,速度是每秒30到60赫茲。你的手機很難處理所有這一切并一直予以支持。
然后你還有其他數據,而它們都是用于慣性測量單元的高分辨率數據,慣性測量單元基本上是陀螺儀和加速度計,它們能夠說明X,Y,Z旋轉加速度,同時可以說明你在世界中的位置。這是有損的數據。從技術上你可以根據它們知道你在這個世界中的位置,但由于這些都是非常廉價的傳感器,所以會積累很多的錯誤。
所以,Niantic致力于特征提取。所謂的特征提取是,你將這個原始矩陣(1080×720)分為3個通道,這里只是一個灰度通道,然后提取基于場景紋理的特征。
Diana Hu進一步解釋說:“我們采用了傳統的計算機視覺算法,當實現原始版本時,比如說每秒單位數的幀數,他們能夠達到每秒60幀。我們沒有對算法進行任何改動,這基本上只是一種新的編程范式。這是一個新的并發編程框架,名為角色模型。在High Level層面,“角色”是完全孤立的原始計算單元,并使用內部狀態進行某種計算。它們不會妨礙任何人,它們有自己的內存trunk?!保ㄗⅲ航巧P?Actor Model是一種并發運算上的模型?!敖巧笔且环N程序上的抽象概念,被視為并發運算的基本單元:當一個角色接收到一則消息,它可以做出一些決策、創建更多的角色、發送更多的消息、決定要如何回答接下來的消息。角色模型在1973年于Carl Hewitt、Peter Bishop及Richard Steiger的論文中提出)。
這里的關鍵字是異步。你沒有妨礙其他人或等待其他人,因為如果你開始基準測試和運行這些SLAM系統,有一半的時間你只是忙著循環和等待,而你正改變是情景的成本十分昂貴?!敖巧毕到y擺脫了這一點,因為它們都是完全獨立的計算塊。
5. 總結
作為總結,Diana Hu主要討論了AR中的魔幻現實主義;我們可以做些什么來實現這一點;如何令數字元素可信;以及我們如何為人類感知構建AR系統感等等。她認為,至少對于AR來說,實現高響應速度并為之優化非常重要。
評論
查看更多