沈澤君,丁飛飛,楊文元,b
(閩南師范大學 a.福建省粒計算及其應用重點實驗室; b.計算機學院,福建 漳州 363000)
視頻跟蹤技術是計算機視覺領域的一個重要研究方向,其目的是在連續(xù)的圖像序列中建立一個可更新跟蹤目標的動態(tài)表觀模型[1]。跟蹤技術廣泛應用于自動駕駛、醫(yī)學圖像跟蹤分析、安防監(jiān)控、軍事偵察等領域[2]。雖然在過去幾十年中視頻跟蹤技術得到了快速的發(fā)展[3-5],但其還面臨一定挑戰(zhàn),目標外觀變化或目標模糊等不確定因素均給跟蹤過程增加了難度。
近年來,基于生成學習類算法和判別學習類算法的跟蹤技術相繼被提出,如文獻[6]提出的自適應局部結構稀疏表觀模型和文獻[7]提出的利用稀疏協(xié)同模型引入判別信息的稀疏表觀模型。雖然上述模型提高了目標跟蹤的精準度,但未解決如何降低復雜度、提高魯棒性的問題。判別式相關濾波(DCF)跟蹤算法在平衡跟蹤精度和速度之間取得了較好效果。DCF跟蹤算法通過傅里葉變換將卷積計算轉換為點乘計算,使其具有較高的計算效率,有效地降低了算法的復雜度。但是,該算法對樣本的數(shù)量有較高要求。為解決該問題,文獻[8]提出一種最小均方誤差輸出總和濾波器(MOSSE)。在MOSSE的基礎上,研究人員提出了大量的改進算法[1],如文獻[9]提出的基于循環(huán)矩陣結構核相關濾波跟蹤算法(CSK)。為了進一步提高對尺度變化的處理效果,文獻[10]提出具有特征融合的尺度自適應核相關濾波跟蹤器(SAMF)。近幾年,基于結構相關濾波器[11]、基于長時域跟蹤相關濾波器[12-14]、基于端到端相關濾波器[15-16]、基于核相關濾波器[17-18]和基于過濾式相關濾波器[19-21]相繼被提出。其中,將DCF和深度卷積神經(jīng)網(wǎng)絡(CNN)特征相結合,可以得到較好的效果[22]。但是,在已有的相關濾波器跟蹤算法中,通過分析各特征之間的粒度關系來提高算法精準度和時間效率的研究較少[23-24],并且多數(shù)跟蹤算法只考慮單一特征的提取或者只對不同特征進行簡單結合。
粒計算思維通過劃分不同的粒度來求解問題[25]。粒子是粒計算模型的最小單位,一個較小的特征可以構成一個粒子,一個覆蓋面較廣的特征可以構成一個較大的粒子。不同粒子可能位于不同的粒層,不同的粒化標準對同一個跟蹤算法生成的粒度也不同[26]。粒計算主要考慮3個問題,一是如何選取合適的?;瘶藴蕘泶_定粒層,二是如何在不同粒層上求解問題,三是如何在各個粒層間相互置換和融合[25]。
本文提出一種基于粒計算思維的多粒度相關濾波視頻跟蹤算法(MGCF)。MGCF算法對輸入的視頻圖像中每一幀進行基礎特征提取,組成一個基礎特征池,通過選取特征池中不同的基礎特征構造出不同粒度的特征序列,根據(jù)特征序列構成不同粒度的相關濾波器。對該幀進行各粒度跟蹤,依據(jù)對比評估和自我評估來計算各粒度下輸出結果的穩(wěn)健性評估得分,根據(jù)評估得分的高低選擇最優(yōu)的粒度,該粒度的跟蹤結果即為該幀的輸出,系統(tǒng)累計各幀的輸出并作為最終的跟蹤結果。
DCF跟蹤算法的計算效率較高,其利用傅里葉變換將傳統(tǒng)的卷積運算轉化成點乘運算。設輸入的特征為x,g為相關濾波器,根據(jù)卷積理論可得:
(1)
(2)
訓練后的卷積核為:
(3)
根據(jù)上述方法可以在對圖像進行循環(huán)卷積操作時大幅降低算法的復雜度。對一個n×n的圖像分別進行傳統(tǒng)的卷積操作和利用傅里葉變換進行點乘運算,其算法復雜度分別為O(n4)和O(n2lgn)。
利用卷積的性質,可以通過第i個輸入快速找到其對應的標簽yi[27]。將相關濾波器當成一個分類器,假設存在關系f(xi)=yi,則可以將訓練過程等價于優(yōu)化以下的目標函數(shù):
(4)
其中,δ為模型參數(shù),λ為防止過擬合的正則項系數(shù),G為損失函數(shù),具體如下:
G(f(δ,xi),yi)=(yi-f(δ,xi))2
(5)
函數(shù)f(xi)的表現(xiàn)形式多樣,在式(5)中可表示為線性操作,如f(xi)=〈δ,xi〉+b。其中,〈〉為點積,b為常數(shù)偏值。在此線性定義下,可以利用二次誤差的正則最小二乘法進行優(yōu)化,得到如下閉合解:
δ=(XTX+λI)-1XTy
(6)
其中,X矩陣的行向量表示訓練樣本,y向量為對應的標簽信息,I為單位矩陣。
可以通過引入核函數(shù)來提高算法性能。例如,利用β(x)將輸入值x映射到一個非線性的特征空間并匯總,使得參數(shù)δ可以用一個線性組合類來表示:
(7)
根據(jù)文獻[28]的研究結果,最終的函數(shù)f(xi)如式(8)所示:
(8)
其中,κ(xi,xj)=〈β(xi),β(xj)〉,核矩陣k中對應的元素kij=κ(xi,xj),則求解的優(yōu)化問題可以轉變?yōu)?
α=(K+λI)-1y
(9)
跟蹤的過程就是利用一個已訓練好的參數(shù)和一個基于樣本所構成的模型來檢測待測區(qū)域。當待測區(qū)域出現(xiàn)時,最終的響應可以由式(10)得到:
(10)
(11)
B的粒度反映其分辨能力[29]。GD(B)表示在U中隨機挑選2個對象的B-不可分辨的可能性的大小,其值越大表示分辨能力越弱。
如圖1所示,MGCF算法對輸入的圖像提取基礎特征構成一個特征池,通過對特征池中的基礎特征進行組合,構成不同粒度下的相關濾波器,然后根據(jù)其穩(wěn)健性評估得分的高低選擇最優(yōu)結果,粒度的跟蹤輸出就作為該幀的結果。
圖1 MGCF算法的系統(tǒng)流程
MGCF算法有一個粒度池用以收納各粒度下的相關濾波器,其相關濾波器是由基礎特征池中的4組基礎特征組合形成。第一組基礎特征為文獻[30]中使用的方向梯度直方圖(HOG)特征,記為C1,余下3組使用文獻[31]提出的HOG特征版本,第二組使用其1維~18維,第三組使用其19維~27維,第四組使用其28維~31維,分別記為C2、C3、C4。綜上,基礎特征池為{C1,C2,C3,C4},并組合形成14個相關濾波器,記為Gi。各粒度下的相關濾波器對應的特征組合如表1所示。
表1 各粒度相關濾波器對應的特征組合
Table 1 Characteristic combination corresponding to each granularity of correlation filter
相關濾波器特征組合相關濾波器特征組合G1{C1}G8{C2,C3}G2{C2}G9{C2,C4}G3{C3}G10{C3,C4}G4{C4}G11{C1,C2,C3}G5{C1,C2}G12{C1,C2,C4}G6{C1,C3}G13{C2,C3,C4}G7{C1,C4}G14{C1,C2,C3,C4}
雖然與G11~G14相比,G1~G4的特征較少,但是它們?yōu)楦櫧Y果提供了多樣性,這對于整個跟蹤系統(tǒng)的判斷是必不可少的。
本文MGCF算法是可多線程并行的跟蹤算法,并且可以基于各粒度下的跟蹤判斷綜合評價出一個最優(yōu)解給每一幀。如圖2所示,節(jié)點為各粒度下的預測結果,通過對比評估和自我評估可得出每個粒度的穩(wěn)健性評估得分。
圖2 評估過程示意圖
2.2.1 對比評估
(12)
(13)
(14)
(15)
(16)
2.2.2 自我評估
(17)
2.2.3 各粒度的穩(wěn)健性評估與篩選
(18)
其中,μ為參數(shù)。在各幀下,系統(tǒng)根據(jù)各粒度的穩(wěn)健性評估得分來篩選出最優(yōu)粒度,以此作為當前的跟蹤結果。
如圖3所示(彩色效果見《計算機工程》官網(wǎng)電子版),多粒度相關濾波跟蹤算法共有14個粒度濾波器對圖像進行跟蹤,在每一幀中,選擇穩(wěn)健性評估得分最高的粒度作為該幀的結果,如MGCF算法在第32幀中選擇粒度13、在第142幀中選擇粒度7、在第206幀中選擇粒度6。MGCF算法模型如圖4所示。
圖3 MGCF算法的粒度選擇過程
圖4 MGCF算法模型
MGCF算法步驟具體如下:
算法1MGCF算法
輸入視頻序列X={x1,x2,…,xn},第一幀的初始位置
1.對第i幀的圖像數(shù)據(jù)進行基礎特征提取
2.由基礎特征組合各粒度的相關濾波器
4.進入下一幀,返回步驟1,直到n
在OTB-2013和OTB-2015 2個公開數(shù)據(jù)集上,將本文MGCF算法與SRDCF、C-COT、SAMF、Staple、KCF和DCFNet 6個視頻跟蹤算法進行比較與分析。
實驗使用CPU為Intel(R)Core(TM)i7-6500U、GPU為GeForce 920MX、內存為8 GB的電腦,MATLAB使用2018b版本。式(18)中的μ設置為0.1,實驗過程中的其他參數(shù)如表2所示。
表2 實驗參數(shù)設置
在實驗中,使用魯棒性作為定量分析標準,將文本算法與SRDCF、C-COT、SAMF、Staple、KCF和DCFNet 6個算法進行像素誤差和重疊率比較。像素誤差是預測位置與實際位置的像素位移差,重疊率是重疊區(qū)域除以2個矩形總面積的比值。魯棒性評估分為空間魯棒性(SRE)和時間魯棒性(TRE)2種,MGCF算法在空間魯棒性中能獲得較高的性能,但是在時間魯棒性上表現(xiàn)不足。
3.2.1 像素誤差性能分析
如圖5(a)~圖5(e)所示(中括號內數(shù)字為精準度平均值),MGCF算法在快速運動、平面內外旋轉和尺度變化這4種情況下能取得最佳效果,精準度分別為91.7%、93.1%、91.3%和90.9%,比性能第2的算法分別高出1.3%、2.3%、2.7%和1.7%。但是,在遮擋情況下MGCF算法表現(xiàn)不佳,精準度只有93.3%,比SAMF算法低1.4%。
圖5 7種算法的像素誤差性能分析
3.2.2 重疊率性能分析
如圖6(a)~圖6(e)所示(中括號內數(shù)字為成功率平均值),MGCF算法在快速運動、平面內外旋轉和尺度變化4種情況下均能取得最佳性能,成功率分別為86.1%、85.4%、82.2%和83.9%,比性能第2的算法分別高出2.4%、4.3%、5.8%和1.0%。但是,在遮擋情況下MGCF算法表現(xiàn)不佳,成功率只有74.6%,比Staple算法低5.3%。
圖6 7種算法的重疊率性能分析
3.2.3 綜合比較
如圖7所示,MGCF算法在空間魯棒性下的像素誤差和重疊率分別為94.2%和87.0%,C-COT、Staple、SRDCF的精準度分別為87.8%、78.9%、74.8%,成功率分別為75.6%、70.4%、67%。MGCF相對C-COT、Staple、SRDCF的精準度分別提高6.4%、15.3%、19.4%,成功率分別提高11.4%、16.6%、20%。
圖7 7種算法的精準度和成功率對比
3.2.4 運算時效性分析
本實驗采用CPU為Intel(R)Core(TM)i7-6500U的計算機進行運算,各算法運行速度如表3所示,MGCF算法速度為7.8 FPS,該算法使用4組基礎特征構造出14個粒度相關濾波器,對每一幀的圖像進行自我評估和對比評估,并據(jù)此得出最終的穩(wěn)健性評估值。由于MGCF算法根據(jù)穩(wěn)健性評估值的高低排序來篩選最后的跟蹤結果,需要分別用各個粒度特征來更新濾波模板,然后對每一幀進行跟蹤評估,其運算量較大,導致運算時效性不高。
表3 各算法運行速度比較
本文結合粒計算思維提出一種多粒度相關濾波跟蹤算法MGCF,該算法在多個相關濾波器中提出了粒度的概念,從粒度角度將分散的多線程跟蹤進行有效地結合,解決了傳統(tǒng)視頻跟蹤算法的特征單一性問題。實驗結果表明,MGCF算法具有較好的視頻跟蹤性能,成功率較高,但在時間魯棒性實驗中,存在多個干擾因素時其性能不佳,精準度較低。下一步將結合深度特征和遷移學習等技術解決MGCF算法在時間魯棒性實驗中精準度不高的問題。