丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號(hào)安全和更好的產(chǎn)品體驗(yàn),強(qiáng)烈建議使用更快更安全的瀏覽器
此為臨時(shí)鏈接,僅用于文章預(yù)覽,將在時(shí)失效
AR/VR 正文
發(fā)私信給白及
發(fā)送

1

大神揭秘:蘋果 ARKit 憑什么碾壓對(duì)手?

本文作者: 白及 編輯:田苗 2017-08-17 17:00
導(dǎo)語(yǔ):為什么ARKit比Tango、Hololens、Vuforia等平臺(tái)更有優(yōu)勢(shì)?技術(shù)大神從底層解密ARKit。

大神揭秘:蘋果 ARKit 憑什么碾壓對(duì)手?

本文由 Matt Miesnieks 發(fā)表于 Super Ventures Blog,雷鋒網(wǎng)得知 Matt Miesnieks 目前為投資公司 Super Venture 合伙人,曾任職于三星、Dekko、Layar 等公司。

通過(guò)這篇文章,我們能了解到:

  • ARKit的基本技術(shù)原理:視覺(jué)慣性測(cè)量(VIO)系統(tǒng)、平面檢測(cè)

  • ARKit的兩大神秘之處:?jiǎn)文繑z像機(jī)3D成像、計(jì)量尺度獲取

  • ARKit、Tango、Hololens技術(shù)對(duì)比

  • 開(kāi)發(fā)人員如何使用ARKit

雷鋒網(wǎng)將全文整理如下。

今年,蘋果公司在 WWDC 大會(huì)上發(fā)布的 ARKit 在整個(gè) AR 生態(tài)中引起巨大轟動(dòng)。開(kāi)發(fā)者發(fā)現(xiàn),這是他們第一次能將一款強(qiáng)大的 AR SDK 廣泛使用于自己的應(yīng)用,不再需要什么標(biāo)記點(diǎn)、初始化、深度攝像頭,甚至是專門的創(chuàng)作工具。毫不意外,ARKit 讓開(kāi)發(fā)者們集體開(kāi)啟各種 AR demo 秀。

但是,很多開(kāi)發(fā)者不清楚 ARKit 如何工作,也不了解為什么 ARKit 比于其他 SDK 更好。從底層技術(shù)看ARKit,可以幫助大家了解當(dāng)前版本 ARKit 能做什么,了解 ARKit 需要改進(jìn)的地方以及為什么需要改進(jìn),并且還可以幫助我們預(yù)測(cè)未來(lái)何時(shí), Android 系統(tǒng)及頭戴式顯示器(VR 或 AR)可以支持 ARKit 類似的功能。

目前為止,我在 AR 領(lǐng)域工作 9 年了,過(guò)去曾研發(fā)出與 ARKit 相似的技術(shù),但當(dāng)時(shí)并沒(méi)有合適的硬件可支持這個(gè)技術(shù)。作為內(nèi)部人士,我了解這些系統(tǒng)是如何構(gòu)建的,以及為什么構(gòu)建成現(xiàn)在的樣子。

這篇博文試圖向那些非技術(shù)人群解釋一些專業(yè)的技術(shù)問(wèn)題,并不是面向計(jì)算機(jī)視覺(jué)工程師。文中,我用簡(jiǎn)單的話來(lái)解釋 ARKit,但不一定 100% 符合科學(xué)的解釋,不過(guò)我希望至少可以幫助人們加深對(duì)于 ARKit 的理解。

ARKit 基于什么樣的技術(shù)?

大神揭秘:蘋果 ARKit 憑什么碾壓對(duì)手?

技術(shù)上,ARKit 配備視覺(jué)慣性測(cè)量(VIO)系統(tǒng),帶有簡(jiǎn)單的 2D 平面檢測(cè)。具體來(lái)說(shuō),VIO 系統(tǒng)會(huì)實(shí)時(shí)追蹤你在空間中的位置,也就是 6 自由度(DoF)動(dòng)作,比如說(shuō),屏幕每幀畫面刷新之間,你的動(dòng)作會(huì)被重新計(jì)算,畫面的刷新率為每秒 30fps 或以上,而且這些計(jì)算會(huì)同時(shí)進(jìn)行兩次。

第一次是,通過(guò)將現(xiàn)實(shí)世界中的點(diǎn)與攝像頭傳感器每幀畫面像素點(diǎn)相匹配,你的動(dòng)作會(huì)被視覺(jué)系統(tǒng)追蹤,進(jìn)行一次計(jì)算。第二次是你的動(dòng)作被慣性系統(tǒng)追蹤,主要通過(guò)加速度計(jì)和陀螺儀兩個(gè)慣性測(cè)量單元(IMU)實(shí)現(xiàn)。

然后,卡爾曼濾波器(Kalman Filter)將 VIO 系統(tǒng)和慣性系統(tǒng)的輸出進(jìn)行整合,從而預(yù)測(cè)出你的最佳“真實(shí)”位置(稱為Ground Truth),并且由 ARKit SDK 發(fā)布你的最新定位。就像汽車的里程表顯示車輛的駕駛距離一樣,VIO 系統(tǒng)記錄 iPhone 手機(jī)在 6 DoF 空間中經(jīng)過(guò)的距離。6 DoF 表示沿著 xyz 三個(gè)方向的平動(dòng),加上繞三個(gè)軸的俯仰、偏轉(zhuǎn)及滾動(dòng)。

