白 揚,曹麗娟,胡媛媛,楊 云,2+
(1.云南大學 國家示范性軟件學院,云南 昆明 650504;2.云南大學 昆明市數據科學與智能計算重點實驗室,云南 昆明 650504)
目前,主流的目標跟蹤算法有兩大框架:基于相關濾波的跟蹤算法,在速度上有絕對的優勢,但往往選用一些單一的、低層的手工特征,不能夠應對復雜場景的任務,魯棒性很差;而基于卷積神經網絡的跟蹤算法,雖然有很高的精度和魯棒性,但是龐大的網絡限制了速度的實時性。另外,采用無差別地更新模版,一旦出現光照變化、形變、遮擋、出視野等等影響因素,將學習到大量的背景信息。
這些算法多數屬于是短期跟蹤(short-term tracking),主要是在跟蹤目標的精度上下文章,在丟失目標之后很難夠重新找回,魯棒性較差,這其實并不能夠很好地應用在現實場景中。要做到能夠良好應用到現實場景中,還是要把切入點放在長期跟蹤(long-term tracking)上,提升算法魯棒性和速度。因此提出一種特征補償的模型,規避兩種框架的缺陷,充分發揮各自的優勢,盡可能地向實際應用靠攏。通過實例驗證其有效性,并同一些先進的算法進行對比。
單目標跟蹤,是在視頻的第一幀中對跟蹤目標的位置和尺寸用矩形框進行人工標注,然后在視頻的后續幀中,同樣用矩形框緊跟住這個人工標注的物體。與之相似目標檢測,是在靜態圖像或者動態視頻中整幀范圍內進行掃描和搜尋目標,概括得講,目標檢測關注的是定位和分類。而目標跟蹤,關注的是如何實時地鎖定某人或物體,它并不在意自己跟蹤的是什么。目標跟蹤的一個核心的問題是,在一個不斷改變的視頻場景(例如:遮擋、出視野、形變、光照變化、尺度變化、背景相似等)中,如何精確又高效地檢測并且定位到目標[1]。跟蹤算法主要分為生成式方法和判別式方法兩大類別。生成式方法運用生成模型描述目標的表觀特征,之后通過搜索候選目標來最小化重構誤差,找到和模型最匹配的區域。生成式方法中最核心的問題是目標的表征方法,比較有代表性的算法有稀疏表征(sparse representation),密度估計(density estimation)和增量子空間學習(incremental subspace learning)等。生成式方法著眼于對目標本身的刻畫,忽略背景信息,早期的研究工作,通過經典的數學模型難以準確的把握目標的動態表征信息,因此,在目標自身變化劇烈或者被遮擋時容易產生漂移。相反,判別式方法的目的是建立一個能夠從背景中辨別出目標的分類器模型。這一類型的算法通常是基于多示例學習(multiple instance)、P-N learning、online boosting、結構化輸出支持向量機(structured output SVM)、集成學習[2-5]等。判別式方法的分類器模型學習過程中用到了背景信息,這樣分類器能專注區分前景和背景,因此,判別式方法的跟蹤算法普遍優于生成式方法,也逐漸成為這一領域的主流。
信號處理中,有一個概念——相關性,用來描述兩個因素之間的聯系。Bolme等將相關濾波應用在跟蹤領域,提出了一種最小輸出平方和誤差(MOSSE)的快速相關濾波跟蹤算法。作者將時域的相關操作進行傅里葉變換后,轉換為頻域的乘積操作,大大地提升了計算速度。由于相關濾波在目標跟蹤領域的計算效率和良好的表現,近年來,備受關注,出現了大量基于相關濾波的跟蹤算法。Hen-riques 等出了CSK算法,采用了循環移位的方法進行密集采樣,并利用核函數將低維線性不可分的模型映射到高維空間,以此來提高相關濾波器的性能。KCF[6]在原作CSK的基礎上進行了改進,將原始單通道灰度特征替換擴展為多通道的方向梯度直方圖(histogram of oriented gra-dients,HOG)特征,依靠快速傅立葉變換和fHOG,在擴展特征通道的同時,速度上依然存在優勢。CN[7]則是用多通道顏色特征Color Name去擴張CSK,將RGB的3通道圖像映射為11個顏色通道。SAMF[8]將HOG特征和CN特征結合,并加入尺度縮放。DSST[9]則是將目標的平移和尺度縮放,看作兩個獨立的任務,分別建立平移相關濾波器和尺度相關濾波器。雖然這些算法都有較快的速度,并且一部分特定的視頻場景中有較好的表現,但是單一的、低級的特征,在應對一些復雜的視頻場景時,仍然存在較大的缺陷。
深度學習之所以能夠在Imagenet[10]大放異彩,是因為有海量的數據供網絡學習。但是在跟蹤問題里,訓練數據缺失,僅僅將第一幀的圖像作為訓練的樣本是遠遠不夠的。現有的很多訓練好的網絡主要針對的任務是目標檢測、分類、分割等,網絡結構一般都很大,因為它們要分出很多類別的目標。而在跟蹤問題中,一個網絡只需要分兩類:目標和背景,并不需要這么大的網絡,這樣只會增加計算負擔,影響實時性。端到端網絡結構的跟蹤算法MDNet[11],利用視頻跟蹤的數據對分類模型VGG-M network[12]網絡結構的權重進行微調(fine-tuning)。它們在所得跟蹤目標中,雖然類別不同,但是其之間存在著共性,是能夠通過網絡學習到的。從策略上擴充了網絡的訓練數據。另一類基于孿生網絡結構(siamese network)的跟蹤算法[13-17],只需要卷積層分別提取出模版幀和當前幀的高層語義特征,再進行相關操作。雖然孿生網絡的跟蹤算法,在精度和魯棒性方面都具有出色的表現,但是龐大的網絡結構,依然限制了速度的發揮空間。
針對上述問題,提出了一種特征補償的跟蹤算法。該算法引入一個簡單的邏輯回歸分類器,作為切換特征的標志。將顏色直方圖、方向梯度直方圖兩種特征結合的相關濾波跟蹤器應用在簡單的視頻場景中,以保證較高的速度。一旦分類器判斷前者不再可靠,便切換擁有高層卷積語義特征的孿生網絡結構的跟蹤器,以保證跟蹤精度和魯棒性。并根據分類器的得分,有選擇的對相關濾波的跟蹤器的模版進行更新,減少累計誤差的影響,避免模版被污染造成目標的丟失,進一步提高模型的魯棒性。
由于本算法考慮的是應用更廣泛的單目標跟蹤任務的情景,也就是需要在目標跟蹤任務開始之前,用人工標注的方式以矩形框選出所要跟蹤的目標,并裁剪出候選區域帶有背景信息的目標子圖像,然后模型才會根據所選目標及其背景所具備的特性,進行區分,完成后續跟蹤任務。因此,在這樣情景下,無論是基于何種特征,模型都會通過視頻第一幀選出的目標框內的圖像,按照模型各自的策略生成一個初始的特征模版用以匹配后續幀圖像的候選區域,從而預測出目標的位置和大小。


