李 震, 毛麗娟, 盛 斌, 孟 夏
(1. 上海體育學院 體育教育訓練學院,上海 200438;2. 上海交通大學 計算機科學與工程系,上海 200240)
足球比賽中運動員的體能是影響運動表現的主要因素,如何對比賽中運動員移動距離進行分析記錄是揭示運動員體能特征的關鍵。相對徑賽項目,足球比賽中運動員的活動方式多種多樣,無明顯的規(guī)律性?;谧闱虮荣愔卸嘤绊懸蛩氐膹碗s性,許多研究試圖通過評估比賽中運動員跑動的距離和強度的變化對體能的要求進行闡述[1-3]。早期足球比賽中的體能分析以時間-運動分析法(time-motion analysis)為主[1-2,4-5]。隨著科技的進步,新的評價足球比賽中運動員跑動距離的方法開始出現,其中包括了多角度錄像跟蹤系統(tǒng)[3,6-8]和GPS系統(tǒng)[9-11]。
1990年以后,影像處理跟蹤系統(tǒng)開始出現,它是通過采取固定的攝像頭覆蓋整個球場記錄影像數據的[12]。該跟蹤系統(tǒng)最初僅僅是通過場地標記后的x、y軸獲取運動員的位置,并通過相對x、y軸的平移計算移動距離。首個商業(yè)化的跟蹤系統(tǒng)Amisco在1998年由Vediosports公司發(fā)布,之后通過影像處理的跟蹤系統(tǒng)得到了快速發(fā)展。目前,跟蹤系統(tǒng)多采用調頻連續(xù)波(frequency modulated continuous wave,FMCW)技術進行位置跟蹤,其中最具代表性的是GPS系統(tǒng)。該系統(tǒng)基于運動員身上攜帶的信號發(fā)射器,通過場外特定系統(tǒng)進行信號接收確定運動員的位置。Edgecomb等[10]對GPS系統(tǒng)和基于視頻跟蹤系統(tǒng)進行比較發(fā)現,在一場比賽中,GPS系統(tǒng)統(tǒng)計運動員移動距離的誤差為4.8%,而錄像跟蹤系統(tǒng)的誤差為5.8%。盡管FMCW系統(tǒng)的精確性更高,接收速度更快,但國際足聯規(guī)定它只能用于訓練,不能用于正式比賽。本文從提高錄像跟蹤系統(tǒng)的目標跟蹤準確性出發(fā),提出了一種新的算法,分析每名運動員的動作行為和相互關系,以提高對每位隊員位置錄像定位跟蹤的精確性,從而達到準確分析運動員活動方式及距離的目的。
在計算機視覺領域,目標跟蹤是一個熱點研究領域,然而優(yōu)秀的算法非常稀少。這是因為跟蹤目標的外形、運動狀態(tài)、背景、遮擋等方面的變化范圍太廣泛,既要保證處理的速度,又要保證算法的強大性及準確性非常困難。在早期,跟蹤算法未與目標檢測等結合,導致跟蹤目標在遮擋丟失之后很難跟蹤準確。經過改造的背景差分方法可以在背景變化非常微小的情況下準確識別目標,但要在視頻中連續(xù)識別目標才能達到跟蹤的效果。由于足球比賽場地的開闊性及室外場地的特性,陽光、云層導致球場背景變化幅度很大,使得該算法在這種場景下的效果一般。在Tracking-Learning-Detection算法[13]出現后,計算機跟蹤算法中融入實時目標檢測的算法,使得跟蹤精確度和抗遮擋能力進一步加強。目前,目標跟蹤算法比較主流的思想還是基于目標檢測跟蹤,而在以目標為中心的基礎上提取正樣本,然后基于目標周邊的圖像提取負樣本,即正樣本標簽為1,負樣本標簽為0。標記正負樣本方法的局限性在于無法區(qū)分負樣本的權重,因為負樣本統(tǒng)一為0的情況下將離目標遠處的樣本和近處的樣本同等對待:離目標越近,權重就越接近1;離目標越遠,就越接近0。核化相關濾波器算法(kernelized correlation filter,KCF)[14]就采用了這種方法,該標記方法相對簡單地定義負樣本為0有更好的效果。KCF算法采用快速傅里葉變換等傅式空間的操作,能大幅提高運算速度。其測試樣本集時通常采用的方法是最小二乘法:
(1)
式中:ω為權重系數(列向量),可通過最小二乘法求解;λ用于控制系統(tǒng)的結構復雜性,即VC維以保證分類器的泛化性能。
最小二乘法能夠做到快速處理信息,同時結合貝葉斯方法不斷地用新的觀測值和信息予以修正:
(2)
式中:事件A的概率為P(A);事件B的概率為P(B);事件B已發(fā)生條件下事件A的概率為P(A|B);事件A發(fā)生條件下事件B的概率為P(B|A)。
將目標跟蹤問題看作一個對目標可能位置的概率估計問題,預測跟蹤框(bounding-box)的位置。在KCF算法基礎上進行改進的Hierarchical Convolutional Features算法[15],即CF2算法,結合了KCF運算快速的優(yōu)點,并且采用深度學習框架來提取特征,進一步提高了跟蹤精度。
在足球錄像跟蹤系統(tǒng)中采用的跟蹤算法,必須要具有以下特點:①有一定的跟蹤速度,對于單目標而言,TLD算法[13]的處理速度為28幀/s,而應用到針對22個球員和球的多目標跟蹤時,它的處理速度還遠遠達不到系統(tǒng)的要求。②對于多目標跟蹤而言,算法需要對多個目標同時進行跟蹤,且在目標相互接近時的干擾容易使機器學習算法學習到錯誤的負樣本,因此,相似干擾對多目標跟蹤的效果也非常顯著。Henriques等[14]提出的KCF算法雖然在速度上有了很大提升,且在同樣的測試集上,準確率高于struck和TLD,但它也存在一定的缺點,即運動過程中出現的大量遮擋過程不可避免,在多目標比較相似時會出現一定的漂移。因此,本文采用結合了KCF算法和深度學習的CF2算法,并將KCF中的采樣部分替換為卷積神經網絡(CNN)[16]特征,以提高跟蹤精度。結合KCF算法以及深度學習改進的CF2算法,針對足球比賽視頻的特殊情況,將算法擴展成了多目標跟蹤的算法,并且結合了多視角的優(yōu)勢,利用多視點采集的信息進一步提高對球員跟蹤的精準度以及抗遮擋能力。
對于比賽中的球而言,其在球場中顏色固定,形狀也并不會因為旋轉而改變,相對背景也有著較好的分離性和辨識度。因此,跟蹤足球的難度不大。對于足球運動員而言,情況則會發(fā)生改變。足球運動員在足球賽場上并不是一個剛體目標,他會有許多不同的動作與狀態(tài),導致跟蹤過程中其形態(tài)不斷變化。由于球員并不總是朝向某一個方向,因此,需要考慮到球員360°旋轉體態(tài)與姿勢問題。早年的目標跟蹤算法,由于缺乏機器自我學習的特性,對于實際的可形變物品的跟蹤一直不能很好地進行。后來采用機器學習的方法才得以改進,此類方法對于物品的形變、背景的變化有著較好的穩(wěn)定性。由于足球比賽數據的處理與分析需要一定的時效性,以及足球比賽中錄像跟蹤系統(tǒng)賽后即時提供數據的實踐需求,作為整個系統(tǒng)最消耗處理時間的部分,目標跟蹤算法的處理速度顯得格外重要,并且必須足夠準確,因此單目標跟蹤主要采用了KCF算法。從速度與準確度進行綜合考慮,KCF算法是最好的選擇。本算法跟蹤效果好、速度快,符合快速開發(fā)的要求。
2.1 一般目標跟蹤算法的步驟 (1) 在It幀中,在當前位置Pt附近采樣,訓練一個回歸器。該回歸器能計算一個小窗口采樣的響應。
(2) 在It+1幀中,在前一幀位置Pt附近采樣,用前述回歸器判斷每個采樣的響應。
(3) 將響應最強的采樣作為本幀位置Pt+1。
2.2 KCF算法步驟 訓練采用脊回歸,設訓練樣本集為(xi,yi),則其線性回歸函數為
f(xi)=ωTxi(3)
則該算法的優(yōu)化可通過最小二乘法求解
λ‖ω‖2
(4)
其矩陣形式為
λ‖ω‖2
(5)
其中X的每一行分別表示一個向量,y是列向量。令導數為0,可得
ω=(XTX+λI)-1XTy
(6)
式中,I為單位矩陣。
KCF中所有的訓練樣本都是基于目標樣本循環(huán)位移得到的,如圖1所示采樣窗口的位移。
圖1 樣本循環(huán)位移Figure 1 Samples’cycling displacement
(7)
經過一系列變換,可得:
(8)
而根據傅式空間變換,有如下公式:
式中,F-1為反變換。
單視角下的多目標跟蹤在一定程度上能夠緩解不同球員的遮擋性問題。在實際運用中會由于足球比賽的同場對抗性而出現多人擁擠在狹小空間的畫面內,球員之間相互遮擋,個人與場地的區(qū)分不夠明顯。因此,僅用單視角的比賽視頻實時跟蹤會大大降低跟蹤的準確性?;诖耍捎昧硕嘁暯窍?多攝像頭)的跟蹤方式,一旦在某個方向看上去的視頻中球員出現遮擋,則通過另外的角度跟蹤隊員。多視角只是單視角比賽跟蹤的一種擴展,通過avgPoint方法把2個視角的數據結合起來,可以提高跟蹤的準確度,進一步加強跟蹤的穩(wěn)定性。研究所采用的多個視角如圖2所示。
圖2 不同視角同時刻的球員爭搶Figure 2 Different viewpoints of seizing control at same moment
在圖2(a)視角中,隊員在畫面里產生了重疊,即便跟蹤算法能夠準確跟蹤,也是跟蹤在距離攝像機較近的隊員身上,因此會導致一定的誤差。由圖2(b)和圖2(c)中可見,在這2個視角下球員不會產生重疊。因此,本文利用avgPoint方法,基于多視角的優(yōu)勢,將遮擋情況進行抵消(圖3)。
圖3 多視角綜合定位Figure 3 Comprehensive positioning in multi-view
由圖3可見,在進行了二維平面坐標轉換之后,采用了與距離成反比例的加權平均法,用以整合多視點跟蹤坐標數據,因此計算球員加權平均位置的算法流程如下所示:
for 每個視角視頻中的A球員位置Pangle;
計算得到攝像機離A球員的距離:
至此,可以得到經過加權平均之后的球員坐標位置,該位置是二維平面圖上球員的最終位置,從而得出運動員在場上的精確位置。
單視角下多目標跟蹤采用的KCF算法的最大優(yōu)點是處理速度快,其較高的準確率能夠滿足多目標跟蹤的需要;但是,僅依靠普通機器學習方法,利用圖像的RGB信息處理遮擋問題,作用有限,對于多目標重疊、遮擋嚴重的情況,跟蹤準確率會有所降低。因此,本文采用基于深度學習的目標跟蹤算法CF2進一步優(yōu)化多目標跟蹤的準確率。
通常的圖像檢索方法是采用HOG特征,KCF便是從灰度特征轉變到采用HOG特征進行優(yōu)化的。由于算法跟蹤框為矩形,勢必會包括其他像素點,當追蹤框內的目標外觀變化較大時,顏色特征與模型差異變大,背景可能會造成干擾,容易導致跟蹤失敗。在目標檢測領域中,采用卷積神經網絡(CNN)[16]提取的物體特征具有較好的性能,因此,將CNN引入Tracking領域中。
CF2算法的基本跟蹤框架即KCF,而主要區(qū)別是把KCF中使用的HOG特征換成了深度卷積神經網絡。隨著深度增加,使用CNN提取的特征,其語義信息加強,但空間信息減弱。因此,在CF2算法中,將CNN的3、4、5層卷積層作為特征,本算法中使用的特征和其他常用CNN算法不同,沒有使用全連接層輸出作為特征提取層,而是只使用了中間3層,然后對3個置信圖融合得到最終目標位置。
在該算法中,相比于KCF算法,添加5層卷積層。首先利用第1幀的已知數據進行采樣,得到對應的Conv3、Conv4、Conv5的目標位置的特征,訓練得到3個相關濾波器。在之后的第t幀,以t-1幀的預測結果為中心,獲取該位置的Conv3、Conv4、Conv5,將特征做插值并通過3個相關濾波器預測出二維的置信分數,從Conv5層的濾波器結果開始,算出confidence score上最大的響應點,作為第t幀時預測的位置,之后以該位置約束下一層的搜索范圍,逐層向下做更細粒度的位置預測,以最低層的預測結果作為最后輸出。因此,CF2跟蹤算法基本流程如下所示:input 目標初始位置p0
output 估測跟蹤目標位置pt=(xt,yt)
for 視頻序列的每一幀圖像:
以第t幀跟蹤目標(xt-1,yt-1)為中心搜索窗口;
提取具有空間信息的卷積特征;
利用公式插值計算;
for 每層卷積層的特征:
計算置信度fi;
end
粗略估計在響應圖集{fi}中的新位置(xi,yi) ;
設置新的pt=(xt,yt)為中心;
用插值提取卷積特征;
for 每個卷積層:
end
end
該算法是基于KCF算法的跟蹤框架進行改進的,因此也繼承了KCF算法的優(yōu)點,如相比其他深度學習算法,處理速度大大提升。由于使用了深度學習框架優(yōu)化特征選擇,具有更明顯的特征。因此,效果也較為出眾;在跟蹤單一目標時不會出現漂移現象,并且及時調整的跟蹤框位置也能較好地在后續(xù)幀圖中對目標進行精準跟蹤。
5.1 跟蹤速度測試 運用KCF算法和CF2算法對單目標和多目標(以跟蹤3個目標為基準)跟蹤的信息處理速度進行測試,設備包括顯卡(英偉達1080)、CPU(i7-6700k)。測試實驗錄像視頻時長4 s,共100幀,測試結果如下:進行單目標跟蹤時,KDF方法消耗20 s,平均每幀為0.2 s,處理1 s比賽視頻需要5 s;CF2方法消耗93 s,平均每幀0.93 s,處理1 s比賽視頻需要23 s。進行多目標跟蹤時,KDF方法消耗22 s,平均每幀為0.22 s,處理1 s比賽視頻需要5.5 s;CF2方法消耗178 s,平均每幀1.78 s,處理1 s比賽視頻需要44.5 s。
從測試結果看,在單目標跟蹤時,KCF的跟蹤速度具有絕對性的優(yōu)勢,因為不需要加載權重,且計算次數較少,同時與兩者所在的平臺有關。在單目標與多目標的速度測試對比中發(fā)現,由于CF2算法屬于深度學習算法,對于計算機性能要求較高且計算次數較多,因此,速度顯著慢于KCF算法。隨著計算機技術的更新及硬件配置的升級,輔之GPU加速、并行運算等技術,CF2算法的速度有望得到大幅提高。
5.2 跟蹤框范圍影響測試 在實驗測試中,依據跟蹤框的實際大小進行控制變量測試,測試實驗錄像視頻共4 s,100幀,測量了3組單個球員和3組發(fā)生遮擋的2名攻守球員。
對100幀視頻進行不同跟蹤范圍(圖4)的單目標跟蹤,結果顯示:對于小范圍(30 mm×43 mm)目標,KCF的跟蹤準確率為79%,CF2的跟蹤準確率為77%;對于中等范圍(35 mm×91 mm)目標,KCF的跟蹤準確率為70%,CF2的跟蹤準確率為68%;對于大范圍(52 mm×117 mm)目標,KCF的跟蹤準確率為86%,CF2的跟蹤準確率為87%。
圖4 測試跟蹤有效區(qū)域比較Figure 4 Comparison of tracking effective area
對100幀視頻選擇2名球員進行不同跟蹤范圍的多目標跟蹤。KCF算法對小范圍(30 mm×43 mm)目標的平均跟蹤準確率為51%,對中等范圍(35 mm×91 mm)目標的平均跟蹤準確率為63%,對大范圍(52 mm×117 mm)目標的平均跟蹤準確率為89.7%。CF2算法對小范圍(30 mm×43 mm)目標的平均跟蹤準確率為98%,對中等范圍(35 mm×91 mm)目標的平均跟蹤準確率為100%,對大范圍(52 mm×117 mm)目標的平均跟蹤準確率為100%。
從測試結果中可見,跟蹤框范圍對于單目標跟蹤而言精確度有一定提升,而多目標跟蹤會進一步提升系統(tǒng)的抗遮擋能力。這是因為如果跟蹤框很大,就會將球員及球員周邊更多的區(qū)域當作正樣本區(qū)域,當球員移動時,其背景區(qū)域也就被納入特征中,能夠很好地規(guī)避因球員快速移動而造成的漂移問題,對于抗遮擋能力也同樣會有提升。
5.3 跟蹤準確率測試 通過研究3組球員遮擋時的跟蹤框跟蹤情況以及針對目標跟蹤的抗漂移能力、抗遮擋能力和抗相似干擾能力的測試發(fā)現:KCF算法對攻守球員的跟蹤準確幀數分別為287和202,平均為81.5%;而CF2算法對攻守球員的跟蹤準確幀數分別為300和197,平均為83%。
從以上結果看,KCF算法已經擁有比較高的準確率,而基于KCF算法并融合深度學習的CF2算法準確率也有所提高,但是由于每次測試中均有部分時間兩跟蹤目標重疊,因此沒有一個算法可達到100%的跟蹤準確率。
研究多種跟蹤算法,且擴展成了多目標跟蹤,跟蹤效果較好,能夠減少漂移次數。KCF算法融入了實時目標檢測的算法,使得跟蹤精確度和抗遮擋能力進一步增強,與以往目標跟蹤采用的背景差分及TLD方法相比效果較好,能夠減少漂移次數。依據足球比賽的多人數對抗特征結合多視角跟蹤,對比賽中的遮擋情況進行多視角平均,能夠緩沖遮擋帶來的誤差。改進后的深度學習跟蹤算法CF2能夠更好地解決跟蹤框的易漂移問題。研究還存在需要改進之處,例如:KCF算法在應對單目標跟蹤時效果較好,在擴展成多目標跟蹤之后,具有一定的處理速度上的優(yōu)勢;但當發(fā)生遮擋時,特別是在同隊隊員互相遮擋時,會導致跟蹤精度降低。今后可通過調整學習率的方式,設置訓練器學習的閾值,改善抗遮擋能力。此外,由于KCF算法訓練器需要通過正負樣本訓練,以提高目標跟蹤的準確率,球場上的跟蹤框大小也對KCF算法的準確率有一定影響。相較而言,CF2算法能夠較好地解決多目標的遮擋問題,但在運算速度上有著一定的局限性。隨著計算機技術的更新及硬件配置的升級,輔之GPU加速、并行運算等技術的改進,CF2算法的速度有望得到進一步提高。