當前位置:
首頁 > 科技 > AR領域大神揭秘:蘋果ARKit憑什麼碾壓對手?

AR領域大神揭秘:蘋果ARKit憑什麼碾壓對手?

目前為止,我在 AR 領域工作 9 年了,過去曾研發出與 ARKit 相似的技術,但當時並沒有合適的硬體可支持這個技術。作為內部人士,我了解這些系統是如何構建的,以及為什麼構建成現在的樣子。

本文由 Matt Miesnieks 發表於 Super Ventures Blog,據悉,Matt Miesnieks 目前為投資公司 Super Venture 合伙人,曾任職於三星、Dekko、Layar 等公司。

通過這篇文章,我們能了解到:

· ARKit的基本技術原理:視覺慣性測量(VIO)系統、平面檢測

· ARKit的兩大神秘之處:單目攝像機3D成像、計量尺度獲取

· ARKit、Tango、Hololens技術對比

· 開發人員如何使用ARKit

今年,蘋果公司在 WWDC 大會上發布的 ARKit 在整個 AR 生態中引起巨大轟動。開發者發現,這是他們第一次能將一款強大的 AR SDK 廣泛使用於自己的應用,不再需要什麼標記點、初始化、深度攝像頭,甚至是專門的創作工具。毫不意外,ARKit 讓開發者們集體開啟各種 AR demo 秀。

但是,很多開發者不清楚 ARKit 如何工作,也不了解為什麼 ARKit 比於其他 SDK 更好。從底層技術看ARKit,可以幫助大家了解當前版本 ARKit 能做什麼,了解 ARKit 需要改進的地方以及為什麼需要改進,並且還可以幫助我們預測未來何時, Android 系統及頭戴式顯示器(VR 或 AR)可以支持 ARKit 類似的功能。

目前為止,我在 AR 領域工作 9 年了,過去曾研發出與 ARKit 相似的技術,但當時並沒有合適的硬體可支持這個技術。作為內部人士,我了解這些系統是如何構建的,以及為什麼構建成現在的樣子。

這篇博文試圖向那些非技術人群解釋一些專業的技術問題,並不是面向計算機視覺工程師。文中,我用簡單的話來解釋 ARKit,但不一定 100% 符合科學的解釋,不過我希望至少可以幫助人們加深對於 ARKit 的理解。

ARKit 基於什麼樣的技術?

技術上,ARKit 配備視覺慣性測量(VIO)系統,帶有簡單的 2D 平面檢測。具體來說,VIO 系統會實時追蹤你在空間中的位置,也就是 6 自由度(DoF)動作,比如說,屏幕每幀畫面刷新之間,你的動作會被重新計算,畫面的刷新率為每秒 30fps 或以上,而且這些計算會同時進行兩次。

第一次是,通過將現實世界中的點與攝像頭感測器每幀畫面像素點相匹配,你的動作會被視覺系統追蹤,進行一次計算。第二次是你的動作被慣性系統追蹤,主要通過加速度計和陀螺儀兩個慣性測量單元(IMU)實現。

然後,卡爾曼濾波器(Kalman Filter)將 VIO 系統和慣性系統的輸出進行整合,從而預測出你的最佳「真實」位置(稱為Ground Truth),並且由 ARKit SDK 發布你的最新定位。就像汽車的里程錶顯示車輛的駕駛距離一樣,VIO 系統記錄 iPhone 手機在 6 DoF 空間中經過的距離。6 DoF 表示沿著 xyz 三個方向的平動,加上繞三個軸的俯仰、偏轉及滾動。

VIO 系統最大的優勢就是,即使用戶動作加速的情況下,IMU 依舊可以每秒讀數 1000 次。IMU 每次讀數之間,航位推演算法被用來計算設備的運動。這時,航位推演算法更像是一種猜測,就像是,我讓你往前買一步,然後猜猜這個步子有多大,你便會用航位推演算法來預測步子的距離。(後面我將詳細介紹這種預測是如何實現高度準確性的。)慣性系統產生的誤差會隨時間累積,所以,IMU 每幀畫面所間隔的時間越長或者慣性系統使用時間越長,而且還沒有 VIO 系統配合的時候,動作的追蹤也將越來越偏離實際的動作情況。

