• 沒有找到結果。

攝影機內外部參數的校正與三維座標轉換

圖六、 雙攝影機校正示意圖。

為了進行三維空間的量測,首先須透過雙部攝影機,以攝影機校正技術取得 攝影機本身的內、外部參數[10],再利用內、外部參數計算出該部攝影機的投影

矩陣。獲得兩台攝影機各自的投影矩陣後,即可將擷取到的二維影像座標轉換成

圖七、 以wxWidgets自行撰寫的雙攝影機校正程式之動作畫面。

(a) 為左攝影機校正畫面。(b)為右攝影機校正畫面。

T

其中T 即為平移矩陣(Translation Matrix)。

如圖九所示,根據相機成像原理,可以將三維座標點(X,Y,Z)和該點投影在

假設我們兩台攝影機的投影矩陣分別為 M1 M2,在影像中欲轉換的點分

為了能夠取得快速移動的球體飛行畫面,背景相減法(Temporal Difference Method)具有執行快速的優勢,為一較適用的偵測方法,當攝影機所擷取的影

圖十一、 球體偵測與座標取得流程圖。

在本專題中,我們採用改良式的三相背景相減法(Three Frame Temporal Difference Method),以三張連續的影像,前兩張與後兩張影像先各自進行 EXCLUSIVE OR 邏輯計算,最後將兩輸出結果進行 AND 邏輯運算。三相背景 相減法對於環境的改變適應性較佳,對於快速移動的物體而言,能有效消除畫面 中的殘影,獲得較佳的球體偵測結果。

由於我們使用連續影像相減(Temporal Differencing)進行移動偵測,偵測 出的球體可能會有內部破碎的問題,為了使偵測物件的形狀保持完整,我們透過 形態學(Morphology)的方式,先以侵蝕(Erosion)消除雜訊,再以膨脹(Dilation)

連接破碎的偵測區塊,獲得較完整、實心的物件區塊。

擷取到球體後,利用連通法取得影像連通區域,透過程式以遞迴的方式檢驗 球體移動畫面,如果目標像素有值,則以遞迴方式檢驗周圍像素是否有值,如果 有值則給予相同的標籤號碼(Label)。接著再進一步將取得的連通區塊,以目標特 徵長寬比進行篩選,由於偵測目標為球體,故連通區塊不可能過扁或過長,藉由 此方式可以有效去除雜訊,並快速取得球心座標。

(a) (b) (c)

(d) (e)

圖十二、 球體快速降落時,偵測到多個區塊:

圖(a)為Tn2拍攝畫面。圖(b)為Tn1拍攝畫面。圖(c)為Tn拍攝畫面。

圖(d)為(a)和(b)相減,(b)和(c)相減,再將兩結果相乘的畫面。圖(e)為球體擷取結果。

如圖十二(d)所示,當棒球快速降落時,容易產生多個破碎殘影,導致一張 畫面有多個連通區塊。由於棒球降落時,畫面中的所有球體殘影,只有最下方的 殘影位置與現實球體位置最接近,所以我們在乎的是最下方的連通區塊,因此我 們檢查區塊的高度,如果高度較低,則記錄該區塊的高度座標,否則將該區塊視 為雜訊,減少移動偵測系統的工作量以加速二維座標的取得,如圖十二(e)所示,

此方法能在多個物件區塊中,擷取正確的球體位置。圖十三為球體偵測的實作結 果。

(a) (b) (c)

(d) (e) (f) 圖十三、 以三相背景相減法與連通法準確偵測到移動目標:

圖(a)為 T1拍攝畫面。圖(b)為 T2拍攝畫面。圖(c)為 T3拍攝畫面。

圖(d)為 T0拍攝畫面和(a)相減,(a)和(b)相減,再將兩結果相乘的畫面。

圖(e)為(a)和(b)相減,(b)和(c)相減,再將兩結果相乘的畫面。

圖(f)為(b)和(c)相減,(c)和 T4拍攝畫面相減,再將兩結果相乘的畫面。

2.4. 以飛蛾撲火演算法進行落點預測 以飛蛾撲火演算法進行落點預測 以飛蛾撲火演算法進行落點預測 以飛蛾撲火演算法進行落點預測

圖十四、 傳播距離為無窮遠,波前(wavefront)為平面波(plane wave)[8]。

