• 沒有找到結果。

以飛蛾撲火演算法實現棒球落點預測

N/A
N/A
Protected

Academic year: 2021

Share "以飛蛾撲火演算法實現棒球落點預測"

Copied!
27
0
0

加載中.... (立即查看全文)

全文

(1)

國立台灣科技大學電子工程系 國立台灣科技大學電子工程系 國立台灣科技大學電子工程系 國立台灣科技大學電子工程系

100 學年度第學年度第學年度第一學年度第一一學期專題研究一學期專題研究學期專題研究 學期專題研究

專題總報告 專題總報告專題總報告 專題總報告

以飛蛾撲火演算法實現棒球落點預測

研 究 組 員

林可昀 B9702111

組 別 : 99C14

指導老師 : 許孟超

中 華 民 國 101 年 3 月 29 日

(2)

I

摘要 摘要 摘要 摘要

在本研究中,我們提出一個創新的想法,藉由模仿飛蛾趨光性的飛行行為,

結合影像處理與重力加速度計算,發展出一種追蹤移動物體的預測方法。在投手 投出棒球的瞬間,能準確預測出棒球的飛行落點,並在棒球飛行過程中,持續以 飛蛾之角度校正飛行方式,持續追蹤棒球並調整修正預測落點。經過實驗發現,

隨著球速的增加,飛蛾演算法展現穩定的預測表現,在 Z 軸方向的預測能力更 優於 Kalman Filter。隨著投球距離的增加,複合式演算法展現高準確度的預測能 力,非常適用於機器自走車的設計和結合。

(3)

目錄 目錄 目錄 目錄

摘要………I 目錄………...II 圖目錄………..III

一、緒論………1

1.1

研究目的………1

1.2

研究動機與創意來源………1

1.2.1 研究動機………1

1.2.2 創意來源………2

1.3

文獻回顧與探討………2

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

2.1

雙部攝影機的同步視訊輸入………4

2.2

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

2.3

移動球體的偵測與球心座標取得………7

2.4

以飛蛾撲火演算法進行落點預測………9

三、系統整合與實驗分析………..14

3.1

軌跡預測模擬………..14

3.1.1 飛蛾預測演算法模擬結果………..14

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

3.2

軌跡預測分析………..15

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

3.2.2 以不同球速進行分析………..17

3.3

系統整合實驗………..18

3.3.1 攝影機參數校正………..18

3.3.2 移動球體的偵測與球心座標取得………..18

3.3.3 即時軌跡預測結果………..18

四、結論與未來展望………..21

4.1

結論………..21

4.2

未來展望………..21

五、文獻參考………..22

(4)

III

圖目錄 圖目錄 圖目錄 圖目錄

圖一、 機器視覺捕手概念圖.

………..1

圖二、 Bauml 等學者展示的藍色機器人[2]

………..2

圖三、 飛蛾飛向電燈的軌跡記錄圖[5]

………2

圖四、 飛蛾撲火演算法概念圖

………2

圖五、 系統流程圖

………4

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

………...4

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

……….5

圖八、 座標系統轉換示意圖

………...5

圖九、 相機成像原理示意圖

………...5

圖十、 一般背景相減法偵測球體的缺點

………..7

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

………..8

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

……….8

圖十三、 以三相背景相減法與連通法準確偵測到移動目標

………9

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

………...9

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

………10

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

………10

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

………10

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

………..11

圖十九、 圓周角定理

………...11

圖二十、 飛蛾撲火演算法預測模型

………...11

圖二十一、 複合式演算法之預測流程圖

………12

圖二十二、 投球畫面示意圖

……….13

圖二十三、 飛蛾演算法之預測模擬結果

……….………...14

圖二十四、 複合式演算法之預測模擬結果

……….15

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

………..16

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

………16

圖二十七、 在不同球速下,三種預測方法之誤差比較

……….17

圖二十八、 當球速過快,複合式演算法產生較大預測誤差

………..17

圖二十九、 雙攝影機校正程式之動作畫面

….………18

圖三十、 移動偵測動作畫面

……….18

圖三十一、 飛蛾演算法之即時預測結果

………19

圖三十二、 複合式演算法之即時預測結果

……….20

(5)

一 一 一

一、 、 、緒論 、 緒論 緒論 緒論

1.1. 研究目的

研究目的研究目的研究目的

一場棒球比賽中,最精彩的就是投手與打擊者的對決,當投手投出球後,我 們緊張的是打擊者會不會看穿球路、敲出安打,還是通過好球帶、被捕手接住,