視覺/光學測量以相機畫面幀速率進行,通常為 30fps,並且基於每幀場景變化的距離。光學系統通常會隨著距離的增加,而不斷積累誤差,時間也會一定程度上影響光學系統的準確性。所以你行動的距離越遠,時間越久,誤差越大。好消息是,一個追蹤系統的優勢可以抵消另一個系統的劣勢。

視覺和慣性跟蹤系統是完全不同的測量系統,沒有相互依賴關係。這意味著相機可能被遮蓋,或者可能看到的是幾乎沒有光學特徵的場景,例如一面白牆,而慣性系統這時可以「載入」幾幀畫面。相對地,設備處於靜止的狀態下,視覺系統提供的動作追蹤信息比慣性系統更加穩定。卡爾曼濾波器不斷選擇最佳動作信息,追蹤效果也就更加穩定。

VIO 系統已經出現很多年了,在行業中的認可度很高,並且市場上不少設備也配備了 VIO 系統。所以蘋果 ARKit 使用 VIO 系統並不意味著創新。那麼到底是什麼技術讓 ARKit 變得如此強大呢?

ARKit 的第二個關鍵點是配備簡單的平面檢測。這個技術十分必要,你需要地面作為參照物來表示位置信息,否則物體會漂浮在空中。任何 3 個點可以定義一個平面,根據光學系統檢測到的特徵點(demos 中看到的點),通過演算法將特徵點平均化,便得到了參照平面。

如果光學系統選取的特徵點足夠多的話,你便能預測到真實的平面。這些特徵點通常被稱為「點雲」,所有的特徵點形成稀疏的點雲,用於光學跟蹤。稀疏點雲僅僅需要少量的存儲內存、短暫地使用 CPU。在慣性系統的支持下,光學系統即使檢測少量的特徵點,也可以正常工作。點雲和密集點雲是不同的,密集點雲看起來更加接近真實感(目前有人正在研究的使用密集點雲進行跟蹤,這更複雜)。

ARKit 的兩大「神秘之處」

有人會把 ARKit 稱為 SLAM ,或者使用術語 SLAM 來指位置跟蹤。在此澄清一下,SLAM 是一個相當廣泛的術語,就像「多媒體」這個術語一樣。「追蹤」本身就是一個通用的術語,使用「測距」更具體,但在 AR 領域,使用「追蹤」來表達即可。有很多方法可以實現 SLAM,追蹤蹤只是 SLAM 系統的一個組成部分。 我認為 ARKit 是一個輕型或簡單的 SLAM 系統。Tango 或 Hololens 的 SLAM 系統除了距離測量外,還有其他很多其他特徵。

ARKit 存在兩大「神秘之處」:一是,如何通過單目鏡頭獲得 3D 效果;二是,如何獲得計量尺度(像那個捲尺測量 demo 一樣)。答案在於「非常好地」移除 IMU 產生的誤差,即讓航位推演算法實現高精度地預測。當實現這點後,便會發生以下的效果:

為獲得 3D 效果,需要從不同角度獲得 2 個場景視圖,進而通過立體計算得到你所在的空間位置。這就是雙眼如何看到 3D 圖像,以及為什麼一些跟蹤器要要依靠立體攝像機。如果有兩台攝像機,可以容易計算攝像機之間的距離,同時捕獲幀畫面。ARKit 為什麼僅僅使用了一個攝像頭便獲得了 3D 效果呢?是因為一個攝像頭可以捕獲一幀畫面,而後攝像頭移動捕獲第二幀畫面。

使用 IMU 航位推演算法計算,便可計算出兩幀畫面之間的移動距離,然後正常計算出立體畫面。實際上,你可能捕捉更多的幀畫面進行計算,從而獲得更高的精確度。如果 IMU 足夠準確,兩幀畫面間產生的「移動」可以僅僅通過手握拳後手臂微小肌肉群的運動來檢測,這看起來像魔術一樣神奇。

