• 沒有找到結果。

飛蛾撲火,源自《梁書·到溉傳》:「如飛蛾之赴火,豈焚身之可吝」。原是讚

賞獻身精神的意思。後來用來比喻自取滅亡。其實飛蛾撲火的行為並非自取滅 亡,更沒有犧牲奉獻的意思。著名的學者Frank[6]在1988年論述了夜晚的燈光是 如何影響飛蛾的,飛蛾具有一種特殊的羅盤導航系統,它們利用月光和星光進行 飛行方向的判定。Longcore和Rich[7]廣泛探討了人造夜間照明對各種昆蟲的影響 與危害,Hecht[8]所著的光學聖經詳盡講解了波動的知識,如波動方程和各種波 前的特徵,由於月光、星光來自非常遙遠的地方,其光波的波前由球面波轉變為 平面波,飛蛾飛行時會與平面波維持固定角度,進行直線飛行。我們將在第二章 第四節詳細剖析飛蛾撲火的原理及演算法設計。

在本研究中的棒球飛行畫面擷取和落點計算,需要透過電腦視覺及影像處 理,以多台攝影機進行參數校正,再同步進行影像中的移動物體偵測。攝影機校 正技術是電腦視覺與量測的基礎,1987年Tsai[9]率先提出第一個攝影機參數的校 正技術。1999年在Zhang[10]所提出的技術報告中表示,攝影機校正方法可以分 為攝影量測校正和自主式校正兩種。在本專題中,我們以OpenCV進行攝影機量 測校正,我們設計了一個平面棋盤格作為三維校正模型,經過計算取得攝影機內 外參數。而Zhang所提到的自主式校正是透過攝影機本身的移動和影像資訊取得 參數,完全不需依靠校正模型,但目前自主式校正法的技術並不成熟,無法獲得 準確的參數。

棒球的軌跡重建和球路偵測是目前移動物體偵測研究領域中,相當新穎有趣 的主題。Black和Ellis[13]發展以多相機系統監控和追蹤多目標物,使用卡曼濾波 器(Kalman Filter)追蹤線性移動的目標物,並利用多相機取得各部分環境影像,

建立3D環境結合多重視點。林尚志[14]則是以兩台電腦進行非同步雙攝影機的棒 球三維軌跡重建,由於移動物體在靠近捕手時不易拍攝和偵測,因此再透過卡曼 濾波器預測出落點,整體平均誤差值為4.32%。Olsen和Brill [15]介紹了一種更通 用的運動物體檢測,在室內使用移動偵測來偵測移動的物體,並預測追蹤跟辨識 行為。

二 二 二

二、 、 、研究方法 、 研究方法 研究方法及步驟 研究方法 及步驟 及步驟 及步驟

本系統架構可分為四大部分: 雙部攝影機的同步視訊輸入、攝影機內外參數 的校正與三維座標轉換、移動球體的偵測與球心座標取得,及落點預測演算法,

系統流程如圖五所示,詳細步驟分述如后。

圖五、 系統流程圖。

2.1. 雙部攝影機的同步視訊輸 雙部攝影機的同步視訊輸 雙部攝影機的同步視訊輸 雙部攝影機的同步視訊輸入 入

在本系統架構的最初端,需要以兩部攝影機擷取同一瞬間移動球體於兩個視 角的影像畫面,多部攝影機經常受到外在因素如影像擷取卡、資料傳輸協定以及 作業系統中Process排程的影響,使得電腦可能存取到不同時間的影像。

本研究採用OpenCV提供的函式庫cvcam.h,它具有控制多視訊裝置的相關副 程式,也提供AVI檔的存取和播放功能。此外它支援HWND,能夠結合各種視窗 介面的程式設計。在函式庫cvcam.h中的cvcamSetProperty()能夠設定兩部視訊的 同步播放,但是需使用相同廠商的視訊裝置,否則會造成無法同步播放的問題。

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

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

為了進行三維空間的量測,首先須透過雙部攝影機,以攝影機校正技術取得 攝影機本身的內、外部參數[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. 軌跡預測 軌跡預測 軌跡預測 軌跡預測模擬 模擬 模擬 模擬

我們建立了三十筆飛球軌跡資料,分別進行飛蛾演算法及混合式演算法的模

我們建立了三十筆飛球軌跡資料,分別進行飛蛾演算法及混合式演算法的模

相關文件