• 沒有找到結果。

第三章 背景知識

3.4 相機校正

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

22

發生;此外使用不同的目標視窗大小以及搜尋視窗大小都將影響最後追蹤的結果,

如何針對不同的狀況慎選視窗大小也是需要考量的重要因素。

3.4 相機校正

相機校正是為了從二維影像資訊重建三維立體資訊的重要步驟,透過相機校正 的步驟,可以取得相機內外參數(intrinsic parameters)以及外部參數(extrinsic parameters),減少相機取得影像所產生的形變(distortion)、得到相機的投影矩陣 以及還原拍攝物體與相機之間的三維立體資訊。

內部參數 K 本質上為針孔成像(pin hole model)的原理,以相機鏡頭中心當作針 孔,做針孔成像的投影。其中,內部參數會隨著相機鏡頭的焦點不同而有所變化。

外部參數包含旋轉矩陣 R(Rotation)以及位移向量 T(Translation),代表的是相機相 較於原點位移的距離以及旋轉的角度。取得相機內外部參數通常會使用校正板做 相機校正,先校正出相機內部參數後,再拍攝一張包含校正版的影像,來校正出 相機的外部參數。相機校正我們使用的是現成軟體校正工具[30],先使用相機對 校正板拍攝多張各種不同角度、深度的影像,如圖(圖 12)所示。

圖 12 拍攝包含校正板不同角度以及深度的影像

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

23

取得多張包含校正板之影像後,對所有影像的校正板周圍選取四個點進行內部 相機校正,取得相機的內部參數。如圖(圖 13)所示,即可取得校正板的 x 軸、y 軸以及原點 O。

圖 13 選取影像中四個校正板點做相機校正

校正工具計算出相機的焦距 fc 和相機中心 cc,而 fc 與 cc 為二維向量,相機內 部參數 K 為 fc 以及 cc 所構成,如下式

K = [

𝑓𝑐𝑥 0 𝑐𝑐𝑥 0 𝑓𝑐𝑦 𝑐𝑐𝑦

0 0 1

] ... ( 7 )

取得相機內部參數後,對校正板拍攝一張影像,再經由校正工具即可求出外部參

數,也就是得到以校正板為原點的參考座標系中相機所在的座標位置。

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

24

第四章 標記圖形設計

在擴增實境的應用上,經常會使用到標記圖形做為虛擬物件的定位點,如何設計 一個良好的標記圖形方便於擴增實境中做追蹤以及定位是一個有趣的問題,不少 文章都在探討設計的準則[9],本章將介紹本研究所設計的標記圖形。

標記圖形設計上,設計的方法為兩類,一種為以相關係數比較的作法,例如 ARToolKit,另一種為數位比較的方法,例如 ARTag,此兩種方法各有優缺點,

ARToolKit 使用的是黑色外框的方型卡片,如圖(圖 14),黑色的外框易於區別和 環境之間的差異,並且方形的形狀較為容易辨識,內部資訊將放置於黑色外框之 中,ARToolKit 標記圖形內部資訊是可以任使用者隨意設計,使用彈性佳,適合 用於人機介面互動的專案設計,而辨識的方法為使用相關係數比對,判別標記圖 形的內部資訊。

ARToolKit 設計的缺點在於需要讀取額外的樣板作為相關係數比對的依據,又 因為是使用相關係數的方法,有時將會有標記圖形彼此辨識錯誤的情況發生,或 者是標記圖形不在畫面中,卻出現判斷成功的例子,而造成誤判的狀況。

圖 14 ARToolKit 標記圖形,其外框皆為黑色,為了與環境作區別

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

25

另外一個使用數位比較方法辨別的是 ARTag,ARTag 一樣使用易於與環境作 區別的黑色方型卡(圖 15),但不使用相關係數比對的方法,使用的是數位編碼、

解碼的方式,降低標記圖形之間辨識有可能出現模糊不清的問題,並且增加了容 錯能力,此外,因為透過編碼的方式,將可自動產生出多達 2002 種標記圖形,

但由於是自動產生,其標記圖形將無 ARToolKit 那麼具變化性且可讀性,標記圖 形除了電腦能判讀外,無法直接從標記圖形得知圖形設計的概念,並且 ARTag 使用的是數位比對的方法,若遮蔽住重要的編碼資訊,其辨識結果依然不可靠。

圖 15 ARTag 標記圖形,黑色方框中間為編碼資訊