系統需要依賴於 IMU 航位推演算法來獲得計量尺度。通過 IMU 給出的加速度和時間測量值,可以計算出速率並獲得 IMU 每幀畫面之間的距離。數學運算並不難,困難的是消除 IMU 誤差,以獲得近似完美的加速度測量值。一個微小的錯誤,在畫面每秒刷新 1000 次的情況下,持續幾秒鐘後可能會導致 30% 甚至更大的計量尺度誤差。令人驚訝的是,蘋果 ARKit 已經把誤差下降到 10% 以下。

Tango 、 HoloLens、 Vuforia 等 SDK 怎麼樣?

Tango 只是一個品牌名,而不是真正的產品。Tango 包括硬體參考設計(RGB,魚眼鏡頭,深度相機和CPU / GPU規格),還參與 VIO(運動跟蹤),稀疏映射(區域學習)和密集 3D 重建(深度感知)等軟體。

HoloLens 具有完全相同的軟體棧,另外包括一些 ASIC(微軟稱之為全息處理單元)優化 CPU /GPU 卸載處理並減小電耗。

Vuforia 與 ARKit 幾乎是一樣的,只是 Vuforia 的硬體是獨立的。

上述 SDK 均使用相同的 VIO 系統,而且,Tango 和 ARKit 使用的均為 FlyBy 最初發布的代碼庫!HoloLens 和 Tango 都不使用深度相機進行追蹤,那麼到底是什麼技術設備讓 ARKit 大放異彩呢?

答案是 ARKit 並不比 HoloLens 好,我甚至認為 HoloLens 的跟蹤系統是市場上最好的,但 HoLolens 的硬體普及並不廣。微軟可能會在 Windows 系統的智能手機中安裝 HoloLens 跟蹤系統,但我相信出於商業原因,微軟不會這樣做:

因為這樣可能會增加生產和時間成本,為一款銷量或許很少的手機校準感測器。而且,微軟版本的 ARKit 也可能無法說服開發者放棄使用 iOS 或 Android 系統。

12 個月前,Google 本就可以輕鬆交付能夠在 Android 系統上運行的 Tango 手機,但 Google 沒有這樣做。如果 Google 早早將 Tango 發貨 ,那麼 ARKit 的問世也只是緊跟趨勢,而非重大突破。

我認為,Google 公司不想為每家 OEM 都進行特定的感測器校準過程,而且每家 OEM 廠商生產的 Tango 版本都不一樣,Google 也不想在一些較大的 OEM 廠商(三星、華為等)中選擇。所以,Google 為 OEM 廠商提供了硬體的參考設計,OEM 廠商可以自行選擇「使用,或者不使用」。(當然,事情並非這麼簡單,這是 OEM 廠商反饋給我的關鍵點。)

隨著 Android 智能手機硬體商品化,相機和感測器堆棧是 Android 手機最後實現差異化的地方,所以 OEM 廠商無法滿足 Google 的要求。Google 認為,深度相機是手機的一部分,但是深度相機增加了手機成本,這也是 OEM 廠商拒絕 Google 的另一個原因!

自從 ARKit 發布以來,市場已經發生了變化。OEM 廠商要麼尋找 Tango 的替代系統,要麼接受Google 的硬體參考設計,然後實現平台控制。這也是有意思的變化。

總的來說,ARKit 更好的原因在於:

蘋果公司可以負擔得起將 VIO 演算法緊密耦合到感測器上,並花費很多時間來校準 VIO 系統,以減少計算空間位置時產生的誤差。

值得注意的是,大型 OEM 廠商有一些替代方案。可以選擇其他的追蹤方案,像 ORB Slam、OpenCV 等,但幾乎都是光學追蹤器,都配有單個 RGB、立體聲、深度相機,有些使用稀疏點雲,有些使用密集點雲。有許多創業公司正在研發追蹤系統,研究增強像素也是一個很好的方向,但任何 VIO 系統最終的競爭都會集中到硬體模型和校準上。