而關鍵就在於能不能掌握棒球的落點。

在本研究中,我們提出一個創新的演算法,藉由結合飛蛾撲火的原理與拋體 運動的公式計算,在投手投出球的瞬間,能一次到位預測出棒球的飛行落點,並 在棒球飛行過程中,持續以飛蛾撲火之角度校正方式,持續微調並獲得準確的預 測落點。本研究的目的即是希望藉由模仿模仿模仿飛蛾撲火模仿飛蛾撲火飛蛾撲火原理的飛蛾撲火原理的原理的預測原理的預測預測預測演算法演算法演算法演算法,有效提升 機器視覺與飛行物體落點預測的能力,在投手投球的瞬間,就能立刻得知棒球的 落點。

本研究的主要內容是先透過 3D 電腦視覺及影像處理的技術,以兩台攝影機 拍攝棒球的飛行畫面,在系統啟動時先進行攝影機校正,再對影像作即時的三相 背景相減法,運用連通法和特徵濾波有效消除雜訊,並取得左右攝影機各別的飛 行球體 2D 座標。之後透過座標轉換,將 3D 座標資訊代入拋體運動公式以及飛 蛾撲火原理的演算法,預測出棒球的最後落點。

圖一、 機器視覺捕手概念圖。

1.2. 研究動機與

研究動機與研究動機與研究動機與創意來源創意來源創意來源 創意來源

1.2.1.

研究動機研究動機研究動機研究動機

在機器人感知技術的發展中,機器人視覺已有豐碩的研究成果。目前較具挑 戰性的課題是以視覺追蹤快速移動的物體,其中棒球飛行的預測更是大家努力的 目標。這類相關的研究大多採用卡曼濾波器(Kalman Filter)估測球體的動向,

但實際結合機械手臂進行擊球或接球卻出現極大的挑戰。Frese 和 Bauml 等學者 在機器人視覺的領域已有長年的研究成果,2001 年他們使用雙攝影機,以延伸 式卡曼濾波器(Extended Kalman Filter)估測球體的落點,並驅動 7 軸機器手臂 接球,成功率約為 66%[1]。2011 年 Frese 和 Bauml 等學者展示了他們最新的研

(6)

究,他們設計了一個藍色雙手臂機器人,能同時控制兩隻機械手臂接住兩顆飛 球,接球成功率約 80%[2]。C. Y. Lin 和 Y. P. Chiu 等學者[3]也以雙攝影機估測球 之位置,並控制雙軸機器手臂接球,接球成功率約為 65%。黃志誠[4]以單眼攝 影機估測球體位置,控制雙軸機械手臂擊球,打擊命中成功率約為 43%。

1.2.2.

創意來源創意來源創意來源創意來源

由於卡曼濾波器(Kalman Filter)需持續的追蹤目標動向,才能預測目標的 未來座標,當棒球飛進好球帶的前一刻,才計算出棒球落點,對於一個機器捕手 而言,機器反應速度是一個非常大的挑戰。Frese 和 Bauml 等學者[1, 2]針對機械 手臂的機構設計進行改良,經過十年的研究,設計出一個藍色雙手臂機器人(如 圖二),將接球成功率從 66%提升到 80%。但我們可以明顯發現,花費龐大金費 將硬體機構發展到極限,最後的接球準確率僅改善至 80%,顯然預測演算法仍有 發展空間,於是我們開始思考是否有更好的預測方式。

圖二、 Bauml 等學者展示的藍色機器人[2]。 圖三、 飛蛾飛向電燈的軌跡記錄圖[5]。

某天晚上,看見路燈有許多飛蛾圍繞,便自問飛蛾為何會撲火,如果路燈會 移動,那飛蛾會不會追著路燈呢?學生將此想法整理成一份簡易又準確的演算 法。與老師討論後,決定將此想法結合物理拋體運動公式,在投手投出球的瞬間,

就能立刻計算出棒球落點,最後透過電腦視覺與影像處理技術實現演算法,以提 升飛行物體落點預測和追蹤的能力。

圖四、 飛蛾撲火演算法概念圖。

1.3. 文獻回顧與探討

文獻回顧與探討文獻回顧與探討文獻回顧與探討

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

(7)

