第二章理論基礎
本章節將講述研究系統所需之基本原理,包含幾何圖元與三維轉換、特 徵點偵查、相機內部參數、相機投射原理、影像三角法以及立體視覺法之基 礎原理,以便作為後續章節重建系統之基礎理論。
2.1 幾何圖元與轉換
現實空間可表示成一個三維函數 f(x,y,z),幾何圖元利用點、線、面去描 述三維空間的物體型態。二維點可以表示為一個二維函數 g(x,y) ,其中 x 和 y 是影像中的像素座標,於座標中相對應值 f(x,y) 的大小稱為該點的強度 (intensity) 。 二 維 也 可 以 用 齊 次 座 標 (Homogeneous coordination) 表 示 ,
) 2
,~ ,~ (~
~ x y w P
x ,其中 P2 稱為二維投影空間。一個齊次向量x可以轉換成 非齊次向量。~x (x~,y~,w~) w~(x,y,1) w~x 。
2.2 鄰近點的處理
利用臨域處理(neighborhood operation),我們會利用遮罩(mask)的形式,
如圖 2-1,圖 2-2 所示,移動遮罩至下一個中心點,把遮罩的數值代入後,重 新調整中心點的值。
M(-1,-1) M(-1,0) M(-1,1)
M(0,-1) M(0,0) M(0,1)
M(1,-1) M(1,0) M(1,1)
M(-1,0)
M(0,-1) M(0,0) M(0,1)
M(1,0)
(a) (b)
圖 2-1 (a)八方遮罩 ;(b) 四方遮罩
圖 2-2 臨域處理示意圖
2.3 影像向量
我們利用影像向量算出.先積分計算整個物體面積,並且與當下像素值作 乘積。便可以得到物體的影像向量(image moment)。下式(1)(2)為影像向量的 表示法。
0
其中
s
為隨意比例因子(arbitrary scale factor)。三維透視投影法中的齊次 矩陣是我們想求解的目標,式子如下:表 2-1: 三維座標轉換
2.5 三維對二維的投影
藉由上式我們可以知道如何將三維空間幾何圖元表示成矩陣,接著我們 探 討 將 三 維 投 影 到 二 維 的 關 係 性 , 主 要 分 成 兩 種 方 式 , 分 別 為 正 交 (Orthographic projection),另一個為透視法(Perspective projection)。
2.5.1 正交投影法
正交法可以近似遠的焦距鏡,相較於相機,目標物的深度資訊會縮到很 小,在世界座標系只需要再調整尺度,可以寫成:
sI p
x
22| 0
(2-11)此模型可從區域性平行影像平面中找到投影至世界坐標系的關係。當使 用 structure from motion 時,此方法可以修正相機與物件的關係式。
2.5.2 透視投影法
將空間中的目標物 p 點投影到影像中,如下圖 2-1。其中 Oc是相機中心,
矩陣Ms參數有八個,三個參數表示轉移 Rs,三個參數表示移動 cs,另
其中 K 稱為校正矩陣,代表的是相機內部參數(intrinsic parameter)。
w w我們使用 QR-Factoriztion,將 K 分解成上三角矩陣,如下式:
圖 2-5 Epipolar geometric
由於我們不知道攝影機的位置,我們先將第一張相機中心,c1 設為原
其中向量 t=c2-c1,而 p-c1與 p-c2在同一平面上。c1,c2分別為攝影機中 心。
在兩邊都共乘 ˆx1以後會得到下式:
ˆ 0 ] ˆ [ ) ˆ
]
ˆ
1([
0 1 1 10
x t
R x d x t
x
d
(2-21)因 為 右 邊 式 子 是 一 個 三 重 積 (triple product) 與 兩 個 恆 等 項 (identical entries)。 因此我們可以得到 epipolar constraint。
ˆ 0 ˆ
1E x
0
x
T (2-22)其中
E [ t ]
R
稱為本質矩陣(essential matrix)其中在第一張圖片裡,essential matrix E 對應的 ˆx0會在 epipolar line l0 上,因為xˆ1Tl1 0,所以 ˆx0當對應到第二張圖片中,l1 Eˆx0。
第三章 影像系統建立
本章節將依據第二章理論基礎,發展其本研究目的所需之平面模型的適 當點。並說明其流程。
3.1 物體型態
本論文之研究重建二維物件模型之適當點,讓我們在用機器手臂夾取 時,可以夾得更穩固,不會因為外力干擾,或震動而脫落。我們會參考 Pedro J. Sanz[8]對於平面物體的描述,並且新增輪廓編號紀錄物體型態,在計算時 可以更快的紀錄我們所要的夾取點。
3.1.1 平面向量
我們利用形狀判別,來進行預測夾取平面物件的位置.之前 Pedro J.
Sanz[8]已經定義了物件的曲率門檻,角度門檻,距離門檻.藉由這些門檻以幫 助算出夾取點.如下圖 3-1
Finger1
Finger2 Imin
Central
圖 3-1 夾取穩定的狀態點
3.1.2 轉換色域
利用彩色的 CCD 擷取影像,所得的照片屬於 RGB(Red,Green,Blue)彩色 影像。 RGB 彩色影像所呈現的資料型態為三維矩陣。一般 RGB 彩色影像 會轉換為 YIQ 色域。 為了提高抗光源干擾的現象.在這裡我們採用 HSV 格 式。
圖 3-2 原始圖像
3.1.3 影像二值化
一般灰階化影像其灰階值的範圍介於 0-255 之間,而二值化的影像則是用 0 和 1 來表示一張影像。將其二值化必須先給定一個門檻值來進行轉換。如下 圖 3-3。
圖 3-3 轉換成二值化結果
3.2 二維輪廓偵測與重心
3.2.1 物體輪廓
有些人採用 B-Spline 方法.將物體輪廓點描述於 RRP 座標體系中.此處我 們採用 Suzuk[14]的方式,利用二值化後的圖像尋找出組件與洞的關聯性.如 下圖
S2
S3
S4
S5
S1
B1
B2
B3
B4
圖 3-4 輪廓圖像
Background S
1Component S
2Component S
5Hole S
3Component S
4
Frame
Outer border B1 Outer border B4
Hole border B2
Outer border B3
(a) (b)
圖 3-5 (a)圖像沿著連接組件排序 ;(b)邊緣排序
3.2.2 物體重心
我們在前一章有提過重心的算法,在判斷物體型態,可以利用物體輪廓與重 心的距離,作為那組形狀的特徵。我們藉由此方法來判定,偵測物件是什麼 形狀。
型態可以分成三種,第一種是存在一個以上的鏡像對稱軸,利用他的型態描 述可以明顯的區分,如圖 3-6。可利用下式去判定哪一個位置是適當夾取點。
) (max s
num
其中
s
為輪廓到中心點的微分。
(a) (b)
圖 3-6 (a)此對應平面物體為正方形 ; (b) 此對應平面物體為三角形
第二種是擁有無限多個鏡像對稱軸,在做夾取適當點判定時,會增加大量運 算時間,故在此時發現型態沒有超過一定的數值,我們會隨機選取一組解。
簡化接下來的運算其形狀特徵如圖 3-7。
s
ce dis tan min
其中 distance 為外圍輪廓與中心點的距離,
為一個任意正值。圖 3-7 圓形的特徵型態
第三種是不存在鏡像對稱軸,此平面物體是本篇想要研究的對象。在雙夾爪 中,判定適當夾取點無法用尋找型態曲線的極大極小值判定。
3.3 輪廓編碼
為了得到物體輪廓的順序,我們先創造出一個
3 3
的遮罩,移動遮罩如下圖 3-8,當中心點碰到有值像素,會一順時鐘方向從中心點的上方開始搜索,
直到找到下一個有值像素,並且讓中心點移動到下一個像素,重複以上的步 驟直到輪廓回到了初始點。
(a) (b)
圖 3-8 (a) 中心軸沿著圖像方向行走 ;(b) 遮罩的搜索方式
圖 3-9 搜尋輪廓的方式
3.4 夾取點判定
藉由上節從輪廓影像中得到輪廓編碼數,m,我們先選定其中一個輪廓 p 點,
我們利用輪廓編碼得到 p 點的下一個輪廓點,p’,將 p 與 p’相減可以得
到一個輪廓向量,u,如圖 3-10。接著將 p 點與其他的輪廓點相減,可得到 m-1 個向量。
(a) (b)
圖 3-10 (a) P’與 P 的示意圖 ;(b)點 P 到其他輪廓的向量
將 m-1 個向量分別與向量 v,做餘弦定理得到角度
。 設定一個限定值讓 介於角度 90 度的值保留,並且把它存在新的陣列中。利用相同的方式重複 做一次,最後我們可以得到圖 3-11 形狀 I 的夾取點。圖 3-11 夾取點位置
由於會隨著不同的形狀產生不固定的夾取點,我們將每個起始點,與到達 點,尋找這兩點直線中心位置。當愈靠近重心點,則愈穩定,如下式:
)) , ( ) , ( (
min m x y c x y
e
) , ( x y
m
為物件的重心點,c ( x , y )
為起始點與終點的中心。e 是中心與重心 點距離的差異。e 越小代表越接近我們所要的值,我們可以上式的方法得到 最佳夾取點。第四章 物體回復結構之三維模型建立
本章節依據第二章所引述之理論基礎,依系統流程架構逐一詳述每階段 實驗目的與方法,其中包含影像前處理、keypoint 的偵測、三維重建系統等。
4.1 影像前處理
A.灰階化
由於一般彩色影像資料量是灰階影像的三倍,為了降低影像運算量,我們會 先將影像作灰階化處理。
B. 將影像平滑
得到灰階圖像後,為了將一些雜訊清除掉,我們這邊利用了 Gaussian filter 做一次圖形的濾波。高斯函數 G(x,y)與原始圖片做旋積得到影像 Ig 。
(a) (b)
圖 4-1 (a)原始圖片;(b)經過 Gaussian filter 後的圖片
得到我們所要的圖片後,開始接下來的程序,如下圖 4-2 所示。
Feature Extraction/Matching
Compare Images
Projection Reconstruction
3D model reconstruction Input Image
圖 4-2 本實驗做三維模型之程序
4.2 特徵點建立
在特徵點抓取的部分,我們使用 Harris corner 偵測。兩張影像生成微小的 位移,我們把這位移大小設為(u,v),可以得下式。
其中 h 為一個位移量。
4.4 矩陣分解
給予連續圖片,我們追蹤 p 個特徵點對於 f 個 frame,我們推倒影像的坐標 系{(ufp,vfp)|f=1,….,F ;p=1,…,P ;}。我們寫入平行特徵點座標 ufp 在 FxP 為矩 陣 U。同樣的 vfp 建立一個垂直特徵點矩陣 V。
我們定義測量矩陣(measurement matrix),W,的大小為 2FxP 如下式
做奇異值分解(singular value decomposition)
2
c
GI
可以利用 pseudo inverse 法,改寫成I G
*c
,利用 I 解,可以決定 對稱矩陣 L,L 必須為正定(positive definite)我們有可能會有非正定解,所以我們會計算對稱矩陣 L,如下式:
2 L
TL L
,接著我們將 L 分解U
TU
L
(4-19)其中我們會將特徵負值設為 0,故我們可以得
,正定矩陣。我們利用下式:
2 / 1
U
Q
(4-20)讓我們得到 Q,接著回推到下列式子:
Q R
R ˆ
(4-21)S R
S
0T (4-22)得到第一個相機坐標系與其他張的座標系關係。
4.5 三維模型建構
將投影面轉換至三維空間中,利用對稱矩陣所得到的解 S,把之拆成 (x,y,z),並且將 R 的第一張 frame,與 frame 加上 F 後的矩陣做交乘,並且將 其規一化(normalize),我們可以得到 camera 的位置。以及每個點在各個圖中 的虛擬三維空間座標。
第五章 實驗結果與討論
這裡我們分成兩部分處理,第一個是利用形狀描述來做夾爪位置分析,
在 這 裡 我 們 使 用 C++ 做 為 程 式 基 礎 。 經 控 制 器 所 計 算 出 的 控 制 量 由 USB2Dynamixel 傳送資訊給伺服馬達,然後由相機讀取影像,在移至下一 點,回授影像。算出物件的深度訊息,決定物體的距離,以及物件型態,經 由電腦計算找到適合的夾取點,第二部分是利用 Structure from motion 對連 續照片做三維建模,本實驗採用 Matlab 程式語言撰寫,在此我們會依造不 同的物件及實驗的結果進行討論。
5.1 實驗設備
1. 個人電腦
使用電腦為 Pentium 2.00GHz,RAM 為 512MB 的個人電腦,在 Visual Studio 平台下進行計算,撰寫物件型態辨識與重建。規格如下
表 5-1 實驗器材
CPU PentiumV 2.00GHz
RAM 512MB
Operating System Windows 7
Language VS C++
Communications interface USB2Dynamixel
2 個人電腦傳輸器
在與伺服馬達通訊,需要資料傳輸介面。 下圖為 USB2Dynamixal 轉換 器。
圖 5-1 USB2Dynamixel
3. 攝影機
本研究採用 Logitech C120,影像擷取解析度為 640x480 像素,傳輸通 道為 1.1USB 連接埠
圖 5-2 攝影機
4. 伺服馬達組成之機械手臂
圖 5-3 USB2Dynamixel 串列示意圖
圖 5-4 RX 系列馬達示意圖
圖 5-5 機器手臂與攝影機
5.2 物體型態辨識系統操作流程
1. 先將 USB2Dynamixel 與電腦連接,將電源與 RX-64 馬達相接(注意:
15V)。
2. 開啟 Visual studio 程式。
3. 利用 Dynamixel 終端確認馬達與電腦有通訊反,避免有馬達未正常 接通。
4. 將待測物放置在待測平台上。
5. 控制手臂到物體上方,輸入指令後可得到完整影像。
圖 5-6 操作中的機器手臂 5.3 平面物體二維夾取點分析
5.3.1 初始輪廓追蹤
我們一開始設定手臂於固定高度,從手臂上的攝影機擷取出平台上的物 件,紅色木塊。藉由第二章的方法處理
我們一開始設定手臂於固定高度,從手臂上的攝影機擷取出平台上的物 件,紅色木塊。藉由第二章的方法處理