6. ABSTRACT
The technique of augmented reality (AR) is to augment 3D virtual objects into
real images. Individual can interact with 3D virtual objects using tracking and
registration methods. Visual tracking is the most popular tracking approach used in
AR system, and markers are simply and generally used for identification and
tracking. Moreover, natural feature or marker-less identification and tracking is
getting more and more important and can be widely used in numerous applications.
Therefore, many natural feature extraction and object tracking schemes are
developed to efficiently identify and track natural objects. However, few of
platforms are designed to verify different tracking algorithms for AR system. In this
thesis, a novel tracking verification platform for AR environment, ARStudio, is
proposed. ARStudio is on the basis of ARToolKit, and integrates the library of
OpenCV and OpenGL. Furthermore, we modularize each component such as image
capture, image transform, visual tracking, image rendering, for the purpose of
independent usage and design. Users can select different displaying windows, and
easily demonstrate results by using drag and drop. Experimental results manifest that
ARStudio can be used for the purpose of verifying tracking schemes and AR
applications.
:
Keywords Augmented Reality, Markerless, Virtual Reality, Visual Tracking, Feature
Tracking, Natural Features.
iv
47. 圖 2.36 針孔攝影機模型[52]。
在圖 2.36中可看到兩個相似三角形,利用相似三角形原理推得:
h H H
或 h f
f D D (2.1)
其中各個參數說明如下:
(1) f 是攝影機焦距。
(2) D 是攝影機到物體的距離。
(3) H 是物體實際高度。
(4) h 是 Image plane 中物體的圖像高度。
將整個應用擴展到三維空間,並將整個光學軸(Optical Axis)往下移位,其
目的在於消除負號,讓所有的計算都在光學軸之上。在基本的針孔攝影機模型
中,將投影中心放置在歐氏座標系統(Euclidean Coordinate)的原點,並將影像平
面放置在Z 軸上距離原點為 f 的位置。在此針孔攝影機模型之下,一個在三維
空間的點 Q (X, Y, Z) T ,其投影至二維影像上的q點,其中 q ( x screen , y screen ) 。也就
是由投影中心與三維座標點Q之連線和成像平面之交點,如圖 2.37所示。
35
48. 圖 2.37 針孔攝影機模型之投影關係圖[52]。
將座標為 ( X , Y , Z ) 之物理點 Q 映射到投影平面上座標為 ( x screen , y screen ) 之點q的
過程稱為投影變換(Projective Transform),而齊次座標可把維度為n的投影空間
上的點用(n+1)維向量表示;換句話說,二維平面投影空間,可以使用一個三維
向量 q (q1 , q 2 , q 3 ) 來表示該平面的點,如公式(2.2)所示,其中λ為一比例係數,
因為投影空間上的所有比例不變,因此可以透過除以 q 3 來計算實際之像素座標
值。
xq q1
y q
q 2 (2.2)
f
q3
藉由前面所提之相似三角形的原理,可推算出三維座標點 Q (X, Y, Z) T 投影
X Y
到影像平面上之二維點 q ( f , f ) T ,故可獲得從三維空間投影至二維空間之
Z Z
映射關係。其中的投影中心又稱之為攝影機中心(Camera Center)或光學中心
(Optical Center),Z軸稱之為主軸(Principal Axis),而主軸與影像平面的交點稱之
為主點(Principal Point)。對於大部分影像呈現採用矩形而非正方形,故針對X軸
與Y軸分別定義兩個不同之焦距 f x 與 f y ,透過公式 (2.1)推得投影平面上座標:
36
49. H X
x screen f x f x
D Z
(2.3)
H Y
y screen f y f y
D Z
然而公式(2.3)是在假設影像平面座標系統之原點是落在主點之上。不過事
實上並不完全是如此,其與主點的位置會有一位移存在,如圖 2.38所示。重新
整理如公式(2.4)所示:
X
x screen f x c x
Z
(2.4)
Y
y screen f y c y
Z
圖 2.38 影像座標系統 ( x, y ) 與攝影機座標系統 ( xcam , y cam ) 。
從公式(2.4)中可知 c x 與 c y 分別代表x與y上的偏移量,不過為了便於後續討
論,在此暫且將移位值忽略。接下來討論如何從攝影機座標系轉成影像座標系,
37
50. f
將公式(2.2)重新定義表示成公式(2.5),其中 。
Zc
xc X c
y Y
c c (2.5)
f
Zc
將三維空間座標點與二維影像座標點均採用齊次座標系統來表示,整個三
維空間轉換二維空間的投影關係以齊次座標之線性映射(Linear Mapping)重新
表示成公式(2.6)。
X c
x c 1 0 0 0
y 0 1 0 0 Yc
c Z (2.6)
f 0 0 1 0 c
1
將攝影機座標系以 Q c 表示,而影像座標系以 qi 表示。故非齊次座標可表示
成公式(2.7),而齊次座標表示成公式(2.8),並重新整理公式(2.6)推得公式(2.9)。
Xc Yc
xi f , yi f (2.7)
Zc Zc
X
f 0 0 0 c f 0 0 0
qi 0 0 0 c 0 0 0 Q c
Y
f Z f (2.8)
0
0 1 0 c 0
1 0 1 0
38
51. X
fX c f 0 0 0 c f 0 0 0
fY 0 0 0 c 0 0 0Qc
Y
f Z f (2.9)
c
Zc 0
0 1 0 c 0
1 0 1 0
其 中 三 維 空 間 點 表 示 為 Qc ( X c , Yc , Z c ,1) T , 二 維 影 像 點 表 示 為
q c ( fX c , fYc , Z c ) T ,而中間 3x4 的矩陣以 M diag ( f , f ,1)I | 0 來表示,並將其稱為
攝影機投影矩陣(Camera Projection Matrix),則公式(2.9)可以簡化為公式(2.10):
q c MQc (2.10)
前面為了便於討論,將位移值忽略,若重新加入位移則公式(2.9)表示成公
式(2.11)。
X
fX Zc x f 0 cx 0 c
fY Zc 0 f cy 0 c
Y
y Z (2.11)
Z 0
0 1 0 c
1
再將其中攝影機投影矩陣的部分表示成下式:
f 0 cx
K 0
f cy
(2.12)
0
0 1
則公式(2.11)式可被表示成一更簡潔的形式如(2.13)所示,其中矩陣K稱為
攝影機校正矩陣(Camera Calibration Matrix)。
39
52. q c K I | 0Qc (2.13)
一般而言,在真實空間下的三維座標皆以世界座標系統來表示,而非以相
機座標系統(Camera Coordinate),所以在這之間還有一個座標轉換的動作,在二
個座標系統之間的關係,可用旋轉(Rotation)與位移(Translation)來轉換,如圖
2.39所示。
( R, t ) X w
Y
Qw w
Zw
1
x
q
y
圖 2.39 世界座標系統 Q w 與攝影機座標系統 Q c 之轉換圖[52]。
假設 Q 為一在世界座標系統下之三維座標點,齊次座標點以
Q w (X w , Yw , Z w ,1) T 表示;而 Q c 表示為在相機座標系統下之相對三維座標點,則
Q w 與 Q c 之關係可經由一位移矩陣T與一旋轉矩陣R來表示,其中位移向量t表示
攝影機在世界座標系統之位置,而R表示攝影機之方向,故將之表示成公式
40
53. (2.14):
R11 R12 R13 T1 X w
R R23 T2 Yw R3 x 3 T3 x1 Rt
R22 R
Qc 21
Q w 0 T
R33 T3 Z w 01x 3 1
Qw (2.14)
R31 R32
T
1 4x4
0 0 0 1 1
並將之導入公式(2.13)式,則可得
X w
f cx
Rt Yw
0
R
q 0 cy T KRI | t Qw
1 Z w
f 0 (2.15)
0 0 1
1
公式(2.15)即為針孔攝影機模型一般的投影關係式,相機投影矩陣則為
M KRI | -t ,其自由度(Degrees Of Freedom)為 9;其中K為 3 個 ( f , c x , c y ) 、R為
3 個和t為 3 個。包含在K 矩陣之中的參數,稱之為攝影機之內部參數(Intrinsic
Parameter),而參數R和t則稱之為攝影機之外部參數(Extrinsic Parameter)。所謂
內部參數是用來定義相機座標與影像座標之關係,而外部參數則是用來定義相
機座標與世界座標之關係,可透過相機校正來獲得這些參數。
另外,在真實的感光耦合元件(Charge Coupled Devices, CCD)相機中,物理
意義上的像素在X方向與Y方向之量值不一定為 1 比 1。換句話說,如果影像上
的像素並非 1 比 1,則必須在X 與Y 方向各導入一個比例參數 (q x , q y ) 來做調
整;因此感光耦合元件相機之相機校正矩陣K 可表示成公式(2.16)。
41
54. fx 0 cx
K 0
fy cy
(2.16)
0
0 1
其中, f x fq x , f y fq y 。另外,在感光耦合元件相機中,在物理意義上的
像素也不一定是矩形,而 X 軸與 Y 軸有一歪斜的參數 s ,最後將整個完整的
感光耦合元件相機校正矩陣表示為:
fx s cx
K 0
fy cy
(2.17)
0
0 1
因此整個呈現過程是經過多重的座標系統轉換,若不考慮過多的參數,則
針孔攝影機模型之投影可用公式(2.18)表示 對於整個攝影機之參數矩陣計算採
。
用Heikkila和Silven[22]的方法,這也是OpenCV內部所採用之方法。
1 0 0 0
R Rt
q K 0 1 0 0 T Qw K R | Rt Qw MQw
1
0 (2.18)
0 0 1 0
重新整理各個參數說明如下:
(1) 二維影像上的 q 點。
(2) 三維座標點 Q。
(3) 三維齊次座標點 Qw。
(4) 三維攝影機座標點 Qc。
(5) M 稱為攝影機投影矩陣。
(6) K 稱為攝影機校正矩陣。
42
55. (7) R 稱為旋轉矩陣。
(8) T 稱為位移矩陣。
(9) t 稱為位移向量。
2.2.4. 三維物件顯示
上一節介紹了針孔攝影機模型的運作原理,在三維電腦繪圖領域中,也運
用類似的觀念,只不過其需要經過更多的座標系統轉換,這樣才能使物體以適
合的位置、大小與方向顯示出來,依據OpenGL Programming Guide [53] 與
Computer Graphics Using OpenGL[54]書籍整理座標系統轉換流程如圖 2.40所
示。三維虛擬物件要有三維空間呈現之效果,其必須將三維物件透過相關的幾
何座標轉換轉成人類所接受之座標,再利用投影變換矩陣來將影像轉換成二維
影像,除此之外還需要仿造人類的視野來決定哪些影像將呈現在顯示設備上,
除此之外,面對不同的顯示設備還有不同設備間之座標轉換要處理,整個詳細
流程就不在此討論。
圖 2.40 三維虛擬物件呈現流程。
在擴增實境的應用中,要將三維虛擬物件融入真實環境之中,首先必須將
三維立體物件仿造攝影機擷取影像的原理來運作,最後利用三維繪圖技術將真
實環境與三維立體虛擬物件做疊加的動作,如此才能達到將虛擬物件融入真實
環境之中。
43
59. 型。然後,使用目前的圖像中減去背景圖片來偵測移動像素。其中影像片段中
固定不變的部份視作背景,再將每一畫格上的像素與背景影像進行相減後得到
差異強度影像,若差異大於給定之門檻值,則視該點為移動像素或稱之為前景,
但它對不斷的明暗變化和移動的攝影機處理效果不彰。
I ( x, y ), if I k ( x, y ) Bk ( x, y ) Td
Fk ( x, y ) k (2.19)
0, Otherwise
其中 Fk ( x, y ) 代表第 k 個畫格時,前景影像 Fk 上點 ( x, y) 的灰階值,灰階值等
於 0 就代表該點屬於背景; I k 為第 k 個畫格的影像; Bk 為第 k 的畫格時的背
景影像; Td 為差異強度門檻值。
背景影像相減法最為關鍵之地方在於一開始如何從影像片段中擷取出背
景,目前也已經有許多不同的方法被提出,最常見的有Longa等人[24]的採取訓
練片段進行平均之平均法以及Lai等人[25]的統計每個像素上灰階值出現頻率之
投票法。
2.3.2.2. 時序差異法
時序相減法最大的優點是不必預先產生背景影像,其基本運作方式是將連
續影像中的前後兩個畫格直接相減後得到差異強度影像,再配合門檻值分離出
前景影像,如公式(2.20)所示:
I ( x, y ), if I k ( x, y ) I k 1 ( x, y ) Td
Fk ( x, y ) k (2.20)
0, Otherwise
其中 Fk ( x, y ) 代表第 k 個畫格時,前景影像 Fk 上點 ( x, y ) 的灰階值,灰階值
47