增強現實(Augmented Reality,簡稱AR)是一種實時地計算攝影機影像的位置及角度并加上相應圖像的技術,最早于1990年提出。包含了多媒體、三維建模、實時視頻顯示及控制、多傳感器融合、實時跟蹤及注冊、場景融合等新技術與新手段,它将計算機生成的虛拟物體或關于真實物體的非幾何信息疊加到真實世界的場景之上,實現了對真實世界的增強。
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可以更好的應用到移動設備上。
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實現中,可以用來輔助虛實注冊的信息隻有頭盔上位置傳感器。
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!