開發人員如何使用 ARKit

你或許已經有一個可以支持 ARKit 的手機了。首先,要了解使用 ARKit 開發內容,與以往開發一款手機 APP 有巨大的差異:一個是你不用控制場景,一個是你要控制每幀像素。

然後,想想 Tango 或 HoloLens,看看當你的內容與無法控制的場景中的 3D 模型交互時,會發生什麼。

這其中的學習難度較大,比從網路到移動或從移動到 VR 更有難度。你需要徹底重新思考應用程序的如何運行以及用戶體驗(UX)的意義是什麼。我現在看到很多 ARKit 的 demo,四年前看到它們是基於 Vuforia 創建,再往前四年就是 Layar (2010 年荷蘭公司 SPRXmobile 推出的全球第一款 AR 手機瀏覽器)。這幾年來,我 看到了幾乎所有類型的 AR APPs 的例子,我很樂意為大家提供支持和反饋。

我常常鼓勵開發人員勇於構建新奇的 APP。一些蠢蠢的 APP 一上線便大獲成功,但通過 AR 硬體開發讓用戶是滿意的案例也十分具有挑戰。

能構建良好追蹤系統的人並不多

直觀地說,目前只有少數人能構建好的追蹤系統。那些具備交叉學科背景的工程師們才能研發出的融入單目 VIO 最好的系統,用於手機追蹤的解決方案。

在二十世紀中期,VIO 系統最初由波士頓軍事/工業供應商 Intersense 使用。Leonid Naimark 是該技術的創始人之一,2011 年時加入我創建的 Dekko 公司並擔任首席科學家。由於感測器限制,Dekko 證實了 VIO 無法在 IPad 2 上運行,Leonid 重回軍工行業,但 Dekko 公司的 CTO Pierre Georgel 如今已成為 Google Daydream 團隊的高級工程師。

我 在 Super Ventures 的合作夥伴 Ori Inbar 創立了 Ogmento。Ogmento 公司後改名為 FlyBy,FlyBy 團隊成功地構建了基於 iOS 的VIO 系統,還增加了魚眼相機。該代碼庫已經授權給Google,成為 Tango 的 VIO 系統。蘋果公司收購 FlyBy 之後,FlyBy 的 VIO 系統代碼庫成為 ARKit VIO 的核心。

FlyBy 公司的CTO Chris Broaddus 繼續為 Daqri 公司研究追蹤系統,現在他已經加入矽谷的神秘無人車初創公司 Zoox。2007 年,第一個移動 SLAM 系統由 Georg Klein 在 Oxford Active Computing lab(PTAM)開發,Georg Klein 和 David Nister 一同為 HoloLens 建立 VIO 系統,David 離開後還為特斯拉創建了自動駕駛系統。

Georg 帶的博士生 Gerhard Reitmayr 主導了 Vuforia 的 VIO 系統的研發。 此前擔任 Vuforia 公司副總裁的 Eitan Pilipski,現在是 Snap 公司的 AR 軟體工程師。

牛津大學、劍橋大學和倫敦帝國學院研發團隊的核心成員研發了 Kinect 追蹤系統,現在也成為 Oculus 和 Magic Leap 追蹤系統開發的負責人。

有趣的是,我無法說清,當前致力於 AR 追蹤系統研發的初創公司,到底是由哪個學科的人才主導。因為,這些創始人不管是機器人背景,或是其他計算機視覺背景,已經不足以支撐在一個更大領域範圍應用的追蹤系統的研發。

後面,我會談談當代科學家們正在開展的工作。

歸根到底是統計學問題

AR 系統沒有「可行」或者「不可行」一說。 大部分情況下,AR 系統可以很好的完成工作。AR 系統力求變得「更好」,也是推動統計學發展的事情。

故而,不要完全相信 AR APP 的演示,特別是發佈於 YouTube 上,顯示出驚人的效果的 AR APP。在精心安排的環境中所表現的效果與現實生活中普通用戶所能獲得的效果之間,往往存在很大差距。但是智能手機或 VR 應用的演示通常並不存在這種問題。所以,觀眾常常被愚弄。