圖1 前景掩膜與背景掩膜
ρ(A)=N(A)/|A|
(1)

(2)

(3)


圖2 后驗像素直方圖與響應
在線跟蹤的過程中,視頻中的場景隨時都在發生或微妙或劇烈的變化,對于顏色直方圖特征而言,光照變化、運動模糊等干擾因素的影響尤其嚴重。因此為了較好的適應視頻場景中存在的這些變化,在每次完成一幀的跟蹤任務的同時,需要對直方圖模版的權重βt進行更新,也就是對前景和背景的像素比例ρ更新
ρt(O)=(1-ηhist)ρt-1(O)+ηhistρ′t(O)
ρt(B)=(1-ηhist)ρt-1(B)+ηhistρ′t(B)
(4)
其中,ρ′t表示當前幀,通過式(1)計算得到的像素比例;ρt-1表示前一幀的像素比例;ηhist是一個值固定的學習權重。從式(4)不難看出,學習權重越大,越能學習到更多當前幀的信息,適應顏色表征變化劇烈的場景。但是,權重越大模版也越容易學習到背景信息,加快誤差的累積,通過分析直方圖特征在光照變化(如圖3上半部分所示)、背景顏色相似(如圖3下半部分所示)這兩類場景中的表現可以看出,僅僅對直方圖特征的模版更新,已經遠不能滿足此類場景跟蹤任務的需求。