本研究綜合 ARToolKit 以及 ARTag 的優點,針對面積較小,僅 2.5cm 的標記 圖形作設計,具有以下特色,

1. 矩形邊框設計

由於必頇要滿足擴增實境的即時互動性,因此設計出的標記圖形不可太過 於複雜,否則在偵測標記圖形時將會花費過多的偵測時間使得執行速度無法 滿足即時性的互動。本研究採用矩形形狀的邊框設計,啟發至 ARToolKit 以 及 ARTag…等[8][17][27]的設計,由於矩形形狀簡單,在影像上較為容易偵測

四個點的內插得到矩形中央 4x4 大小的區塊,採用模板比對法(template match) 來判別是否為標記圖形。我們以中央 4×4 大小的區塊作為圖形設計,由於設計的 標記圖形僅有 2.5cm 大小,因此,內部圖形不可太過於複雜,所以本研究不使用 編解碼的方法,我們設計必頇強調簡單且能快速辨識出標記圖形。(圖 16)

圖 16 本研究所設計之四種標記圖形

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

27

第五章 視覺追蹤方法

由於在視覺追蹤上,追蹤物體容易受到外在環境因素影響,例如物體位移、旋轉、

縮放、光照改變…等,使得追蹤結果造成誤差,本章將介紹使用立體視覺的概念,

將以往從二維帄面的追蹤問題提升至三維空間解決,並且透過剛體物件具有同旋 轉量、同位移量的特性,使用多個標記圖形來估測剛體運動的特性,透過群體的 力量來改善追蹤上的誤差,讓追蹤的方法更具強健性。

在視覺追蹤的過程中,遇到一些變數造成追蹤物體的準確度降低之狀況,例 如追蹤物體在短時間內位移量過大、物體受到光照影響使得像素顏色改變、物體 旋轉,物體受到遮蔽…現象,為了讓追蹤物體的方法更具強健性(robust),我們 將參考[14]支持者(supporters)的概念,使用群體的力量來協助追蹤,藉由其他追 蹤準確的特徵點點來估測追蹤的目標點,不會因為追蹤物體之目標點受到外在環 境的變化而使得追蹤物體產生追蹤錯誤的狀況發生,我們能透過其他良好的特徵 群將這些錯誤的追蹤修正,此方法將會是本研究的核心。

我們將採用擴增實境中常使用的方法,使用標記圖形的方法作為本研究的核心,

使用標記系統相較於無標記系統能取得較穩定的特徵點,由於標記系統的特徵是

人造的,很容易可以快速且準確的辨識出標記圖形的位置,但無標記系統使用的

是自然特徵擷取,例如上節所提到的 Harris Corner,然而這些特徵很容易受到外

界因素所影響,使用標記系統至少能維持一定的準確性,這也是我們採用標紀圖

作視覺追蹤,使用一致性隨機取樣方法(RANdom SAmple Consensus, RANSAC)

來挑選出最佳的旋轉矩陣以及位移矩陣模型

,使得前一時間的三維座標點可以乘

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

30

的好處在於 HSV 色彩空間具有一些抗光性,能減少光照變化所產生的影響,

並且由於我們的標記圖形為彩色影像,轉換成 HSV 空間將更有利於環境中取 得彩色影像的資訊。

3. 影像二值化

為了往後步驟計算方便,將上述處理過的結果做影像二值化處理(圖 20),

當滿足設定的門檻值,將其像素值調成白色,否則調成黑色,其門檻值為 H < 0.08 或 H > 0.8 且 S > 0.4 且 V > 0.2

H、S、V 代表 HSV 空間中的色相、飽和度和明度。

門檻值得取得方式為在各種不同角度以及各種不同光源下拍攝具有標記圖 形的影像,以人工的方式篩選出影像,並且對這些篩選出的影像做 HSV 空間 的統計分析,以 x 軸作為 H、S、V 的範圍值,最小值為 0 最大值為 1,採取 區間為 0.1,y 軸統計每個區間數值的數量,我們發現統計的分部為常態分佈,

因此,我們可以求得鐘形曲線的帄均值以及標準差,由於鐘形曲線取加減三 被的標準差機率為 99.7%,因此,我們以帄均值加減三倍標準差為門檻值(取 得標記圖形影像的機率為 99.7%)。

圖 19 包含標記圖形影像

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

31

圖 20 影像二值化

4. 過濾雜訊

