2011-04-20 19 views
2


我們正在嘗試開發用於我們大學項目的板球的HawkEye系統。 中的HawkEye系統中使用的過程如下:從投球手的手的球在時間(不同點)的不同實例的如何識別圖像中的球,然後使用3D模型(HawkEye系統)

  1. 圖像到擊球手的(球的整個飛行過程中)需要
  2. 在整個飛行過程中確定球在不同時間點的(x,y)座標
  3. 將(x,y)座標轉換爲相應的三維座標(x,y,z)
  4. 建模在整個球的飛行過程中球的軌跡以及球的周圍環境,的UDE場,瀝青,小門,體育場
  5. 延長了球的軌跡來看球是否會打小門或不

到目前爲止,這是我們的計劃來完成這個項目:

我們將從腿部裁判的位置拍攝擊球手的視頻,然後在vlc播放器中以慢動作播放該視頻,並同時拍攝多個球的飛行截圖,我想這會照顧第1步

但是現在我們被困在步驟2中,我們遇到的問題現在就是如何在特定的情況下(從腿部拍攝的球的圖像)識別和找到球的(x,y)座標,如果我們能夠找到球的(x,y)並且如果攝像機距某個參考點的距離已知,那麼我們可以找到圖像的深度,即z座標,因此我們可以找出相應的(x,y,z)座標,然後我們可以用三維使用OpenGL

我們正在努力實現它在C++

讚賞:)任何幫助

快速編輯:
我才知道,在現實的HawkEye系統6攝像機在板球場的周圍進行調整,所有攝像機以60度角度分開,HawkEye可以使用4臺攝像機完美地工作,但爲了更好的精度,使用了2臺額外的攝像機。 因爲我們沒有這麼多的相機,我想我們將使用3臺相機保持在120度的場地周圍,並減少複雜性,我們將選擇一個半徑爲5米的小場,但我們不確定在哪裏放置相機以獲得更準確的結果,可能的位置可以是:一個在腿邊,一個在外側,第三個在前面,但我仍然不確定哪個位置選擇

這種方式稱爲多攝像機標定和球的認可,我認爲我們應該選擇的OpenCV在MATLAB因爲OpenCV的

你什麼都要說做了更快速的圖像處理的?

+0

我想你將不得不使用多個攝像頭來正確計算出軌跡。鷹眼似乎使用4(http://en.wikipedia.org/wiki/Hawk-Eye) – 2011-04-20 10:45:53

+0

的確。例如,方形裁判不能判斷球是擊球還是失去球或腿 - 他所能判斷的只有身高。從投球手的末端,您可以更好地瞭解球門相對於檢票口形成的矩形的軌跡。當然,這在一個方面也是趨於平坦的,但在判斷lbw時更容易彌補的一個維度。即使如此,投球手的裁判也在使用兩臺攝像機:-) – 2011-04-20 10:52:32

回答

0

我想你需要兩臺相機來確定從相機到球的距離。要麼是這樣,要麼就必須使用一些解決方法,比如在每個框架中查看球的大小或者球的距離。但我懷疑這兩個解決方法是否足夠準確......

+0

如果你有一些常數可以用來估計到攝像機的距離(例如球的大小),那麼你不需要第二臺攝像機,但這真的取決於圖像的質量,分辨率等 – Mario 2011-04-20 10:58:42

+0

@Mario:正是我所說的...... – 2011-04-20 13:07:00

0

如果您有從圖像空間到世界空間的投影/視圖矩陣(有大量文件用於執行攝像機校準/座標轉換),則一個攝像機就足夠了。這將爲您帶來一個從相機通過球指向的矢量。球的大小可以用來確定距離攝像機的距離。

猜猜找到球的最簡單方法是引入一個閾值,從圖像的其餘部分「切割」球。或者使用運動檢測來提取球和/或結合兩種方法。

3

關於第2步,提取球的位置,有許多可能的方法和文獻來源。我強烈建議研究機器人足球(Robocup)的工作,其中包含許多類似問題的例子。

在一個理想的世界(比如在白色背景上的黑盤),出發點很可能是使用像一個Hough Transform,或輪廓跟蹤,並提取使用得到的輪廓的統計矩的位置。

這種方法的挑戰在於板球場最有可能具有難以去除的背景特徵。通過一些試驗和錯誤,您可以使用常見的圖像處理技術,如背景扣除,形態學算子,邊緣檢測器,顏色過濾和閾值處理等,以提高您持續查找球的能力。從過去的經驗來看,我強烈建議使用一套工具,讓您快速建立圖像處理流水線和技術的原型,可能是MATLAB。

也許更穩健地表達這個問題,導致分爲以下幾個部分,是,如果你有球以前在那裏的一些想法,那麼你可以讓球應該是經過一些小的地方一個合理的估計多少時間。這是最佳估計領域,並且Kalman Filters。 Thrun等人在Probabilistic Robotics中發表了一篇很好的介紹性文章,儘管來自非常不同的問題空間。

2

給你的球一個在圖像中其他地方不太可能找到的鮮明顏色,然後在每張圖像中尋找那種顏色的像素。這是最簡單的選擇。 考慮到球可以在板球中移動的速度,而您只使用30 fps,大多數其他選項則更加困難。只要找到一個白球是非常困難的(如你可能發現的那樣),所以你最好的選擇是使用關於以前幀中球的運動的信息來幫助在新幀中找到它。但是,低幀率和高球速意味着您的球會在幀之間移動很多。對於高速碗,速度爲142 km/h時,您正在觀察幀之間的移動超過一米,這將導致後續幀之間的球圖像之間存在相當大的間隙,這使得使用時間信息更加困難。

作爲一種奇怪顏色的替代品,您還可以在IR域中使用高反射層並使用紅外燈(人類無法看到)和紅外敏感相機(可以將IR從相機的過濾器你有這個)。

+1

+1爲改變問題(球)的想法,使問題更容易處理 – 2011-04-25 10:30:43