這是一個具體的技術示例,為什麼統計數據最終可以確定系統的運行情況。

在上面的圖像中,有一個網格,表示相機中的數字圖像感測器。每個格子都是一個像素點。為了穩定追蹤,在假設設備完全靜止的情況下,每個像素應該在現實世界中的有一個相匹配的對應點。然而,右側圖像顯示光子不是那麼的聽話,各種光子會隨意落到任何地方,每個像素點是光子的總數。場景中的光線變化(太陽光穿透雲層,熒光燈閃爍等)也會改變感測器中的光子組成,現在感測器要對應現實世界的不同像素點。那麼,這樣的情況下視覺追蹤系統就認為用戶移動了!

所以,各種 ARKit demo 中光點閃爍時,系統必須確定哪些點是「可靠」的。系統對這些點進行三角測量來計算用戶的空間位置,求平均數後得到對實際位置的最佳估計數。因此,為確保錯誤的統計完全被移除,便需要研發更精確的系統。這就需要相機硬體堆棧(多個鏡片和塗層、快門和圖像感測器等)、IMU 硬體和軟體演算法之間的嚴密集成和校準。

硬體與軟體的集成

其實開發 VIO 系統並不難,而且 VIO 系統的演算法已經公開了,還有不少的應用案例。但是,很難把 VIO 系統良好地運作起來。我指的是,慣性和光學系統完全融合創建立體地圖,在低精確度時確定度量標度。

例如,在我創辦的 Dekko 時,應用的案例中要求用戶開始按照具體的要求移動,然後手機前後移動約 30 秒才能使慣性和光學系統融合創建立體地圖。建立一個優良的慣性追蹤系統需要經驗豐富的工程師。然而,全球只有約 20 名工程師具備必須的技能和經驗,而且這 20 名工程師中大多數從事巡航導彈追蹤系統,或者火星漫遊者導航系統等。

即使你可以聘請到其中一位工程師,為了最大限度地減少誤差,仍然需要硬體和軟體的緊密結合。這意味著可以通過軟體準確建模 IMU,詳細了解整個攝像頭以及每個組件的詳細規格,更重要的是 IMU 和攝像頭都需要非常精確地同步。

系統需要準確知道 IMU 讀取的數據哪個對應開始畫面,哪個對應結束畫面。這對於兩個系統的關聯至關重要,這一點最近才得以實現,因為硬體 OEM 廠商認為沒有必要投資於此方面。這就是 Dekko 公司花費了很長時間,才把基於 iPad 2 系統的硬軟體融合的原因。第一個Tango 手機是第一台實現精準時間同步的設備,並且是第一款具備良好追蹤系統的消費級手機。

目前,追蹤系統採用的來自 Qualcom 等公司的晶元都有一個同步的感測器集線器,適用於所有組件,這意味著 VIO 系統在大多數當前設備上可行,並配有相應的感測器校準。

由於密切依賴硬體和軟體,在沒有 OEM 廠商的深度支持下,軟體開發人員幾乎不可能構建一個優良的系統。Google 投入了大量資金,讓一些 OEM 廠商支持 Tango 的硬體規範, 微軟、Magic Leap 等公司也正在努力創建自己的硬體。蘋果之所以如此成功地發布 ARKit,正是因為 ARKit 能夠很好地集合硬軟體。

光學校準

為了使軟體精確地把攝像機的像素點與現實世界中的點相匹配,攝像機系統需要精確校準。存在有兩種類型的光學校準:

第一種為幾何校準:使用相機的針孔模型來校正鏡頭的視場和鏡頭效果。由於鏡頭透鏡的影響,基本所有圖像都會變形。大多數軟體開發人員可以在沒有 OEM 廠商的幫助下,通過使用基於標準棋盤格和基本公開攝像頭參數校準。

