0
雷鋒網(wǎng)按:本文作者為阿里巴巴天貓互動技術(shù)專家蔣佳憶,此前他在《如何評價蘋果在 2017 WWDC 上發(fā)布的 ARKit?》一文中分析了 ARKit 具備的技術(shù)優(yōu)勢和不足。在這篇文章中,作者詳細討論了一些目前行業(yè)較關(guān)心的話題,如 Google 的 Tango 會如何,ARCore 和 ARKit 的對比,以及 AR 還有哪些技術(shù)需要攻克等等。雷鋒網(wǎng)獲權(quán)首發(fā)。
距離ARcore發(fā)布已經(jīng)過了一周,作為行業(yè)參與者肯定第一時間關(guān)注,基本各大媒體關(guān)于技術(shù)相關(guān)的問題已經(jīng)說的比較清楚了,這里也不再深入談技術(shù),還是從行業(yè)發(fā)展的角度來說說目前比較熱門的問題,
2014 年 Google 為 Project Tango 打造了一款手機原型機,能對周圍環(huán)境進行 3D 建模
其實 Tango 面世已經(jīng)有很長一段時間,目前市面上可以看到的已經(jīng)有聯(lián)想和華碩兩款手機了,而如果 ARCore 不出現(xiàn)的話,理論上年底應(yīng)該會有第三或者第四個品牌推出 Tango 手機,但是現(xiàn)在應(yīng)該都不會有了。
究其原因,拋開 Google 內(nèi)部斗爭這些因素不談,如果關(guān)注 Tango 的同行應(yīng)該都知道,Tango 的應(yīng)用生態(tài)在最近一年多的時間里幾乎沒有太大的變化,兩款手機的預(yù)裝 APP 也幾乎都是手機廠商或者 Google 自己開發(fā)的,當(dāng)然大佬們并不是沒有努力過,各種開發(fā)者大賽或者行業(yè)應(yīng)用主題大賽也都有舉辦,很可惜大部分停留的 DEMO 的狀態(tài)。
這其實并不是 Tango 本身不夠好,而是新款硬件推廣的成本實在太高。硬件等內(nèi)容,內(nèi)容看硬件的死循環(huán)一直無法打破,哪怕是非常專注于行業(yè)服務(wù)的 B 端應(yīng)用,愿意為此買單的大客戶依然不多。
另外,從 Google 整體宣傳的策略來看,至少在之前,移動端的 VR 還是核心業(yè)務(wù), 盡管每一次大型的開發(fā)者大會都會有 Tango 的身影和新的消息,但是 Daydream 的關(guān)注度遠遠超過 Tango。何況 Google 自己的 Pixel 沒有搭載 Tango,或多或說也說明 Google 對 Tango 的態(tài)度。而這時,ARKit 出現(xiàn),Google 也確實失去了很好的先機,如果還是力挺陷入死循環(huán)的 Tango,那么很可能會越來越陷入被動,所以這個時候 Google 只能革命自己,推出面對全安卓平臺的 ARCore。
但是從 AR 的能力來說,,硬件方面,Tango 確實具備比較完整的 AR 能力,稍微轉(zhuǎn)化一下形態(tài),那么同樣的硬件模組去支持一個 AR 眼鏡對 Google 來說也不是非常難的事情;軟件方面,同樣在 Tracking 中只依賴于單目的算法,目前的 ARCore 也確實繼承了一部分 Tango 的架構(gòu)或者思路,甚至有部分人認為ARCore 只是注釋掉了 Tango 底層算法中深度相機那部分(肯定不會這么簡單),所以我個人不認為 Tango 會被放棄,只是不會做為主力的產(chǎn)品而轉(zhuǎn)為底層的能力服務(wù) Google 的其他業(yè)務(wù)。
緊隨蘋果之后,Google 推出 ARCore
這個是大部分人最關(guān)心的問題,但是我個人覺得其實比較起來意義不大,只要手機目前的系統(tǒng)還是 iOS 和安卓對立的局面,那么安卓就一定需要一個 AR 底層的算法支持,這件事情只有兩種公司可以解決,一個是控制著系統(tǒng)的 Google,一個是手機廠商自己。因為底層的空間定位算法非常依賴于硬件的校準(zhǔn)和標(biāo)定,任何軟件公司想越過 Google 去支持整個安卓平臺,尤其還需能夠得到大部分手機廠商的配合去標(biāo)定 IMU 和攝像頭的參數(shù),這需要和 OEM 廠商有長期合作的關(guān)系,而這幾乎是不可能的。在 ARCore 發(fā)布之前,確實有一些手機廠商在自研算法,也有一些手機廠商已經(jīng)與 Google 對接中,但是從進度和可推廣的能力來說,Google 確實是首選,所以安卓的 AR 能力依靠 Google 這是目前最理想的方式。
很多人強調(diào) ARCore 的功能幾乎完全復(fù)制了 ARKit,但是我個人覺得這并不能說明 Google 在技術(shù)或創(chuàng)新能力上弱于蘋果,從兩方面的原因看 Google 必須這樣做。
第一,從硬件的控制力來說,百花齊放的安卓硬件是 Google 控制不了的,而 AR 的底層能力有很大一部分在于硬件,所以在無法確定的硬件設(shè)備上,Google 幾乎沒有可能給出多于 ARKit 的功能,這也是首發(fā)的安卓手機除了 Google 自己的 Pixel 就只有 S8 的原因;
第二,ARKit 在發(fā)布短短幾個月的時間里確實爆發(fā)了強大吸引力,各種類型的應(yīng)用層出不窮,如果未來安卓系統(tǒng)想要無縫的對接 iOS 上的AR應(yīng)用,那么類似甚至相同的功能和接口可以極大的減少 AR應(yīng)用的遷移成本,保證在AR應(yīng)用發(fā)展初期安卓平臺不會被落下。基于以上兩點原因,ARCore 和 ARKit 的相似幾乎是必然會發(fā)生的事情。
ARKit 掀起了開發(fā)者的內(nèi)容創(chuàng)作熱情
那么回到區(qū)別這一點,因為硬件環(huán)境和算法架構(gòu)的不同,兩者肯定在體驗和細微的功能上會有所區(qū)別,比如圖像的分辨率、刷新率,或者光源感知算法的效果以及尺度收斂的速度和精度等,這些細微功能的不同可能源自硬件的區(qū)別,也可能源自算法中特征提取方式的區(qū)別或 IMU 融合方式的區(qū)別,但是我相信作為兩家引領(lǐng)行業(yè)發(fā)展的公司,既然會拿出來面對大眾,一定已經(jīng)保證了基本的體驗不會太差。
具體到兩者算法架構(gòu)來說,基于 VIO 架構(gòu)的 ARKit 更加側(cè)重于定位本身,比較輕量,在小范圍場景內(nèi)使用不會有明顯的飄移感,目前測試來看盡管可以返回每一幀的 3D 點,但是并不是很穩(wěn)定,也不算準(zhǔn)確,只是用于平面擬合使用,其實目前已經(jīng)可以在現(xiàn)有 API 的基礎(chǔ)上開發(fā)出多平面識別的功能,但是這會非常依賴于畫面中的特征點。整體看 ARKit 使用更加流暢,幀率也較高,對于用戶來說體驗是非常好的。
基于原 Tango 架構(gòu)的 ARCore 在定位之外,會比較注重三維重建的部分,畢竟Tango本身已經(jīng)依靠深度攝像頭實現(xiàn)了實時的三維重建,ARCore 輸出的 3D 點至少也是半稠密的。所以從功能來說,ARCore 在未來的想象力會更大一些,不過這也不是沒有代價的,ARCore 的計算量也會更大一些,所以流暢性會有所欠缺,幀率也低于 ARKit,不過定位的精度可能會優(yōu)于 ARKit(還有待進一步的測試),并且具備重定位的功能。
當(dāng)然一定要分高下的話,單從體驗來說,暫時我會更看好蘋果一些,因為蘋果可以完全控制自己后續(xù)的手機的硬件配置,這就導(dǎo)致為了覆蓋率的 Google 在體驗上很難不有所犧牲,更難保證每一款安卓手機的效果都那么一致,比如聯(lián)想和華碩兩款 Tango 手機的體驗就不一致,這方面比較類似 iOS 和安卓的區(qū)別。
可以確定的一點是,隨著 ARCore 的發(fā)布,AR 功能已經(jīng)有能力覆蓋整個移動端,所以 AR 已經(jīng)開始正式面對 C 端用戶,甚至比 VR 更容易被大眾所接觸,后續(xù)可以預(yù)見到的是,兩類公司一定會開始積極擁抱 AR:
第一,目前國內(nèi)的手機廠商幾乎全都是安卓系統(tǒng),所以肯定會開始與 Google 接觸或開發(fā)自身的 AR 底層能力,這個過程可能會持續(xù)半年到一年,部分有實力的廠商會支持到今年甚至去年發(fā)布的旗艦手機以保證足夠的覆蓋率。至少明年各大廠的旗艦手機一定會包含 AR 能力,已知的至少已經(jīng)有華為、華碩、LG等,Google 自稱的1億臺設(shè)備肯定是有底氣的。
第二,國內(nèi)各行業(yè)的應(yīng)用生態(tài)大佬會開始著手開發(fā)和 AR 功能相關(guān)的產(chǎn)品,包含泛娛樂、電商、社交等多個領(lǐng)域。其實目前除了微信比較有克制力以外,各大應(yīng)用或多或少都已經(jīng)包含了和 AR 相關(guān)的產(chǎn)品,AR 掃也好,人臉的互動也好,LBS 定位也好,大眾已經(jīng)開始逐漸接受虛實結(jié)合的交互方式。
初步猜測明年這個時候會有 30% 的用戶手機具備 AR 能力,兩年后會達到 50% 甚至更高,同時這些都是使用高端手機的有消費能力的用戶,是各類公司重點關(guān)注的,而到時候 AR 應(yīng)用生態(tài)一定會比現(xiàn)在有所好轉(zhuǎn)。具備想象力的玩法和應(yīng)用一旦受到熱捧,那么肯定會被作為某個功能產(chǎn)品融入目前的各類超級 APP中。
類似 BAT 這種級別的公司,目前雖然都對 AR 有所表示,但是 AR 并不是其核心業(yè)務(wù)或產(chǎn)品。我個人雖然看好 AR,但也承認手機端的 AR 和 PC 端上的互聯(lián)網(wǎng),或智能移動端的 APP 相比還不在一個量級上。所以只要明年能夠看準(zhǔn) AR 應(yīng)用的大趨勢,在功能和產(chǎn)品上不被競爭對手超越太多,那么超級 APP 對應(yīng)的大公司之間在 AR 方面就不會有大的差距,當(dāng)然業(yè)務(wù)本身的差距不在比較范圍內(nèi)。
而對一些中小型的公司來說,AR 可能會更值得關(guān)注,因為 AR 有機會影響移動端的流量分配,一時成為熱門的話,對剛起步的 APP 來說是非常重要的,而明年的 AR 產(chǎn)品會非常有可能制造熱點話題或玩法。對于那些主打 AR 的應(yīng)用來說,不論是游戲,或者是社交,明年都會有更好的環(huán)境和發(fā)展。
這個問題在知乎上有很多人私信問我,類似的問題還有目前想從事 AR 相關(guān)的工作應(yīng)該如何入手?這里仔細回答一下。
首先是算法方面,可以比較明確的說,任何對硬件沒有控制力的公司,想從底層去統(tǒng)一 AR 都是幾乎不可能的,這不僅僅是一個技術(shù)的問題。盡管 ARkit 和 ARCore 目前在功能上還有不足,比如很多人提到的識別、2D/3D跟蹤、語義分析等等,這些后續(xù)都有可延拓的空間,但是兩家 SDK 為了開發(fā)者盡可能簡單的入手,開放的 AP I也相對非常直接,而以上這幾個功能除了識別比較獨立之外,其余都需要和底層算法有相對深入的耦合,這就導(dǎo)致想在這兩家 SDK 上增加功能變的非常困難。
當(dāng)然不排除 Google 未來會開源 ARCore,這樣至少安卓端的 AR 算法還有很多可以做的事情。而相對獨立的識別算法一直是人工智能領(lǐng)域最重點研究的問題,不論是圖像、物體還是人臉,都是熱門的大方向,從事相關(guān)研究的人也比較多,當(dāng)下競爭激烈。
如果拋開手機端來說,高通和部分芯片廠商同樣看到了 AR 的發(fā)展?jié)摿?,基?GPU、DSP 或 FPGA 等特定計算單元的空間定位算法芯片或硬件模組已經(jīng)有一些比較不錯的成果,更不用說最近大熱的人工智能芯片,所以未來的 AR 眼鏡公司也不一定會投入人力去做很多底層算法的事情,因為不和芯片做對接的純算法也是幾乎不可能得到好的體驗。能耗、幀率、性能優(yōu)化等等事情都必須在芯片層面的基礎(chǔ)上去做,這個從 HoloLens 和 其余眼鏡的區(qū)別來看已經(jīng)比較明顯了。
總的來說,AR 算法本身就是一個軟硬結(jié)合的研發(fā)工作,我不能說小公司完全沒有機會,但是難度會非常高,而大公司有資源和人力去投入這沒有什么問題,在 AR 未來相對較長的發(fā)展歷程來說,確實不能一直等硬件公司來滿足業(yè)務(wù)需求,偏重業(yè)務(wù)型的公司可以憑借自身的研發(fā)能力作出好的產(chǎn)品,硬件公司肯定會反向跟進,這對 AR 行業(yè)來說這是一個良性循環(huán)。
其次是引擎方面,這個看似不是一個很值得分析的方面,目前支持 AR 的第一引擎毫無疑問是 Unity,幾乎市面上 80% 的 DEMO 都是用 Unity 開發(fā)的,并且所有算法 SDK 在推出的第一時間都會包含 Unity 的版本。但是這是從完全的 AR 應(yīng)用角度來說,所謂完全的 AR 應(yīng)用即是以 AR 為核心交互的應(yīng)用,這里大部分是游戲,少部分是一些行業(yè)的初級應(yīng)用。這并不是全部的需求,還有很多大型的 AP P都需要 AR 的功能,但這些大型 APP 不可能使用 Unity這么龐大的引擎,至少在 5G 和更大容量的手機存儲標(biāo)準(zhǔn)沒有普及前是不可能的。
大家開發(fā) AR 內(nèi)容最熟悉的引擎
對此有兩種解決辦法,第一個是使用輕量化的 Native 3D 渲染引擎,并且這個引擎需要和市面上的主流 AR SDK 對接良好,這是目前幾乎大部分的大型 APP 的解決方案,市面上所有可以看到的具備 AR 功能的大型 APP 幾乎底層都有一個自研的 3D 引擎。這是一個比較浪費人力的工作,每一家的引擎都或多或少有一些區(qū)別,都是獨立研發(fā)的(目前市面上 3D 引擎開發(fā)非常搶手),所以一個輕量化的,可嵌入大型APP,并且可以對接所有 AR SDK 的 Native 3D 引擎是目前比較稀缺的。
第二個解決方案就是 Web AR,相比 Native 引擎來說,Web AR 具備良好的開放性,不需要更新任何的客戶端代碼,也就沒有大家頭疼的發(fā)版問題(尤其在 iOS 封禁了熱更新之后),所有工作都可以在 Web 端解決,這非常適合一些更新迭代很快并且交互定制型很強的 AR 產(chǎn)品,比如 AR 掃一掃的營銷需求。
ARKit 和 ARCore 都已經(jīng)在 github 上有了 Web AR 的版本,同時國內(nèi)外一些知名的 Web 內(nèi)核也開始增加 AR 的相關(guān)功能,蘋果和 Google 未來也會支持 WebRTC (即 Web端可以訪問調(diào)用攝像頭和語音設(shè)備的技術(shù)),這些都表明業(yè)界非常看好 Web AR 的便利性和發(fā)展。
不過 Web AR 目前也存在一些問題,Web 3D 渲染的性能和覆蓋率目前和 Native 引擎還有一定差距,Web 端和底層算法的對接及同步目前還需要一定的優(yōu)化,體驗距離完全 Native 的方式還有差距(WebRTC 可以優(yōu)化這類問題,但是目前還沒有普及),Web AR 方面人才稀缺,并且未來前景很好,很可能成為AR 發(fā)展的核心技術(shù)之一,不論是公司還是個人都值得大力投入。
如何交互,或許比技術(shù)問題更難以解決
然后是產(chǎn)品和交互方面,這個看似不是一個技術(shù)問題,但卻是目前最難解決的問題。在當(dāng)下 AR 底層技術(shù)剛剛發(fā)展起來還不成熟的時候,交互和產(chǎn)品的設(shè)計都依賴于了解 AR 技術(shù)背后的原理,比如想引導(dǎo)用戶對世界坐標(biāo)系初始化,那么交互設(shè)計自身就需要理解為什么單目算法需要一個初始化的過程以及到底需要如何初始化,如果沒有這個過程可能會帶來怎樣的后果。再比如如何引導(dǎo)用戶在空間移動,這個是之前圖形界面完全不存在的方式,交互設(shè)計師要明白用戶手持手機在空間中移動這本身就是 AR 世界里最重要的一種交互方式。
而在產(chǎn)品層面,產(chǎn)品設(shè)計需要思考 AR 到底帶來的區(qū)別有哪些,如何連接人和物,如何連接人和空間,連接之后要給予用戶哪些刺激讓用戶持續(xù)的互動,目前的算法對空間的理解到了哪種程度,如何最大化的展現(xiàn)給用戶虛實結(jié)合的效果,手持手機的時間最好控制在多久的范圍內(nèi)等等這些問題。
相比于算法或技術(shù)來說,以上這些問題目前還沒有一個好的答案,蘋果在這方面已經(jīng)做出了相關(guān)的一些工作,給交互設(shè)計和產(chǎn)品設(shè)計的建議已經(jīng)發(fā)布出來,這是非常好的開端,當(dāng)然要很好解決這些問題,不僅僅是技術(shù)人員的投入,產(chǎn)品經(jīng)理和交互設(shè)計師,甚至視覺設(shè)計師可能都需要參與一起探索。
Blippar 推出了一款 AR 掃描引擎應(yīng)用
最后也是最關(guān)鍵的,一直在限制 AR 應(yīng)用生態(tài)發(fā)展的核心問題,即真實世界的數(shù)據(jù)化和 3D 化程度不足。眾所周知目前深度學(xué)習(xí)大熱, 但是絕大部分的識別算法除了網(wǎng)絡(luò)結(jié)構(gòu)或參數(shù)本身的調(diào)優(yōu)之外,最依靠的就是訓(xùn)練數(shù)據(jù)本身,不論是物體識別算法,還是基于語義的空間感知算法,如果沒有海量的數(shù)據(jù)進行訓(xùn)練,那么后續(xù)的功能改進都是空談。
知名 AR 工具 Blippar 之前一直在嘗試達到萬物可掃的效果,而且似乎確實某種程度上實現(xiàn)了,但是它選擇了犧牲認知事物的粒度,當(dāng)用戶掃描一雙鞋子的時候其實并不是想知道這是鞋子,可能更想了解的是這是哪一款鞋子,而如果算法需要識別到這么細致的程度,則必須依賴幾乎每一雙鞋子的訓(xùn)練數(shù)據(jù),這方面當(dāng)下還沒有好的數(shù)據(jù)獲得方式,或者說從數(shù)據(jù)采集到標(biāo)注數(shù)據(jù)的整個流程目前還不是很清晰。國內(nèi)在數(shù)據(jù)采集標(biāo)準(zhǔn)方面比較理想的解決方案是眾包平臺,之前很火的人工智能音箱大部分是通過眾包平臺來獲得語音的訓(xùn)練數(shù)據(jù),但是眾包平臺水平參差不齊,也很難保證數(shù)據(jù)的標(biāo)準(zhǔn)和一致性,這個問題還需要很長時間的優(yōu)化發(fā)展才可能幫助 AR 算法更好的理解世界。
內(nèi)容問題,更直接的說即 3D 模型問題,因為 AR 帶來的是全 3D 的世界,而之前圖形界面對應(yīng)的核心內(nèi)容是文字、圖片、視頻等,這些內(nèi)容目前沒有一個好的方式放置在 3D 世界中,或者換句話說,如果僅僅是把 2D 世界的內(nèi)容移植到 3D 世界,對用戶來說并不是一件很有意義的事情。
那么想呈現(xiàn)一個好的 AR 體驗,3D 模型的供給就是基礎(chǔ)中的基礎(chǔ),目前除了游戲或電影領(lǐng)域有大量的人工 3D 建模師以外,在其他領(lǐng)域幾乎很少,之前國內(nèi)知名的幾個電商平臺都發(fā)布過商品 3D 化的計劃,但是目前線上可以看到的 3D 產(chǎn)品依然很少,也側(cè)面說明 3D 化工作的難度。
AR 畢竟不單單是一個游戲工具,除了游戲外,想真正作為一個基礎(chǔ)工具解決實際需求,那么必須有更快捷的方式來生產(chǎn) 3D 模型。說到這里這自然會讓人想到三維重建,當(dāng)下三維重建的硬件和軟件都有很多,但是都還沒有達到足夠成熟的狀態(tài),或者說足夠便利的程度,除了成本相對較高外,三維重建的流程還沒有標(biāo)準(zhǔn)化,不同算法和硬件對于三維重建的對象和操作人員的技術(shù)也有一些要求,這就導(dǎo)致三維重建目前還是一個學(xué)習(xí)成本較高的工作,還需要一段時間的發(fā)展和普及。
基本熱門的問題就是以上這些,從 AR 行業(yè)來看,我認為 ARCore 的發(fā)布代表 AR 技術(shù)全面進入 C 端,后續(xù)會是內(nèi)容和技術(shù)互相促進,更新迭代的時期。在 AR 眼鏡到來之前,手機端是一個不得不做,并且值得做好的平臺,希望 Google 和蘋果可以保持良性競爭的關(guān)系,為大眾帶來體驗更好的技術(shù),同時也希望開發(fā)者們可以喜歡 AR,帶來更多有價值的 AR 應(yīng)用。
相關(guān)文章:
如何評價蘋果在 2017 WWDC 上發(fā)布的 ARKit?
雷峰網(wǎng)特約稿件,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。