王會立 (天津市體育科學研究所 天津300191)
體育項目的現場直播,是多媒體極具應用前景的一種。在各種體育比賽中,足球又是最普及、最具轉播價值的,因而也是最有價值將其在多媒體上實現的。
傳統(tǒng)的轉播只是依賴于攝像機攝制發(fā)送影像。實施三維體育欣賞系統(tǒng)是一種全新的方式,在三維影像系統(tǒng)中,觀眾可以自由地在虛擬的足球場上飛躍,可以從任意角度來欣賞比賽。
曾有研究人員開發(fā)了最早三維體育欣賞系統(tǒng)。該系統(tǒng)可以虛擬出類似攝像機圍繞一個球員旋轉所拍出的影像,不足之處是觀眾并不能隨心所欲選擇任何一個球員。其后,其他研究人員成功地將足球場上的比賽在三維系統(tǒng)中實現。
在三維系統(tǒng)中,足球的三維位置是最為重要的,這是因為人們觀賞足球比賽時,無時無刻不在跟蹤球的位置,另外,準確的三維位置也可以用來分析場景,幫助球隊提高比賽水平。
但是,準確地反映足球的確切位置并非易事,一來球在畫面上所占的位置很小,二來球經常會被球員所遮擋。曾有三組研究人員利用3種方法:①因霍夫轉換法來搜索球的位置;②利用球的尺寸和顏色特征,找出一系列候選球,然后通過分析一系列畫面,最后找出真正的球;③利用卡爾曼過濾法,成功地展示一系列單機畫面中足球的軌跡。但是上述方式均無法估算足球的三維位置。
有人提出了顆粒過濾法,也有人提出了模塊排比法,但是上述算法由于計算量過大,難以在實時系統(tǒng)中實現。又有人發(fā)現了一種三維位置測量系統(tǒng),但這一方法要求足球在畫面中的面積比較大。本文提出了一種效率較高的計算足球三維位置的方法,其運算速度基本可以滿足在線欣賞的要求。本研究使用兩個同步固定攝影機,為了達到實時處理的速度要求,我們依據不同的狀態(tài),選用適當的圖像處理方法來縮小搜索面區(qū)域。當找不到母球的二維位置時,我們用卡爾曼過濾法來推測球的三維位置。
搜索球在二維影像中的位置是計算球的三維位置所必需的,在本節(jié)所提出的方法可以有效的用來提取球所在區(qū)域,而且基本滿足整場足球比賽的需要。
在足球比賽中,大多數時間,球總是處于運動中,因此,我們首先使用圖像幀減法來截取運動的物體。在兩幅連續(xù)的圖像之間,用像素相減法,可以獲得運動物體所處的區(qū)域??墒窃趦煞B續(xù)的圖像(k-1,k)之間使用像素減法時,取出的不僅有本幅圖中的運動物體,同時也包括前一幅圖中的運動體,所以,我們必須利用下兩幅圖的結果(k,k+1)來剔除屬于前一幅圖像(k-1)的物體,最后,對圖像(k-1,k)和(k,k+1)相減的結果進行運算,即可得出當前圖像(k)中的運動物體。
上節(jié)獲取的運動物體區(qū)域既包括球又包括球員,因此,我們必須去掉球員區(qū)。球員區(qū)和球區(qū)最大的區(qū)別在于區(qū)域面積的大小。我們可以設定一個近似的域值,凡超出此范圍即可判定為非球體,可是此種方法并不能完全適應所有的情形。由于我們使用了像素相減的方法,所以有時造成將一個連續(xù)的大物體分成了幾個小塊,這些小塊的面積有可能小于設定的域值。為了克服這一缺陷,我們找出了另一種方法——背景相減法。背景相減法可以剔除面積相對較大的區(qū)域,因此我們便可得出球員區(qū),進而取得球區(qū)。
值得一提的是,背景減法僅僅適用于當運動物體的面積相對較大時,大的物體其密度域值可設的范圍較大,由于球的面積較小,所以可設定一個小域值只選取球區(qū)。數據表明,我們的雜交法可以在一場足球比賽中穩(wěn)定地獲取球區(qū)。
圖1是圖像處理過程中搜索球區(qū)的步驟。圖1(a)是背景圖像,圖 1(b)是輸入圖像,圖 1(c)是前景圖,圖 1(d)是獲取的運動物體區(qū),結合圖1(c)和圖1(d),我們即可去掉球員區(qū),只保留球區(qū)圖1(e)。我們稱此時獲得的區(qū)域為候選球區(qū)。
圖1 圖像處理過程中搜索球區(qū)的步驟
由于誤差原因以及在球場中可能存在的小的物體,有時候選球區(qū)并非真正的球所在區(qū)域,因此我們需要進一步對數據進行處理以去除假區(qū),這一步我們需要依賴于球速來進行判斷。
假設最大球速是100 km/h,球的直徑是22 cm,圖像的真頻為30 f/s,那么在兩幅圖像之間,球的飛行距離為90 cm,因此,從一幅圖像到下一幅,球移動的距離應為圖像中球的直徑的幾倍,我們將圖像中的最大距離設為R。
消除算法描述如下:假設當前圖像為第k幅,選取的候選球距前一幅(k-1)圖中的候選球的距離不得大于R,如果同時有多個候選球滿足上述條件,我們再看在第(k-1)幅圖中的候選球是否在其前一幅(k-2)圖中有相應的候選球,或者他們間的距離是否超出了最大的距離R。重復以上步驟直至只保留一個球。這個球是我們所找的球的真正位置。
前述方法有一定的缺陷,并且不能滿足所有情況。首先,由于要進行圖像之間的減法和背景減法,這樣就造成相當高的計算成本,盡管多數時間,球在場上是運動的,但當球處于停頓狀態(tài)時,前述方法的結果就變得不可靠了。
為了消除上述兩種缺陷,我們盡量設法將球區(qū)面積減小到最小,同時試圖找到一種模板類比的方法,用于球速很慢或停止不動的場合,圖2為取球的算法。
假設當前圖像為第k幀,如果在第k-1幀圖像中球的位置是 mk-1=(u k-1,νk-1),那么在 k 幀中,在距離 mk-1 點為R的范圍內,我們應該可以找到球,如果球是運動,我們就用以球為中心法,否則,則用模板類比法。
如果在第k-1幀圖中發(fā)現了球,那么在第k幀圖中的搜索范圍,就變成以(mk-1)點為圓心,以R為半徑的區(qū)域。
當球速太慢時,第二節(jié)中的方法不再適用。因為圖幀相減只能找到運動的物體區(qū)域。此時我們需要第二種方法。我們用在k-1幀圖像中的球區(qū)作為一個模板,用此模板在第k幀中用第一種方法搜索區(qū)域,找出類似的區(qū)域。
如果我們在第k-2幀或之前的圖像中發(fā)現了球,但卻在第k-1幀圖中丟了,我們可以說任何一個離mk-2近的球員位置(Ps,k-1)都有可能在第k-1幀圖中拿到球。然后在第k幀圖中,離(Ps,k-1)最近的球員有可能控制球,因此在第k幀中,搜索區(qū)域縮小到幾個小圓區(qū)域。每個圓心就是球員的位置,該球員在距離點(Ps,k-1),半徑為R的圓內,由于在距離點(Ps,k-1)距離為R的范圍內可能有多個球員,因此搜索區(qū)域應包括所有的圓。圖3所示為第k幅圖像中,以球員為中心搜索方法的搜索區(qū)。圓環(huán)1是由球員的位置來確定的(圖中未表示出來),該球員距離mk-2的距離為R,圓環(huán)1的中心可以表示為(Ps,k-1)。
圖2 取球的算法
第k幅圖像的搜索區(qū)圓2I和2J,這兩個圓是分別由球員(Pi,k)和(Pj,k)來決定的,因為,兩個球員均在圓環(huán) 1 之中。
圖3 球員為中心搜索法
圖4 球的三維位置的估算
如果在上一次球所在位置的周圍未能搜索到球員,這意味著球已丟失,此時必須進行全圖搜索。
當我們能同時估算出球在兩部攝像機所拍畫面中的位置時,利用圖4所示的方法,即可很容易地算出球的三維位置。但是,我們并不能保證每一次都可以同時找到球在兩臺攝像機的畫面中,造成這種情況的原因有很多,諸如計算誤差、球員與球重疊、圖像噪音等等。
我們建立了一個足球三維運動模型,當球丟失時,我們利用卡爾曼過濾法進行補償。我們的目標是能夠建立一個在線系統(tǒng)用以對足球比賽進行在線實況轉播。因此使用的方法必能夠且只能確定足球的唯一位置。卡爾曼法不僅能滿足上述要求,而且運算速度較快,顆粒過濾法則不能滿足我們的要求。本算法的前提條件是攝像機必須進行事前標定,實時同步。
我們用矢量Xk來表示在第k幅圖中球的三維坐標,速度乃加速度。計算矢量Yk是根據兩臺攝像機的同步圖像上的兩個球區(qū)計算所得。Xk和Yk分別定義如下:
其中,(xk,yk,zk)和(pk,qk,yk)是球場的三維位置矢量。過度方程和觀察方程為:
其中,A為狀態(tài)轉換矩陣,C是測量矩陣,r和ω是高斯分配法中的處理噪音和測量噪音。我們假設水平和垂直加速度均為常數。因此,A和C可以表示如下:
其中δ是兩幅連續(xù)圖像的時間間隔。當在任一攝影機的圖像中找不到球的位置導致無法獲取三維坐標時,我們即用卡爾曼過濾法的預測矢量對其進行補償。如果豎直位置的值為負,我們視之為反彈球,豎直位置的值應進行相應的改變以滿足球撞擊地面的條件。
我們在足球場內架設兩部攝像機,如圖5所示。像機A和B可以覆蓋足球場地的一半,攝像機為(SONY DXC—900P)。像機的同步由GPS系統(tǒng)控制,圖像為850,幀距為每秒25幅,我們使用的計算機是Intel Core雙Cpu,ZGB內存,操作系統(tǒng)是Linux4.1。
圖5 攝像系統(tǒng)
圖6 攝像系統(tǒng)
我們以全國足球聯賽為研究對象,選取其中的四段錄像對我們的算法進行驗證。圖7所示為估算的球的飛行路線。表1所示為圖像處理過程的結果,F1表示一段錄像中的總幀數,F2表示有球可見的圖像的幀數,F3是有幾幅圖成功地找到了足球。結果顯示,我們的方法可以在80%或更多的圖像中成功找到球。當球不可見或和球員混在一起時,我們使用的是以球員為中心的搜索法。請注意,當球在任一像機中是不可見時,我們就不可能找到球,此時我們必須用卡爾曼法進行估算。
圖7 計算球的飛行曲線
表1 球的搜索結果
表2是各種算法的平均計算時間。利用球為中心的算法,運算速度比全圖搜索法快8.5倍,球員為中心法將運算速度提高了2.1倍。在NTSC制式圖像中,幀速是每秒33幅,因此,我們可以說該方法可以達到實況轉播的速度要求。
表2 各種方法的平均時間和頻率的比較
利用上述結果,我們來計算球的三維空間位置。圖8、9、10以第4段錄像的結果為例,其中小方塊所示為計算所得出的球的三維位置,每個圖分別表示的是球的X、Y、Z 3個方向的位坐標。如果球沒有在兩臺攝像機的畫面中同時出現,我們用卡爾曼法來估算,計算結果以X來表示。多數情況下,估算結果尚可接受,但是從第200幅到230幅,由于圖像的幀數不足,未能完成計算。圖11是球的三維飛行路線,白球所表示的曲線是直接計算結果,而紅色表示的是用卡爾曼法估算的結果。
卡爾曼法估算的結果:
圖8 X軸
圖9 Y軸
圖10 Z軸
圖11 球的三維位置圖
本文提出了一種利用兩臺攝像機來計算足球的三維空間位置的算法。在圖像處理過程中,我們的方法可以根據球的狀態(tài)選擇一個最佳算法,來最大限度地避免球的丟失情況,然后根據球的兩幅二維圖像求出其三維坐標。如果在圖處理的過程中未能找到球的位置,我們則用卡爾曼算法來估算。
在我們的算法中,當球在球員的后面時,不能找到球,因此該算法尚需改進。此外,我們還需要用一些較長的錄像對我們的算法加以驗證?!?/p>
[1]林昆.在足球場上從多個可查看視頻合成多角度試點圖像[Z].IEEE國際會議,2006.
[2]藤井.用分散粒子過濾的方法跟蹤足球[Z].ICA分布式和合作適應處理會議,2007.
[3]齊藤小澤.優(yōu)化相機視角測量系統(tǒng)足球比賽的轉播[J].高等院校機械視覺應用,2000(4):115-118.
[4]G.瓊斯.足球視頻中的球軌跡生成序列[Z].ECCV基于體育環(huán)境中的分析會議,2006.