圖3 光照變化與背景顏色相似下的響應


(5)

圖4 方向梯度直方圖與響應
(6)
在頻域中用*表示共軛,⊙表示元素乘法。
fhog(x;h)=∑u∈Th[u]Tφx[u]
(7)
視頻中場景存在各種各樣的變化,方向梯度直方圖同樣也會因為目標發生變化,而造成干擾,尤其物體形變造成的影響較大。顯然,由起始幀構建一個固定的模版,來完成有所幀的跟蹤任務并不是一種有效的方式。因此,為了能適應這種變化,提高模型的魯棒性,需要在完成每一幀跟蹤任務的同時,對模版進行更新
(8)


圖5 目標形變的響應
顏色直方圖特征在場景中存在光照變化、畫面模糊等干擾因素的時候,對模型的影響較大,而方向梯度直方圖特征在目標有形變、快速運動等干擾因素的時候,對模型的影響較大。所以將兩種特征融合,可以在一定程度上減少這些因素的干擾,提高跟蹤模型精度和魯棒性,使其在跟蹤任務中,能夠預測出目標更為準確的位置和大小,且并不容易丟失目標。這里用一個線性函數融合兩種特征的響應
f(x)=γhistfhist(x)+γhogfhog(x)
(9)
其中,γhist和γhog是兩個固定的權重,fhist和fhog分別從式(7)、式(3)中計算得到。最后融合得到響應的f(x),其最大值所對應的點的坐標即為目標的中心坐標。
雖然將兩種特征進行融合之后,能夠在大部分場景中表現出良好的效果,但是,由于累計誤差的存在,隨著跟蹤任務的推進,容易漂移,丟失目標。另外,對于一部分如背景相似、遮擋、出視野等較為復雜的視頻場景,仍然有較大的性能提升的空間。因此,可以加入其它更魯棒、效果更好的神經網絡結構的跟蹤器來提高模型的性能。考慮到神經網絡運行速度較慢,目前一般的硬件設備不能滿足實時性的要求,一種有效權衡的方法就是在前兩種特征融合的模型不能很好完成當前幀的跟蹤任務時,切換神經網絡的跟蹤器,才能最大限度發揮模型的性能。然而,應對這樣的需求最關鍵,也是最難的點就是讓特征融合模型知道什么時候需要切換神經網絡結構的跟蹤器。通過分析f、fhist、fhog這3個響應值在不同場景下的變化情況可以得出結論,在目標發生較大形變或者有遮擋等情況下,f、fhog均出現較大波動,因此可以通過這兩個值訓練一個分類器作為切換跟蹤器的標識。
為了保證在引入分類器同時不會對核心算法的速度造成太大影響,選用一個簡單快速的邏輯回歸分類器
(10)
2.4.1 數據預處理
在這里,為了完成式(10)分類器的訓練工作,選擇OBT2015[1]目標跟蹤數據集和ILSVRC(large scale visual recognition challenge)目標檢測數據集的部分視頻序列作為生成訓練數據的原始樣本。將這批視頻序列經過特征融合的模型,輸出供分類器訓練測試的數據集并保存。這是一個二分類任務,令數據集的輸入X=[max(fhog),max(f)], 類標y為0或1的整數,0表示模型的跟蹤框已經偏離了目標,1表示沒有偏離目標。但是僅僅這樣得到的數據集,存在不平衡、標注不準確的問題。
數據不平衡:模型中存在模版在線更新的機制,雖然能這對算法的魯棒性有一定的提升,但也是累計誤差的根源,一旦發生漂移,將很難再次找回目標,這也就會在生成數據集的過程中,產生大量的負樣本(偏離目標)。這些負樣本不但影響了數據的平衡性,甚至有一部分學習了大量背景信息的噪點。這樣的數據訓練得到的分類器,分類精度將大大降低。使用兩種方式生成數據以減小影響:
(1)視頻序列均有人工標注信息(ground truth),在生成數據的時候,借此控制模版更新的條件。當預測目標偏移真實目標的時候,停止更新模版,避免學習到背景信息,降低誤差,減少噪點。
(2)不做預測,每一幀都完全使用ground truth,生成的樣本全為正樣本(未偏離目標)。
標注不準確:物體遮擋、出視野這兩種場景比較特殊,即便是預測結果和ground truth偏差不大,但是,模型同樣會學習到背景信息,響應值同樣會出現很大的波動。因此,在這樣的情況下,對此二類場景,不管目標偏離與否,類標y都應重新標注為0,以此提升數據的可靠性。
2.4.2 神經網絡跟蹤器
這里選擇的神經網絡跟蹤器是DaSiamRPN[19],它結合了目標檢測的思想和結構區域建議網絡[20](region proposal networks,RPN)。傳統孿生網絡結構的跟蹤算法采用寬高等比例尺度縮放,這種方式在寬高比例發生劇烈變化時,精度會大大下降,并且對于有在線更新策略的模型,將學習到更多的背景信息,加快誤差累積。而RPN網絡能更加準確地擬合目標形變之后的尺寸,提高了跟蹤的精度和魯棒性,同時沒有了多尺度檢測,速度有顯著提升。
前面提到過,在線跟蹤的階段需要用式(4)、式(8)分別對顏色直方圖模版和方向梯度直方圖模版進行更新,來適應視頻中場景的變化。同樣地,在切換DaSiamRPN跟蹤器完成當前幀的跟蹤任務之后,仍然需要用這兩個公式進行更新操作。但是因為DaSiamRPN也存在跟蹤失敗的情況,所以只在當前幀預測出的目標置信度較高才對模版更新,避免學習到錯誤的信息。至此,才進行下一幀的跟蹤任務,直至完成所有視頻幀。至于DaSiamRPN的模版,因為經過其卷積層得到的特征已經足夠優秀,如果在這一部分仍沿用在線更新模版的策略,不僅大大降低算法的速度,甚至可能因為前面特征融合的模型預測得到一個錯誤的結果,使得DaSiamRPN的模版受到污染,降低整個算法的魯棒性。
至此,介紹完所有模型分支,就可以構建如圖6所示的算法結構。起始幀分別建立顏色直方圖、方向梯度直方圖、DaSiamRPN跟蹤器三者的模版,跟蹤的預測階段,分別提取顏色直方圖特征和方向梯度直方圖特征與其對應的模版進行匹配,得到兩個響應圖,進行加權求和后得到融合的響應圖。分類器判斷響應值是否可靠,如果可靠,則預測得到目標,并選擇高置信度響應值對應的幀,將顏色直方圖和方向梯度直方圖的模版更新;如果不可靠,切換DaSiamRPN跟蹤器,預測得到目標,同樣選擇高置信度響應值對應的幀,將顏色直方圖和方向梯度直方圖的模版更新。期間,DaSiamRPN的模版不做任何更新操作。
為了評估本算法的性能,選擇VOT(visual object tracking)競賽的評價方法、數據集、評價系統進行本次實驗,所有結果均由官方提供的工具包得到,以保證公平的比較。其中包括VOT2016[21]、VOT2017[22]兩個數據集,每個數據集都包含60個視頻序列,涉及了遮擋、光照變化、目標移動、尺度變化、相機移動、出視野等屬性,在一個視頻序列中可能出現多種上述屬性,這樣可以對模型進行更精準的評價。算法用Python實現并使用了PyTorch庫,運行在Intel Core i7-6700,8G RAM,NVIDIA GeForce GT 730的主機上,基準數據集速度可以達到30FPS。

