AR從其技術(shù)手段和表現(xiàn)形式上,可以明確分為大約兩類,一是Vision based AR,即基于計(jì)算機(jī)視覺的AR,二是LBS basedAR,即基于地理位置信息的AR。
Vision based AR
基于計(jì)算機(jī)視覺的AR是利用計(jì)算機(jī)視覺方法建立現(xiàn)實(shí)世界與屏幕之間的映射關(guān)系,使我們想要繪制的圖形或是3D模型可以如同依附在現(xiàn)實(shí)物體上一般展現(xiàn)在屏幕上,如何做到這一點(diǎn)呢?本質(zhì)上來講就是要找到現(xiàn)實(shí)場景中的一個(gè)依附平面,然后再將這個(gè)3維場景下的平面映射到我們2維屏幕上,然后再在這個(gè)平面上繪制你想要展現(xiàn)的圖形,從技術(shù)實(shí)現(xiàn)手段上可以分為2類:
1、 Marker-Based AR
這種實(shí)現(xiàn)方法需要一個(gè)事先制作好的Marker(例如:繪制著一定規(guī)格形狀的模板卡片或者二維碼),然后把Marker放到現(xiàn)實(shí)中的一個(gè)位置上,相當(dāng)于確定了一個(gè)現(xiàn)實(shí)場景中的平面,然后通過攝像頭對(duì)Marker進(jìn)行識(shí)別和姿態(tài)評(píng)估(Pose Estimation),并確定其位置,然后將該Marker中心為原點(diǎn)的坐標(biāo)系稱為Marker Coordinates即模板坐標(biāo)系,我們要做的事情實(shí)際上是要得到一個(gè)變換從而使模板坐標(biāo)系和屏幕坐標(biāo)系建立映射關(guān)系,這樣我們根據(jù)這個(gè)變換在屏幕上畫出的圖形就可以達(dá)到該圖形依附在Marker上的效果,理解其原理需要一點(diǎn)3D射影幾何的知識(shí),從模板坐標(biāo)系變換到真實(shí)的屏幕坐標(biāo)系需要先旋轉(zhuǎn)平移到攝像機(jī)坐標(biāo)系(Camera Coordinates)然后再從攝像機(jī)坐標(biāo)系映射到屏幕坐標(biāo)系。
在實(shí)際的編碼中,所有這些變換都是一個(gè)矩陣,在線性代數(shù)中矩陣代表一個(gè)變換,對(duì)坐標(biāo)進(jìn)行矩陣左乘便是一個(gè)線性變換(對(duì)于平移這種非線性變換,可以采用齊次坐標(biāo)來進(jìn)行矩陣運(yùn)算)。公式如下:
矩陣C的學(xué)名叫攝像機(jī)內(nèi)參矩陣,矩陣Tm叫攝像機(jī)外參矩陣,其中內(nèi)參矩陣是需要事先進(jìn)行攝像機(jī)標(biāo)定得到的,而外參矩陣是未知的,需要我們根據(jù)屏幕坐標(biāo)(xc ,yc)和事先定義好的Marker 坐標(biāo)系以及內(nèi)參矩陣來估計(jì)Tm,然后繪制圖形的時(shí)候根據(jù)Tm來繪制(初始估計(jì)的Tm不夠精確,還需要使用非線性最小二乘進(jìn)行迭代尋優(yōu)),比如使用OpenGL繪制的時(shí)候就要在GL_MODELVIEW的模式下加載Tm矩陣來進(jìn)行圖形顯示。
2、 Marker-Less AR
基本原理與Marker based AR相同,不過它可以用任何具有足夠特征點(diǎn)的物體(例如:書的封面)作為平面基準(zhǔn),而不需要事先制作特殊的模板,擺脫了模板對(duì)AR應(yīng)用的束縛。它的原理是通過一系列算法(如:SURF,ORB,F(xiàn)ERN等)對(duì)模板物體提取特征點(diǎn),并記錄或者學(xué)習(xí)這些特征點(diǎn)。當(dāng)攝像頭掃描周圍場景,會(huì)提取周圍場景的特征點(diǎn)并與記錄的模板物體的特征點(diǎn)進(jìn)行比對(duì),如果掃描到的特征點(diǎn)和模板特征點(diǎn)匹配數(shù)量超過閾值,則認(rèn)為掃描到該模板,然后根據(jù)對(duì)應(yīng)的特征點(diǎn)坐標(biāo)估計(jì)Tm矩陣,之后再根據(jù)Tm進(jìn)行圖形繪制(方法與Marker-Based AR類似)。
LBS-Based AR
其基本原理是通過GPS獲取用戶的地理位置,然后從某些數(shù)據(jù)源(比如wiki,google)等處獲取該位置附近物體(如周圍的餐館,銀行,學(xué)校等)的POI信息,再通過移動(dòng)設(shè)備的電子指南針和加速度傳感器獲取用戶手持設(shè)備的方向和傾斜角度,通過這些信息建立目標(biāo)物體在現(xiàn)實(shí)場景中的平面基準(zhǔn)(相當(dāng)于marker),之后坐標(biāo)變換顯示等的原理與Marker-Based AR類似。
這種AR技術(shù)利用設(shè)備的GPS功能及傳感器來實(shí)現(xiàn),擺脫了應(yīng)用對(duì)Marker的依賴,用戶體驗(yàn)方面要比Marker-Based AR更好,而且由于不用實(shí)時(shí)識(shí)別Marker姿態(tài)和計(jì)算特征點(diǎn),性能方面也好于Marker-Based AR和Marker-Less AR,因此對(duì)比Marker-Based AR和Marker-Less AR,LBS-Based AR可以更好的應(yīng)用到移動(dòng)設(shè)備上。
應(yīng)用數(shù)據(jù)科學(xué)研究法
機(jī)器學(xué)習(xí)和深度學(xué)習(xí)算法的優(yōu)化計(jì)算能力:
AR增強(qiáng)現(xiàn)實(shí)的技術(shù)支撐
識(shí)別與跟蹤技術(shù)
在實(shí)現(xiàn)增強(qiáng)現(xiàn)實(shí)的過程中,需要對(duì)真實(shí)的場景和信息進(jìn)行分析,生成虛擬事物信息。這兩步看似簡單,其實(shí)在實(shí)際進(jìn)行過程中,需要將攝像機(jī)獲得的真實(shí)場景的視頻流,轉(zhuǎn)化成數(shù)字圖像,然后通過圖像處理技術(shù),辨識(shí)出預(yù)先設(shè)置的標(biāo)志物。
識(shí)別出標(biāo)志物之后,一標(biāo)志物作為參考,結(jié)合定位技術(shù),由增強(qiáng)現(xiàn)實(shí)程序確定需要添加的三維虛擬物體在增強(qiáng)現(xiàn)實(shí)環(huán)境中的位置和方向,并確定數(shù)字模板的方向。將標(biāo)志物中的標(biāo)識(shí)符號(hào)與預(yù)先設(shè)定的數(shù)字模板鏡像匹配,確定需要添加的三維虛擬物體的基本信息。生成虛擬物體,并用程序根據(jù)標(biāo)識(shí)物體位置,將虛擬物體放置在正確的位置上。這其中涉及到的識(shí)別跟蹤和定位問題,是增強(qiáng)現(xiàn)實(shí)的最大的難題之一。
要實(shí)現(xiàn)虛擬和現(xiàn)實(shí)事物的完美結(jié)合,必須確定虛擬物體在現(xiàn)實(shí)環(huán)境中準(zhǔn)確的位置,準(zhǔn)確的方向,否則增強(qiáng)現(xiàn)實(shí)的效果就會(huì)大打折扣。而在現(xiàn)實(shí)環(huán)境中,由于現(xiàn)實(shí)環(huán)境的不完美性,或者稱為復(fù)雜性,增強(qiáng)現(xiàn)實(shí)系統(tǒng)在這種環(huán)境下的效果遠(yuǎn)不如在實(shí)驗(yàn)室的理想環(huán)境中。由于現(xiàn)實(shí)環(huán)境中的遮擋,未聚焦,光照不均勻,物體運(yùn)動(dòng)速度過快等問題,對(duì)增強(qiáng)現(xiàn)實(shí)的跟蹤定位系統(tǒng)提出了挑戰(zhàn)。
如果不考慮與增強(qiáng)現(xiàn)實(shí)進(jìn)行交互的設(shè)備,其主要實(shí)現(xiàn)跟蹤定位的方法有如下兩種:
圖像檢測(cè)法
使用模式識(shí)別技術(shù)(包括模板匹配,邊緣檢測(cè)等方法),識(shí)別獲得的數(shù)字圖像中預(yù)先設(shè)置的標(biāo)志物,或是基準(zhǔn)點(diǎn),輪廓,然后根據(jù)其偏移距離和偏轉(zhuǎn)角度計(jì)算轉(zhuǎn)化矩陣確定虛擬物體的位置和方向。
這種方法進(jìn)行跟蹤定位不需要其他的設(shè)備,而且精確度較高,因此是增強(qiáng)現(xiàn)實(shí)技術(shù)中最常見的定位方法。在模板匹配時(shí),系統(tǒng)會(huì)預(yù)先存儲(chǔ)好多種模板,來和圖像中檢測(cè)到的標(biāo)志物匹配來計(jì)算定位。簡單的模板匹配可以提高圖像檢測(cè)的效率,因也為增強(qiáng)現(xiàn)實(shí)的實(shí)時(shí)性提供了保障。通過計(jì)算圖像中標(biāo)志物的偏移和偏轉(zhuǎn),也能夠做到三維虛擬物體的全方位觀察。模板匹配一般用于對(duì)應(yīng)特定圖片三維成像,設(shè)備通過掃描特定的圖片,將這些圖片中的特殊標(biāo)志位與預(yù)先存儲(chǔ)的模板匹配,即可呈現(xiàn)三維虛擬模型。比如汽車店的車模卡片,玩具公司的人物卡片,都可以用模板匹配來進(jìn)行增強(qiáng)現(xiàn)實(shí)。邊緣檢測(cè)可以檢測(cè)出人體的一些部位,同時(shí)也可以跟蹤這些部位的運(yùn)動(dòng),將其與虛擬物體物體無縫融合。比如,真實(shí)的手提起虛擬的物體,攝像機(jī)可以通過跟蹤用戶手的輪廓,運(yùn)動(dòng)方式來調(diào)整虛擬物體的方位。因此,許多商場的虛擬商品實(shí)用,多會(huì)使用邊緣檢測(cè)。
雖然圖形檢測(cè)法簡單高效,但也有其不足的地方。圖像檢測(cè)多用于相對(duì)理想的環(huán)境以及近距離的環(huán)境,這樣獲得的視頻流和圖像信息會(huì)清晰,易于進(jìn)行定位計(jì)算。而如果在室外環(huán)境中,光線的明暗,物體的遮擋,以及聚焦問題,使得增強(qiáng)現(xiàn)實(shí)系統(tǒng)不能很好的識(shí)別出圖像中的標(biāo)志物,或是出現(xiàn)和標(biāo)志物相似的圖像,這樣都會(huì)影響增強(qiáng)現(xiàn)實(shí)的效果。而此時(shí),就需要其他跟蹤定位方法的輔助。
全球衛(wèi)星定位系統(tǒng)法
這種方法是基于詳細(xì)的GPS信息進(jìn)行跟蹤和確定用戶的地理位置信息。當(dāng)用戶在真實(shí)環(huán)境中行走時(shí),可以利用這些定位信息和用戶攝像機(jī)的方向失誤,增強(qiáng)現(xiàn)實(shí)系統(tǒng)能將虛擬信息和虛擬物體精確的環(huán)境景物以及周圍的人物之上。目前由于智能設(shè)備的普及,智能手機(jī)的廣泛應(yīng)用,而又由于智能手機(jī)具有支持基于GPS定位法的增強(qiáng)現(xiàn)實(shí)系統(tǒng)的基本組件:攝像機(jī),顯示屏,GPS功能,信息處理器,數(shù)字羅盤等,并把它們集成為一體,因此這種跟蹤定位法多用于這種智能移動(dòng)設(shè)備上。一種稱為增強(qiáng)現(xiàn)實(shí)瀏覽器的應(yīng)用程序,主要就是應(yīng)用這種方法。增強(qiáng)現(xiàn)實(shí)瀏覽器能夠在智能手機(jī)上運(yùn)行,它可以連接互聯(lián)網(wǎng),搜索相關(guān)的信息,然后讓用戶在真實(shí)的環(huán)境看到相關(guān)的信息。增強(qiáng)現(xiàn)實(shí)瀏覽器能夠可以讓用戶了解到攝像機(jī)方向的幾乎所有事物的信息,比如找到一家距離很近但是被遮擋住的餐廳,或是獲取用戶對(duì)一家咖啡館的評(píng)價(jià)。
這種定位方式適合于室外的跟蹤定位,可以克服在室外環(huán)境中,光照,聚焦等不確定因素對(duì)圖像檢測(cè)法造成的影響。
其實(shí)在增強(qiáng)現(xiàn)實(shí)系統(tǒng)實(shí)際運(yùn)用的環(huán)境中,往往不會(huì)用單一的定位方法來定向定位。比如增強(qiáng)現(xiàn)實(shí)瀏覽器也會(huì)運(yùn)用圖像檢測(cè)法來檢測(cè)一些特定的符號(hào),例如QR碼。識(shí)別出QR碼在進(jìn)行模板匹配,即可為用戶提供信息。