VIO 系統(tǒng)最大的優(yōu)勢(shì)就是,即使用戶動(dòng)作加速的情況下,IMU 依舊可以每秒讀數(shù) 1000 次。IMU 每次讀數(shù)之間,航位推算法被用來(lái)計(jì)算設(shè)備的運(yùn)動(dòng)。這時(shí),航位推算法更像是一種猜測(cè),就像是,我讓你往前買一步,然后猜猜這個(gè)步子有多大,你便會(huì)用航位推算法來(lái)預(yù)測(cè)步子的距離。(后面我將詳細(xì)介紹這種預(yù)測(cè)是如何實(shí)現(xiàn)高度準(zhǔn)確性的。)慣性系統(tǒng)產(chǎn)生的誤差會(huì)隨時(shí)間累積,所以,IMU 每幀畫面所間隔的時(shí)間越長(zhǎng)或者慣性系統(tǒng)使用時(shí)間越長(zhǎng),而且還沒(méi)有 VIO 系統(tǒng)配合的時(shí)候,動(dòng)作的追蹤也將越來(lái)越偏離實(shí)際的動(dòng)作情況。

視覺(jué)/光學(xué)測(cè)量以相機(jī)畫面幀速率進(jìn)行,通常為 30fps,并且基于每幀場(chǎng)景變化的距離。光學(xué)系統(tǒng)通常會(huì)隨著距離的增加,而不斷積累誤差,時(shí)間也會(huì)一定程度上影響光學(xué)系統(tǒng)的準(zhǔn)確性。所以你行動(dòng)的距離越遠(yuǎn),時(shí)間越久,誤差越大。好消息是,一個(gè)追蹤系統(tǒng)的優(yōu)勢(shì)可以抵消另一個(gè)系統(tǒng)的劣勢(shì)。

視覺(jué)和慣性跟蹤系統(tǒng)是完全不同的測(cè)量系統(tǒng),沒(méi)有相互依賴關(guān)系。這意味著相機(jī)可能被遮蓋,或者可能看到的是幾乎沒(méi)有光學(xué)特征的場(chǎng)景,例如一面白墻,而慣性系統(tǒng)這時(shí)可以“加載”幾幀畫面。相對(duì)地,設(shè)備處于靜止的狀態(tài)下,視覺(jué)系統(tǒng)提供的動(dòng)作追蹤信息比慣性系統(tǒng)更加穩(wěn)定??柭鼮V波器不斷選擇最佳動(dòng)作信息,追蹤效果也就更加穩(wěn)定。

VIO 系統(tǒng)已經(jīng)出現(xiàn)很多年了,在行業(yè)中的認(rèn)可度很高,并且市場(chǎng)上不少設(shè)備也配備了 VIO 系統(tǒng)。所以蘋果 ARKit 使用 VIO 系統(tǒng)并不意味著創(chuàng)新。那么到底是什么技術(shù)讓 ARKit 變得如此強(qiáng)大呢?

ARKit 的第二個(gè)關(guān)鍵點(diǎn)是配備簡(jiǎn)單的平面檢測(cè)。這個(gè)技術(shù)十分必要,你需要地面作為參照物來(lái)表示位置信息,否則物體會(huì)漂浮在空中。任何 3 個(gè)點(diǎn)可以定義一個(gè)平面,根據(jù)光學(xué)系統(tǒng)檢測(cè)到的特征點(diǎn)(demos  中看到的點(diǎn)),通過(guò)算法將特征點(diǎn)平均化,便得到了參照平面。

如果光學(xué)系統(tǒng)選取的特征點(diǎn)足夠多的話,你便能預(yù)測(cè)到真實(shí)的平面。這些特征點(diǎn)通常被稱為“點(diǎn)云”,所有的特征點(diǎn)形成稀疏的點(diǎn)云,用于光學(xué)跟蹤。稀疏點(diǎn)云僅僅需要少量的存儲(chǔ)內(nèi)存、短暫地使用 CPU。在慣性系統(tǒng)的支持下,光學(xué)系統(tǒng)即使檢測(cè)少量的特征點(diǎn),也可以正常工作。點(diǎn)云和密集點(diǎn)云是不同的,密集點(diǎn)云看起來(lái)更加接近真實(shí)感(目前有人正在研究的使用密集點(diǎn)云進(jìn)行跟蹤,這更復(fù)雜)。

ARKit 的兩大“神秘之處”

有人會(huì)把 ARKit 稱為 SLAM ,或者使用術(shù)語(yǔ) SLAM 來(lái)指位置跟蹤。在此澄清一下,SLAM 是一個(gè)相當(dāng)廣泛的術(shù)語(yǔ),就像“多媒體”這個(gè)術(shù)語(yǔ)一樣?!白粉櫋北旧砭褪且粋€(gè)通用的術(shù)語(yǔ),使用“測(cè)距”更具體,但在 AR 領(lǐng)域,使用“追蹤”來(lái)表達(dá)即可。有很多方法可以實(shí)現(xiàn) SLAM,追蹤蹤只是 SLAM 系統(tǒng)的一個(gè)組成部分。 我認(rèn)為 ARKit 是一個(gè)輕型或簡(jiǎn)單的 SLAM 系統(tǒng)。Tango 或 Hololens 的 SLAM 系統(tǒng)除了距離測(cè)量外,還有其他很多其他特征。

ARKit 存在兩大“神秘之處”:一是,如何通過(guò)單目鏡頭獲得 3D 效果;二是,如何獲得計(jì)量尺度(像那個(gè)卷尺測(cè)量 demo 一樣)。答案在于“非常好地”移除 IMU 產(chǎn)生的誤差,即讓航位推算法實(shí)現(xiàn)高精度地預(yù)測(cè)。當(dāng)實(shí)現(xiàn)這點(diǎn)后,便會(huì)發(fā)生以下的效果:

為獲得 3D 效果,需要從不同角度獲得 2 個(gè)場(chǎng)景視圖,進(jìn)而通過(guò)立體計(jì)算得到你所在的空間位置。這就是雙眼如何看到 3D 圖像,以及為什么一些跟蹤器要要依靠立體攝像機(jī)。如果有兩臺(tái)攝像機(jī),可以容易計(jì)算攝像機(jī)之間的距離,同時(shí)捕獲幀畫面。ARKit 為什么僅僅使用了一個(gè)攝像頭便獲得了 3D 效果呢?是因?yàn)橐粋€(gè)攝像頭可以捕獲一幀畫面,而后攝像頭移動(dòng)捕獲第二幀畫面。

使用 IMU 航位推算法計(jì)算,便可計(jì)算出兩幀畫面之間的移動(dòng)距離,然后正常計(jì)算出立體畫面。實(shí)際上,你可能捕捉更多的幀畫面進(jìn)行計(jì)算,從而獲得更高的精確度。如果 IMU 足夠準(zhǔn)確,兩幀畫面間產(chǎn)生的“移動(dòng)”可以僅僅通過(guò)手握拳后手臂微小肌肉群的運(yùn)動(dòng)來(lái)檢測(cè),這看起來(lái)像魔術(shù)一樣神奇。

系統(tǒng)需要依賴于 IMU 航位推算法來(lái)獲得計(jì)量尺度。通過(guò) IMU 給出的加速度和時(shí)間測(cè)量值,可以計(jì)算出速率并獲得 IMU 每幀畫面之間的距離。數(shù)學(xué)運(yùn)算并不難,困難的是消除 IMU 誤差,以獲得近似完美的加速度測(cè)量值。一個(gè)微小的錯(cuò)誤,在畫面每秒刷新 1000 次的情況下,持續(xù)幾秒鐘后可能會(huì)導(dǎo)致 30% 甚至更大的計(jì)量尺度誤差。令人驚訝的是,蘋果 ARKit 已經(jīng)把誤差下降到 10% 以下。

Tango 、 HoloLens、 Vuforia 等 SDK 怎么樣?

大神揭秘:蘋果 ARKit 憑什么碾壓對(duì)手?

Tango 只是一個(gè)品牌名,而不是真正的產(chǎn)品。Tango 包括硬件參考設(shè)計(jì)(RGB,魚眼鏡頭,深度相機(jī)和CPU / GPU規(guī)格),還參與 VIO(運(yùn)動(dòng)跟蹤),稀疏映射(區(qū)域?qū)W習(xí))和密集 3D 重建(深度感知)等軟件。

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

Vuforia 與 ARKit 幾乎是一樣的,只是 Vuforia 的硬件是獨(dú)立的。

上述 SDK 均使用相同的 VIO 系統(tǒng),而且,Tango 和 ARKit 使用的均為 FlyBy 最初發(fā)布的代碼庫(kù)!HoloLens 和 Tango 都不使用深度相機(jī)進(jìn)行追蹤,那么到底是什么技術(shù)設(shè)備讓 ARKit 大放異彩呢?

答案是 ARKit 并不比 HoloLens 好,我甚至認(rèn)為 HoloLens 的跟蹤系統(tǒng)是市場(chǎng)上最好的,但 HoLolens 的硬件普及并不廣。微軟可能會(huì)在 Windows 系統(tǒng)的智能手機(jī)中安裝 HoloLens 跟蹤系統(tǒng),但我相信出于商業(yè)原因,微軟不會(huì)這樣做:

因?yàn)檫@樣可能會(huì)增加生產(chǎn)和時(shí)間成本,為一款銷量或許很少的手機(jī)校準(zhǔn)傳感器。而且,微軟版本的 ARKit 也可能無(wú)法說(shuō)服開(kāi)發(fā)者放棄使用 iOS 或 Android 系統(tǒng)。

12 個(gè)月前,Google 本就可以輕松交付能夠在 Android 系統(tǒng)上運(yùn)行的 Tango 手機(jī),但 Google 沒(méi)有這樣做。如果 Google 早早將 Tango 發(fā)貨 ,那么 ARKit  的問(wèn)世也只是緊跟趨勢(shì),而非重大突破。

我認(rèn)為,Google 公司不想為每家 OEM 都進(jìn)行特定的傳感器校準(zhǔn)過(guò)程,而且每家 OEM 廠商生產(chǎn)的 Tango 版本都不一樣,Google 也不想在一些較大的 OEM 廠商(三星、華為等)中選擇。所以,Google 為 OEM 廠商提供了硬件的參考設(shè)計(jì),OEM 廠商可以自行選擇“使用,或者不使用”。(當(dāng)然,事情并非這么簡(jiǎn)單,這是 OEM 廠商反饋給我的關(guān)鍵點(diǎn)。)

隨著 Android 智能手機(jī)硬件商品化,相機(jī)和傳感器堆棧是 Android 手機(jī)最后實(shí)現(xiàn)差異化的地方,所以 OEM 廠商無(wú)法滿足 Google 的要求。Google 認(rèn)為,深度相機(jī)是手機(jī)的一部分,但是深度相機(jī)增加了手機(jī)成本,這也是 OEM 廠商拒絕 Google 的另一個(gè)原因!

自從 ARKit 發(fā)布以來(lái),市場(chǎng)已經(jīng)發(fā)生了變化。OEM 廠商要么尋找 Tango 的替代系統(tǒng),要么接受 Google 的硬件參考設(shè)計(jì),然后實(shí)現(xiàn)平臺(tái)控制。這也是有意思的變化。

