趙乾臣 金 忠
(南京理工大學計算機科學與工程學院 南京 210094)
目標跟蹤是計算機視覺中最具挑戰性的問題之一,它在許多應用中起著至關重要的作用,如人機交互、監控和機器人。然而,目標跟蹤受諸多因素(如光照變化、部分遮擋、背景干擾和形變等)的制約。在本文中,我們提出了一種方法來緩解這些問題。
在早期的跟蹤方法中,通常通過顏色直方圖[1~3],局部信息[4~5]來對目標進行建模。然而不穩定性、弱魯棒性和低鑒別性成了該類模型的缺點。所以,在過去的十年中,研究人員將更多的關注放在了基于更具有代表性的目標特征如 HOG[6~7]、更復雜的顏色特征如顏色屬性[8]以及相關濾波器[9~10]的跟蹤方法上。相比早期的跟蹤算法的性能,這些跟蹤器在最近的數據庫上[11]獲得了很不錯的表現。
從理論上來講,一個非常具有挑戰性的因素是我們希望在滿足實時性要求的前提下,從原始圖像中獲得盡可能多的負樣本。因此為了滿足實時跟蹤的要求,現在大部分的跟蹤器[12~16]通過每一幀在目標周圍隨機選取適量的樣本來權衡實時性和足夠多樣本這兩個需求。
最近,基于鑒別性相關濾波器的方法[6~10,17]已經成功地應用在了跟蹤領域。這些算法通過循環滑動窗口對給定目標周圍進行采樣,從而生成一組訓練樣本,并基于此訓練樣本來學習并得到一個相關濾波器。因為采樣的特殊性,使得算法可以有效地利用快速傅里葉變換來加速濾波器的訓練和檢測,從而能在滿足實時性的同時,通過大量樣本來訓練得到一個性能不錯的跟蹤器。
相比于其它跟蹤算法,在本文中我們提出一種基于目標輪廓信息和灰度信息的尺度檢測器來適應目標尺度的變化。此外,我們建立了一個多檢測器框架來克服由于光照變化和遮擋等引起的模型漂移現象。最后我們在最近的基準數據集上進行評估來表明該方法相對于其它跟蹤算法的優勢。
最近,許多基于核相關性濾波器的跟蹤算法[6,8~10,18]通過在大小為 M × N 的目標區域 X 訓練分類器ω。其中,通過循環位移而生成所有的訓練樣本 Xm,n,m∈[0,M-1],n∈[0,N-1]的類別y(m,n)標簽服從高斯分布:

其中?是核函數空間,λ是正則化參數(λ≥0)。由于樣本標簽是連續變化的值,所以采用基于正則化最小二乘法來(RLS)訓練分類器是正則風險最小化的解。其中系數α為

其中F為離散傅里葉變換,y是大小為M×N的樣本標簽矩陣。kxx是核函數矩陣K的第一行。跟蹤任務是計算下一幀圖像中提取的各測試樣本的響應值:

其中F-1為傅里葉逆變換,x為前一幀學習到的目標模型,⊙是點積,Z是在當前幀提取到大小為M×N的圖像特征。
我們采用高斯核函數kxx′=exp(-‖‖x-x′2σ2)來計算 kxx′=?(x)·?(x′),因此式(3)中基于多通道特征的kxz可以表示為

為了提高對光照變化、遮擋以及形變等因素的魯棒性,我們需要實時地更新目標模型Rc:

其中γ是目標模型學習率,f是當前幀的索引。
在目標跟蹤期間,如果目標尺度發生變化,尤其是當目標變大的時候,我們便不能夠準確地提取目標特征。所以我們提出一種基于目標灰度直方圖以及邊緣信息的尺度估計算法,如圖1所示。

圖1 尺度檢測流程圖
當我們獲得當前幀目標的位置以后,我們通過提取目標的灰度信息以及拉普拉斯邊緣檢測信息來構建目標的尺度金字塔。令M×N為目標大小,P為尺度金字塔S的層數,S={scale_stepP2-n|n∈[0,?P-1]},對于任意 s∈S ,我們在目標位置提取大小為 sM×sN的感興趣區域 Js并放縮到M×N,然后計算相應的灰度直方圖ηhist和輪廓特征 ηtmpl。
將輪廓特征ηtmpl轉變為一維向量并與灰度信息串連得到尺度Sn下最終的訓練樣本xn,因此我們可以通過一組訓練樣本X={xn|?n ∈[0,?P-1]} 來訓練尺度模型:

其中,X*是X的共軛,Y是所有訓練樣本標簽所組成的1×P的矩陣,訓練樣本標簽服從一維高斯分布:

我們可以通過訓練得到的模型對當前幀進行尺度估計,不同尺度下的樣本的相應可以表示為

其中X′是當前幀不同尺度下提取到的測試樣本集合,y?為所有測試樣本的響應值。因此,響應值最大的位置便是當前幀目標相對于上一次尺度檢測結果的最優尺度標簽ind。
考慮到在相鄰兩幀之間目標的尺度變換很小,因此在實驗部分我們每過φ幀進行一次尺度更新。此外,為了克服光照變化、遮擋等對尺度估計的干擾,我們提出了一個尺度更新判別機制:

其中 f是當前幀的索引,τ是控制前后兩次尺度變換程度的參數。因此,最終目標相對于初始化時的尺度可以被表示為

其中?是前一次尺度,T控制目標尺度變化最小值。
為了提高尺度檢測穩定性,我們在尺度檢測后以學習率γs來更新尺度模型Rs:

在長時間目標跟蹤下,由于光照變化和遮擋等因素導致的跟蹤失敗是視覺跟蹤里經常出現的問題,當目標跟蹤丟失以后,為了使得當目標重新進入檢測范圍內時能被重新跟蹤,我們提出一個基于多個歷史檢測器共同檢測框架來改善長期跟蹤效果。
視覺跟蹤通過一個感興趣區域來初始化,因此通過第一幀訓練得到的檢測器鑒別性最好,所以我們將該檢測器ψ1長期駐留在多檢測器組中,此外我們每過ζ幀存儲當前的檢測器ψi直至檢測器總數達到N,因此,最終的多檢測器可以被表示為M={ψ1,…,ψN}。
在隨后的視頻序列中,除了通過前一幀訓練得到的檢測器,多檢測器組中的每一個檢測器都會給出獨立的檢測結果vψi,即相關度最高的樣本的回歸值。最終可通過不同檢測器在各自檢測階段的綜合表現來決定選取哪一個檢測結果作為最終的跟蹤結果:

其中k是當前幀的索引,Δ是檢測器ψi已經檢測過的幀數,ψ*是最終采用的最優檢測器。
此外,為了適應長期跟蹤面臨的環境變化以及目標自身的變化,當 ||M >N時,除了長期駐留的檢測器ψ1,我們將每隔ζ幀來更新一個歷史保留的檢測器。
在本實驗中,我們使用輪廓特征HOG[7]和顏色特征CN[8]作為目標的多通道特征,此外,式(2)中的正則項系數 λ=10-4,式(3)中的高斯核帶寬σ=0.5,式(5)中學習率為0.008。在尺度檢測階段,尺度金字塔層數為P=27,尺度步長為1.05,檢測頻率 φ=5,式(6)中正則項系數 λ=10-3,式(7)中的尺度帶寬為 s= P 4,式(11)中學習率為0.0015。多檢測器框架中N=5,ζ=100。
此外,考慮到對于視頻中較小目標而言,一方面,可以認為目標距離相機比較遠,所以導致目標對于相機的移動或者晃動非常敏感。另一方面,通過較小目標循環位移所生成的樣本數量不能夠很好地訓練出一個較優的檢測器。基于此,在本實驗中,我們將目標初始化大小考慮進來,面積大于5000像素的目標的搜索窗口為目標大小的1.53倍,反之則為目標大小的1.8倍。
該跟蹤算法的流程圖如下:
輸入:通過給定窗口初始化目標C0輸出:t時刻目標位置和尺度大小 Ct=(x?t,y?t,s?t)步驟1:根據上一幀檢測的位置對當前幀感興趣區域提取特征。
步驟2:通過上一幀訓練好的模型和式(3)來檢測目標最新位置。
步驟3:如果存儲的歷史檢測器數量 ||M=N,則每一個檢測器分別給出當前幀目標最新位置(xt,yt),并通過式(12)選取最佳檢測結果。
步驟4:如果 mod(t,?)=0,則構建目標尺度金字塔,并通過上一次訓練得到的尺度檢測器與式(8),(9)和(10)來估計當前尺度 s?。
步驟5:使用式(2)和式(5)來更新目標外觀模型;使用式(6)和(11)更新尺度模型。
步驟6:如果 mod(t,ζ)=0,則將當前檢測器保存到多檢測器組中或者用當前檢測器更新檢測器組的一個檢測器。
本實驗環境配置如下:Visual Studio2013,Inter I5-2410M 2.30GHz CPU,4GB內存。
我們在基準數據庫OTB13上與其它目標跟蹤領域經典算法 KCF[7],Struck[16],CSK[10],CN[8]和TLD[13]進行比較,如表1所示。