本專題中,我們提出一個創新的落點預測演算法,此概念源自飛蛾撲火的原 理。飛蛾屬夜行昆蟲,它們生活在地球長達數億年的時間,並演化出一種獨特的 羅盤導航系統,以光線來做為方向判定的依據[6, 7, 18, 19]。飛蛾會根據光波的 傳遞方向,調整自身的飛行方向。在數億年前的地球,飛蛾依靠著月光和星光來 定位方向,由於星光來自非常遙遠的地方,我們若以光學的波前(Wavefront)[8]

來思考,將月光、星光的波前視為平面波(Plane Wavefront),當飛蛾要直線飛

8m 10 85 .

3 ×

θ θ θ θ

圖十五、 飛蛾與月光傳遞方向維持固定角度之示意圖。

從地球歷史的角度而言,人類的祖先約在七十九萬年前才掌握了控制火的能 力[17],與飛蛾數億年演化的歷史相比,人類使用火、蠟燭、電燈等近光源(Nearby Light Source)的歷史其實非常短暫。由於飛蛾飛行的羅盤導航系統來自數億年 的演化,無法即時適應人類充滿燈光的夜世界,火光、燭光、燈光等近光源的波 前為球面波(Spherical Wavefront)[8],當飛蛾飛行經過近光源時,根據自身的 飛行行為,如圖十六所示,與光波傳遞方向維持一個固定夾角,結果形成了一個 螺旋旋轉方向,直撲火光。

圖十六、 飛蛾飛行與光波維持一固定夾角,形成螺旋式軌跡並直撲火光[18, 19]。

我提出一個想法: 如果蠟燭是會移動的,那飛蛾勢必有能力追蹤蠟燭。假設 棒球飛行方向是光波前進方向,而自走車是飛蛾,自走車移動方向與棒球移動方 向固定一個相同角度,則兩者移動方向的延長線必定會有交點,此交點就是棒球 的落點。圖十七說明了飛蛾飛行行為與機器捕手的對應關係。從圖十八可以清楚 看到,自走車將會逐步移動至預測落點。

圖十七、 假設自走車代表飛蛾,球的飛行方向代表光波傳遞方向。

圖十八、 以飛蛾撲火之角度校正方式,追蹤移動目標、取得預測落點。

為了持續追蹤球並計算座標角度,我們設計了一個數學模型來實現飛蛾飛行 的角度校正行為。如圖十九所示,根據圓周角定理得知,只要圓周角其中直徑兩 端點保持不變,改變第三點在圓周上的位置,所形成的圓周角恆為固定角度

2

1 θ

θ = 。

圖十九、 圓周角定理。

如圖二十(a)所示,當時間點T=n,我們將機器自走車與飛球座標Ball1(n)假 設為直徑兩端點,透過圓的直徑式求得圓方程式C1。如圖二十(b)所示,當時間 點前進至T=n+1,攝影機取得下一瞬間的飛球座標Ball1(n+1),我們以兩座標

)