第二種為光度校準:這種校準方式使用更多,通常需要 OEM 廠商參與圖像感測器本身的細節優化及內部鏡頭塗層的使用。此校準用於處理顏色和強度映射。例如,拍攝星空的望遠鏡所連接的攝像機,需要知道感測器上光強度的輕微變化是否確定是星星,或者僅僅是感測器或透鏡產生的誤差。校準使得 AR 追蹤器具有更高的確定性,因為感測器上的每個像素點都對應於真實世界的點,所以光學追蹤更加精準,產生的誤差更小。

在上面的圖片中,各種 RGB 光點落入圖像感測器上的「像素桶」中,這個過程很好地說明了問題。現實世界中點產生的光點通常落在幾個像素的邊界上,這些像素點將平均光點的密集度。用戶運動、或場景陰影或閃爍的熒光燈等微小的變化,都會改變與像素點對應的現實世界點的變化。這時,所有的光學校準都儘可能地消除產生的誤差。

慣性校準

對於 IMU 來說,測量加速度比測量距離或速率更加重要。IMU 的讀取錯誤隨著時間的推移不斷累積,產生誤差的速度非常快!校準和建模的目標是確保距離的測量在每秒鐘 X 等分時間下的精度足夠高。理想情況下,這個時間段要足夠長,以減少當鏡頭被遮蓋或場景中發生其他情況時,導致攝像機丟失對幾幀畫面的追蹤。

使用 IMU 測量距離稱為航位推算。這基本算是一個猜測,對 IMU 收集的數據進行建模,確定積累錯誤的方式,然後編寫過濾器來減小誤差。想像一下,如果你被要求邁出一步,然後猜測邁出的步子有多大。只猜測邁出一步的距離會產生很高的誤差。但是,如果你反覆邁出千步並猜測每一步的距離,所產生的誤差便會非常小。因為你對於踏出哪只腳、地板的種類、鞋子的款式、移動速度的快慢、身體狀態的好壞等等熟知,那麼你最終的猜測便會非常準確。基本的 IMU 校準和建模便是這一原理。

數據有很多誤差來源。機器臂通常以完全相同的方式重複地移動設備,捕獲 IMU 的輸出並寫入濾波器,直到來自 IMU 的輸出與來自機器臂的移動精確匹配。為進一步減小額外的誤差,Google、微軟甚至在國際空間站(ISS)及「零重力飛機」在微型重力環境下進行校準。

實際上,達到真正的精準度,比嘴上說說難的多。OEM 廠商必須對所有設備進行校準,即使許多設備有不同的 IMU(例如,Galaxy 7 可能有來自 Invensense 和 Bosch 的 IMU,當然 Bosch 不適用於 Invensense)。當然,這是蘋果相對於 Android OEM 廠商的另一個優勢所在。

追蹤技術的未來

如果 VIO 是今天我們能實現的,那麼今後將如何發展,會讓 ARKit 看起來很多餘嗎?令人驚訝的是,VIO 系統將一直是數百米範圍內最好的追蹤方法(對於更長距離的追蹤,VIO 系統需要融合 GPS,重新定位地標識別)。優化 VIO 系統的原因是:即使其他光學系統像 VIO 一樣準確,其他系統的 GPU 或攝像頭仍然需要耗費電池,而這對頭戴顯示器影響很大。所以,單目攝像頭的 VIO 系統是最準確,最低功耗,最低成本的解決方案。

深入學習確實對研究追蹤系統有重大影響。目前為止,基於追蹤系統的深度學習大約產生 10% 的誤差,其中頂級的 VIO 系統的誤差只有個位數,這一數字還在變小,並且將優化室外重新定位。

深度攝像頭能在各個方面優化 VIO 系統,其中對於特徵點不明顯的情況,精確測量地面實況和尺寸,以及邊緣追蹤都能得帶很好的改善。但是耗電量大,需要以低幀率運行,並且每幀之間使用 VIO。深度攝像頭不適用於戶外,因為攝像頭工作時產生的紅外線會被陽光生成的紅外線所干擾。攝像頭的工作範圍也取決於功耗,這意味著手機的工作範圍可能只有幾米。深度攝像頭的 BOM 成本很高,因此 OEM 廠商將避免在大批量生產的手機中安裝深度攝像頭。