表1 本算法與其它經典算法在跟蹤精度DP、重疊精度OS以及平均中心誤差CLE上的對比
表2為本文所提出的算法與基準KCF算法的運行速度對比結果。從對比結果可知,由于增加了尺度檢測以及多歷史檢測器跟蹤模塊,使得運行速度只有原來的36%,但處理速度仍然滿足實時性的要求(每秒處理幀數在15幀~20幀都可視為實時性跟蹤)。

表2 與基準KCF算法運行速度對比
圖2給出了上述算法在OTB13數據庫上的跟蹤精度和重疊精度。對于跟蹤精度,當閾值選取20像素時,本文算法比KCF高9.2%。對于重疊精度,當閾值選取0.5時,本文算法結果為70.6%。

圖2 本文算法與其它經典算法在OTB13數據庫上的跟蹤精度與重疊精度對比
我們對于OTB13數據庫中50個測試視頻序列進行分類評估,按照跟蹤屬性的不同可將視頻序列分為11類。在此,我們給出其中6類屬性的跟蹤精度。從圖3中可知,以20像素為閾值,對于具有背景干擾、目標形變、光照變化以及平面外旋轉的測試序列,KCF的跟蹤準確率分別為70.8%、78.5%、68.6%和72.0%,而本文提出的跟蹤算法的跟蹤準確率分別為77.3%、83.0%、77.9%和82.3%。此外,對于具有快速運動和尺度變化性質的測試序列,相比于Struck的62.0%和64.0%,我們的跟蹤算法取得了69.8%和77.2%的跟蹤準確率。

圖3 本文算法與其它經典算法在六個跟蹤屬性上跟蹤精度對比
為驗證尺度檢測的有效性,我們給出了本文算法以及五種經典跟蹤算法在9個測試序列上的重合度,如表3所示。可以看出,本文提出的算法在這些測試序列上都取得了最高的重合度。一方面,通過提取目標的形狀和灰度特征訓練尺度檢測器要比傳統的模板匹配等方法要有效。另一方面,尺度更新判別機制也能夠保證在出現錯誤判斷的情況下,目標尺度變化也保持較為平穩的變化,保證了跟蹤算法整體的穩定性。穩定的尺度更新使得在目標跟蹤過程中能夠提取更精準的目標特征來訓練跟蹤器,從而也提高了跟蹤算法的準確度。

表3 本文算法與其它經典算法在9個測試序列上重合度對比(%)
為驗證多檢測器對目標丟失后的更正效果,本文使用跟蹤目標在運動過程中受到遮擋的視頻序列進行測試。實驗結果如圖4所示,圖4(a)為目標跟蹤結果對比,圖4(b)是對應幀的多個檢測器的響應值比較。如第377幀上的跟蹤結果以及響應值所示,當目標狀態由丟失變為重新出現后,第二個歷史檢測器取得最高的響應值,因此,我們選取第二個歷史檢測器的跟蹤結果,并且待跟蹤目標模型被第二個歷史檢測器所保存的目標模型所替換,達到模型更正的效果,否則,若選取灰色框的跟蹤結果,則將會出現目標跟蹤丟失現象并且無法找回。