圖6 算法的結構
VOT中有兩套評價標準,Baseline和Unsupervised。下面分別就這兩個標準的實驗結果進行分析:
(1)Baseline
VOT官方考慮到大部分跟蹤算法不能完全預測出視頻序列中所有幀的目標,甚至在一開始便丟失目標,導致最終評價系統只利用了序列中很少的一部分,造成浪費。因此,為了能精確的對算法測評,盡可能利用所有視頻序列,加入了重置機制。當檢測到敗時(預測目標和ground truth的重疊率為0),系統將會在5幀后對算法重新初始化。算法的性能指標分別用正確率(accuracy,A)、魯棒性(robustness,R)和平均重疊率(expected average overlap,EAO)來衡量。
使用最新版本的VOT toolkit來評估算法性能,并由官方提供的基準數據中,選擇7個表現比較突出的跟蹤算法和該算法(FCtracker)進行比較,得到表1中,各個算法在VOT2016、VOT2017兩個數據集對應的正確率、魯棒性、平均重疊率等指標的分數。

表1 基準數據集上的性能
主流的排名體系中,多以平均重疊率的分值作為算法的最終排名。如圖7所示,可以清晰地看出各個算法的性能排名(越靠近右上角,性能越好)。在VOT2016中,該算法以0.3288的平均重疊率排名第二,位于ECO之后。正確率排在第一位,為0.5688,相比第二的ECO算法提升了6.6%;魯棒性排在第二位,為18.5103,雖然低于ECO,但是仍比第三的Staple的提升了22%。而VOT2017中,以0.2624的平均重疊率排在第三。正確率依舊第一,為0.5317,相比平均重疊率第一的DeepCSRDCF算法提升了將近10%;魯棒性同樣遠高于排名靠后的算法。從表中可以看出,雖然該算法,在兩個數據集中的排名稍有落后,但是在評分前三的3個算法中速度最快,是ECO算法的10倍,是DeepCSRDCF算法的8倍。