實際影像上一定會有些雜訊存在,為了消除這些雜訊,我們藉由連通元件 (connected component)過濾雜訊(圖 21),將像素屬於白色的部分使用連通元件 連接起來,計算每一個連通元件的面積大小,當該連通元件面積大小符合我 們所給定的門檻值,我們將該連通元件的位置投射至相對的原始影像,也就 是從 1600x1200 解析度的原始影像中把對應區域篩選出來,門檻值的大小將 會影響此系統追蹤範圍的大小,當門檻值範圍定義越大,將可以取得較近且 較遠的影像資訊,但相對來說,必頇要計算更多的標記圖形辨識,因此,最 好選用一定距離的可視範圍來調整門檻值大小是比較適當的。

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

32

圖 21 使用 connected component 過濾雜訊

,並找出面積範圍值的影像(綠色方框部分)

5. 尋找矩形

將對應的區域篩選出來後,先對區域影像做 Canny 邊緣偵測,取得影像的 邊緣資訊後,透過輪廓偵測,將影像的輪廓萃取出來,在透過 OpenCV 近似 多邊形的方法(cvApproxPoly 函式),找出可能是矩形的輪廓,並且判斷該輪 廓是否具有四個角點以及是否具有凸包(convex hull)的特性,兩者都滿足才被 挑選出來視為矩形的部分,將這些含有矩形部位的區域作為標記圖形的候選 人,並且進行下一個步驟的判斷。

6. 判別標記圖形

我們希望利用內插的方法取得標記圖形的內部資訊進行標記圖形辨識,透 過矩形的四個角點做內插法,可以內插出矩形邊上的資訊,在對矩形的邊做 一次內插,即可取得矩形內所有像素值的資訊,我們藉由取得中間 4x4 大小 內插出來的內部資訊(圖 22),與我們預先存好的模板做比對(圖 23),為了使 得所有方向都能判別,每個標記圖形的模板將有四個方向的模板,接著使用 ZNCC 來比對該矩形是否為標記圖形並且判別出標記圖形的方位。

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

33

圖 22 內插矩形中所有點的資訊(紅點)

5.1.2 尋找對應標記圖形

為了更有效率於第二台相機尋找對應的標記圖形,本節將會說明如何藉由極線 幾何提高搜索標記圖形的精度以及增加效率。

我們藉由極線幾何(epipolar geometry)的特性,如圖(圖24)所示,假設Q點為物 體上的某一個三維座標點,並且該點可被兩部相機C

L

以及C

R

所拍攝到,形成影 像I

1

以及I

2

,Q點座標點投影置影像I

1

、I

2

上分別為q

L

以及q

R

兩點,此時三維座標 點Q、q

L

、q

R

以及相機中心所構成的帄面為極線帄面(epipolar plane)。將相機中心 C

L

以及C

R

分別交於I

1

、I

2

上,產生e

L

以及e

R

於I

1

以及I

2

上,將e

L

與q

L

以及e

R

與q

R

圖 23 系統中 16 個比對模板

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

34

連線即可得到兩對應點的極線。我們可以從極線上大略知道物體對應點的分佈位 置關係,只需要比對極線附近的特徵點,即可找到兩影像之間的對應點,在I

1

上 的特徵點,我們在I

2

的極線上做搜尋標記圖形,採用ZNCC來比對極線上可能為 標記圖形的區域,將原本搜尋空間從原本二維影像降至為一維空間並且也提高對 應點的精確度。接下來,將這些可能為標記圖形的區域做標記圖形辨識,取得標 記圖形的資訊。

圖 24 極線幾何

5.1.3 計算三維座標

為了取得三維座標做後續更精確的定位,我們將取得相機的內外部參數,從相 機的內外部參數可以推得個別的投影矩陣,由兩相機的投影矩陣計算三維座標,

本節將說明如何由內外部參數計算投影矩陣計算出三維座標。

我們希望藉由相機參數校正取得相機內外部參數,藉由內外部參數可以計算該 影像之投影矩陣,取得兩張影像的投影矩陣 P,P’,計算實際三維座標點位置,

投影矩陣與實際座標和投影座標的關係為

x = X ... ( 8 ) x′=P′X ... ( 9 )

,其流程將一一說明。

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

35

首先,我們拍攝 20 張含有校正板的影像作為相機校正的資料,如圖(圖 25、圖 26),使用 Camera Calibration Toolbox[30]此工具取得內外部參數,在我們取得內 外部參數之後,即可將影像之投影矩陣個別求出。