總的來(lái)說(shuō),ARKit 更好的原因在于:

蘋果公司可以負(fù)擔(dān)得起將 VIO 算法緊密耦合到傳感器上,并花費(fèi)很多時(shí)間來(lái)校準(zhǔn) VIO 系統(tǒng),以減少計(jì)算空間位置時(shí)產(chǎn)生的誤差。

值得注意的是,大型 OEM 廠商有一些替代方案。可以選擇其他的追蹤方案,像 ORB Slam、OpenCV 等,但幾乎都是光學(xué)追蹤器,都配有單個(gè) RGB、立體聲、深度相機(jī),有些使用稀疏點(diǎn)云,有些使用密集點(diǎn)云。有許多創(chuàng)業(yè)公司正在研發(fā)追蹤系統(tǒng),研究增強(qiáng)像素也是一個(gè)很好的方向,但任何 VIO 系統(tǒng)最終的競(jìng)爭(zhēng)都會(huì)集中到硬件模型和校準(zhǔn)上。

開(kāi)發(fā)人員如何使用 ARKit

大神揭秘:蘋果 ARKit 憑什么碾壓對(duì)手?

你或許已經(jīng)有一個(gè)可以支持 ARKit 的手機(jī)了。首先,要了解使用 ARKit 開(kāi)發(fā)內(nèi)容,與以往開(kāi)發(fā)一款手機(jī) APP 有巨大的差異:一個(gè)是你不用控制場(chǎng)景,一個(gè)是你要控制每幀像素。

然后,想想 Tango 或 HoloLens,看看當(dāng)你的內(nèi)容與無(wú)法控制的場(chǎng)景中的 3D 模型交互時(shí),會(huì)發(fā)生什么。

這其中的學(xué)習(xí)難度較大,比從網(wǎng)絡(luò)到移動(dòng)或從移動(dòng)到 VR 更有難度。你需要徹底重新思考應(yīng)用程序的如何運(yùn)行以及用戶體驗(yàn)(UX)的意義是什么。我現(xiàn)在看到很多 ARKit 的 demo,四年前看到它們是基于 Vuforia 創(chuàng)建,再往前四年就是 Layar (2010 年荷蘭公司 SPRXmobile 推出的全球第一款 AR 手機(jī)瀏覽器)。這幾年來(lái),我 看到了幾乎所有類型的 AR APPs 的例子,我很樂(lè)意為大家提供支持和反饋。

我常常鼓勵(lì)開(kāi)發(fā)人員勇于構(gòu)建新奇的 APP。一些蠢蠢的 APP 一上線便大獲成功,但通過(guò) AR 硬件開(kāi)發(fā)讓用戶是滿意的案例也十分具有挑戰(zhàn)。

能構(gòu)建良好追蹤系統(tǒng)的人并不多

大神揭秘:蘋果 ARKit 憑什么碾壓對(duì)手?

直觀地說(shuō),目前只有少數(shù)人能構(gòu)建好的追蹤系統(tǒng)。那些具備交叉學(xué)科背景的工程師們才能研發(fā)出的融入單目 VIO 最好的系統(tǒng),用于手機(jī)追蹤的解決方案。 

在二十世紀(jì)中期,VIO 系統(tǒng)最初由波士頓軍事/工業(yè)供應(yīng)商 Intersense 使用。Leonid Naimark 是該技術(shù)的創(chuàng)始人之一,2011 年時(shí)加入我創(chuàng)建的 Dekko 公司并擔(dān)任首席科學(xué)家。由于傳感器限制,Dekko 證實(shí)了 VIO 無(wú)法在 IPad 2 上運(yùn)行,Leonid 重回軍工行業(yè),但 Dekko 公司的 CTO Pierre Georgel 如今已成為 Google Daydream 團(tuán)隊(duì)的高級(jí)工程師。

我 在 Super Ventures 的合作伙伴 Ori Inbar 創(chuàng)立了 Ogmento。Ogmento 公司后改名為 FlyBy,F(xiàn)lyBy 團(tuán)隊(duì)成功地構(gòu)建了基于 iOS 的VIO 系統(tǒng),還增加了魚眼相機(jī)。該代碼庫(kù)已經(jīng)授權(quán)給 Google,成為 Tango 的 VIO 系統(tǒng)。蘋果公司收購(gòu) FlyBy 之后,F(xiàn)lyBy 的 VIO 系統(tǒng)代碼庫(kù)成為 ARKit VIO 的核心。

FlyBy 公司的CTO Chris Broaddus 繼續(xù)為 Daqri 公司研究追蹤系統(tǒng),現(xiàn)在他已經(jīng)加入硅谷的神秘?zé)o人車初創(chuàng)公司 Zoox。2007 年,第一個(gè)移動(dòng) SLAM 系統(tǒng)由 Georg Klein 在 Oxford Active Computing lab(PTAM)開(kāi)發(fā),Georg Klein 和 David Nister 一同為 HoloLens 建立 VIO 系統(tǒng),David 離開(kāi)后還為特斯拉創(chuàng)建了自動(dòng)駕駛系統(tǒng)。

Georg 帶的博士生 Gerhard Reitmayr 主導(dǎo)了 Vuforia 的 VIO 系統(tǒng)的研發(fā)。 此前擔(dān)任 Vuforia 公司副總裁的 Eitan Pilipski,現(xiàn)在是 Snap 公司的 AR 軟件工程師。

