Facebook的應(yīng)用機器學(xué)習(xí)(Applied Machine Learning, AML)團隊將人工智能的較新研究成果轉(zhuǎn)化到新產(chǎn)品中,并將Oculus計算機視覺部門早期完成的工作用到大規(guī)模構(gòu)建和部署SLAM中。

揭秘Facebook SLAM技術(shù),如何為人們生活增添奇幻的藝術(shù)色彩?

想象一下,你可以在當(dāng)?shù)氐墓珗@四處漫步,就能看到那些滅絕的動物和恐龍龍;你也可以隨處打開一扇“任意門”,一座繁華的城市就會出現(xiàn)在眼前;你還可以在房間里面建造自己的城堡,肆意涂鴉。

諸多類似的情景將不再只是腦中的幻想或科幻小說中的神奇世界,F(xiàn)acebook現(xiàn)在正通過手機上的相機APP,借助增強現(xiàn)實的力量,改變?nèi)藗兛创車澜绲姆绞健?/p>

要實現(xiàn)這一目標(biāo),不僅需要實時建立并更新周圍環(huán)境的地圖,還需要準(zhǔn)確地估計手機相機相對于該地圖的位置和方向。這種技術(shù)一直以來是計算機視覺和機器人研究領(lǐng)域中的一項重大挑戰(zhàn),也就是實時定位和構(gòu)圖 (Simultaneous Localization and Mapping ,簡稱SLAM)。

為了實現(xiàn)在移動設(shè)備上運行SLAM,研究人員已經(jīng)花費了40多年的時間。 SLAM技術(shù)最早可追溯到1986年,Smith的系列論文《空間位置的表達與估計》,研究和解決未知環(huán)境中的機器人導(dǎo)航問題。但早期的SLAM往往依賴價格昂貴或?qū)iT定制的傳感器,例如激光雷達,聲吶或立體相機,這項技術(shù)并未走入市場。

隨著現(xiàn)代智能手機技術(shù)的發(fā)展,幾乎所有的手機都配備了攝像頭、陀螺儀和加速度傳感器,硬件的進步幫助SLAM技術(shù)得到更廣泛的傳播和應(yīng)用。 

今天,SLAM不僅可用于增強現(xiàn)實技術(shù),而且還適用于其他場景,包括無人駕駛汽車、家庭服務(wù)機器人和微創(chuàng)手術(shù)機器人等。為了開發(fā)出實現(xiàn)虛擬信息和真實世界間的無縫連接的AR工具,F(xiàn)acebook的工程師們在以下三個方面進行了很多努力和嘗試,最終推出了高性能的移動端開發(fā)工具和代碼庫。

1、種類繁多的移動設(shè)備需量身定制

Facebook平臺提供的SLAM庫集成了多種算法,包括ORB-SLAM,SVO和LSD SLAM,并基于較新的技術(shù)對庫做了性能優(yōu)化。但要想在移動設(shè)備上輕松地實現(xiàn)頻率60Hz的SLAM系統(tǒng)是非常困難的。

首先,手機每隔16毫秒就捕捉一次圖像;其次,圖像中提取到的特征點數(shù)量將達到數(shù)百個,且還要將它們與前一幀中的特征點進行匹配;最后,使用三角測量法來計算出每個點在3D空間中的對應(yīng)位置。如此繁多的步驟,必然會耗費大量的處理時間。因而對系統(tǒng)做細致的優(yōu)化工作就十分必要,得思考這些算法如何運行才能更高效。

除此之外,F(xiàn)acebook生態(tài)系統(tǒng)中的移動設(shè)備種類十分繁多,從具有高質(zhì)量相機的高端手機(例如iPhoneX,Pixel 2 XL)到計算能力和資源非常有限的舊設(shè)備。每種型號對應(yīng)的相機校準(zhǔn)模型都具有不同的焦距、主點和失真參數(shù)。因而會導(dǎo)致嚴(yán)重的兼容性問題,務(wù)必要確保SLAM系統(tǒng)可以向下兼容。只有確保每一個參數(shù)真實有效,才能以亞像素的精度將3D點準(zhǔn)確地投射到相機空間。

此外,移動設(shè)備通常配備的是具有自動對焦和自動曝光功能的卷簾式相機,隨著相機聚焦的物體的遠近變化,校準(zhǔn)也會發(fā)生變化。

除相機以外,時常會添加IMU(慣性測量單元,用于感知設(shè)備的加速度和旋轉(zhuǎn))來輔助定位。將視覺與IMU融合可以減小低動態(tài)時IMU的誤差累積,IMU則可以減小高動態(tài)時視覺的誤差。同時IMU的角速度可以解決單目SLAM的二義性,加速度還可以提供重力方向參考,解決單目VO的尺度問題。IMU傳感器使用前也需要校準(zhǔn),并要與相機進行時鐘同步。

我們在優(yōu)化每個模型的時候,都會先從粗調(diào)開始,再進行微調(diào),確保最后配置的SLAM系統(tǒng)是最優(yōu)且高效的。

2、應(yīng)用程序需要及時瘦身

在Android或iOS的應(yīng)用程序商店中,F(xiàn)acebook的App算是很復(fù)雜的應(yīng)用程序了。Facebook正在努力為應(yīng)用程序不斷添加令人興奮的新功能的同時,保持了應(yīng)用所需空間的大小。最初的SLAM庫是在Oculus開發(fā)的,為了適用不同的案例場景,適用了多個大型開源庫,導(dǎo)致程序大小約為40MB。后來通過保留最小SLAM功能,并使用普通的Facebook庫重構(gòu)它,將大小降低至1MB以下。