圖7 VOT2016和VOT2017的平均重疊率排名
(2)Unsupervised
這種評價標準雖然不是主流,但是因為沒有重置機制,所以能夠更加客觀更加真實地反映現實場景中跟蹤情況。它的性能指標只有曲線下面積(area under curve,AUC)一項,見表2。
以上可以看出,該算法在VOT2016基準數據中以0.4944的AUC評分位列第一,比排在第二的ECO算法提升了4.1%;VOT2017中,同樣以0.4187的AUC的評分排在第一,比ECO提升了5.1%。且在排名前三的算法中,速度最快。可以通過圖8的曲線直觀地看出,不同重疊率的閾值下,正確率的變化情況。

表2 無監督的性能比較

圖8 不同閾值下無監督重疊率曲線
分類器的數據集中存在不平衡,正樣本少的問題,手工調整,明顯不是最佳的處理方式。針對不平衡數據的半監督學習算法[23-25],在復雜數據集中可獲得較好的學習效果,在未來的工作中,可以考慮采用此類高級機器學習算法來輔助和完善模型的訓練。
提出了一種基于特征補償的模型,詳細介紹了設計思路和模型的構建過程。簡單的場景使用簡單快速的特征,復雜場景使用魯棒的特征,以此,來權衡相關濾波結構的跟蹤算法長時間跟蹤容易丟失目標,神經網絡結構的跟蹤算法速度慢耗費資源的問題,向實際應用靠攏。在基準數據上有突出的表現,尤其是貼近現實場景的無監督這種評測標準。但是,仍存在一些簡單的情景誤判,使用復雜的特征,且速度還有很大的提升空間。