牛津大學(xué)、劍橋大學(xué)和倫敦帝國(guó)學(xué)院研發(fā)團(tuán)隊(duì)的核心成員研發(fā)了 Kinect 追蹤系統(tǒng),現(xiàn)在也成為 Oculus 和 Magic Leap 追蹤系統(tǒng)開(kāi)發(fā)的負(fù)責(zé)人。

有趣的是,我無(wú)法說(shuō)清,當(dāng)前致力于 AR 追蹤系統(tǒng)研發(fā)的初創(chuàng)公司,到底是由哪個(gè)學(xué)科的人才主導(dǎo)。因?yàn)?,這些創(chuàng)始人不管是機(jī)器人背景,或是其他計(jì)算機(jī)視覺(jué)背景,已經(jīng)不足以支撐在一個(gè)更大領(lǐng)域范圍應(yīng)用的追蹤系統(tǒng)的研發(fā)。

后面,我會(huì)談?wù)劗?dāng)代科學(xué)家們正在開(kāi)展的工作。

歸根到底是統(tǒng)計(jì)學(xué)問(wèn)題

AR 系統(tǒng)沒(méi)有“可行”或者“不可行”一說(shuō)。 大部分情況下,AR 系統(tǒng)可以很好的完成工作。AR 系統(tǒng)力求變得“更好”,也是推動(dòng)統(tǒng)計(jì)學(xué)發(fā)展的事情。

故而,不要完全相信 AR APP 的演示,特別是發(fā)布于 YouTube 上,顯示出驚人的效果的 AR APP。在精心安排的環(huán)境中所表現(xiàn)的效果與現(xiàn)實(shí)生活中普通用戶所能獲得的效果之間,往往存在很大差距。但是智能手機(jī)或 VR 應(yīng)用的演示通常并不存在這種問(wèn)題。所以,觀眾常常被愚弄。

這是一個(gè)具體的技術(shù)示例,為什么統(tǒng)計(jì)數(shù)據(jù)最終可以確定系統(tǒng)的運(yùn)行情況。

大神揭秘:蘋果 ARKit 憑什么碾壓對(duì)手?

在上面的圖像中,有一個(gè)網(wǎng)格,表示相機(jī)中的數(shù)字圖像傳感器。每個(gè)格子都是一個(gè)像素點(diǎn)。為了穩(wěn)定追蹤,在假設(shè)設(shè)備完全靜止的情況下,每個(gè)像素應(yīng)該在現(xiàn)實(shí)世界中的有一個(gè)相匹配的對(duì)應(yīng)點(diǎn)。然而,右側(cè)圖像顯示光子不是那么的聽(tīng)話,各種光子會(huì)隨意落到任何地方,每個(gè)像素點(diǎn)是光子的總數(shù)。場(chǎng)景中的光線變化(太陽(yáng)光穿透云層,熒光燈閃爍等)也會(huì)改變傳感器中的光子組成,現(xiàn)在傳感器要對(duì)應(yīng)現(xiàn)實(shí)世界的不同像素點(diǎn)。那么,這樣的情況下視覺(jué)追蹤系統(tǒng)就認(rèn)為用戶移動(dòng)了!

所以,各種 ARKit demo 中光點(diǎn)閃爍時(shí),系統(tǒng)必須確定哪些點(diǎn)是“可靠”的。系統(tǒng)對(duì)這些點(diǎn)進(jìn)行三角測(cè)量來(lái)計(jì)算用戶的空間位置,求平均數(shù)后得到對(duì)實(shí)際位置的最佳估計(jì)數(shù)。因此,為確保錯(cuò)誤的統(tǒng)計(jì)完全被移除,便需要研發(fā)更精確的系統(tǒng)。這就需要相機(jī)硬件堆棧(多個(gè)鏡片和涂層、快門和圖像傳感器等)、IMU 硬件和軟件算法之間的嚴(yán)密集成和校準(zhǔn)。

硬件與軟件的集成

大神揭秘:蘋果 ARKit 憑什么碾壓對(duì)手?

其實(shí)開(kāi)發(fā) VIO 系統(tǒng)并不難,而且 VIO 系統(tǒng)的算法已經(jīng)公開(kāi)了,還有不少的應(yīng)用案例。但是,很難把 VIO 系統(tǒng)良好地運(yùn)作起來(lái)。我指的是,慣性和光學(xué)系統(tǒng)完全融合創(chuàng)建立體地圖,在低精確度時(shí)確定度量標(biāo)度。

例如,在我創(chuàng)辦的 Dekko 時(shí),應(yīng)用的案例中要求用戶開(kāi)始按照具體的要求移動(dòng),然后手機(jī)前后移動(dòng)約 30 秒才能使慣性和光學(xué)系統(tǒng)融合創(chuàng)建立體地圖。建立一個(gè)優(yōu)良的慣性追蹤系統(tǒng)需要經(jīng)驗(yàn)豐富的工程師。然而,全球只有約 20 名工程師具備必須的技能和經(jīng)驗(yàn),而且這 20 名工程師中大多數(shù)從事巡航導(dǎo)彈追蹤系統(tǒng),或者火星漫游者導(dǎo)航系統(tǒng)等。

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