雙攝像頭或魚眼鏡頭有助於看到更大的場景,可以捕獲更多的光學特徵。例如:普通鏡頭可能只看到白色的牆壁,魚眼鏡頭下可以看到天花板的圖案和地毯,Tango 和 HoloLens 均採用了這種方案。而且,雙攝像頭或魚眼鏡頭可獲得深度信息,其運算成本要低於 VIO,但是 VIO 使用低成本的 Bom 和低功耗便能獲得深度信息。

由於雙攝像頭手機的攝像頭(即便是 HMD)所處位置很接近,所以攝像頭的精確範圍對於深度計算來說,非常有限。相隔幾厘米的攝像頭只能精確幾米範圍內的深度。

而從頭到尾追蹤最關鍵的是,支持更大範圍的追蹤,尤其是支持戶外數錢公里的範圍追蹤。在這點上,AR 追蹤和無人駕駛跟蹤幾乎沒有區別,只是 AR 系統使用較少的感測器,耗能也較低。最終,任何設備都將適用於大範圍追蹤,雲服務也是必須的,故而,Google 最近宣布了 Tango 的視覺定位服務意圖也在此。未來幾個月我們將看到這些變化,這也是每個人現在都關心 3D 地圖的原因。

AR 計算機視覺的未來

6 Dof 位置追蹤技術將在未來 12-18 個月內完全商品化,覆蓋所有設備。現在還有哪些問題亟待解決呢?

3D 重建系統,HoloLens 稱之為空間映射(Spatial Mapping),Tango 稱之為深度感知(Depth Perception)。3D 重建系統能夠找出場景中真實物體的形狀或結構。這個技術允許虛擬內容隱藏於現實世界後面。

這讓人們出現概念混淆,認為 AR 便是「混合」現實,其實是增強現實,多數 AR demo 並沒有 3D重建系統的支持,所以 AR 內容只是覆蓋於所有真實世界物體的前面。

3D 重建系統通過從場景中捕獲密集點雲(今天使用深度攝像頭),將其轉換為網格,將「隱形」網格連同真實世界的坐標導入 Unity 中,然後當真實世界的景象出現在攝像頭中時,把那些網格放置在真實的景象上。

這意味著虛擬內容可以與現實世界互動。注意 2D 版本的ARKit 通過檢測 2D 平面實現,這是最為基本的要求。倘若 ARKit 沒有參照地面,用 Unity 製作的內容肯定會肆意「漂浮」。

圖片中,Magic Leap 公司演示了一款躲在桌腿後面的機器人。我們不知道桌子腿是實時重建,還是預先建模,再把虛擬機器人放在真實桌子腿的後面

上述提到的深度攝像方面問題在 3D 重建上仍然存在,這就是為什麼目前無法廣泛使用。研究人員正在研究,讓單目 RGB 攝像頭支持實時的照片級 3D重建。這個技術至少需要 12-18 個月才能應用於產品中。也是因為這樣,我才認為「真正的」消費級 AR 頭戴設備依舊離我們很遠。

在 2012 年,Dekko 的 3D 重建系統可在 iPad 2 上工作。我們不得不將網格顯示出來,否則用戶不敢相信他們所看到的(追蹤系統可理解現實世界)。圖中越野車剛剛完成了跳躍,部分隱藏在紙巾盒後面。

3D 重建之後,有許多有趣的研究註解 3D 場景。你現在能看到的幾乎所有的計算機視覺深度學習使用的是 2D 圖像,但對於AR(汽車、無人機等),我們需要在 3D 中從語義方面理解這個世界。

圖片為一例 3D 場景語義解釋。 底部是原始圖,中間是 3D 模型(可能由立體相機或 LIDAR 構建),最上面是通過深度學習的圖像分割,所以我們能從中分辨出人行道。這對《Pokemon Go》也十分有用

