發(fā)布時間:2018-05-14 10:10 | 標(biāo)簽:
Google ARCore ARCORE 1.2 谷歌AR解讀
微信掃一掃:分享
微信里點(diǎn)“發(fā)現(xiàn)”,掃一下
二維碼便可將本文分享至朋友圈
文/ VR陀螺 白告文
在今年的Google I/O大會上,Daydream產(chǎn)品經(jīng)理Nathan Martz 公布了最新的AR軟件開發(fā)套件ARCore新版本ARCore 1.2,該版本帶來了三大重要功能——Cloud Anchors、Augmented Images、SDK Sceneform。
Cloud Anchors功能,允許多用戶通過網(wǎng)絡(luò)連接共享的增強(qiáng)現(xiàn)實(shí)(AR)空間,實(shí)現(xiàn)多用戶的AR體驗(yàn)。
Augmented Images類似于以前的AR掃描和QR碼,但之前只能平面識別,此次新增了垂直平面識別,能更準(zhǔn)確識別不規(guī)則物體表面。例如現(xiàn)在可以識別產(chǎn)品垂直包裝面,以AR的方式呈現(xiàn)出包裝內(nèi)的產(chǎn)品。
全新的SDK Sceneform是一個旨在幫助Java開發(fā)者快速創(chuàng)建AR場景的新版SDK,無需處理整個3D開發(fā)堆棧。
ARCore 1.2 最大的更新是Cloud Anchors功能,除了多用戶共享AR體驗(yàn)外,還有一個重要的點(diǎn)是,支持跨設(shè)備共享AR體驗(yàn), Android和iOS用戶都能通過Cloud Anchors獲得多用戶AR體驗(yàn)。
本文將從Cloud Anchors 多用戶AR體驗(yàn)的實(shí)現(xiàn)原理、功能缺陷以及應(yīng)用場景方面進(jìn)行深入的探討。VR陀螺請到了網(wǎng)易AR游戲《悠夢》的開發(fā)者應(yīng)新港、Directive games的聯(lián)合創(chuàng)始人張竹云、視+AR高級算法工程師王強(qiáng)對Cloud Anchors進(jìn)行深度解讀。
Cloud Anchors如何實(shí)現(xiàn)多用戶共享同一個AR場景?
“這個功能其實(shí)是一個Cloud Anchors概念,anchor本身對于ARCore是一個非常重要的概念,” 視+AR王強(qiáng)表示,“ARCore中通過AR往現(xiàn)實(shí)中放置一個交互虛擬物體,需要通過Anchor指定其空間位置,只不過這個anchor以前是不能夠多人共享的?!?br />
什么是Anchors?虛擬物體在現(xiàn)實(shí)世界中的固定位置就是Anchors,有了這個錨點(diǎn),虛擬物體就不會發(fā)生偏移,可以很好的貼合在現(xiàn)實(shí)環(huán)境中。要形成一個Anchors,首先需要一個SLAM系統(tǒng)提供相機(jī)的位置,通過相機(jī)掃描現(xiàn)實(shí)位置放置虛擬物體,虛擬物體的位置就會形成一個anchors,它包括了一個物理位置和一堆視覺特征。
王強(qiáng)補(bǔ)充道:“正因?yàn)橛蠥nchors這個概念的存在,所以現(xiàn)在所謂的云Anchors 就很好理解了,
用戶A首先將本地anchor和anchor周圍局部的視覺信息(比如特征點(diǎn)、線等),上傳到云端,云端通過處理并生成三維點(diǎn)云信息,生成cloud anchors,同時返回其對應(yīng)的ID,該ID可以共享給其他用戶。其他用戶(例如用戶B,C等)通過該ID訪問已有的cloud anchors,ARCore將本地的視覺信息上傳到云端服務(wù)器,云端服務(wù)器嘗試將接收的視覺信息與云端cloud anchor對應(yīng)的的三維點(diǎn)云進(jìn)行對齊,從而將多個用戶的位置和姿態(tài)統(tǒng)一到同一坐標(biāo)系下?!?/span>
Directive games張竹云對Cloud Anchors的原理分析和王強(qiáng)大致相同,“谷歌在ARCore 1.2的更新中加入了所謂多人模式的概念,這個機(jī)能是通過“云錨定”(Cloud anchor)來實(shí)現(xiàn)的。簡單來說,ARcore將捕捉到用于進(jìn)行運(yùn)動追蹤的特征點(diǎn),上傳并儲存到云錨定的服務(wù)介質(zhì)上,對比同一場景下不同用戶各自的特征點(diǎn),系統(tǒng)就可以把內(nèi)容物體在不同的設(shè)備上渲染到空間中相同的位置?!?br />
網(wǎng)易AR游戲應(yīng)新港則認(rèn)為:“它應(yīng)該是通過特征點(diǎn)的共享(還沒接入還不太確定),然后再逐漸談到應(yīng)用場景,就是它可以實(shí)現(xiàn)將虛擬場景的方位與朝向在多臺機(jī)子上統(tǒng)一,這樣很多多人游戲都可以做了?!?br />
Cloud Anchors如何兼容iOS,為什么要兼容iOS?
張竹云分析其原理和安卓設(shè)備之間的AR數(shù)據(jù)交換是相同的,谷歌提供給iOS一套相應(yīng)的Cloud anchor API,允許iOS 應(yīng)用將對應(yīng)的特征點(diǎn)數(shù)據(jù)上傳到云端以分享至其他的設(shè)備。
王強(qiáng)的分析也有一定的共同點(diǎn),他認(rèn)為谷歌通過針對ARKit做對應(yīng)的上層封裝,對于開發(fā)者來說可以避免跨平臺的開發(fā)帶來的問題。由于ARCore在推出之時,功能和接口設(shè)計(jì)就與ARKit非常類似,因此 ARCore可以相對容易的提供一套封裝和接口,從而同時兼容兩個系統(tǒng)。
Cloud Anchor 能實(shí)現(xiàn)多用戶AR交互是讓人興奮的,它還能夠兼容iOS是令人驚訝的,但不算意外。
王強(qiáng)補(bǔ)充說道,“雖然此次I/O大會谷歌強(qiáng)調(diào)ARCore已經(jīng)支持1億臺以上的安卓設(shè)備,但考慮到市面上安卓設(shè)備數(shù)量,實(shí)際上它的普及速度是偏慢的。目前支持ARCore的機(jī)型基本只有少數(shù)幾個品牌的旗艦級的手機(jī),因此對于AR的用戶普及來說,安卓比蘋果要低很多的。當(dāng)谷歌表示Cloud Anchors兼容ARKit的時候大家表示驚訝,但考慮到蘋果的AR用戶的龐大數(shù)量,對于多人AR體驗(yàn)來說,通過上層兼容ARKit也是非常合理的。”
Cloud Anchors可以應(yīng)用到什么場景?
張竹云、王強(qiáng)、應(yīng)新港一致認(rèn)為,多人游戲娛樂和多人協(xié)作行業(yè)應(yīng)用是Cloud Anchors 的方向。
當(dāng)初蘋果剛推出AR功能的時候,很多人都認(rèn)為AR會很快的普及到大部分的用戶,因?yàn)樘O果本身也有軟硬件的優(yōu)勢,但最后結(jié)果是否定的。由于目前的AR體驗(yàn)并沒有足夠的元素吸引用戶長時間使用,一方面是缺少碰撞和遮擋,缺少真實(shí)感,另一方面是缺少社交元素,用戶之間沒有交流,沒有分享渠道,更不能共同參與AR體驗(yàn),而Cloud Anchors則剛好能解決這個問題。
張竹云對此表示,“多人共享的AR空間可以說是AR未來發(fā)展至關(guān)重要的功能,只有當(dāng)AR可以在人和人之間進(jìn)行分享的時候,他才會真正成為日常生活中主流的,必不可少的工具。出于這個思路,可以說它的應(yīng)用場景是非常廣泛的,從多人協(xié)作的行業(yè)應(yīng)用到交互娛樂游戲,都是它的用武之地。”
王強(qiáng)則認(rèn)為:“互聯(lián)網(wǎng)爆款大多都涉及社交元素。有了多用戶交互之后,游戲、娛樂、工業(yè)、教育等各個行業(yè)都可以加入多人、社交AR的功能。AR未來的趨勢肯定是朝著持久的,多用戶的,可以分享的沉浸感更強(qiáng)的AR體驗(yàn)。”
“要實(shí)現(xiàn)AR MMO 前還有差距,一方面是參與人數(shù),官方文檔雖然沒提及,但目前同一cloud anchors應(yīng)該對同時共享的用戶人數(shù)會有限制。另一方面是要做到真正的AR MMO需要構(gòu)建與現(xiàn)實(shí)環(huán)境1:1的AR地圖,只有ARCore的cloud anchors只能看做局部的小地圖,構(gòu)建大范圍的、多人共享、可持久更新的AR地圖目前仍然是行業(yè)內(nèi)的難點(diǎn)?!?br />
Cloud Anchors目前會有什么缺陷?
毫無疑問,Cloud Anchors對于開發(fā)者和用戶都是一個很重要的功能,該功能很有可能讓AR MMO游戲成為現(xiàn)實(shí),該功能也是AR社交的一個補(bǔ)充,但現(xiàn)在看來,該功能尚存在一些難點(diǎn)和缺陷需要解決。
地板和地毯會給特征點(diǎn)的識別、追蹤帶來難度嗎? 張竹云認(rèn)為:“缺少紋理的表面會給追蹤帶來困難,但實(shí)際上大多數(shù)地板和地毯都是有豐富細(xì)節(jié)的。”
光照、角度會影響特征點(diǎn)的采集,進(jìn)而影響多用戶交互體驗(yàn)嗎?王強(qiáng)表示:“這是多用戶共享的一個最大的難點(diǎn),就是怎么得到不同用戶相對的位置和姿態(tài)信息。光照變化、用戶的觀察角度、距離變化都會對視覺匹配算法的性能帶來影響。”
“利用cloud anchors建立與用戶圖像的匹配,對于室內(nèi)場景來說比較簡單解決一些,室外場景下可能會需要面對白天到晚上這種光照變化更劇烈的挑戰(zhàn)。近年來室內(nèi)不同角度、角度和位置的圖像匹配算法已經(jīng)有長足的進(jìn)步。對于室外場景下,國內(nèi)外很多AR相關(guān)的公司都在做這方面的解決方案,相信這個問題也會逐步得到解決?!蹦壳癆RCore的匹配是在服務(wù)器端完成的,相對在本地實(shí)現(xiàn)無需過多考慮手機(jī)計(jì)算性能帶來的限制?!?br />
多用戶數(shù)據(jù)上傳,有可能導(dǎo)致云端服務(wù)器壓力過大嗎?王強(qiáng)認(rèn)為,“視覺計(jì)算它本身的計(jì)算量通常是非常大的,比如說特征提取和計(jì)算特征描述子。這個不僅對服務(wù)器傳輸帶寬壓力大,對于算法的壓力也很大。但谷歌之前在Tango的開發(fā)過程中,應(yīng)該積累了大量的算法相關(guān)經(jīng)驗(yàn),在優(yōu)化算法速度和性能這方面相對比較有優(yōu)勢?!?br />
“但谷歌之前開發(fā)過Tango,在這方面應(yīng)該有積累了大量的經(jīng)驗(yàn),這方面應(yīng)該比較有優(yōu)勢,針對數(shù)據(jù)量做算法的優(yōu)化,另一方面,用戶與云端的通信不一定需要傳輸圖像這種非常耗費(fèi)帶寬的資源,可以在本地先進(jìn)行特征提取和描述子計(jì)算,然后只將描述子這種較小的東西上傳到云端進(jìn)行匹配,從而能減少訪問服務(wù)器的壓力?!?br />
用戶數(shù)據(jù)上傳到云端,會不會導(dǎo)致數(shù)據(jù)外泄?對此王強(qiáng)認(rèn)為問題不大,“其實(shí)谷歌也意識到這個問題,對于數(shù)據(jù)的傳輸、存儲、訪問都是有一些限制的。例如谷歌在ARCore文檔中提到,創(chuàng)建cloud anchors中上傳的原始視覺信息在7天后銷毀,用來與云端匹配計(jì)算相對位置的視覺特征描述子也不會在云端存儲。”
關(guān)注微信公眾號:VR陀螺(vrtuoluo),定時推送,VR/AR行業(yè)干貨分享、爆料揭秘、互動精彩多。
投稿/爆料:tougao@youxituoluo.com
稿件/商務(wù)合作: 六六(微信 13138755620)
加入行業(yè)交流群:六六(微信 13138755620)