系統(tǒng)需要準(zhǔn)確知道 IMU 讀取的數(shù)據(jù)哪個(gè)對(duì)應(yīng)開(kāi)始畫面,哪個(gè)對(duì)應(yīng)結(jié)束畫面。這對(duì)于兩個(gè)系統(tǒng)的關(guān)聯(lián)至關(guān)重要,這一點(diǎn)最近才得以實(shí)現(xiàn),因?yàn)橛布?OEM 廠商認(rèn)為沒(méi)有必要投資于此方面。這就是 Dekko 公司花費(fèi)了很長(zhǎng)時(shí)間,才把基于 iPad 2 系統(tǒng)的硬軟件融合的原因。第一個(gè)Tango 手機(jī)是第一臺(tái)實(shí)現(xiàn)精準(zhǔn)時(shí)間同步的設(shè)備,并且是第一款具備良好追蹤系統(tǒng)的消費(fèi)級(jí)手機(jī)。

目前,追蹤系統(tǒng)采用的來(lái)自 Qualcome 等公司的芯片都有一個(gè)同步的傳感器集線器,適用于所有組件,這意味著 VIO 系統(tǒng)在大多數(shù)當(dāng)前設(shè)備上可行,并配有相應(yīng)的傳感器校準(zhǔn)。

由于密切依賴硬件和軟件,在沒(méi)有 OEM 廠商的深度支持下,軟件開(kāi)發(fā)人員幾乎不可能構(gòu)建一個(gè)優(yōu)良的系統(tǒng)。Google 投入了大量資金,讓一些 OEM 廠商支持 Tango 的硬件規(guī)范, 微軟、Magic Leap 等公司也正在努力創(chuàng)建自己的硬件。蘋果之所以如此成功地發(fā)布 ARKit,正是因?yàn)?ARKit 能夠很好地集合硬軟件。

光學(xué)校準(zhǔn)

為了使軟件精確地把攝像機(jī)的像素點(diǎn)與現(xiàn)實(shí)世界中的點(diǎn)相匹配,攝像機(jī)系統(tǒng)需要精確校準(zhǔn)。存在有兩種類型的光學(xué)校準(zhǔn):

第一種為幾何校準(zhǔn):使用相機(jī)的針孔模型來(lái)校正鏡頭的視場(chǎng)和鏡頭效果。由于鏡頭透鏡的影響,基本所有圖像都會(huì)變形。大多數(shù)軟件開(kāi)發(fā)人員可以在沒(méi)有 OEM 廠商的幫助下,通過(guò)使用基于標(biāo)準(zhǔn)棋盤格和基本公開(kāi)攝像頭參數(shù)校準(zhǔn)。

第二種為光度校準(zhǔn):這種校準(zhǔn)方式使用更多,通常需要 OEM 廠商參與圖像傳感器本身的細(xì)節(jié)優(yōu)化及內(nèi)部鏡頭涂層的使用。此校準(zhǔn)用于處理顏色和強(qiáng)度映射。例如,拍攝星空的望遠(yuǎn)鏡所連接的攝像機(jī),需要知道傳感器上光強(qiáng)度的輕微變化是否確定是星星,或者僅僅是傳感器或透鏡產(chǎn)生的誤差。校準(zhǔn)使得 AR 追蹤器具有更高的確定性,因?yàn)閭鞲衅魃系拿總€(gè)像素點(diǎn)都對(duì)應(yīng)于真實(shí)世界的點(diǎn),所以光學(xué)追蹤更加精準(zhǔn),產(chǎn)生的誤差更小。

大神揭秘:蘋果 ARKit 憑什么碾壓對(duì)手?

在上面的圖片中,各種 RGB 光點(diǎn)落入圖像傳感器上的“像素桶”中,這個(gè)過(guò)程很好地說(shuō)明了問(wèn)題。現(xiàn)實(shí)世界中點(diǎn)產(chǎn)生的光點(diǎn)通常落在幾個(gè)像素的邊界上,這些像素點(diǎn)將平均光點(diǎn)的密集度。用戶運(yùn)動(dòng)、或場(chǎng)景陰影或閃爍的熒光燈等微小的變化,都會(huì)改變與像素點(diǎn)對(duì)應(yīng)的現(xiàn)實(shí)世界點(diǎn)的變化。這時(shí),所有的光學(xué)校準(zhǔn)都盡可能地消除產(chǎn)生的誤差。

慣性校準(zhǔn)

大神揭秘:蘋果 ARKit 憑什么碾壓對(duì)手?

對(duì)于 IMU 來(lái)說(shuō),測(cè)量加速度比測(cè)量距離或速率更加重要。IMU 的讀取錯(cuò)誤隨著時(shí)間的推移不斷累積,產(chǎn)生誤差的速度非常快!校準(zhǔn)和建模的目標(biāo)是確保距離的測(cè)量在每秒鐘 X 等分時(shí)間下的精度足夠高。理想情況下,這個(gè)時(shí)間段要足夠長(zhǎng),以減少當(dāng)鏡頭被遮蓋或場(chǎng)景中發(fā)生其他情況時(shí),導(dǎo)致攝像機(jī)丟失對(duì)幾幀畫面的追蹤。

使用 IMU 測(cè)量距離稱為航位推算。這基本算是一個(gè)猜測(cè),對(duì) IMU 收集的數(shù)據(jù)進(jìn)行建模,確定積累錯(cuò)誤的方式,然后編寫過(guò)濾器來(lái)減小誤差。想象一下,如果你被要求邁出一步,然后猜測(cè)邁出的步子有多大。只猜測(cè)邁出一步的距離會(huì)產(chǎn)生很高的誤差。但是,如果你反復(fù)邁出千步并猜測(cè)每一步的距離,所產(chǎn)生的誤差便會(huì)非常小。因?yàn)槟銓?duì)于踏出哪只腳、地板的種類、鞋子的款式、移動(dòng)速度的快慢、身體狀態(tài)的好壞等等熟知,那么你最終的猜測(cè)便會(huì)非常準(zhǔn)確?;镜?IMU 校準(zhǔn)和建模便是這一原理。