1(n

BallBall1(n+1)求得一直線方程式L1,透過直線方程式L1與圓方程式C1求 得一交叉點P1,此交叉點P1即為時間點T=n+1的預測落點。如圖二十(c)所示,

機器車將移動前往交叉點P1,與球體飛行方向維持固定角度,如同飛蛾撲火一 般。系統將利用此圓周角數學模型,持續計算出每一時刻的預測點,機器自走車 將會持續移動前往預測點,直到機器自走車與飛球座標重疊為止,表示成功攔截 飛球。

(a) (b) (c)

3D Flying Ball Centroid

Newtonian Mechanics

Predict Fall Point

Find Intersect Point

Newtonian Mechanics

Moth Flight-to-Light Tracking Algorithm

設 T 為本系統攝影機幀率(Frame Interval Time),我們可求得 X,Y,Z 三分量 的初速度分別為(12)、(13)、(14)式:

上式(12)、(13)、(14)之 frame(n).x, frame(n).y 與 frame(n).z 分別代表第 n 張 frame 中的飛球座標( X, Y, Z)。

(18)

三 三 三

三、 、 、系統整合與實驗分析 、 系統整合與實驗分析 系統整合與實驗分析 系統整合與實驗分析

本章節分為軌跡預測模擬、軌跡預測分析及系統整合實驗三部分,詳細內容 將分述如下:

3.1. 軌跡預測 軌跡預測 軌跡預測 軌跡預測模擬 模擬 模擬 模擬

我們建立了三十筆飛球軌跡資料,分別進行飛蛾演算法及混合式演算法的模 擬實驗。在此假設機器車行走速度為 100mm/s。

3.1.1. 飛蛾演算法模飛蛾演算法模飛蛾演算法模飛蛾演算法模擬結果擬結果擬結果 擬結果

在本小節中,我們使用飛蛾預測演算法進行預測模擬。我們分別在 X-Y 平面 與 X-Z 平面使用飛蛾演算法預測模型(如圖二十所示)。圖二十三(a)、(b)、(c)、(d) 為四筆棒球落點預測之模擬結果。圖二十三中的紅線為棒球飛行軌跡、藍色點代 表飛蛾演算法之預測點、黃色線為機器車移動的軌跡。根據飛蛾趨光性的飛行行 為,假設機器自走車移動方向與飛球飛行方向維持一個固定角度。機器自走車將 持續追蹤飛球,並攔截飛球。最後紅色線、藍色點與黃色線重疊在一起,表示機 器自走車成功攔截飛球。

(a) (b)

(c) (d) 圖二十三、 飛蛾演算法之預測模擬結果。

3.1.2. 複合式演算法模擬結果複合式演算法模擬結果複合式演算法模擬結果複合式演算法模擬結果

在本小節中,我們結合飛蛾預測演算法與重力加速度計算,詳細預測流程如

圖二十一所示。圖二十四為兩棒球落點預測之模擬結果。圖二十四(a)、(c)和(b)、

(d)分別為實驗軌跡的三維圖及剖面圖。圖二十四中的紅線為棒球飛行軌跡、藍 色點代表飛蛾演算法之預測點、黃色線為機器車移動的軌跡、綠色方點為重力加 速度計算之預測落點。

系統預測分為兩大階段,系統第一階段以重力加速度計算棒球落點,如圖二 十四中綠色方點所示。系統第二階段將執行飛蛾預測演算法,持續追蹤飛球並微 調預測落點,有效降低第一階段落點預測之誤差。根據飛蛾趨光性的飛行行為,

假設機器自走車移動方向與飛球飛行方向維持一固定角度。系統將持續更新預測 落點,機器自走車則持續移動並追蹤飛球,最後紅色線、藍色點與黃色線同時重 疊在一起,機器自走車成功接住飛球。

(a) Simulation #1: 3D-silde (b) Simulation #1: 2D-silde

(c) Simulation #2: 3D-silde (d) Simulation #2: 2D-silde 圖二十四、 複合式演算法之預測模擬結果。

3.2. 軌跡預測分析 軌跡預測分析 軌跡預測分析 軌跡預測分析

在本系統中,透過改良式的拋體運動演算法,在未使用 Kalman Filter 的狀 態,投出球後能快速預測出球體的飛行落點,並在球飛行過程中,模仿飛蛾趨光 性之飛行行為,持續追蹤飛球並微調獲得更準確的預測落點。本章節我們分析 Kalman Filter 與本專題所提出之預測方法,我們分別將三十筆飛球軌跡資料輸入 至 Kalman Filter、飛蛾預測演算法及複合式演算法共三種預測系統,進行準確度 分析。

3.2.1. 以不同投球距離進行分析以不同投球距離進行分析以不同投球距離進行分析以不同投球距離進行分析

(a) (b) (c) 圖二十五、 在不同投球距離下,飛蛾演算法與 Kalman Filter 預測誤差比較:

(a)X 軸、(b) Y 軸、(b) Z 軸。

(a) (b) (c) 圖二十六、 在不同投球距離下,複合式演算法與 Kalman Filter 預測誤差比較:

(a)X 軸、(b) Y 軸、(b) Z 軸。

我們以三十筆平均球速為 2.06m/s 的棒球軌跡進行分析。如圖二十五所示,

隨著投球距離的增加,我們發現預測誤差有提升的趨勢,飛蛾演算法與 Kalman Filter 在 XY 軸方向的預測表現穩定,其落點預測誤差皆相當接近。但在 Z 軸 的預測誤差有明顯的差距,第一個解釋是 Z 軸方向的棒球軌跡變化較劇烈。棒球 軌跡一般可歸類成拋物線軌跡,投出球後會先朝上飛行至最高點,受地吸引力影

隨著投球距離的增加,我們發現預測誤差有提升的趨勢,飛蛾演算法與 Kalman Filter 在 XY 軸方向的預測表現穩定,其落點預測誤差皆相當接近。但在 Z 軸 的預測誤差有明顯的差距,第一個解釋是 Z 軸方向的棒球軌跡變化較劇烈。棒球 軌跡一般可歸類成拋物線軌跡,投出球後會先朝上飛行至最高點,受地吸引力影

相關文件