然後,我們需要弄清楚,如何將所有驚人的技術擴展到實時支持多個用戶。這是終極目標。

隨著 3D 重建所需容量越來越大,我們需要了解如何將其託管至雲服務,讓多個用戶共享並擴展模型。

AR 其他技術的未來

AR 其他技術的未來說起來太廣泛,先談談要進一步發展的技術:

· 光學:視野範圍、鏡頭尺寸、解析度、亮度、焦深、聚光度等等都需要解決。

我們會看到一些「過渡性」的 HMD 設計,它們受制於一些關鍵參數,只試圖解決一個問題,如社交性,或是追蹤技術,或是企業用戶案例,以及其他,之後我們才能看到最終的消費級產品方案。

· 渲染:使虛擬內容與現實世界融合。

確定真正的光源,將其與虛擬世界相匹配,使陰影和紋理看起來很合理。這個技術是好萊塢 SFX 多年來一直努力的方向。但是對於 AR 來說,需要在手機上實時完成,並且不會影響到真實世界的光或背景,即便是瑣碎的事情也很重要。

· 輸入:這方面還有很長的路要走。

研究表明,多模式輸入系統效果最佳(有謠言說蘋果正在做這方面的事情)。多模式意味著各種各樣的輸入「模式」,如手勢、語音、計算機視覺、觸感、眼睛跟蹤等,為最好理解用戶意圖,AI 也應該一起考慮進去。

· 圖形用戶界面(GUI)和應用程序:目前還沒有我們想像中的 AR APP。

我們只想看看 Sonos (無線智能音響)在設備上顯示控制項,並不想選擇 Sonos 按鈕。而且我們一直關注的是視野範圍內畫面,和與實現世界的交互,沒有人知道該如何呈現,但肯定不會是 4 x 6 的網格圖像。

· 社會問題:只有 Apple 和 Snap 知道如何營銷時尚,AR HMD 的銷售可能只是人們最求時尚。這個問題或許比所有技術問題都難以解決。


點擊展開全文

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 87870虛擬現實 的精彩文章:

衣食住行玩全包!日本這是想幹什麼?
一個月賣出兩萬份,7月的這款VR新遊戲就是這麼強SteamVR7月新作推薦
傳索尼研發PSVR新追蹤系統,微軟申請AR光導顯示專利
VR界最牛掰的創舉:在家躺著就像在電影院一樣!

TAG:87870虛擬現實 |

您可能感興趣

蘋果VR/AR新專利曝光:ARKit頭顯長這樣?
蘋果VR/AR新專利ARKit頭顯曝光!
蘋果和谷歌未來的搖錢樹會是ARKit和ARCore嗎?
三星AR Emoji VS 蘋果Animoji 誰更好?
蘋果Animoji對比三星AR Emoji 誰更好玩?
為AR/VR鋪路? 蘋果入股OLED廠商eMagin
三星:AR Emoji並沒有抄襲蘋果的Animoji
蘋果CEO庫克拜訪加拿大電商Shopify,直言:「看好AR技術前景!」
蘋果CEO拜訪加拿大Shopify,探討ARkit電商應用
Vulkan API 終於登陸 macOS、iOS,但與蘋果無關
Apple Pen大用處!蘋果秘密專利曝光
蘋果你TM咋了,iPhone大範圍「黑屏」!
三星:S9的AR Emoji 功能絕沒有抄襲蘋果的 Animoji
vivo APEX上手蘋果跪了!華為MateBook X Pro發布攝像頭點贊
Apple 蘋果 iPhone X 真正實現雙卡雙待的神器—IKOS 三代蘋果皮
蘋果為ARKit首次參加GDC,將介紹ARKit概念、原理和最佳實踐
AR雖是趨勢,但谷歌ARcore與蘋果ARkit誰能引領未來依然未定
蘋果秘密研發的MicroLED是什麼黑科技?
文件泄密:蘋果iTunes UWP版就緒?!
「OPPO R13」神似iPhoneX,蘋果會答應嗎?