用戶對現實世界感知的新技術。一般認為,AR技術的出現源于虛擬現實技術(Virtual Reality,簡稱VR)的發展,但二者存在明顯的差別。傳統VR技術給予用戶一種在虛擬世界中完全沉浸的效果,是另外創造一個世界;而AR技術則把計算機帶入到用戶的真實世界中,通過聽、看、摸、聞虛擬信息,來增強對現實世界的感知,實現了從“人去適應機器”到技術“以人為本”的轉變。
AR技術原理
AR從其技術手段和表現形式上,可以明確分為大約兩類,一是Vision based AR,即基于計算機視覺的AR,二是LBS basedAR,即基于地理位置信息的AR。
Vision based AR
基于計算機視覺的AR是利用計算機視覺方法建立現實世界與屏幕之間的映射關系,使我們想要繪制的圖形或是3D模型可以如同依附在現實物體上一般展現在屏幕上,如何做到這一點呢?本質上來講就是要找到現實場景中的一個依附平面,然后再將這個3維場景下的平面映射到我們2維屏幕上,然后再在這個平面上繪制你想要展現的圖形,從技術實現手段上可以分為2類:
1、 Marker-Based AR
這種實現方法需要一個事先制作好的Marker(例如:繪制著一定規格形狀的模板卡片或者二維碼),然后把Marker放到現實中的一個位置上,相當于確定了一個現實場景中的平面,然后通過攝像頭對Marker進行識別和姿態評估(Pose Estimation),并確定其位置,然后將該Marker中心為原點的坐標系稱為Marker Coordinates即模板坐標系,我們要做的事情實際上是要得到一個變換從而使模板坐標系和屏幕坐標系建立映射關系,這樣我們根據這個變換在屏幕上畫出的圖形就可以達到該圖形依附在Marker上的效果,理解其原理需要一點3D射影幾何的知識,從模板坐標系變換到真實的屏幕坐標系需要先旋轉平移到攝像機坐標系(Camera Coordinates)然后再從攝像機坐標系映射到屏幕坐標系。
在實際的編碼中,所有這些變換都是一個矩陣,在線性代數中矩陣代表一個變換,對坐標進行矩陣左乘便是一個線性變換(對于平移這種非線性變換,可以采用齊次坐標來進行矩陣運算)。公式如下:
矩陣C的學名叫攝像機內參矩陣,矩陣Tm叫攝像機外參矩陣,其中內參矩陣是需要事先進行攝像機標定得到的,而外參矩陣是未知的,需要我們根據屏幕坐標(xc ,yc)和事先定義好的Marker 坐標系以及內參矩陣來估計Tm,然后繪制圖形的時候根據Tm來繪制(初始估計的Tm不夠精確,還需要使用非線性最小二乘進行迭代尋優),比如使用OpenGL繪制的時候就要在GL_MODELVIEW的模式下加載Tm矩陣來進行圖形顯示。
2、 Marker-Less AR
基本原理與Marker based AR相同,不過它可以用任何具有足夠特征點的物體(例如:書的封面)作為平面基準,而不需要事先制作特殊的模板,擺脫了模板對AR應用的束縛。它的原理是通過一系列算法(如:SURF,ORB,FERN等)對模板物體提取特征點,并記錄或者學習這些特征點。當攝像頭掃描周圍場景,會提取周圍場景的特征點并與記錄的模板物體的特征點進行比對,如果掃描到的特征點和模板特征點匹配數量超過閾值,則認為掃描到該模板,然后根據對應的特征點坐標估計Tm矩陣,之后再根據Tm進行圖形繪制(方法與Marker-Based AR類似)。
LBS-Based AR
其基本原理是通過GPS獲取用戶的地理位置,然后從某些數據源(比如wiki,google)等處獲取該位置附近物體(如周圍的餐館,銀行,學校等)的POI信息,再通過移動設備的電子指南針和加速度傳感器獲取用戶手持設備的方向和傾斜角度,通過這些信息建立目標物體在現實場景中的平面基準(相當于marker),之后坐標變換顯示等的原理與Marker-Based AR類似。
這種AR技術利用設備的GPS功能及傳感器來實現,擺脫了應用對Marker的依賴,用戶體驗方面要比Marker-Based AR更好,而且由于不用實時識別Marker姿態和計算特征點,性能方面也好于Marker-Based AR和Marker-Less AR,因此對比Marker-Based AR和Marker-Less AR,LBS-Based AR可以更好的應用到移動設備上。
-
計算機視覺
+關注
關注
8文章
1696瀏覽量
45928 -
增強現實
+關注
關注
1文章
712瀏覽量
44927
原文標題:傳感器專業微信群,趕緊加入吧!
文章出處:【微信號:WW_CGQJS,微信公眾號:傳感器技術】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論