圖4 多檢測器實驗結果
此外,我們從OTB13數據集上選取了兩組長期跟蹤的視頻序列Lemming和Liquor,并比較了本文提出的算法與其它經典跟蹤算法的平均中心誤差CLE。如圖5所示,對于Lemming視頻序列,當目標發生遮擋、旋轉等情況后,學習到的目標模型發生變化,使得其它經典算法的跟蹤結果與標定結果均有較大的誤差,而本文提出的多檢測器框架,在同一時刻,會有多個檢測器給出各自的檢測結果,并從中選取最優結果作為最終的跟蹤結果。因此,即便前一幀所訓練得到的目標模型發生漂移,多個歷史檢測器也能有效地更正跟蹤目標。對于Liquor視頻序列,在900幀~1200幀之間,由于遮擋以及背景干擾等因素的影響,所有跟蹤算法均出現了跟蹤丟失現象,各自跟蹤結果的平均中心誤差均較大。而當目標重新進入檢測區域時,相對于基準跟蹤算法KCF,本文提出的多檢測器框架能夠及時更正跟蹤目標模型,使得在后續的跟蹤中,能夠繼續準確地進行目標跟蹤任務,跟蹤結果的平均中心誤差也重新降低到可接受的范圍內,而其它算法的跟蹤結果仍未有較好的改善。

圖5 本文算法與其它跟蹤算法在兩組測試序列上的平均中心誤差對比
如圖6所示,我們在八個視頻序列上比較本文提出的算法與KCF,CSK,TLD和Struck的跟蹤結果。由于KCF提取目標的HOG特征來對目標進行建模,因此對于快速移動和目標形變的測試序列比原始算法CSK要更加魯棒。但是當目標發生嚴重遮擋(如Lemming和Liquor)時會出現模型漂移的現象。此外,由于KCF只應用了目標的輪廓特征這一單一特征,使得其不能很好地處理具有嚴重背景干擾的視頻序列(如Bolt和Soccer)。CSK跟蹤算法是基于核相關性濾波器這一理論的經典算法,由于只采用了圖像的灰度信息,所以對于一些跟蹤難度低的視頻序列(如Dog1)能保持最快的檢測速度和不錯的跟蹤精度,但對于具有背景干擾、形變等(如Soccer和Freeman1)特性的目標跟蹤效果一般。對于Struck跟蹤算法而言,由于單一的分類器,以及不能夠適應目標的變化,導致其在旋轉、背景干擾或者嚴重遮擋方面(如Jogging和Soccer)表現不佳。與Struck不同,TLD跟蹤算法可以實時地學習目標最新的模型并能夠適應目標的尺度變化,但是對于快速移動和目標形變魯棒性較弱(如Bolt和Freeman1)。此外,TLD容易受遮擋、光照變化的干擾,使得不能夠平穩地進行尺度更新。

圖6 本文算法與其它跟蹤算法在八個測試序列上的跟蹤結果對比(自上而下為Bolt,Dog1,Doll,Freeman1,Jogging,Lemming,Liquor,Soccer)
綜上所述,本文提出的跟蹤算法在跟蹤精度和尺度估計方面均有較好的表現,一方面在HOG特征的基礎上,融合了CN顏色特征提高了算法對復雜環境的魯棒性。另一方面,本文提出的基于灰度直方圖和輪廓信息的尺度檢測算法能夠很好地適應目標尺度的變化,并且較其他尺度檢測算法更穩定(如Dog1、Doll、Freeman1和Soccer)。對于長期跟蹤的視頻序列(Lemming和Liquor),本文提出的多檢測器更正框架使得能夠在跟蹤丟失的情形下,當目標重新進入檢測區域時,目標模型能夠被重新更正。
本文中,我們在基于核相關性濾波理論的基礎上,使用目標的灰度直方圖以及輪廓信息來訓練尺度檢測器以適應目標在長期跟蹤過程中的尺度變化。此外,對于長期跟蹤的目標,由于嚴重遮擋或者背景干擾等因素導致跟蹤丟失后,當目標重新進入檢測區域時,我們提出的多檢測器跟蹤框架能夠重新更正目標模型。從在OTB13數據庫實驗結果可以看出,在滿足實時性的基礎上,本文提出的算法相比于其它經典算法更加魯棒與穩定。