數(shù)據(jù)有很多誤差來(lái)源。機(jī)器臂通常以完全相同的方式重復(fù)地移動(dòng)設(shè)備,捕獲 IMU 的輸出并寫入濾波器,直到來(lái)自 IMU 的輸出與來(lái)自機(jī)器臂的移動(dòng)精確匹配。為進(jìn)一步減小額外的誤差,Google、微軟甚至在國(guó)際空間站(ISS)及“零重力飛機(jī)”在微型重力環(huán)境下進(jìn)行校準(zhǔn)。

大神揭秘:蘋果 ARKit 憑什么碾壓對(duì)手?

實(shí)際上,達(dá)到真正的精準(zhǔn)度,比嘴上說(shuō)說(shuō)難的多。OEM 廠商必須對(duì)所有設(shè)備進(jìn)行校準(zhǔn),即使許多設(shè)備有不同的 IMU(例如,Galaxy 7 可能有來(lái)自 Invensense 和 Bosch 的 IMU,當(dāng)然 Bosch 不適用于 Invensense)。當(dāng)然,這是蘋果相對(duì)于 Android OEM 廠商的另一個(gè)優(yōu)勢(shì)所在。

追蹤技術(shù)的未來(lái)

大神揭秘:蘋果 ARKit 憑什么碾壓對(duì)手?

如果 VIO 是今天我們能實(shí)現(xiàn)的,那么今后將如何發(fā)展,會(huì)讓 ARKit 看起來(lái)很多余嗎?令人驚訝的是,VIO 系統(tǒng)將一直是數(shù)百米范圍內(nèi)最好的追蹤方法(對(duì)于更長(zhǎng)距離的追蹤,VIO 系統(tǒng)需要融合 GPS,重新定位地標(biāo)識(shí)別)。優(yōu)化 VIO 系統(tǒng)的原因是:即使其他光學(xué)系統(tǒng)像 VIO 一樣準(zhǔn)確,其他系統(tǒng)的 GPU 或攝像頭仍然需要耗費(fèi)電池,而這對(duì)頭戴顯示器影響很大。所以,單目攝像頭的 VIO 系統(tǒng)是最準(zhǔn)確,最低功耗,最低成本的解決方案。

深入學(xué)習(xí)確實(shí)對(duì)研究追蹤系統(tǒng)有重大影響。目前為止,基于追蹤系統(tǒng)的深度學(xué)習(xí)大約產(chǎn)生 10% 的誤差,其中頂級(jí)的 VIO 系統(tǒng)的誤差只有個(gè)位數(shù),這一數(shù)字還在變小,并且將優(yōu)化室外重新定位。

深度攝像頭能在各個(gè)方面優(yōu)化 VIO 系統(tǒng),其中對(duì)于特征點(diǎn)不明顯的情況,精確測(cè)量地面實(shí)況和尺寸,以及邊緣追蹤都能得帶很好的改善。但是耗電量大,需要以低幀率運(yùn)行,并且每幀之間使用 VIO。深度攝像頭不適用于戶外,因?yàn)閿z像頭工作時(shí)產(chǎn)生的紅外線會(huì)被陽(yáng)光生成的紅外線所干擾。攝像頭的工作范圍也取決于功耗,這意味著手機(jī)的工作范圍可能只有幾米。深度攝像頭的 BOM 成本很高,因此 OEM 廠商將避免在大批量生產(chǎn)的手機(jī)中安裝深度攝像頭。

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

由于雙攝像頭手機(jī)的攝像頭(即便是 HMD)所處位置很接近,所以攝像頭的精確范圍對(duì)于深度計(jì)算來(lái)說(shuō),非常有限。相隔幾厘米的攝像頭只能精確幾米范圍內(nèi)的深度。

而從頭到尾追蹤最關(guān)鍵的是,支持更大范圍的追蹤,尤其是支持戶外數(shù)錢公里的范圍追蹤。在這點(diǎn)上,AR 追蹤和無(wú)人駕駛跟蹤幾乎沒(méi)有區(qū)別,只是 AR 系統(tǒng)使用較少的傳感器,耗能也較低。最終,任何設(shè)備都將適用于大范圍追蹤,云服務(wù)也是必須的,故而,Google 最近宣布了 Tango 的視覺(jué)定位服務(wù)意圖也在此。未來(lái)幾個(gè)月我們將看到這些變化,這也是每個(gè)人現(xiàn)在都關(guān)心 3D 地圖的原因。

AR 計(jì)算機(jī)視覺(jué)的未來(lái)

大神揭秘:蘋果 ARKit 憑什么碾壓對(duì)手?

6 Dof 位置追蹤技術(shù)將在未來(lái) 12-18 個(gè)月內(nèi)完全商品化,覆蓋所有設(shè)備?,F(xiàn)在還有哪些問(wèn)題亟待解決呢?

3D 重建系統(tǒng),HoloLens 稱之為空間映射(Spatial Mapping),Tango 稱之為深度感知(Depth Perception)。3D 重建系統(tǒng)能夠找出場(chǎng)景中真實(shí)物體的形狀或結(jié)構(gòu)。這個(gè)技術(shù)允許虛擬內(nèi)容隱藏于現(xiàn)實(shí)世界后面。