賞獻身精神的意思。後來用來比喻自取滅亡。其實飛蛾撲火的行為並非自取滅 亡,更沒有犧牲奉獻的意思。著名的學者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]介紹了一種更通 用的運動物體檢測,在室內使用移動偵測來偵測移動的物體,並預測追蹤跟辨識 行為。

(8)

二 二 二

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

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

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

圖五、 系統流程圖。

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

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

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

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

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

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

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

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

(9)

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

進行攝影機校正時,採用觀察平面圖形(planar pattern)的方法,製作一個平 面的黑白棋盤板(如圖六),然後將欲校正的攝影機對此棋盤板拍攝多個不同角度 的照片,再將每一張照片上的角點特徵點作比對計算,即可獲得攝影機的內部參 數。因此拍攝愈多張照片,參考數據愈多,則愈容易獲得準確的內部參數。吾人 將以wxWidgets自行撰寫雙攝影機校正程式,如圖七所示:

(a) (b)

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

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

圖八、 座標系統轉換示意圖。 圖九、 相機成像原理示意圖。

攝影機座標與世界座標可分別透過

X , Y , Z

軸旋轉角度

θ

轉換,如圖八所示。

當攝影機繞 Z 軸旋轉

θ

1、當攝影機繞 X 軸旋轉

θ

2以及當攝影機繞Y 軸旋轉

θ

3時,其旋轉矩陣分別為

r 、

θ1

r 和

θ2

r :

θ3

 

 

=

1 0 0

0 cos sin

0 sin cos

1 1

1 1

1

θ θ

θ θ

r

θ

 

 

=

2 2

2 2

2

cos sin

0

sin cos

0

0 0

1

θ θ

θ

θ

θ r

 

 

=

3 3

3 3

3

cos 0 sin

0 1 0

sin 0 cos

θ θ

θ θ

r

θ

(1)

旋轉矩陣(Rotation Matrix)即為三分量旋轉矩陣相乘之結果:

R = r

θ1

r

θ2

r

θ3

(2)

如圖八所示,為了修正

O 世界座標原點與

w

O

cam攝影機座標原點的差距,對 世界座標的

X , Y , Z

軸分別平移 tx 、ty 、tz ,因此世界座標與攝影機座標之間的 關係式(3)如下表示之:

(10)

T P tz ty tx

Z Y X

p = +

 

 

 +

 

 

= (3)

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

如圖九所示,根據相機成像原理,可以將三維座標點

( X , Y , Z )

和該點投影在 影像上的二維座標點,用此關係式(4)表示之:

[ ]

=

=

1 1 0 0 0 0

1 0 0

0 0

0 0

1 1 0 0

0

31 32 33

23 22 21

13 12 11

0 0

3 1

1 3 3 3 1 3 3

3

Z

Y X

tz r r r

ty r r r

tx r r r v

f u f

Z Y X T I R

A v u

k

y

x

x x x x

x

(4)

 

 

=

1 0 0 0

0

0 0

v f

u f

A

y

x

(5)

其中 k 為一比例常數,(5)式為攝影機的內部參數矩陣,

( u

0

, v

0

)

為影像平面中心 點,

f 和

x

f 為影像座標系統中

y

u

軸與

v

軸方向的焦距。

當我們求出左右攝影機的內外參數後,將內外參數相乘如下式,即可獲得投 影矩陣 M。

=

=

34 33 32 31

24 23 22 21

14 13 12 11

33 32 31

23 22 21

13 12 11

0 0

1 0 0 0 0

1 0 0

0 0

0 0

M M M M

M M M M

M M M M tz

r r r

ty r r r

tx r r r v

f u f

M

y

x

(6)

我們從(4)知道了世界座標與影像座標之間的關係,我們可以將(4)與(6)整理

W

C

P

M M M M

M M M M

M M M M Z

Y X

M M M M

M M M M

M M M M

z zv zu P

=

=

=

34 33 32 31

24 23 22 21

14 13 12 11

34 33 32 31

24 23 22 21

14 13 12 11

1

(7)

我們把(7)拆解開可以得到(8)

34 33

32 31

24 23

22 21

14 13

12 11

M Z M Y M X M z

M Z M Y M X M zv

M Z M Y M X M zu

+ +

+

=

+ +

+

=

+ +

+

=

(8)

再將(8)化簡可得(9)

24 34

33 23 32

22 31

21

14 34

33 13 32

12 31

