2013-10-18 44 views
1

我以前曾問過類似的問題,但覺得我的問題沒有真正回答。我正在使用Circle Hough變換來檢測和追蹤球。但是,我現在需要額外的檢查來確定檢測到的圓圈是否實際上是一個球。足球檢測和跟蹤 - 使用AI技術?

我一直在想也許使用神經網絡,哈爾分類器,支持向量機,那種事情(即人工智能)。然而,它需要非常強大,而且我對這些人工智能技術還很陌生,我不確定哪個是最好,最強大的技術,可以將我的時間投入到學習中。

我使用灰度高速攝像頭拍攝圖像,我希望能夠使用任何顏色/圖案的足球。球也可能被部分阻塞。

如果您認爲這些技術不合適,我會接受任何關於如何實現這些想法/建議的意見。

我非常感謝大家的幫助,非常感謝!

回答

1

只是一個說明,這還沒有經過測試。

一旦你提取球的位置,你可以得到它的輪廓。我的建議只適用於具有較淺補丁和較暗補丁(五邊形)的足球。

確定良好的二進制閾值以獲取白色和黑色補丁。做一些像腐蝕或擴張的圖像處理,以消除針縫產生的縫隙之間的裂縫。在球周圍繪製白色圓圈以確保沒有任何黑色斑點被認爲是「球洞」,並且您準備好抓住球內的輪廓。主輪廓是由白色斑點製成的白色輪廓,並且所有黑色輪廓都是黑色斑點。

弱點:髒球可以有二進制閾值問題,也許使用自適應閾值?

1.使用查表/數學公式(?)的黑色斑塊大小和距離

黑色塊的大小取決於距離球的中心。使用黑色補丁上的學習數據給算法提供距離中心的距離及其大小(兩個值都相對於球的大小)。

例如:

Ball in recorded frame has bounding box of 200x200 px and area of 30000px 
Found 6 black patches inside: 
patch 1 is in the middle (distance 0px from center) and has area of 600px 
patch 2 is on the side (distance 50px from center) and has area of 150px 
patch 3... patch 4... and so on 

所以,你給你的查找表數據:

distance = 0% -> area = 2% 
distance = 25% -> area = 0.5% 
distance = ... -> area = ... 
and so on 

現在,當您檢查您是否檢測到的東西是一個球,檢查他們的黑色斑塊大小。如果它們的大部分尺寸和距離球的中心的距離在可接受的範圍內,則檢測到的對象是球。

2.檢查輪廓形狀

可以檢查使用cvApproxPoly每個輪廓。如果大多數黑色輪廓都是五邊形 - 這是一個球。