3、追求卓越藝術(shù)表現(xiàn),不斷探索技術(shù)新思路

要讓移動AR展現(xiàn)令人注目的藝術(shù)色彩,僅依靠SLAM技術(shù)是不夠的。去年十一月,我們就開始了先進次探索,利用SLAM技術(shù)將場景中的物體進行三維重構(gòu),并將喜愛的3D藝術(shù)投影到它的表面上,結(jié)果引起了強烈反響。

之后,為改善用戶體驗,實現(xiàn)了人們可以直接通過手勢來控制3D藝術(shù)圖案的放置、切換、旋轉(zhuǎn)、平移、縮放的操作。這種友好的交互方式使得人們可以準(zhǔn)確地構(gòu)成他們期望的作品。不僅如此,還可以對場景加以分析,讓程序可以自動識別特定的位置來放置AR內(nèi)容,對物體的幾何形狀的提取并計算,也能使虛擬的物體投影到物體表面時看起來更逼真。

當(dāng)然,SLAM技術(shù)也有失敗的時候,比如動態(tài)場景中的目標(biāo)干擾會導(dǎo)致算法出錯。為此,我們將SLAM與多個跟蹤算法結(jié)合,不同算法之間采用umbrella 交互協(xié)議,將之命名為WorldTracker API。SLAM主要使用點或者線特征來估計場景幾何,而目標(biāo)跟蹤算法主要是基于目標(biāo)的外觀,對特定像素區(qū)域的外觀進行追蹤。SLAM在靜態(tài)場景中更有優(yōu)勢,而基于外觀的跟蹤器對場景中的動態(tài)變化更為魯棒。

當(dāng)前版本的World Tracker中包含了SLAM和基于視覺與陀螺儀增強的跟蹤器,保證了當(dāng)出現(xiàn)圖像像素運動模糊或紋理少的表面也能估計出準(zhǔn)確的運動。算法會根據(jù)移動設(shè)備的硬件性能和算法結(jié)果的準(zhǔn)確性來切換SLAM和跟蹤器,兩者互相補充、相互協(xié)調(diào)。 

揭秘Facebook SLAM技術(shù),如何為人們生活增添奇幻的藝術(shù)色彩?

 那么Facebook的Slam技術(shù)到底表現(xiàn)如何呢?我們來看看展示AR與藝術(shù)結(jié)合創(chuàng)造出美妙的Demo。

Facebook邀請品牌藝術(shù)家Heather Day到門洛帕克校區(qū),來共同完成先進以AR技術(shù)驅(qū)動藝術(shù)表現(xiàn)的項目。

揭秘Facebook SLAM技術(shù),如何為人們生活增添奇幻的藝術(shù)色彩?

首先,應(yīng)用機器學(xué)習(xí)團隊會通過相機捕捉Heather任意時刻的動作,包括倒油漆,刷畫筆,畫圖或制作任何圖案,并將記錄下的動作添加到數(shù)字庫中,最終的藝術(shù)作品將在虛擬世界中完成。

隨后,應(yīng)用機器學(xué)習(xí)團隊還與Heather商議確定動畫師需要的圖像,以及動作,豐富AR的內(nèi)容。最后,利用定位技術(shù)和場景幾何分析,將Heather的虛擬藝術(shù)作品完美的投影到真實世界并展示。

揭秘Facebook SLAM技術(shù),如何為人們生活增添奇幻的藝術(shù)色彩?

在今年的F8開發(fā)者大會上,觀眾們欣賞到了Heather的藝術(shù)作品,隨著音樂的節(jié)奏,像瀑布一樣從墻上流到地面,栩栩如生,美麗動人。同樣的,只要打開手機攝像頭,并打開 Facebook的App,你可以在任意時間任意地點欣賞到Heather的作品。SLAM技術(shù)和創(chuàng)造性思維,讓我們見識技術(shù)與藝術(shù)如何交織在一起,徹底消除了科學(xué)與藝術(shù)之間、虛擬與現(xiàn)實之間的界限。

未來的發(fā)展方向

AR為我們提供了無數(shù)種新的方式來更好的認識、體驗和感受世界。盡管我們已經(jīng)在增強現(xiàn)實技術(shù)的發(fā)展道路了邁進了一大步,但是路漫漫其修遠兮,仍需上下而求索。下一步目標(biāo)便是再次基礎(chǔ)上不斷優(yōu)化改進,以實現(xiàn)更好的地理定位技術(shù)和持久用戶體驗,不斷開發(fā)出像Demo所展現(xiàn)出的AR應(yīng)用。

隨著機器學(xué)習(xí)和深度學(xué)習(xí)的發(fā)展,虛擬信息可以“理解”真實世界,讓二者的融合更趨于自然,目前正在探索如何結(jié)合深度神經(jīng)網(wǎng)絡(luò)和Caffe2的力量來創(chuàng)建更完整的SLAM地圖,處理動態(tài)目標(biāo),添加語義信息,并實現(xiàn)與Facebook生態(tài)系統(tǒng)高度結(jié)合的持久AR體驗,以實現(xiàn)科幻電影般身臨其境的效果。

虛擬信息將成為我們現(xiàn)實生活的一部分,將這些數(shù)據(jù)與信息以人類理解的自然方式和真實世界連接起來,構(gòu)建虛擬的數(shù)字生態(tài)圈,豐富人類的未來生活,是我們共同的愿景,這也會是一場全新的認知革命。