• 沒有找到結果。

使用最小平方法尋找最適合的平面

二、 三維點資料處理之基本理論

2.1 使用最小平方法尋找最適合的平面

首先要找出一個合適的平面,所有特徵點到該平面之距離為最小值;則該平 面之法向量(normal vector)為特徵點資料集合之特徵方向。使用最小平方法

(Least squares fitting)尋找最適合的平面[27][28][29][30][31][32][33]

是為了找出特徵點資料集合的特徵方向。

k i pi,1≤ ≤ points

of set a Given

定義一個平面,經過xr0,其法線向量為ar,則其平面公式為:

0

0 )

( − 0 = → ⋅ = ⋅ 0 = → − =

x x a x a x c a x c

ar r r r r r r rTr (2.1.1) 1

with arTar =

c subject to

min.

上述之最佳化問題可用 Lagrange Multipliers Method 求得理論解,其求解過程 先假設 Lagrange 函數:

將公式(2.1.7)、(2.1.8)帶入公式(2.1.6),可得:

0

利用公式(2.1.8)、(2.1.12)可將公式(2.1.3)整理如下:

λ

由公式(2.1.4)( 2.1.10)( 2.1.13)可知最佳化問題之解為[M]矩陣之最小特徵值 之特徵向量,該特徵向量即為所求平面之法向量。

2.2 尋找一個最適合多點三維點資料之拋物面

尋找出一個拋物面(Paraboloid),三維點資料樣本到該拋物面的距離為最小 值。

給一組三維點資料樣本 {(xi,yi,zi)}im=1 ,並且假設其確實位於拋物面上。

)

6

2.3 座標轉換矩陣(transformation matrix)

於各種座標系統中的轉換可以透過簡單的矩陣運算達到其目的,本研究使用 的座標轉換矩陣可分為三種:1、平移(translation);2、旋轉(rotation);3、

映像(mapping)[34][35][36]。

2.3.1 平移

使用矩陣形式,公式(2.3.1)可以表示成下列形式:

Trans [34](2.3.2)

2.3.2 旋轉

x1y1z1 座標系統 y 軸方向之單位向量; ax,ay,az 分別為元素 x2,y2,z2 依 據 x2y2z2 座標系統看 x1y1z1 座標系統 z 軸方向之單位向量。

三、 三維點資料處理與應用之軟體系統發展

隨著數位條紋投射法發展之日益成熟,為了改進設備取得之便利性與購買設備所 需之經費,Color Fringe Projection System[37] (附錄 A)將以往數位條紋投射法 使用之 DLP 投影機改成 LCD 數位投影機,將 CCD 相機以大眾市場導向之數位相機取代 之,這樣便可以拿掉相機控制裝置與 Unix 系統工作站,直接使用個人電腦進行控制。

Color Fringe Projection System 硬體架設示意圖如圖 3.1 所示。

圖 3.1 Color Fringe Projection System 硬體架設示意圖

以數位條紋投射法擷取待測物體之條紋影像並且使用程式 Color Fringe

Projection System 運算取得左右相機視角之三維點資料後,便可使用三維點資料進 行對位與整合等後處理的工作。三維點資料對位可分為三步驟:

一、讀取三維點資料。

二、選取特徵點。

三、進行三點對位。

三維點資料整合可分為三步驟:

一、重新佈點。

二、混成。計算每一點混成之高度值。

三、網格化鋪面。輸出一組三維點資料,並且完成網格化鋪面。

最後可以藉由剖面圖取得的運算來取得待測物體三維外形之剖面圖,得以對物體 之三維外形進行分析與比較。

3.1 讀取三維點資料

分別讀取左右相機視角擷取之三維點資料檔案,其附檔名為".tst";由於 本研究是採用掃瞄線形式作為點資料的儲存格式,故在讀取點資料之時,將同一 條 掃 瞄 線 上 之 所 有 點 資 料 使 用 AutoCAD 2002 之 內 建 指 令 “ 三 維 多 點 連 線 (3dpolyline)"連成一條線。左右相機視角取得之原始石膏像模型如圖 3.2 與 3.3 所示。左右相機視角取得之石膏像模型條紋圖像如圖 3.4 與 3.5 所示。左右相機 視角取得之三維點資料檔案以 3D 掃瞄線圖像形式表現,如圖 3.6~圖 3.9 所示。

圖 3.2 左邊相機原始圖像 圖 3.3 右邊相機原始圖像

圖 3.4 左邊相機條紋投射圖像 圖 3.5 右邊相機條紋投射圖像

