AR增強現實,是用戶對現實世界感知的新技術。
一般認為,AR技術的出現源于虛擬現實技術(Virtual Reality,簡稱VR)的發展,但二者存在明顯的差別。
傳統VR技術給予用戶一種在虛擬世界中完全沉浸的效果,是另外創造一個世界;而AR技術則把計算機帶入到用戶的真實世界中,通過聽、看、摸、聞虛擬信息,來增強對現實世界的感知,實現了從“人去適應機器”到技術“以人為本”的轉變。
AR技術原理
AR從其技術手段和表現形式上,可以明確分為大約兩類,一是Vision based AR,即基于計算機視覺的AR,二是LBS basedAR,即基于地理位置信息的AR。
01、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類似)。
02、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可以更好的應用到移動設備上。
03、AR增強現實系統組成
1、Monitor-based系統
在基于計算機顯示器的AR實現方案中,攝像機攝取的真實世界圖像輸入到計算機中,與計算機圖形系統產生的虛擬景象合成,并輸出到屏幕顯示器。
用戶從屏幕上看到最終的增強場景圖片。它雖然不能帶給用戶多少沉浸感,但卻是一套最簡單使用的AR實現方案。
由于這套方案的硬件要求很低,因此被實驗室中的AR系統研究者們大量采用。
2、Video see-through系統
頭盔式顯示器(Head-mounted displays-HMD)被廣泛應用于虛擬現實系統中,用以增強用戶的視覺沉浸感。
增強現實技術的研究者們也采用了類似的顯示技術,這就是在AR中廣泛應用的穿透式HMD。
根據具體實現原理又劃分為兩大類,分別是基于視頻合成技術的穿透式HMD(video see-through HMD)和基于光學原理的穿透式HMD(optical see-through HMD)。
Video see-through增強現實系統實現方案
3、Optical see-through系統
在上述的兩套系統實現方案中,輸入計算機中的有兩個通道的信息,一個是計算機產生的虛擬信息通道,一個是來自于攝像機的真實場景通道。
而在optical see-through HMD實現方案中去除了后者,真實場景的圖像經過一定的減光處理后,直接進入人眼,虛擬通道的信息經投影反射后再進入人眼,兩者以光學的方法進行合成。
4、三種系統結構的性能比較
三種AR顯示技術實現策略在性能上各有利弊。
在基于monitor-based和video see-through顯示技術的AR實現中,都通過攝像機來獲取真實場景的圖像,在計算機中完成虛實圖像的結合并輸出。
整個過程不可避免的存在一定的系統延遲,這是動態AR應用中虛實注冊錯誤的一個主要產生原因。
但這時由于用戶的視覺完全在計算機的控制之下,這種系統延遲可以通過計算機內部虛實兩個通道的協調配合來進行補償。
而基于optical see-through顯示技術的AR實現中,真實場景的視頻圖像傳送是實時的,不受計算機控制,因此不可能用控制視頻顯示速率的辦法來補償系統延遲。
另外,在基于monitor-based和video See-through顯示技術的AR實現中,可以利用計算機分析輸入的視頻圖像,從真實場景的圖像信息中抽取跟蹤信息(基準點或圖像特征),從而輔助動態AR中虛實景象的注冊過程。而基于optical see-through顯示技術的AR實現中,可以用來輔助虛實注冊的信息只有頭盔上位置傳感器。
審核編輯:何安
-
增強現實
+關注
關注
1文章
712瀏覽量
44945
發布評論請先 登錄
相關推薦
評論