國 立 交 通 大 學
電控工程研究所
碩士論文
碩士論文
碩士論文
碩士論文
基於單眼視覺之擊球機器人設計與實現
Design and Implementation of Monocular Vision-based
Ball-batting Robots
研 究 生:黃志誠
指導教授:蕭得聖 博士
中華民國九十
中華民國九十
中華民國九十
中華民國九十九年九
九年九
九年九
九年九月
月
月
月
2
基於單眼視覺之擊球機器人設計與實現
Design and Implementation of Monocular Vision-based Ball-batting Robots
研 究 生:黃志誠
Student:Zhi-Cheng Huang
指導教授:蕭得聖 博士
Advisor:Dr. Te-Sheng Hsiao
國立交通大學 電控工程研究所
碩士論文
A Thesis
Submitted to Department of Electrical and Control Engineering College of Electrical Engineering
National Chiao Tung University in partial Fulfillment of the Requirements
for the Degree of Master
In
Electrical and Control Engineering September 2010
Hsinchu, Taiwan, Republic of China
中華民國九十
中華民國九十
中華民國九十
i
基於單眼視覺之擊球機器人設計與實現
學生:黃志誠
指導教授:蕭得聖博士
國立交通大學電控工程研究所碩士班
摘 要
本論文基於一個二軸平面的機械手臂實驗平台,再添加單眼系統使系統成為具有機 器視覺的機器人。利用此單眼系統透過影像處理過程,可執行對高速運動下的特定顏色 目標物進行追蹤,其中使用的影像處理方式主要為改良式背景相減法與 HSV 的顏色辨 識方法,再經過一連串濾波、形態學、邊緣偵測等方式將目標物擷取出來,並且利用切 換影像處理區域,來提高整體執行速度。透過校正攝影機使影像平面能與真實空間整合, 並且利用轉換公式與拋物線軌跡方程式來求得目標物飛行時軌跡參數。克服硬體上速度 的不足,計算出最佳擊球點位置,使機械手臂可以在旋轉最小角度的情況下便可以擊打 目標物,並利用即時持續更新影像擷取點來不斷地修正目標物飛行軌跡,再透過 RS232 傳輸線將資料傳送給高效能數位訊號處理器來即時規劃機械手臂路徑,使機械手臂能在 移動情況下更新路徑且不斷地修正位置來擊打目標物。ii
Design and Implementation of Monocular Vision-based Ball-batting Robots
Student:Zhi-Cheng Huang
Advisor:Dr. Te-Sheng Hsiao
Department of Electrical and Control Engineering
National Chiao Tung University
ABSTRACT
This thesis is dedicated to the integration of a monocular vision system into a two - joint robotic manipulator, such that the robot can track a target with specific color in high-speed motion. Firstly, candidates of the target are identified from the images, by a combination of an improved background subtraction method and the HSV color recognition method. Then a sequence of image processing such as filtering, morphological processing, and edge detection are applied to correctly locate the target in the images To speed up these processes, the region of interest of the image is shrunk dynamically. Next a parabolic curve and pre-calibrated camera parameters are used to fit the trajectory of the target in the 3D space. Since the angular velocities of the robotic joints are limited, the best batting position is determined in the sense of least angular displacements of the robotic joints and is continuously updated whenever a new image is available. Through RS232 communication, the batting position is sent from the image process unit (a personal computer) to the motion controller (a high-performance DSP processor) of the robot for path planning such that the robot can hit the target at the desired position.
iii
目錄
目錄
目錄
目錄
摘 要 ... i ABSTRACT ... ii 目錄 ... iii 圖目錄 ... v 表目錄 ... vii 符號說明 ... viii 第一章 緒論 ... 1 1.1 研究動機 ... 1 1.2 研究目的 ... 1 1.3 論文貢獻 ... 2 第二章 相關研究 ... 3 第三章 機器手臂控制與路徑規劃 ... 5 3.1 機械手臂的動力學模型 ... 5 3.2 改良型 LQR 控制器 ... 9 3.3 手臂路徑規畫 ... 13 3.3.1 手臂 D-H model ... 13 3.3.2 運動學 ... 14 3.3.3 反運動學 ... 16 3.3.4 路徑規劃 ... 18 第四章 影像擷取與追蹤 ... 21 4.1 顏色辨識 ... 21 4.1.1 RGB 法 ... 21 4.1.2 向量法 ... 23 4.1.3 HSV 法 ... 24 4.2 背景相減 ... 27 4.2.1 靜態背景模型 ... 27 4.2.2 閥值背景模型 ... 29 4.2.3 IRGABM 模型 ... 30 4.3 三角演算法 ... 31 4.4 中值濾波器 ... 31 4.5 形態學 ... 32 4.5.1 膨脹 ... 32 4.5.2 侵蝕 ... 33 4.6 影像擷取流程 ... 33iv 4.7 ROI(region of interest)選擇 ... 35 第五章 校正與最佳擊球點 ... 36 5.1 校正 ... 36 5.1.1 幾何相機模型 ... 36 5.1.2 幾何相機校正 ... 40 5.2 預測物體飛行軌跡 ... 42 5.3 影像擷取點數策略 ... 44 5.4 最佳擊球點 ... 46 第六章 實驗結果與分析 ... 53 6.1 硬體設施與流程 ... 53 6.2 座標系統 ... 54 6.3 機械手臂路徑規畫實驗 ... 55 6.4 影像處理實驗 ... 57 6.5 校正實驗 ... 62 6.6 機械手臂速度實驗 ... 63 6.7 實際擊球實驗 ... 65 6.8 實驗結果討論 ... 70 第七章 結論與未來展望 ... 72 7.1 結論 ... 72 7.2 未來展望 ... 73 參考文獻 ... 74
v
圖目錄
圖目錄
圖目錄
圖目錄
圖 3.1 兩軸平面機械手臂示意圖 ... 5 圖 3.2 直流馬達示意圖 ... 7 圖 3.3 不需要速度估測的控制器方塊圖 ... 10 圖 3.4 增大的受控廠 ... 11 圖 3.5 機械手臂 D-H model ... 14 圖 3.6 手臂幾何示意圖 ... 17 圖 3.7 手臂正反手示意圖 ... 17 圖 3.8 路徑規劃移動比較圖 ... 19 圖 3.9 路徑規劃流程圖 ... 20 圖 4.1 彩色影像 ... 22 圖 4.2 經過閥值後影像 ... 22 圖 4.3 AND 後二元影像 ... 22 圖 4.4 向量法示意圖 ... 23 圖 4.5 向量法處理後二元影像 ... 24 圖 4.6 HSV 示意圖 ... 24 圖 4.7 HSV 灰階影像 ... 25 圖 4.8 H 與 S AND 後二元影像 ... 25 圖 4.9 亮度不同時原始影像 ... 26 圖 4.10 改變場景後,RGB 法(左)與 HSV 法(中)與向量法(右) ... 26 圖 4.11 改變場景及亮度後,RGB 法(左)與 HSV 法(中)與向量法(右) ... 27 圖 4.12 灰階背景(左)與二元背景(右) ... 28 圖 4.13 原始影像(左)與背景相減後結果(右) ... 28 圖 4.14 震動後原始影像(左)與背景相減結果(右) ... 28 圖 4.15 造成殘影結果 ... 29 圖 4.16 IRGABM 背景相減(左)與持續 3 秒後(中)與延遲 10 秒後(右) ... 30 圖 4.17 三角演算法示意圖 ... 31 圖 4.18 集合 A(左)與結構元素 B(中)與膨脹後結果(右) ... 32 圖 4.19 集合 A(左)與結構元素 B(中)與侵蝕後結果(右) ... 33 圖 4.20 影像擷取流程圖 ... 34 圖 4.21 ROI 選擇流程圖 ... 35 圖 5.1 針孔投影模型 ... 36 圖 5.2 距離對成像的影像 ... 37 圖 5.3 物體投影示意圖 ... 37 圖 5.4 實際相機內部座標系統 ... 38 圖 5.5 拋物線分量座標示意圖 ... 42vi 圖 5.6 物體飛行時間示意圖 ... 47 圖 5.7 手臂實作時原點平移圖 ... 48 圖 5.8 1, 2平面 ... 50 圖 5.9 h1, 2函式之角度代入 2-norm 結果 ... 50 圖 5.10 2-norm 與時間關係圖 ... 51 圖 5.11 真實空間擊打模擬圖 ... 52 圖 6.1 硬體設施 ... 53 圖 6.2 座標系統(正視圖) ... 54 圖 6.3 座標系統(側視圖) ... 55 圖 6.4 路徑規劃 單點模擬圖(左)與實際數據(右) ... 56 圖 6.5 路徑規劃 多點模擬圖(左)與實際數據(右) ... 56 圖 6.6 實驗原始背景 ... 58 圖 6.7 實驗原始影像 ... 58 圖 6.8 實驗 IRGABM 法 ... 59 圖 6.9 實驗 HSV 法 ... 59 圖 6.10 IRGABM 與 HSV And 後影像 ... 59 圖 6.11 實驗中值濾波器濾波後影像 ... 60 圖 6.12 實驗膨脹後影像 ... 60 圖 6.13 實驗追蹤目標物影像 ... 60 圖 6.14 連續追蹤目標物影像 ... 61 圖 6.15 校正選取點 ... 62 圖 6.16 手臂速度測試 大軸(左)與小軸(右) ... 63 圖 6.17 機械手臂 0.3 秒可移動範圍 ... 64 圖 6.18 擊球實驗 1 ... 69 圖 6.19 擊球實驗 2 ... 69 圖 6.20 擊球實驗 3 ... 70
vii
表目錄
表目錄
表目錄
表目錄
表 1 持續更新擷取點法 ... 45 表 2 機械手臂硬體參數 ... 55 表 3 距離與 pixel 關係表 ... 58 表 4 校正結果 ... 62 表 5 丟球實驗 1 ... 65 表 6 丟球實驗 2 ... 65 表 7 丟球實驗 3 ... 65 表 8 丟球實驗 4 ... 66 表 9 丟球實驗 5 ... 66 表 10 丟球實驗 6 ... 66 表 11 丟球實驗 6 ... 67 表 12 丟球實驗 7 ... 67 表 13 丟球實驗 8 ... 68viii
符號說明
符號說明
符號說明
符號說明
(x y za, a, a) 機械手臂座標系 ( , , )x y z 真實空間座標系 za P 機械手臂座標系中 z 方向 ya P 機械手臂座標系中 y 方向 P 真實空間座標系中座標位置 p 影像平面中座標位置 u 影像平面中橫向座標位置 v 影像平面中縱向座標位置 0 u 影像平面中橫向座標原點位置 0 v 影像平面中縱向座標原點位置 1 θ 機械手臂大軸角度 2 θ 機械手臂小軸角度 10 θ 機械手臂大軸初始角度 20 θ 機械手臂小軸初始角度 R RGB 格式中紅色的主要頻譜成分 G RGB 格式中綠色的主要頻譜成分 B RGB 格式中藍色的主要頻譜成分 H HSV 格式中色調成分 S HSV 格式中飽和度成分 V HSV 格式中亮度成分 , k x y B 第 k 張影像中 x,y 座標的背景灰階值 A⊕B A 被 B 膨脹 A BΘ A 被 B 侵蝕 f 焦距 M 校正矩陣 i t 第 i 個擷取點時間 ( ,x y zi i, )i 第 i 個擷取點在真實空間座標系位置1
第一章
第一章
第一章
第一章
緒論
緒論
緒論
緒論
1.1
1.1
1.1
1.1 研究動機
研究動機
研究動機
研究動機
機器人自 1970 年開始,已大量運用於工業製造生產上,例如:汽車、機械與半導 體等產業。經過數十年的科技發展,智慧型機器人的感測、認知、控制與通訊技術愈趨 成熟,能夠與人類互動的智慧型機器人將不再是一個夢想。 機器人運動控制的設計與分析部分,已達到成熟的階段。故加入機器視覺部分,可 增加機器人的功能性,甚至可做到與人類互動。在機器視覺領域中,也有許多優秀的論 文被發表,然而大部份都使用昂貴的高速攝影機與雙眼系統來進行影像處理及距離估測, 以及可高速移動的機械手臂實驗平台來呈現,如何使用市面上普遍可得的 USB 視訊鏡頭, 加上單眼系統來擷取高速飛行下的物體影像,進而預測物體在 3D 空間中位置,並達到 相同效果將是一個值得研究的問題。1.2
1.2
1.2
1.2 研究目的
研究目的
研究目的
研究目的
使用機械手臂擊球的方式來呈現機器視覺與機械手臂的整合。利用單眼機器視覺系 統捕捉 3D 空間中快速飛行球體,並計算出物體飛行軌跡,再透過已建構之二軸平面機 械手臂進行路徑規畫,尋找工作區內最佳打擊位置進行擊球。
2
1.3
1.3
1.3
1.3 論文貢獻
論文貢獻
論文貢獻
論文貢獻
本論文貢獻為在已建立機器手臂平台上,進一步增加單眼機器視覺系統,使用市面 上普遍看到的視訊攝影機經過影像處理技術達到追蹤高速物體的功能,並整合機械手臂, 透過高效能的數位訊號處理器,規畫出最佳手臂路徑,使機器手臂在未來能夠有更多的 發展空間。 實際進行即時投擲實驗,利用影像處理,可在複雜或不同背景下追蹤物體,並選取 特定區域,減低影像處理範圍,進而提升程式計算速度,求出球體飛行軌跡參數,再經 由增加擷取點,不斷地修正飛行拋物線軌跡,並找出機器手臂最少動作下可到達的最佳 擊球位置。
3
第二章
第二章
第二章
第二章
相關研究
相關研究
相關研究
相關研究
在現今世界上有許多對機器視覺有深入的研究,其中整合機械手臂來執行擊球動作 的相關研究非常廣泛,如[10][14]使用雙眼視覺系統及高速機械手臂進行接球或擊球的 工作,在實現成果上已達一定的成效,成功機率大約在 4 成~6 成 5 之間,也有人使用 Neural Network 的方式[23]來設計擊球所需之控制器,並且透過不斷地學習機制來擊球。 但卻只能對某速度下進行擊球。 而在鑽研機械手臂擊球這一個研究當中,還包含了許多相關的技術。假設要進行擊 球實驗,首當其衝的便是需要把目標物偵測出來。例如使用影像處理的方是將目標物擷 取出來,其中有人採用背景相減的方式,如[16]中所分析的各種背景模型,包含 RGABM 法、Eigen-Background 模型、MoG 模型、KDE 模型以及作者所提出的 IRGABM 法,並且偵 測陰影使目標物能更準確的被擷取出來。另外也有其他研究採用不使用顏色資訊針對某 種形狀將目標物擷取出來[18],或是使用形狀與顏色配合將複雜的足球比賽場景的足球 擷取出來[17]。也有在複雜的顏色環境中,將欲選取之目標物擷取出來[15]。在擷取目標物過程中,可能會需要設定閥值大小,[5] [6] [13][25]中提出了幾種不同 的方式,包含Background-symmetry algorithm、Isodata algorithm、triangle algorith 幾種方式可以分割影像。使閥值可以呈現動態的方式選取。
欲擊打某目標,不可或缺的即是對距離的估測,而在估測距離之前,須先對攝影機 進行校正工作,關於校正便有許多探討空間,如[2] [3] [19]中所提到的自動校正的方式, 或是針對攝影機失真問題,該如何解決皆有明確說明。校正完畢後,即是進行距離的估 測,估測方式如[1] [26]僅使用單眼視覺系統來對環境的估測方式,或是採用立體視覺系
4 統[11] [12]來進行估測。 介紹完擊球機器人所需的相關技術後,對於[10][14]皆使用雙眼視覺系統達到實現 的效果,假使採用單眼視覺系統,即可使硬體造價上節省相當大的經費,其中[10]在距 離估測上還仰賴雙眼視覺系統內部偵測到的距離,而[14]則是在硬體架構上,不論是機 械手臂,或是攝影機,都是特製的超高速產品,似乎在研究上非常仰賴硬體設施,因此 本論文將針對此問題嘗試使用造價低廉又垂手可得的視訊鏡頭,並且只利用單眼系統來 估測 3D 空間中位置。在一般的硬體設備下,擊中高速飛行的物體。
5
第三章 機器手臂控制與路徑規劃
本章介紹機械手臂部分,主要分為兩大部分,第一部分為已建構完成的兩軸機械手 臂系統,包含動力學與馬達模型,並將兩個模型歸納整理出完整的機器手臂動態模型, 以及所使用的改良型 LQR 控制器介紹。第二部分則是為了使機械手臂能夠依照預想的揮 動軌跡去擊打球,所以必需考量手臂的路徑規劃,其中還包括相關的 DH 模型、運動學 及反運動學。3.1
3.1
3.1
3.1 機械手臂的動力學模型
機械手臂的動力學模型
機械手臂的動力學模型
機械手臂的動力學模型
兩軸平面機械手臂如圖 3.1 所示,在本論文中稱 Link1 為大軸,Link2 為小軸。此 座標原點位於大軸基座,水平za軸在真實空間中為縱深,垂直ya軸在真實空間為高低。 手臂歸零初始位置為-90 度,也就是−ya軸的位置。此種座標定義方式稱為手臂座標系。 2 q 1 l 1 c l 1 m 2 m 2 l 2 c l 2 I 1 I 1 q a
z
ax
ay
圖 3.1 兩軸平面機械手臂示意圖6 由 Lagrangian Equation[8]可得到機械手臂的動力學方程式:
M(q)q+C(q,q)q+G(q)+B(q)=τ
(3.1.1) M(q) 為手臂的質量慣性矩陣, C(q,q) 為向心力及柯氏力項矩陣, G(q) 為重力項向 量,B(q) 為摩擦力項向量,τ為馬達傳至兩軸上的扭力。此處假設摩擦力B(q) 為庫倫摩 擦力與黏滯摩擦力,黏滯摩擦力為黏滯摩擦力係數b乘上角速度,庫倫摩擦力為庫倫摩 擦力係數fc 乘上角速度的方向性,摩擦力係數皆設為常數。 其詳細函數如下: 2 2 2 2
m l +m l +m l +2m l l cos(q )+I +I m l +m l l cos(q )+I
1 c1 2 1 2 c2 2 1 c2 2 1 2 2 c2 2 1 c2 2 2 M(q)= 2 2 m l2 c2+m l l2 1 c2cos(q )+I2 2 m l2 c2+I2 2 1 c2 2 2 2 1 c2 2 1 2 2 1 c2 2 1 -m l l sin(q )q -m l l sin(q )(q +q ) C(q,q)= m l l sin(q )q 0 1 c1 2 1 1 2 c2 1 2 2 c2 1 2 (m l +m l )gcos(q )+m l gcos(q +q ) G(q)= m l gcos(q +q ) 1 1 c1 1 2 2 c2 2 b q +f sign(q ) B(q)= b q +f sign(q ) 在此系統中,角度 q與扭力τ為可量測之已知狀態,角速度 q及角加速度 q為未知狀 態。動力學模型的動態方程式可表示成下列型式: 1 1 1 1 1 2 2 2 2 2 1 1 2 2 -1 1 -1 2
q
q
q
q
d
q
M(q ) [τ(t)-C(q ,q )q -G(q )]
dt
q
M(q ) [τ(t)-C(q ,q )q -G(q )]
=
(3.1.2)
7
接著考慮馬達的部分。此兩軸機械手臂實驗系統的扭力是由兩顆直流馬達所供給, 為了使控制更加準確,必須要將馬達的物理參數一併考慮進動力學模型之中。 典型的直流馬達驅動系統如圖 3.2 所示。 圖 3.2 直流馬達示意圖 一般可由二階線性微分方程式來表示其電氣機械等效電路模型,進而導出馬達電樞 的輸入電壓 與輸出力矩之間的動態方程式,如式 (3.1.3)所示[8]。 a b a m m 2 a a
K K
τ
K
J q+f q+
q+
=
v
R
r
rR
(3.1.1)若考慮此系統為兩軸機械臂,則可由(3.1.3)得 2
τ
Jq+Fq+
=Kv
r
(3.1.2) 其中)
(
)
(
)
(
)
(
)
/
(
)
(
2V
v
r
rad
q
N-m
N-m
f
rad
V-s
K
R
N-m/A
K
kg-m
J
m b a a m:電樞電壓
:齒輪減速比率
:負載軸的角度
即機械手臂力矩
,
力矩
:在齒輪組後的負載軸
:轉子的摩擦係數
:反電動勢常數
:電樞電阻
:馬達力矩常數
:轉子的轉動慣量
τ
Ω
)
(
)
(
8 其中 m1 m2 J 0 J= 0 J a b m1 a 1 2 a b 2 a K K f + 0 R f 0 F= 0 f K K 0 f + R a a 1 1 2 a a 1 K 1 0 R r K 0 K= 0 K K 1 0 R r 將(3.1.4)式帶入(3.1.1)式後就可得到完整機械手臂動力學模型,如(3.1.5)式所示。 2 2 2 2 2
M(q)+r J
C(q,q)
G(q)
F(q)
(
)q+
q+
+
+Bq=v
r K
r K
r K
r K
(3.1.3) 最後將(3.1.5)重寫,得到(3.1.6)式的形式。M(q)q+C(q,q)q+G(q)+F(q)+Bq=v
(3.1.4) 其中 2 2 2 2 1 c1 2 1 2 c2 2 1 c2 2 1 2 m1 2 c2 2 1 c2 2 2 2 2 1 1 1 1 2 2 2 c2 2 1 c2 2 2 2 c2 2 m2 2 2 2 2 2 2 1 1
(m l +m l +m l +2m l l cos(q )+I +I )+J (m l +m l l cos(q )+I )
K r K r M(q)= 1 1 (m l +m l l cos(q )+I ) (m l +I )+J K r K r 2 1 c2 2 2 2 1 c2 2 1 2 2 2 1 1 1 1 2 1 c2 2 1 2 2 2 1 1 (-m l l sin(q )q ) (-m l l sin(q )(q +q )) K r K r C(q,q)= 1 (m l l sin(q )q ) 0 K r
9 1 c1 2 1 1 2 c2 1 2 2 1 1 2 c2 1 2 2 1 1 1 [(m l +m l )gcos(q )+m l gcos(q +q )] K r G(q)= 1 (m l gcos(q +q )) K r 2 1 1 1 1 2 1 1 2 2 2 2 2 2 2 2 1 (b q +r f ) K r Bq= 1 (b q +r f) K r c1 1 2 1 1 c2 2 2 2 2 f sign(q ) K r F(q)= f sign(q ) K r
3.2
3.2
3.2
3.2 改良型
改良型
改良型
改良型 LQR
LQR
LQR
LQR 控制器
控制器
控制器
控制器
傳統計算力矩控制器須回授速度資訊,而速度資訊通常使用差分的方式來求得,但 差分運算後容易把雜訊放大產生大幅度的震盪,使控制器效能降低,故改採用[20]新設 計的改良型 LQR 控制器,如圖 3.3 所示。 此控制器特色除了結合 LQR 控制器強健性的優點外,更只需回授編碼器所量得的角 度值,不需要額外做差分的運算。 首先在 LQR 控制器受控廠前加入一個濾波器,使其成為一個增大的受控廠,此濾波 器功用是為了將 LQR 控制器狀態回授轉換成對輸出回授的控制器,避免以往設計控制器 的方式,在加入觀察器後,改變其原本狀態回授控制系統。 由(3.1.6)式中可以看出,M(q)矩陣內含有線性常數矩陣部分及非線性項部分,分別 令為M0及M (q)1 ,並將 v 拆成vLin、vff,可整理出:
M q+Bq=v
0 Lin+v -(M (q)q+C(q,q)q+G(q)+F(q))
ff 1(3.2.1)
10 令h(q,q,q) =M q C q q q G q1+ ( , ) + ( )+F q( ) ,並將上式表示成動態方程式:
1 1 2 2 Lin ff 1 -1 1 -1 0 0 2 2q
0
0
1
0
q
0
0
q
0
0
0
1
q
d
0
0
=
+
(v
+v -h(q,q,q))
q
0
0
q
dt
-M B
M
q
0
0
q
B
x
A
x
(3.2.2) 其中vff =M (q)q1 d +C(q, q )qd d +G(q) F q+ (d),主要的作用在於消除非線性動態 h(q, q, q) 的前饋控制輸出。將(3.2.2)式,重新整理後便可得到 Lin
x=Ax+Bv
(3.2.3)
1 2 1 2q
q
1 0
0
0
y=
=Cx
q
0 1 0
0
q
(3.2.4) 根據(3.2.3)式線性項部分所設計出的線性控制器輸出 dq
dq
measure qq
dq
圖 3.3 不需要速度估測的控制器方塊圖11 此兩軸機械臂系統控制器的目的為角度追蹤並追蹤其角速度,因此設角度及角速度 的命令軌跡為xd =
[
q1d q2d q1d q2d]
T,並令vd為:
1d 2d d 0 1d 2dq
q
v = B
M
q
q
(3.2.5) 而目前的系統狀態為[
1 2 1 2]
T q q q q = x ,所以可以得到角度及角速度的追蹤誤差 1 2 1 2 T q q q q = x ,其中x = x −xd, vLin =vLin −vd。最後改寫(3.2.3)得到新的狀態 空間表示如(3.2.6)式所示。 Linx=Ax+Bv
(3.2.6)y=Cx
(3.2.7) 接著針對(3.2.6)與(3.2.7)設計控制器,假設 G(s)是上述系統的轉移矩陣。加入一個 濾波器 Λ(s) 到電壓輸入端以增大受控廠 G(s)。如圖 3.4 所示。Λ(s)
G(s)
q
+ + vLin vLin dq
+q
−u
vLin vd 圖 3.4 增大的受控廠12 其中
0 01
0
s+λ
Λ(s)=
1
0
s+λ
(3.2.8) 係數λ
0 為設計的參數。加入 Λ 後可得到增大的受控廠的狀態空間為
-1 -1 -1 0 0 0 0 Lin1 Lin1 1 0 Lin2 Lin2 2 a1 a0
I
0
0
q
q
0
0
0
0
0
0
-M B
-M
-M
q
q
0
0
0
0
0
d
=
+
0
0
-λ
0
τ
τ
0
0
1
0
u
dt
0
0
0
-λ
τ
τ
0
0
0
1
u
u
B
x
A
(3.2.9) 令狀態回授控制器的增益為u = −Kx,則:[
]
1q
2q
3
= −
= −
= −
−
−
1 2 3 Lin Linq
u
Kx
K
K
K
q
K
K
K τ
τ
(3.2.10)接著將狀態回授轉換成輸出回授的形式。而
ˆu
及τˆLin分別表示u
和τ
Lin的拉氏轉換。 (3.2.10) 的拉式轉換可以表示為ˆ
ˆ
ˆ
ˆ
ˆ
ˆ
ˆ
T T TLin 1 1 2 2 1 2 3 Lin1 Lin2
v
=-Λ(s) K
q
q
+sK
q
q
+K
v
v
(3.2.11) 將上式移項整理後,可以得到輸出狀態回授控制方程式:ˆ
ˆ
ˆ
-1 -1 T Lin 3 1 2 1 2v
= -[Λ (s)+K ]
(K +sK ) q
q
(3.2.12)13 最後將(3.2.12)式展開可得 ˆ ˆ ˆ ˆ Lin1 11 12 1 2 21 22 0 0 31 34 0 31 0 4 32 33 Lin2 2 v 1 a a q = a a s +(λ +λ +k +k )s+(λ +k )(λ +k )-k k v q (3.2.13) 其中 2 11 21 11 21 0 34 32 23 11 0 34 32 13 2 12 22 12 14 0 34 32 24 12 0 34 32 14 2 21 23 13 23 0 31 33 21 13 0 31 33 11 2 22 24 14 24 0 31 33 22 1
a =k s +[k +k (λ +k )-k k ]s+k (λ +k )-k k
a =k s +[k +k (λ +k )-k k ]s+k (λ +k )-k k
a =k s +[k +k (λ +k )-k k ]s+k (λ +k )-k k
a =k s +[k +k (λ +k )-k k ]s+k
4(λ +k )-k k
0 31 33 12 (3.2.14) 從上式可以觀察出,此控制器只需量得角度資訊,並配合命令的角速度和角加速度 代入機械手臂的動力學方程式中,不需使用觀察器或速度估測器。3.3
3.3
3.3
3.3 手臂路徑規畫
手臂路徑規畫
手臂路徑規畫
手臂路徑規畫
3.3.1
3.3.1
3.3.1
3.3.1 手臂
手臂
手臂
手臂 D
D
D
D-
-
-
-H
H
H model
H
model
model
model
透過上節所設計之控制器,兩軸機械手臂實驗平台已建構完畢。只需下達角度、角 速度與角加速度即可任意的控制機械手臂到達指定的角度。 接下來為了使機械手臂到達真實空間中指定的位置,採用機器人學上由 J.Denavit 和 R.S.Hartenberg 所提出來的 D-H model,將機械人參數由 6 個縮減成 4 個,以方便運 算。 其中,機械手臂座標採用右手座標系統,原本 6 個參數分別為對x y za, a, a三軸旋轉 的角度及對x y za, a, a三軸平移的位置,將其化簡為 d,θ,a,α,分別代表兩軸垂直線的 距離,兩軸的角度差值也就是前幾節動力學模型中所提到的角度值 q,手臂軸的長度及 兩軸旋轉軸的歪斜角度差值。
14 依照圖 3.1 可觀察出,此實驗平台有兩個活動軸,在 D-H model 中習慣將旋轉軸用 z 表示,此部分為機器人 DH model 座標系統,與圖 3.1 手臂座標系座標表示方法不同。 由於兩軸在同一直線上也無歪斜角度,故 d 與α皆為 0 度,將圖 3.1 轉換後,所得結果 如圖 3.5 所示: Joint θ d a α variable 1 θ1 0 l1 0o θ1 2 θ2 0 l2 0o θ2 0
z
z
1 0x
1y
0y
1x
1a
a
2 圖 3.5 機械手臂 D-H model3.3.2
3.3.2
3.3.2
3.3.2 運動學
運動學
運動學
運動學
上小節得到 D-H model 後,透過旋轉矩陣及平移矩陣進行座標轉換,就可以由前一 軸座標系統得到下一軸座標系統,藉由此運算即可得到機械手臂頂端座標位置。 以下為對x y za, a, a軸旋轉的旋轉矩陣(3.3.1) x y z
1 0 0 0 cosθ 0 sinθ 0 cosθ -sinθ 0 0
0 cosθ -sinθ 0 0 1 0 0 sinθ cosθ 0 0
R (θ)= R (θ)= R (θ)=
0 sinθ cosθ 0 -sinθ 0 cosθ 0 0 0 1 0
0 0 0 1 0 0 0 1 0 0 0 1
15 對x y za, a, a軸平移的平移矩陣(3.3.2)
x y z1
0
0
q
0
1
0
q
Trans(Q)=
0
0
1
q
0
0
0
1
(3.3.2) 由 D-H model 可推得第一軸機械手臂座標轉換為 1 1 1 1 1 1 1 1 1 1 1 1 1 1cosθ
-sinθ
0
0
1
0 0
l
cosθ
-sinθ
0 l cosθ
sinθ
cosθ
0
0
0 1
0
0
sinθ
cosθ
0
l sinθ
T =
=
0
0
1
0
0
0 1
0
0
0
1
0
0
0
0 1
0
0 0
1
0
0
0
1
×
(3.3.3) 第二軸機械手臂座標轉換為 2 2 2 2 2 2 2 2 2 2 2 2 2 2cosθ
-sinθ
0
0
1
0
0
l
cosθ
-sinθ
0
l cosθ
sinθ
cosθ
0
0
0
1
0
0
sinθ
cosθ
0
l sinθ
T =
=
0
0
1
0
0
0
1
0
0
0
1
0
0
0
0
1
0
0
0
1
0
0
0
1
×
(3.3.4) 將兩軸座標轉換矩陣相乘後,可推得手臂頂端座標位置 1 2 1 2 2 1 2 1 1 1 2 1 2 2 1 2 1 1 1 2cos(θ +θ )
-sin(θ +θ )
0
l cos(θ +θ )+l cosθ
sin(θ +θ )
cos(θ +θ )
0
l sin(θ +θ )+l sinθ
T=T
T =
0
0
1
0
0
0
0
1
×
(3.3.5)16 因機械手臂實驗平台參數
l
1=
l
2,故可以將(3.3.5)化簡為
1 2 1 2 1 1 2 1 1 2 1 2 1 1 2 1cos(θ +θ )
-sin(θ +θ )
0
l (cos(θ +θ )+cosθ )
sin(θ +θ )
cos(θ +θ )
0
l (sin(θ +θ )+sinθ )
T=
0
0
1
0
0
0
0
1
(3.3.6) 由(3.3.6)可求得機械手臂頂端於手臂座標系中座標位置為 za 1 1 2 1 ya 1 1 2 1P =l (cos(θ +θ )+cosθ )
P =l (sin(θ +θ )+sinθ )
(3.3.7)3.3.3
3.3.3
3.3.3
3.3.3
反運動學
反運動學
反運動學
反運動學
由於在控制器部分是需要下達機械手臂角度的命令值,故必須藉由反運動學將真實 空間中任一位置座標反推回機械手臂各軸角度值。 先將(3.3.7)平方相加後可得 2 2 2 2 2 za ya 1 1 2 1 1 2 1 2 2 2 1 1 2 1 1 2 1 2 1 1 2 1 2 1 2
P
+P
=l (cos (θ +θ )+cos θ +2cos(θ +θ )cosθ )+
l (sin (θ +θ )+sin θ +2sin(θ +θ )sinθ )
=l (2+2cos(θ +θ -θ ))
=2l (1+cosθ )
(3.3.8) 經移項整理後可推得 2 2 2 za ya 1 -1 2 2 1P
+P
-2l
θ =cos (
)
2l
(3.3.9)17 接著,使用幾何圖解法求解
θ
1如圖 3.6 所示 1 θ ψ φ (Pza,Pya) a y a z 2 θ 1 l 2 l 圖 3.6 手臂幾何示意圖 使用餘弦定理 2 2 2 2 2 2 2 2 1 za ya 1 za yal =l +( P +P ) -2l ( P +P )cosψ
(3.3.10) 經移項整理後 2 2 2 2 2 2 za ya 1 2 za ya -1 -1 2 2 1 1 za yaP +P
l -l +P +P
ψ=cos (
)=cos (
)
2l
2l ( P +P )
(3.3.11) 最後可求得 2 2 za ya ya -1 -1 1 za 1P
+P
P
θ = -ψ=tan (
)-cos (
)
P
2l
φ
(3.3.12) (Pza,Pya) a y a z 圖 3.7 手臂正反手示意圖18 考慮正反手問題如圖 3.7 所示,可將(3.3.9)式與(3.3.12)式改寫為 2 2 za ya ya -1 -1 1 za 1 2 2 2 za ya 1 -1 2 2 1
P
+P
P
θ =tan (
) cos (
)
P
2l
P
+P
-2l
θ =
cos (
)
2l
±
±
(3.3.13) 如(3.3.13)所示,則可得到 4 組角度解,再加上機械手臂角度正反轉結果後,理論上 應該得到 8 組角度解,但由於機械手臂實驗平台在第一軸基座連接處有橫桿的關係,使 第二軸無法跨越過去,使得實現上必須考慮避障問題。故機械手臂第一軸與第二軸夾角 不得小於 10 度,換句話說,第二軸手臂角度必須小於±170 度,故實際上仍然只可得到 4 組角度解。 當求取反運動學時,有可能輸入真實座標位置無法到達,故必須先判斷是否在機械 手臂工作區範圍內。由(3.3.13)式可觀察出,cos 函數範圍僅在-1~1 之間,如果超出範圍 時,則反三角會出現虛數,故可以以此為判斷依據來辨別輸入真實座標位置是否在工作 區內。3.3.4
3.3.4
3.3.4
3.3.4
路徑規劃
路徑規劃
路徑規劃
路徑規劃
將反運動學所得之角度,以三次多項式來描述其時間對角度的關係式。由於三次多 項式有五個未知係數,故代入五個已知係數,分別為初始速度、終止速度、初始位置、 終止位置及終止時間即可求得三次多項式各參數。 首先得到一個三次多項式 3 2 3 2 1 0
θ = c t + c t + c t + c
(3.3.14)19 代入已知常數θ(0)=θ θ0, ( )tf =θf, (0)v =v v t0, ( )f =vf,並寫成矩陣形式得到 2 3 0 f f f f 2 f 1 f f 0 2 3 0
c
θ
1
t
t
t
v
c
0
1
2t
3t
=
θ
c
1
0
0
0
c
v
0
1
0
0
(3.3.15) 再將求得之三次多項式輸入到控制器,使機械手臂依照此時間對角度關係運動。且 在運動過程中,可以即時加入新位置,並可立即規畫出新路徑,使新舊路徑平順地銜接 上。最後,在多點的路徑規畫中,為了使機械手臂可移動較少角度之路徑,故在選定下 一點大小軸角度時,先將前一點所得大小軸角度與下一點所得大小軸四組角度,分別做 2-norm 運算,並且將運算結果最小值之大小軸角度選為下一點角度值,並依此角度產生 關係式進行路徑規劃,如圖 3.8 所示。 比較任意選取角度值,如圖 3.8 左圖,及選擇最短距離,如圖 3.8 右圖,可清楚觀 察出兩條路徑所移動的距離差距非常顯著。 圖 3.8 路徑規劃移動比較圖 整體流程如圖 3.9,在真實空間中選取欲到達之座標位置,套入反運動學公式(3.3.13) 求得 8組角度解,將這 8 組角度經過避障考量後剩餘 4 組角度,篩選出可旋轉最少之角 度,選擇出 1組角度,再將此組角度利用三次式描述出時間對角度關係,透過控制器控20
制即可使機械手臂依照規劃方式動作,運動途中如有插入新座標位置,也可立即規劃出 新的路線取代原有路線。
路徑規劃流程圖如下所示:
21
第四章
第四章
第四章
第四章
影像擷取與追蹤
影像擷取與追蹤
影像擷取與追蹤
影像擷取與追蹤
為了達到擊球之目的,必須先找到目標物,需要利用攝影機鏡頭來模擬人類的眼睛, 確認目標物位置。在實現上,透過機器視覺與影像處理的部分,來追蹤飛行球體並在每 張影像中標定其座標。 故在此章,介紹所使用的影像處理方法,為了使後續影像處理部分可以較為簡單且 快速,故一開始先將彩色影像轉為灰階影像,再設法轉換成黑白二元影像,其中技術包 含使用背景相減及顏色辨識的方式,結合兩種方法,可清楚地突顯出特定追蹤之物體, 使影像追蹤上達到更好的效果,再加上動態閥值的演算法,使閥值不會只固定某個數值, 可視情況而改變。於影像處理過程中再加入簡單的濾波器及形態學。 另一方面為了提高速度且不降低解析度,當影像追蹤成功的情況下,採用局部小畫 面的處理方式。整體而言,希望能達到高速地影像處理並可以持續追蹤目標物,故演算 法的計算效率也是需要考量的因素之一。4.1
4.1
4.1
4.1 顏色辨識
顏色辨識
顏色辨識
顏色辨識
本論文採用三種方式來將彩色影像轉為二元影像,再比較其效果並考量運算速度, 選取最適宜的處理方式。4.1.1 RGB
4.1.1 RGB
4.1.1 RGB
4.1.1 RGB 法
法
法
法
此法相當容易,把輸入影像的紅色 R、綠色 G 及藍色 B 三種主要頻譜成分的二維灰 階影像,分別選定特定閥值,將其二值化即可。此法優點在於不需要經過特殊運算,只 要特定閥值即可,速度較快,但實作上,閥值選取容易受環境光照影響,較難調整出最 佳閥值,效果較差。22 以下圖 4.1 為輸入之彩色影像: 圖 4.1 彩色影像 圖 4.2 經過閥值後影像 圖 4.3 AND 後二元影像 在靜態彩色影像中,如圖 4.1 所示,分別選取閥值後結果,由左至右分別為R>95, 110 G< ,B<115,可得到如圖 4.2 所示之影像,再將此三張影像執行 AND 動作,即可 得到一張二維的二元影像,如圖 4.3 所示。
23
4.1.2
4.1.2
4.1.2
4.1.2 向量法
向量法
向量法
向量法
向量法是先取一組想要分割之「平均」色彩的估測值。令此平均色彩以 RGB 向量 a 表示之。分割的方式是將彩色影像中每一個像素的 RGB 分量值取出,依照色彩是否在指 定的範圍內分類。使用量測歐基里德距離歐基里德距離歐基里德距離歐基里德距離來執行此判斷,如式(4.1.1)表示:(
)
(
) (
)
(
) (
) (
)
1 T 2 1 2 2 2 2 R R G G B BD z,a = z-a =
z-a
z-a
=
z -a
+ z -a
+ z -a
(4.1.1) 當D z a( , )≤D0,z 即為欲分割之 RGB 向量。 其中下標 R,G,B代表向量 a 和 z 的 RGB 分量。D0為指定區域,是一個半徑為D0的 實心球體。如圖 4.4 表示之a
G
R
B
0 D G a R a Ba
圖 4.4 向量法示意圖 使用向量法必須先找出欲分割的平均色彩值及範圍區域,較為麻煩。也由於需要計 算歐基理德距離,故運算時間稍微較長,但效果明顯比 RGB 法好。 將圖 4.1彩色影像透過向量法處理後,如圖 4.5 所示,其中設定參數 a=[255 0 0] , 0 195 D = 。4.1.3 HSV
4.1.3 HSV
4.1.3 HSV
4.1.3 HSV 法
法
法
法
HSV 是根據色相、飽和度 就是平常所說的顏色名稱 光的強弱變化影響,常常作為偵測人臉的依據 低則逐漸變灰,取 0-100% 其示意圖如圖 4.6所示 HSV 法與 RGB 法相似, 其閥值來達到二值化處理 24 圖 4.5 向量法處理後二元影像 飽和度和明度來確定顏色的一種方法。色相是色彩的基本屬性 就是平常所說的顏色名稱,如紅色、黃色等,取 0-360 度的數值。 常常作為偵測人臉的依據。飽和度是指色彩的純度 100%的數值。明度也叫亮度,取 0-100%。 所示 圖 4.6 HSV 示意圖 ,先將輸入影像透過(4.1.2)式,轉換為HSV 其閥值來達到二值化處理。 色相是色彩的基本屬性, 。因為色相不容易受到 飽和度是指色彩的純度,越高色彩越純, HSV表示,再個別選取25 × × × 0 0 0 G-B 6+ 60 , if R=MAX MAX-MIN B-R H= 2+ 60 , if G=MAX MAX-MIN R-G 6+ 60 , if B=MAX MAX-MIN MAX-MIN S= MAX V=MAX (4.1.2) 將圖 4.1彩色影像,經過(4.1.2)轉換後,如圖 4.7 所示,由左至右分別為 H,S,V 的二維灰階影像,將圖 4.7 前兩張 H 與 S 灰階影像,選取閥值,分別為H >127,H <20, 90 S> ,執行 AND 動作,即可得到一張二維的二元影像,如圖 4.8 所示。 圖 4.7 HSV 灰階影像 圖 4.8 H 與 S AND 後二元影像
26 由圖 4.8 可觀察出,其效果較優於 RGB 法,且與明度無關,故較不受光線亮度影響, 只需利用色相與飽和度即可選取欲辨識之顏色,參數調整容易,且計算時間較向量法短, 整體效果乍看之下與向量法相近,但使用同組閥值參數改變背景場景後,三者再進行比 較後,可以明顯看出 HSV 法表現較好,故之後使用顏色來分割欲偵測物體,皆使用 HSV 法來辨識。 當圖 4.9 左圖較亮的原始影像分別使用圖 4.3、圖 4.5 及圖 4.8 之閥值,可得到如 圖 4.10 之結果,明顯為 HSV 法表現較好。將圖 4.9 右圖較暗的原始影像代入相同閥值 後,如圖 4.11 所示,比較後可發現,HSV 法即使在光線不足的情況下,仍然可以明顯表 現出欲顯現之顏色,不受光線亮度所影響。 圖 4.9 亮度不同時原始影像 圖 4.10 改變場景後,RGB 法(左)與 HSV 法(中)與向量法(右)
27 圖 4.11 改變場景及亮度後,RGB 法(左)與 HSV 法(中)與向量法(右)
4.2
4.2
4.2
4.2 背景相減
背景相減
背景相減
背景相減
由於實驗背景複雜,假使背景有與欲分割出的顏色相似,則無法辨識欲選取之目標 物,為了避免此情形發生,故加入背景相減法與顏色辨識結合,使欲選取之目標物能更 單純地被擷取出來。4.2.1
4.2.1
4.2.1
4.2.1 靜態背景模型
靜態背景模型
靜態背景模型
靜態背景模型
採用背景相減法一開始先使用最簡單的方式,拍一張最初的影像,再將其轉為灰階 影像,之後並以此影像做為固定的靜態背景,如式(4.2.1)。接著只需將新輸入影像與此 影像相減,設定閥值,只要有相異過大之像素,即會被顯示出來。 k 0 x,y x,yB
=I
k=0,1,2,...
(4.2.1) 其中 k x,y B 表示位於 x,y 像素的第 k 張背景灰階值,IIII則代表輸入之影像。 此法簡易,運算速度快,但只需要與最初的靜態背景相異像素皆會被顯現出來,假設新 影像物體進入後,隔一段時間固定不動,理論上已成為新背景,此背景模型仍會將此物 體顯示出來,或在實驗過程中,攝影機鏡頭受到外力干擾產生些微震動,都將使相減過 程中,大受影響。 如圖 4.12 所示為靜態背景的灰階影像,轉二元影像後產生的雜訊,通常為燈光變 化所影響。28 以圖 4.12 為靜態背景,加入新物體得到背景相減結果,如圖 4.13 所示。使攝影機 鏡頭受到些微振動後,雖然在原始影像無法觀察出任何變化,但背景相減結果,如圖 4.14 所示,產生相當大的差異。 圖 4.12 灰階背景(左)與二元背景(右) 圖 4.13 原始影像(左)與背景相減後結果(右) 圖 4.14 震動後原始影像(左)與背景相減結果(右)
29
4.2.2
4.2.2
4.2.2
4.2.2 閥值背景模型
閥值背景模型
閥值背景模型
閥值背景模型
改良靜態背景法,使背景可以更新,透過閥值設定,將新影像與背景做絕對誤差運 算後,小於閥值的像素更新為新的背景,反之,則使用原來的背景。其背景模型如式(4.2.2) 表示 k k x,y x,y k x,y k-1 k x,y x,yI
, AD <Th
B
=
k=0,1,,...
B
, AD >Th
(4.2.2) 其中 -1 , | , - , | k k k x y x y x y AD = I B ,Th 為閥值,可依照需求自行調整大小 此法雖可即時更新影像背景,但由於在更新背景像素值時,於新加入物體邊緣處容 易因為光照或其他雜訊等影響,使本來背景相減差值應該遠大於閥值,結果卻小於閥值, 此時新的背景像素值被更新,之後,將新加入物體移走並得到新輸入影像,此時新輸入 影像像素值等於最原始背景像素值,但此時背景像素值卻已被更新為另一像素值,於是 背景相減後大於閥值並被顯現出來,造成類似殘影殘影殘影殘影的情形發生。除非再加入新物體改變 此背景像素值,否則將持續顯示下去。 原始背景如圖 4.12(左)所示,加入新物體(手)影像如圖 4.13(左)所示,移動新物 體,得到背景相減殘影結果如圖 4.15 所示。 圖 4.15 造成殘影結果30
4.2.3 IRGABM
4.2.3 IRGABM
4.2.3 IRGABM
4.2.3 IRGABM 模型
模型
模型
模型
為了改良閥值背景模型,採用新型背景模型[16]所提出的 IRGABM(Improved Running Gaussian Average Background Model)法,其中提到產生干擾影像的雜點分為兩種,變化快但改變較小的雜訊效應,變化慢但改變較大的變化光照效應。此法利用兩個參數改變 更新新背景像素值的比重,可改善閥值背景模型產生的殘影問題,也可去除雜訊效應, 但變化較大的光照效應較難去除。假使有加入新物體經過一段時間後固定不動,將漸漸 被更新成為背景,模型數學式如式(4.2.3)表示
k-1 k k1 x,y 1 x,y x,y
k k-1 k k
x,y 2 x,y 2 x,y x,y
0 x,y
(1-α )B
+α I
, k>0 , AD <Th
B
= (1-α )B
+α I
, k>0 , AD >Th
I
,k=0
(4.2.3) 其中α ,
1α
2可以依照需求自行調整,數字越小背景更新越慢,通常α2 <α1 原始背景如圖4.12(左)所示,背景相減結果如圖4.16(左)所示,在此α1 =0.1 , α2 =0.05 圖 4.16 IRGABM 背景相減(左)與持續 3 秒後(中)與延遲 10 秒後(右) 由圖4.16可以很明顯觀察出,此法除了在處理雜訊方面比靜態背景好以外,也可改 善閥值背景模型所帶來的殘影效果。當新加入物體(手)持續一小段時間不動後,備更新 為新背景漸漸消失,最後完全成為新背景,如此一來,即使攝影機鏡頭受到些微振動, 隔一小段時間後,背景相減後也可以不受到影響。31
4.3
4.3
4.3
4.3 三角演算法
三角演算法
三角演算法
三角演算法
G. W. ZACK 於 1977 年提出[25],選取灰階值中的最高點與最低點並連成一線,再 求得與這條線最遠距離的灰階值,即是閥值,如圖 4.17 所示。可以利用此演算法來自 動選取閥值,而不是單單只選定一個固定的數值。其他還有許多種演算法如[6]所提到的Background-symmetry algorithm、Isodata algorithm…等方式,但由於本實驗出現的直方 圖與三角演算法要求的圖形相近,故採用三角演算法來設定動態閥值。 圖 4.17 三角演算法示意圖
4.4
4.4
4.4
4.4 中值濾波器
中值濾波器
中值濾波器
中值濾波器
由於使用背景相減與顏色辨識後,仍然會有些許雜訊,故加入濾波器使處理畫面可 以更簡潔,之後在追蹤目標物時,較不會被雜訊所干擾,在此採用中值濾波器來達到此 功能。 中值濾波器是一種非線性的空間濾波器,對於處理胡椒鹽雜訊,提供了絕佳的雜訊 降低效能,比起同樣大小的線性平滑濾波有顯著較小的模糊化。 其響應建立在由濾波器所包圍之影像區域中所含像素的順序上,然後由排序結果決 定的值來取代中心像素的值。將像素的值用該像素(像素的原始值包含在中值的計算內) 近鄰灰階的中間值來取代。為了在一幅影像中的一個點上執行中值濾波,首先把問題裡32 的像素和其鄰近像素的值排序,並決定它們的中間值,然後把這個值指定到該像素。例 如:在一個3×3的鄰域中,中間值是第五個最大的值,在5×5的鄰域中,中間值是第十 三個最大值,以此類推。
4.5
4.5
4.5
4.5 形態學
形態學
形態學
形態學
影像處理上,有一些基本的處理方式可以使影像膨脹或收縮,在應用上也可利用這 些處理來達到將影像斷開或閉合,或是可以用來處理雜訊。 由於原始畫面在經過先前所介紹到的許多方式處理過後,觀察畫面可察覺到,有些 連接處出現不連續的情形發生,為了盡量避免此情形發生,故希望藉由形態學膨脹的方 式,將影像中有些許斷開的部分連接起來。4.5.1
4.5.1
4.5.1
4.5.1 膨脹
膨脹
膨脹
膨脹
當A和B為 2 Z 中的兩個集合,A藉由B的膨脹表示為A⊕B,數學表示法為( )
{
|
ˆ
}
zA
⊕
B
=
z
B
∩
A
≠ ∅
(4.4.1) 其中B稱為結構元素,( )
ˆ z B 表示為對其原點反射並平移此反射 z 單位 圖 4.18 集合 A(左)與結構元素 B(中)與膨脹後結果(右)33
4.5.2
4.5.2
4.5.2
4.5.2 侵蝕
侵蝕
侵蝕
侵蝕
當A和B為 2 Z 中的兩個集合,A被 B的侵蝕表示為AΘB,數學表示法為( )
{
|
}
zA B
Θ =
z
B
⊆
A
(4.4.2) 其中B稱為結構元素,( )
B 表示為對其原點平移 z 單位 z 圖 4.19 集合 A(左)與結構元素 B(中)與侵蝕後結果(右)4.6
4.6
4.6
4.6 影像擷取流程
影像擷取流程
影像擷取流程
影像擷取流程
經過前幾節個別介紹所使用到的影像處理方式後,在此說明如何把目標物顯現出來 的完整流程。 首先,先將輸入影像透過顏色辨識的方式與背景相減法平行處理後,在畫面上即可 得到目標物大致的形狀,接著再利用中值濾波器將不需要的雜訊點濾除乾淨,為了改善 目標物有些許斷開的情形發生,故加入形態學將目標物膨脹些許大小,透過以上處理過 後,希望能找出影像中目標物中心點,故使用影像處理常見的邊緣偵測方式,使畫面更 簡潔,最後找到目標物之輪廓後,僅需在目標物邊緣找到四邊最大的點,將這些點組成 矩形圖案把目標物框選起來並求得中心點。整體流程圖如圖4.20表示34 利用前幾節介紹之影像處理法去擷取目標物流程圖如下: 攝影機輸入影像 轉灰階並取得 第一張背景 將影像轉成HSV 並二值化得到二 元影像 使用背景相減 再利用三角演 算法求得Th 使用IRGABM求 得二值化影像 中值濾波器濾波 進行膨脹 邊緣偵測求得輪廓 圈選目標物 圖 4.20 影像擷取流程圖