圖 3.6

左邊視角相機取得之三維點資料

圖 3.7

左邊視角相機取得之三維點資料

圖 3.8

右邊視角相機取得之三維點資料

圖 3.9

右邊視角相機取得之三維點資料

3.2 選取特徵點

選擇方便使用於特徵對位之特徵點。挑選三維圖像中具有強烈特徵之單點三 維點資料;若該特徵點為周遭區域三維外形起伏之頂點,可使用下列方式選得欲 選取之三維頂點特徵點資料。

1. 先點選該特徵頂點附近之任何一點 P,如圖 3.10 所示。

圖 3.10 選取特徵點附近之任何一點

2. 使用距離比較法找出整組三維點資料中距離點 P 最近之 1000~1500 個 點,如圖 3.11 與圖 3.12 所示。

圖 3.11

距離選取點最近之 1400 點資料

圖 3.12

距離選取點最近之 1400 點資料

3. 找出一個合適的平面,可以使步驟 2 所取得之距離點 P 最為相近的所有三 維點資料到欲求平面之距離總和為最小值;求得平面之法向量為步驟 2 所取得之所有特徵點資料集合之特徵方向。將其所有特徵點資料帶入矩陣

T k

i

i T

i p pp

k p

M =

r r − rr

=

1 ) ( ] [

1

之中,並且求解該矩陣之特徵值與特徵向量;選 取最小特徵值之特徵向量即為選取特徵點資料集合之特徵方向其單位向 量。該特徵向量方向與選取特徵點資料集合之關係會如圖 3.13 與圖 3.14 所示。

圖 3.13 找出特徵點資料集合 之特徵平面法向量

圖 3.14 找出特徵點資料集合 之特徵平面法向量

4. 根據步驟 3 所求得之單位法向量,利用座標轉換矩陣依序將所有步驟 3 選取之特徵點資料集合從原先位於之世界座標系統 XYZ 中轉換至新定 義的模型座標系統 xyz 中,其中新定義的模型座標系統 xyz 之 z 軸 方向於座標系統 XYZ 中之單位方向向量必須與求得之單位法向量相 同,並且其原點必須位於原先世界座標系統中所有選取之特徵點資料之

) , ,

(x y z 平均值上面。

5. 在模型座標系統 xyz 中,使用距離比較法找出距離點 P 最近之 50~250 個點作為拋物面特徵點資料集合,如圖 3.15 與圖 3.16 所示。

圖 3.15 帶入方程式(3.2.1)與方程式(3.2.2)中,可求得拋物面未知常數

)

⎥⎥

三維點資料之對位方式非常多樣化,根據數位條紋投射法取得的三維點資料

origin

2

⎥⎥ origin

' respect to

with

9. 將 B 組點資料從 XYZ 座標系統轉換至 x'y'z' 座標系。

br3 Br3 Br1

