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