這讓人們出現(xiàn)概念混淆,認(rèn)為 AR 便是“混合”現(xiàn)實(shí),其實(shí)是增強(qiáng)現(xiàn)實(shí),多數(shù) AR demo 并沒(méi)有 3D 重建系統(tǒng)的支持,所以 AR 內(nèi)容只是覆蓋于所有真實(shí)世界物體的前面。

3D 重建系統(tǒng)通過(guò)從場(chǎng)景中捕獲密集點(diǎn)云(今天使用深度攝像頭),將其轉(zhuǎn)換為網(wǎng)格,將“隱形”網(wǎng)格連同真實(shí)世界的坐標(biāo)導(dǎo)入 Unity 中,然后當(dāng)真實(shí)世界的景象出現(xiàn)在攝像頭中時(shí),把那些網(wǎng)格放置在真實(shí)的景象上。

這意味著虛擬內(nèi)容可以與現(xiàn)實(shí)世界互動(dòng)。注意 2D 版本的ARKit 通過(guò)檢測(cè) 2D 平面實(shí)現(xiàn),這是最為基本的要求。倘若 ARKit 沒(méi)有參照地面,用 Unity 制作的內(nèi)容肯定會(huì)肆意“漂浮”。

大神揭秘:蘋果 ARKit 憑什么碾壓對(duì)手?

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

上述提到的深度攝像方面問(wèn)題在 3D 重建上仍然存在,這就是為什么目前無(wú)法廣泛使用。研究人員正在研究,讓單目 RGB 攝像頭支持實(shí)時(shí)的照片級(jí) 3D重建。這個(gè)技術(shù)至少需要 12-18 個(gè)月才能應(yīng)用于產(chǎn)品中。也是因?yàn)檫@樣,我才認(rèn)為“真正的”消費(fèi)級(jí) AR 頭戴設(shè)備依舊離我們很遠(yuǎn)。

大神揭秘:蘋果 ARKit 憑什么碾壓對(duì)手?

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

3D 重建之后,有許多有趣的研究注解 3D 場(chǎng)景。你現(xiàn)在能看到的幾乎所有的計(jì)算機(jī)視覺(jué)深度學(xué)習(xí)使用的是 2D 圖像,但對(duì)于AR(汽車、無(wú)人機(jī)等),我們需要在 3D 中從語(yǔ)義方面理解這個(gè)世界。

大神揭秘:蘋果 ARKit 憑什么碾壓對(duì)手?

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

然后,我們需要弄清楚,如何將所有驚人的技術(shù)擴(kuò)展到實(shí)時(shí)支持多個(gè)用戶。這是終極目標(biāo)。

大神揭秘:蘋果 ARKit 憑什么碾壓對(duì)手?

隨著 3D 重建所需容量越來(lái)越大,我們需要了解如何將其托管至云服務(wù),讓多個(gè)用戶共享并擴(kuò)展模型。

AR 其他技術(shù)的未來(lái)

AR 其他技術(shù)的未來(lái)說(shuō)起來(lái)太廣泛,先談?wù)勔M(jìn)一步發(fā)展的技術(shù):

  • 光學(xué):視野范圍、鏡頭尺寸、分辨率、亮度、焦深、聚光度等等都需要解決。

我們會(huì)看到一些“過(guò)渡性”的 HMD 設(shè)計(jì),它們受制于一些關(guān)鍵參數(shù),只試圖解決一個(gè)問(wèn)題,如社交性,或是追蹤技術(shù),或是企業(yè)用戶案例,以及其他,之后我們才能看到最終的消費(fèi)級(jí)產(chǎn)品方案。

  • 渲染:使虛擬內(nèi)容與現(xiàn)實(shí)世界融合。

確定真正的光源,將其與虛擬世界相匹配,使陰影和紋理看起來(lái)很合理。這個(gè)技術(shù)是好萊塢 SFX 多年來(lái)一直努力的方向。但是對(duì)于 AR 來(lái)說(shuō),需要在手機(jī)上實(shí)時(shí)完成,并且不會(huì)影響到真實(shí)世界的光或背景,即便是瑣碎的事情也很重要。

  • 輸入:這方面還有很長(zhǎng)的路要走。

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

  • 圖形用戶界面(GUI)和應(yīng)用程序:目前還沒(méi)有我們想象中的 AR APP。

我們只想看看 Sonos (無(wú)線智能音響)在設(shè)備上顯示控件,并不想選擇 Sonos 按鈕。而且我們一直關(guān)注的是視野范圍內(nèi)畫面,和與實(shí)現(xiàn)世界的交互,沒(méi)有人知道該如何呈現(xiàn),但肯定不會(huì)是 4 x 6 的網(wǎng)格圖像。

  • 社會(huì)問(wèn)題:只有 Apple 和 Snap 知道如何營(yíng)銷時(shí)尚,AR HMD 的銷售可能只是人們最求時(shí)尚。這個(gè)問(wèn)題或許比所有技術(shù)問(wèn)題都難以解決。

 via Super Ventures Blog 雷鋒網(wǎng)編譯

雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見(jiàn)轉(zhuǎn)載須知。

分享:
相關(guān)文章

編輯

高山仰止 景行行止
當(dāng)月熱門文章
最新文章
請(qǐng)?zhí)顚懮暾?qǐng)人資料
姓名
電話
郵箱
微信號(hào)
作品鏈接
個(gè)人簡(jiǎn)介
為了您的賬戶安全,請(qǐng)驗(yàn)證郵箱
您的郵箱還未驗(yàn)證,完成可獲20積分喲!
請(qǐng)驗(yàn)證您的郵箱
立即驗(yàn)證
完善賬號(hào)信息
您的賬號(hào)已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
立即設(shè)置 以后再說(shuō)