11

) (

) (

) (

) (

) (

) (

M v M v M M Z v M M Y v M M X

M u M u M M Z u M M Y u M M X

×

=

×

− +

×

− +

×

×

=

×

− +

×

− +

×

− (9)

(11)

假設我們兩台攝影機的投影矩陣分別為 M1

M2,在影像中欲轉換的點分

別為 P1(u1,v1)、 P2(u2,v2),我們最後整理得到二維轉換三維的公式(10)

 

 

×

×

×

×

=

 

 

 

 

×

×

×

×

×

×

×

×

×

×

×

×

24 2

34

14 2

34

24 1

34

14 1

34

2 33 23

2 32 22

2 31 21

2 33 13

2 32 12

2 31 11

1 33 23

1 32 22

1 31 21

1 33 13

1 32 12

1 31 11

2 2

2 2

1 1

1 1

2 2

2 2

2 2

2 2

2 2

2 2

1 1

1 1

1 1

1 1

1 1

1 1

M v M

M u M

M v M

M u M

Z Y X

v M M

v M M

v M M

u M M

u M M

u M M

v M M

v M M

v M M

u M M

u M M

u M M

(10)

根據推導可知,我們須將 P1(u1,v1)、 P2(u2,v2)與投影矩陣 M1

M2 代入 (10)式,便能計算出 P1 與 P2 所對應的三維座標( X, Y, Z)。

2.3. 移動球體的偵測與

移動球體的偵測與移動球體的偵測與移動球體的偵測與球心座標取得球心座標取得球心座標取得球心座標取得

為了使監視視訊系統能自動偵測目標物,並對移動目標進行追蹤,首先必須 抓取到畫面的移動目標,一般的偵測方式是先建立模型,如Yan等學者 [16] 發 表透過高斯混合背景模型進行的物體移動偵測,可以得到良好的效果。在真實環 境下,隨著偵測場景的天氣和日照變化等因素,背景有動態更新的必要。在更新 的過程中為避免前景物體長期的停留不動而被當成背景,一開始需先剔除前景影 像的部分,接著再判定前景是否處於一個穩定的狀態,只有穩定的像素才有更新 的必要。由於具有動態更新的特性,適合運用具有光線變化的環境,但缺點是計 算複雜度高,耗費時間較長,不適合用來擷取快速飛行的球體。

為了能夠取得快速移動的球體飛行畫面,背景相減法(Temporal Difference

Method)具有執行快速的優勢,為一較適用的偵測方法,當攝影機所擷取的影

像畫面中有物體移動,畫面中的像素值就會改變,藉由將兩張連續的影像畫面相 減,能夠快速取得像素值變化的部分。但使用單純的背景相減法,在系統開始偵 測的第一個瞬間,會產生錯誤的偵測結果。對於一個快速移動的球體而言,背景 相減後可能會取得兩個或兩個以上的球體畫面,如圖十所示。

(a) (b) (c) 圖十、 一般背景相減法偵測球體的缺點:

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

圖(c)為(a)與(b)進行背景相減的結果,相減後取得多個球體畫面。

(12)

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

在本專題中,我們採用改良式的三相背景相減法(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)為球體擷取結果。

(13)

如圖十二(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),當飛蛾要直線飛

(14)

8m

10 85 .

3

×

θ θ θ θ

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

從地球歷史的角度而言,人類的祖先約在七十九萬年前才掌握了控制火的能 力[17],與飛蛾數億年演化的歷史相比,人類使用火、蠟燭、電燈等近光源(Nearby

Light Source)的歷史其實非常短暫。由於飛蛾飛行的羅盤導航系統來自數億年

的演化,無法即時適應人類充滿燈光的夜世界,火光、燭光、燈光等近光源的波 前為球面波(Spherical Wavefront)[8],當飛蛾飛行經過近光源時,根據自身的 飛行行為,如圖十六所示,與光波傳遞方向維持一個固定夾角,結果形成了一個 螺旋旋轉方向,直撲火光。

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

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

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

(15)

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

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

2

1

θ

θ =

圖十九、 圓周角定理。

如圖二十(a)所示,當時間點

T = n

,我們將機器自走車與飛球座標

Ball

1

( n )

設為直徑兩端點,透過圓的直徑式求得圓方程式

C

1。如圖二十(b)所示,當時間 點前進至

T = n + 1

,攝影機取得下一瞬間的飛球座標

Ball

1

( n + 1 )

,我們以兩座標

)

1