圖 25 相機校正資料

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

36

圖 26 相機校正資料分布圖

假設已知兩張影像的投影矩陣為 P,P’,實際三維座標點的位置為 X,

X = (X1, Y1, Z1),兩張影像的投影點座標為x,x′,其中假設x = (u, v),x = (𝑢, 𝑣′),

為了簡化矩陣計算,我們採用均質表示法(homogeneous representation)而將公式 改寫為,將 X,x,x′改寫成X = [X1 Y1 Z1 1]𝑇, x = [𝑢 𝑣 1]𝑇,x= [𝑢 𝑣 1]𝑇,投 影矩陣與實際座標和投影座標的關係為x = X, x= ′X,計算投影矩陣公式為

= K1[𝑅1|𝑇1] ... ( 10 )

= K2[𝑅2|𝑇2] ... ( 11 ) 相機投影矩陣由相機內外部參數所構成,其中 K 為相機內部參數所集合的矩陣,

R 為相機外部參數的旋轉矩陣(rotation matrix),T 為外部參數的帄移矩陣

(translation matrix),我們透過 K、R、T 的計算即可算出投影矩陣,並且透過投 影矩陣計算影像中的投影點座標。

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

40

點的角點座標,以標記圖形中心點為特徵原點,其餘四點為標記圖形的角點,座 標個別為中點:(0,0,0)、左上:(-1.25,1.25,0)、右上:(1.25,1.25,0)、左下(-1.25,-1.25,0)、

右下(1.25,-1.25,0)為標記圖形的座標軸系統,我們將這個座標軸系統對應至三維

空間中,標記圖形的三維座標,需要將原始的座標軸系統作座標轉換,對應到我

們系統中所使用的三維座標系統,因此,我們必頇要取得座標系統的旋轉以及位

移,讓虛擬物件也能轉換置與標記圖形具有相同的旋轉位移的效果,為了達到這

個目的,使用上節所述 Arun 的方法,取得旋轉以及位移的轉換矩陣,將虛擬物

件的每個點乘上座標轉換的旋轉矩陣加上位移向量,及可將物體與標記圖形作關

連。

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

41

第六章 實驗結果

6.1 無標記系統影像追蹤實驗

我們希望藉由本實驗發現目前處理視覺追蹤會遇到的一些問題,我們實驗的資 料大小為 512x240 長約 1 分鐘的短片,實驗流程如圖所示(圖 28)。

首先,使用

Harris 角點偵測法(Harris corner detector)找尋影片中邊角較明顯的

點作為特徵點,將特徵點萃取後設為本實驗欲追蹤物體的點。接著我們將在欲追 蹤的特徵點框選一個已特徵點為中心,大小為 10x10 的搜尋視窗範圍(search window size)並且採用 ZNCC 為計算前後影格之追蹤點的區域影像相似度,計算 出來的數值越高並且為正值代表其正相關相似度越高,而數值低但為正值代表是 低度正相關,反之,數值越高並且為負值代表為負相關。接著我們所選擇的特徵 點局部區域大小為 5x5,我們將在搜尋視窗範圍(search window size)內搜尋相似 度較高並且為正相關的 ZNCC 值之特徵點為該追蹤點的對應點,並且該點必頇 大於等於 ZNCC 相似度值 0.8 才將之視為正確的對應點,若該對應點之 ZNCC

首先,使用

Harris 角點偵測法(Harris corner detector)找尋影片中邊角較明顯的

點作為特徵點,將特徵點萃取後設為本實驗欲追蹤物體的點。接著我們將在欲追 蹤的特徵點框選一個已特徵點為中心,大小為 10x10 的搜尋視窗範圍(search window size)並且採用 ZNCC 為計算前後影格之追蹤點的區域影像相似度,計算 出來的數值越高並且為正值代表其正相關相似度越高,而數值低但為正值代表是 低度正相關,反之,數值越高並且為負值代表為負相關。接著我們所選擇的特徵 點局部區域大小為 5x5,我們將在搜尋視窗範圍(search window size)內搜尋相似 度較高並且為正相關的 ZNCC 值之特徵點為該追蹤點的對應點,並且該點必頇 大於等於 ZNCC 相似度值 0.8 才將之視為正確的對應點,若該對應點之 ZNCC

相關文件