= (br3

位於x'y'z' 座標系統中)

1 3

3 A A

a r r

= (ar3 本來位於 XYZ 座標系統中,將其從 XYZ 座標系統 轉至 x'y'z' 座標系統)

投影 ar3br3

y'z' 平面 (忽略 x' 方向之值)。 利用方程式 ar3br3 = ar3 br3 cosθx 可求得θx

10.將 B 組點資料(位於x'y'z' 座標系統中)依據 x' 軸旋轉 θx 。 ⇒Rot(x',θx)(旋轉後 B 組點資料依舊位於x'y'z' 座標系統中)

11.將 B 組點資料依據公式(3.3.3)從 x'y'z' 座標系統轉至 XYZ 座標系 統中;此時 A、B 兩組點資料皆位於 XYZ 座標系統中。

對位結果以第一對位點為分割線,以左暫時取左邊相機之三維點資料顯示,

以右暫時取右邊向機經過轉換對位之三維點資料顯示,如圖 3.19 與 3.20 所示。

圖 3.19 對位結果

圖 3.20 對位結果-臉部特寫

3.4 重新佈點(resampling)

由於兩組原先由掃瞄線形式組成的三維點資料,經過三維對位過程的多次平 移與旋轉之後,兩組三維點資料間之關係近乎等於兩組隨機三維點資料間之關 係;為了兩組三維點資料間的點資料格式有其共通性,用以方便進行整合混成的 運算,必須進行重新佈點的運算。

先點選一矩型之斜對角兩點定義重新佈點之範圍(圖 3.21),將所有的三維 點資料投影至 xy 平面,於選取之矩形範圍內自行定義佈點數量,總佈點數目

n n

Np = × 。

圖 3.21 選取重新佈點之矩型範圍

搜尋定義點距離投影至 xy 平面點資料之最近三點,並且透過該三點三維點 資料原本之三維位置,定義出一平面;將其平面方程式之 (x,y) 帶入定義點之

) ,

(x y 值,藉以求得該定義點之高度值 z 。

重複同樣的步驟 NP 次,即可得到經過重新佈點之三維點資料,如圖 3.22、

圖 3.23 所示。由於最後使用 AutoCAD 指令 3dmesh 來進行網格化鋪面之緣故,自 行定義佈點之數目不得大於 255×255 。

(a)左側視角 (b)右側視角

圖 3.22 左邊視角三維點資料經重新佈點後之三維點點狀圖

(a)左側視角 (b)右側視角 圖 3.23 右邊視角三維點資料經重新佈點後之三維點點狀圖

3.5 混成

混成步驟最主要的意義在於使兩組三維點資料整合成一組三維點資料,並且 不單只是做結合的動作,而是期望完成一個使整合後之三維點資料既平滑又不失 真的接合運算。

依照三維點資料特性之不同,可選擇不同之混成公式;本研究於對位整合軟 體中提供三種混成函數以供選擇,分別如以下所示:

(其中 S 為左邊視角相機取得之三維點資料中進行混成的點, i D 為右邊i 視角相機取得之三維點資料中進行混成的點, B 為混成出的點資料,i 為點編i 號,i=0,1,2,...,Nblend −1。)

1. 平均混成(Average Blending),如圖 3.24 所示:

2 / ) (( i i

i S D

B = +

(a)左側視角 (b)右側視角

圖 3.24 平均混成結果點圖

2. 線性混成(Linear blending),如圖 3.25 所示:

) 1 /(

) )

1

(( − − × + × −

= blend i i blend

i N i S i D N

B

(a)左側視角 (b)右側視角

圖 3.25 線性混成結果點圖

3. 二次混成(Quadratic blending) ,如圖 3.26 所示:

] ) 1 /[(

] )

1

[(N i 2 S i2 D N i 2 i2

Bi = blend − − × i + × i blend − − +

(a)左側視角 (b)右側視角

圖 3.26 二次混成結果點圖

三種函數運算結果最主要的差異點在於結果三維點資料之左右兩側與左右兩 相機取得之兩組三維點資料之相關度。使用越高次的混成公式,左側之形狀與左 側相機取得之三維點資料之相關度就越高,右側亦然;相關度的大小依序為二次 混成>線性混成>平均混成。但若使用越高次的混成公式,兩組點資料銜接點的 落差會越明顯,故必須依據三維點資料的特性來選擇使用混成之公式;對於三維 點資料兩側失真較嚴重的三維點資料來說,一般是建議使用二次混成,分別取兩 組點資料最準確的部分來作為最終點資料的資料點。

3.6 網格化鋪面

將三維點資料以點的形式並無法很平順的表達出真實物體的三維曲線,為了 方便瀏覽物體的三維外形,必須進行網格化鋪面的運算。本研究以 AutoCAD 內建 參數"3dmesh"進行網格化鋪面的運算,已降低網格化鋪面運算所需要之時間。

3dmesh 指令使用流程為:

1. 鍵入指令 3dmesh。

2. 輸入在 m 方向之 mesh 尺寸。

3. 輸入在 n 方向之 mesh 尺寸。由於 3dmesh 指令所能允許之尺寸大小為 2~

255 之間,所以若三維點資料於 m 或 n 方向大於 255 的時候,必須將點分 次輸入,依序網格化鋪面,再將其組合起來。

4. 從 m=0,n=0 開始,接著 m=0,n=1 依序將目標點資料之三維座標依序輸入,

直到 m=m size,n=n size 為止,就結束 3dmesh 指令。

本研究之三維點資料整合於對位形式將以上流程寫成『Mesh Integration』、

『Mesh Left』、『Mesh Right』等三個指令;『Mesh Left』為針對左邊視角相機所 取得之三維點資料進行網格化鋪面,如圖 3.27 所示;『Mesh Right』為針對右邊 視角相機所取得之三維點資料進行網格化鋪面,如圖 3.28 所示。『Mesh

Integration』為針對整合完成之三維點資料進行網格化鋪面,分別呈現平均混 成、線性混成與二次混成之網格化鋪面圖,如圖 3.29、圖 3.30 與圖 3.31 所示。