( n

Ball

Ball

1

( n + 1 )

求得一直線方程式

L

1,透過直線方程式

L

1與圓方程式

C

1 得一交叉點

P

1,此交叉點

P

1即為時間點

T = n + 1

的預測落點。如圖二十(c)所示,

機器車將移動前往交叉點

P

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

(a) (b) (c)

(16)

3D Flying Ball Centroid

Newtonian Mechanics

Predict Fall Point

Flying Ball(n+1)

Flying Ball(n)

Robot Coordinate Circle

Equation Line Equation

Find Intersect Point

Newtonian Mechanics

Moth Flight-to-Light Tracking Algorithm Frame

Counter

>2 Y

N

圖二十一、 複合式演算法之預測流程圖。

在本專題中,我們提出一個複合式棒球落點預測方法,當投手投出球後,我 們只須擷取前二張移動畫面,以便計算出 X,Y,Z 三分量的速度,透過重力加速度 計算出棒球落點,再利用飛蛾預測方法持續追蹤,不斷微調以取得準確預測落點。

在此假設飛球座標為

Ball (x,y,z) =( frame(n).x, frame(n).y, frame(n).z) (11)

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

) 14 ( ).

( ).

1 ( 0

) 13 ( ).

( ).

1 ( 0

) 12 ( ).

( ).

1 ( 0

T

z n frame z

n frame V z

T

y n frame y

n frame V y

T

x n frame x

n frame V x

= +

= +

= +

上式(12)、(13)、(14)之 frame(n).x, frame(n).y 與 frame(n).z 分別代表第 n 張

frame 中的飛球座標( X, Y, Z)。

假設 T1 為球體飛至最高點所需要的時間,在此設定三維空間之高度軸為 Z 軸,我們可透過重力加速度求得 T1:

) 15 ( 1 0

g V z T =

利用上式,我們可求得球體飛行到最高點的三維座標如下:

(17)

(18) 2 )

) 2 1 ( 1 0

( ).

1 ( .

) 17 ( 1 0

).

1 ( .

) 16 ( 1 0

).

1 ( .

T g V z T z n frame z

Highest

V y T y n frame y

Highest

V x T x n frame x

Highest

− ×

× + +

=

× + +

=

× + +

=

由於我們已經知道棒球飛行至最高點的座標,所以可利用下式求出球從最高 點,飛至地面的所需時間 T2:

) 19 ( .

2 2

g z Highest T = ×

最後即可獲得三維落點座標:

(22) 0 .

) 21 ( 2 0

. .

) 20 ( 2 0

. .

=

× +

=

× +

=

z Fall

V y T y Highest y

Fall

V x T x Highest x

Fall

圖二十二、 投球畫面示意圖。

在此演算法中,我們透過重力加速度和拋物線的計算,推演出只需要最初兩 張擷取畫面,就能一次到位的預測落點,為了減少空氣阻力與 3D 座標的誤差值,

我們再運用飛蛾撲火的原理,在球飛行的過程中持續微調座標,當棒球突然下墜 等等情況,也能預測出落點。最後使機器自走車能準確接住球。

(18)

三 三 三

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

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

3.1. 軌跡預測

軌跡預測軌跡預測軌跡預測模擬模擬模擬 模擬

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

3.1.1.

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

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

(a) (b)

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

3.1.2.

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

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

(19)

圖二十一所示。圖二十四為兩棒球落點預測之模擬結果。圖二十四(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、飛蛾預測演算法及複合式演算法共三種預測系統,進行準確度 分析。

(20)

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 適用於預測線性變化的對象,但棒球軌跡在 Z 軸的 移動方向變化較劇烈、不穩定,因此可能產生較大的預測誤差。第二個解釋是受 到計算時間的影響,Kalman Filter 所需的運算時間較長,處理快速移動或移動方 向不穩定的目標物,較容易產生預測失誤。相較於飛蛾演算法,由於飛蛾演算法 是透過維持固定角度以持續追蹤飛球,僅需計算圓方程式與直線方程式之交點

(如圖二十),運算複雜度較低,所需預測時間較短,當棒球飛行路線產生變化,

飛蛾演算法能依照球路變化,修正預測落點並持續追蹤。

觀察圖二十六,我們發現複合式演算法展現優異的預測能力。複合式演算法 由兩階段組成,第一階段透過牛頓力學重力加速度估測棒球落點,第二階段以飛 蛾演算法追蹤棒球,並降低第一階段預測誤差。複合式演算法屬於平面式的落點 預測,所有的預測點皆在地面,因此我們不需考慮 Z 軸方向的預測誤差,這樣 的預測落點非常適用於機器自走車的設計和結合。

(21)

3.2.2.

以不同球速進行分析以不同球速進行分析以不同球速進行分析以不同球速進行分析

(a)

(b)

(c)

圖二十七、 在不同球速下,三種預測方法之誤差比較:

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

我們以三十筆棒球軌跡進行分析,投球距離固定為 5m,球速分別為 1.8m/s,

2.4m/s, 3.0m/s, 4.5m/s, 7.5m/s, 15m/s 及 24m/s。如圖二十七所示,我們發現隨著

球速的增加,飛蛾演算法則展現較穩定的預測能力,複合式演算法與 Kalman

Filter 的預測誤差則都有上升的趨勢。當球速高於 7.5m/s,複合式演算法的預測

能力開始降低,並產生巨大誤差。我們的解釋是受到攝影機每秒捕捉的影像張數 限制(Frame Per Second = 30),當球速提高時,攝影機所捕捉到球體座標數量會減 少,造成複合式演算法在第一階段預測產生巨大的誤差,雖然第二階段透過飛蛾 演算法降低誤差,但還是來不及追到球,如圖二十八所示。

圖二十八、 當球速過快,複合式演算法產生較大預測誤差。

(22)

3.3. 系統整合實驗

系統整合實驗系統整合實驗系統整合實驗

本專題使用兩台 NTSC 攝影機與一台筆電(Core 2/2.0Ghz),以 wxDevC++、

OpenCV、wxWidgets 與 gnuplot 等為發展環境。我們以棒球與網球進行投球實驗,

系統偵測取得飛球座標後,將立刻計算三維軌跡和座標,快速取得棒球落點位 置,以便機械捕手提早移動至落點並接住球。

3.3.1.

攝影機參數校正攝影機參數校正攝影機參數校正攝影機參數校正

首先透過雙部攝影機拍攝不同姿態角度之棋盤格,計算特徵點座標與圖像座 標的關係。取得攝影機本身的內、外部參數後,利用內、外部參數計算出該部攝 影機的投影矩陣。獲得兩台攝影機各自的投影矩陣後,即可將擷取到的二維影像 座標轉換成三維影像座標。

(a) (b)

圖二十九、 雙攝影機校正程式之動作畫面: (a)左攝影機、(b)右攝影機。

3.3.2.

移動球體移動球體移動球體移動球體偵測與偵測與偵測與球心座標取得偵測與球心座標取得球心座標取得 球心座標取得

我們以三相背景相減法抓取到畫面的移動飛球,透過投影矩陣轉換取得飛球 的三維座標。圖三十為網球的移動偵測畫面,系統攝影機每 0.03 秒取得一張影 像,並執行三相背景相減法偵測球體。第一、三排影像為真實投球畫面,第二、

四排影像為移動偵測結果。

t=0.03s t=0.06s t=0.09s t=0.12s t=0.15s

t=0.18s t=0.21s t=0.24s t=0.27s t=0.30s

圖三十、 移動偵測動作畫面。

(23)

3.3.3.

即時軌跡預測結果即時軌跡預測結果即時軌跡預測結果即時軌跡預測結果

(a) Experimental Result #1 (b) Experimental Result #1

(c) Experimental Result #2 (d) Experimental Result #2

(e) Experimental Result #3 (f) Experimental Result #3 圖三十一、 飛蛾演算法之即時預測結果。

圖三十一為飛蛾演算法的即時投球預測結果,圖三十一(a)、(c)、(e)和圖三 十一(b)、(d)、(f)分別為三次投球實驗的預測畫面及軌跡擷取圖,紅色圓圈代表 系統預測之棒球落點。當球投出後,飛蛾演算法能立即計算出目標物第一次掉落 的位置,並以螺旋式軌跡持續進行追蹤以取得後續的第二、第三次落點。由於飛 蛾演算法是透過維持固定角度以持續追蹤飛球,當預測目標的飛行路線產生變 化,能進行預測落點的修正,並持續追蹤目標,具有很強的追蹤能力。

(24)

(a) Experimental Result #1 (b) Experimental Result #1

(c) Experimental Result #2 (d) Experimental Result #2

(e) Experimental Result #3 (f) Experimental Result #3 圖三十二、 複合式演算法之即時預測結果。

圖三十二為混合式演算法的即時投球預測結果,圖三十二(a)、(c)、(e)和圖 三十二(b)、(d)、(f)分別為三次投球實驗的預測畫面及軌跡擷取圖,畫面中的綠 色圓圈為系統預測之棒球落點。我們發現混合式演算法的預測落點非常穩定,改 善了飛蛾演算法螺旋式的預測結果。混合式演算法的預測流程可分為兩階段,第 一階段以重力加速度計算落點,第二階段執行飛蛾演算法,持續追蹤飛球並微調 預測落點,降低第一階段落點預測之誤差。由於混合式演算法的預測落點皆位於 地面, 因此非常適用於機器車捕手的設計和結合。

(25)

四 四 四

四、 、 、結論 、 結論 結論與未來展望 結論 與未來展望 與未來展望 與未來展望

4.1. 結論

結論結論結論

在本專題中,我們以電腦視覺與影像處理技術,實現一個棒球落點預測系 統。我們發現飛蛾撲火的現象相當有趣,飛蛾根據燭光的傳遞方向,與光波維持 固定角度,進而調整自身的飛行方向,以螺旋式軌跡直撲火光。我們提出一個創 新的飛行物體軌跡預測方法,藉由模仿飛蛾趨光性行為之飛行方法,在投手投出 球後,能有效追蹤並預測棒球的飛行落點。除此之外,我們更嘗試結合重力加速 度的計算,設計了一個複合式演算法。我們希望藉由這個創新的預測想法,提升 電腦視覺對飛行物體追蹤預測的能力。

我們實驗發現,隨著投球距離的增加,飛蛾演算法與 Kalman Filter 在 X、Y 軸方向的預測誤差相當接近,但飛蛾演算法在 Z 軸方向的預測能力明顯優於

Kalman Filter。當棒球飛行路線產生變化,飛蛾演算法能依照球路變化,即時修

正預測落點並持續追蹤,最後在空中成功攔截飛行目標。

隨著球速的提高,Kalman Filter、飛蛾演算法、複合式演算法的誤差皆有提 升的趨勢。當球速低於 7.5m/s,複合式演算法展現高準確度的預測能力。系統在 第一階段以牛頓力學快速預測棒球落點,第二階段透過飛蛾演算法持續追蹤並取 得準確的預測落點。由於複合式演算法的預測點皆在地面,因此非常適用於機器 自走車的設計和結合。

4.2. 未來展望

未來展望未來展望未來展望

我們已將此研究成果投稿至 2011 IEEE International Conference on Signal and

Image Processing Applications[20],獲得最佳學生論文獎。未來我們將進行嵌入式

自走車的設計,飛蛾演算法具有較低的運算複雜度,適用於嵌入式系統的設計。

由於我們使用雙攝影機進行三維空間計算,校正棋盤板的方格大小與三維空間量 測刻度成正比,隨著投球距離的增加,受到透視原理影響,校正棋盤板逐漸變小,

導致攝影機不易偵測辨識、三維座標量測不準確。另外,外部參數需要每次架設 系統時重新計算,增加了系統架設複雜度。因此我們將結合 Kinect 補足深度計 算的準確度,以實現室內的自主式棒球追蹤捕手。

(26)

五 五 五

五、 、 、參考文獻 、 參考文獻 參考文獻 參考文獻

[1]. U. Frese, B. Bauml, S. Haidacher, G. Schreiber, I. Schaefer, M. H¨ahnle, G.

Hirzinger, “Off-the-shelf Vision for a Robotic Ball Catcher, ” IEEE/RSJ International Conference on Intelligent Robots and Systems, Hawaii, USA, pp.1623-1629 (2001).

[2]. B. Bauml, F. Schmidt, T. Wimbock, O. Birbach, A. Dietrich, M. Fuchs, W.

Friedl, U. Frese, C. Borst, M. Grebenstein, O. Eiberger, G. Hirzinger, “Catching Flying Balls and Preparing Coffee: Humanoid Rollin'Justin Performs Dynamic and Sensitive Tasks,”2011 IEEE International Conference on Robotics and Automation, Shanghai, China, pp.3443-3444 (2011).

[3]. C. Y. Lin and Y. P. Chiu, "The DSP Based Catcher Robot System with Stereo Vision," in 2008 IEEE/ASME International Conference on Advanced Intelligent Mechatronics, New York, pp. 897-903 (2008).

[4].

黃志誠,「基於單眼視覺之擊球機器人設計與實現」,碩士論文,國立交通大

學,新竹 (2010)。

[5]. Moths attracted by floodlight.jpg. (2007) Wikipedia webpage. [Online].

Available:http://en.wikipedia.org/wiki/File:Moths_attracted_by_floodlight.jpg [6]. K. Frank, “Impact of Outdoor Lighting on Moths: An Assessment”, Journal of

the Lepidopterists’ Society 42 (no. 2, 1988): 63-93.

[7]. T. Longcore and C. Rich, Ecological light pollution, Front Ecol Environ; 2(4), pp.

191–198 (2004).

[8]. E. Hecht, Optics, Addison Wesley Co., New York 2001.

[9]. R. Tsai, “A versatile camera calibration technique for high-accuracy 3D machine vision metrology using off-the-shelf TV cameras and lenses,” IEEE Journal of Robotics and Automation. 3(4), pp. 323-344 (1987).

[10]. Z. Zhang, “A flexible new technique for camera calibration,” Technical Report MSR-TR-98-71, Microsoft Research. (1999).

[11].

莊俊德,「針孔成像系統三維量測之誤差分析及系統校正」,碩士論文,國立

成功大學,台南 (2004)

[12].

田鈞豪,「三維影像之重建與追蹤系統之研究」,碩士論文,國立清華大學,

新竹 (2007)。

[13]. James Black, Dr Tim Ellis, “Multi Camera Image Tracking”, Proceedings 2nd IEEE Int. Workshop on PETS, Kauai, Hawaii, USA, December. (2001).

[14].

林尚志,「植基於未同步雙攝影機之即時棒球偵測與三維軌跡重建系統」,碩

(27)

士論文,國立台灣科技大學,台北 (2010)

[15]. T. Olson and F. Brill, “Moving object detection and event recognition algorithms for smart cameras,” in Proc. DARPA Image Understanding Workshop, pp.

159–175 (1997).

[16]. R. Yan, X. Song and S. Yan, “Moving object detection based on an improved gaussian mixture background model,” Journal of Computing, Communication, Control, and Management, Vol.1, pp. 12-15 (2009).

[17]. G. Naama, N. Alperson, M. E. Kislev, O. Simchoni, Y. Melamed, A. Ben-Nun, E.

Werker, “Evidence of Hominin Control of Fire at Gesher Benot Ya`aqov, Israel,”

Science, pp. 725–727 (2006).

[18]. P.S. Callahan, “Moth and candle: the candle flame as a sexual mimic of the coded infrared wavelengths from a moth sex scent (pheromone),” Applied Optics, vol. 12, no. 16, pp. 3089–3097(1977).

[19]. D. W. Thompson, On Growth and Form, Cambridge at the University Press, 1942.

[20]. K. Lin and M. C. Shie, “Biologically inspired 3D trajectory prediction system

using a moth flight-to-light tracking model,” 2011 IEEE International

Conference on Signal and Image Processing Applications, Malaysia, pp. 66-71,

(2011). Oral Presentation. Best Student Paper Award.

參考文獻

相關文件

[16] Goto, M., Muraoka, Y., “A real-time beat tracking system for audio signals,” In Proceedings of the International Computer Music Conference, Computer Music.. and Muraoka, Y.,

When? Where? What? A Real-Time System for Detecting and Tracking People.’’ Proc. International Conference on Face and Gesture Recognotion, April, pp. Pentland, “Pfinder:

Godsill, “Detection of abrupt spectral changes using support vector machines: an application to audio signal segmentation,” Proceedings of the IEEE International Conference

Ko, “Fast Intra Prediction Mode Selection Scheme Using Temporal Correlation in H.264,” IEEE International Region 10 Conference, pp. Yu, “A Fast Mode Decision Method for

Shih and W.-C.Wang “A 3D Model Retrieval Approach based on The Principal Plane Descriptor” , Proceedings of The 10 Second International Conference on Innovative

D.Wilcox, “A hidden Markov model framework for video segmentation using audio and image features,” in Proceedings of the 1998 IEEE Internation Conference on Acoustics, Speech,

[7]Jerome M .Shapiro “Embedded Image Using Zerotree of Wavelet Coefficients”IEEE TRANSACTIONS ON SIGNAL PROCESSING, VOL,41,NO.12,DECEMBER 1993. [8 ]Amir Said Willam

Dragan , “Provably good global buffering using an available buffer block plan”, IEEE International Conference on Computer-Aided Design, pp.. Cong, “Interconnect performance