蔣天翼
(杭州電子科技大學(xué)計(jì)算機(jī)學(xué)院 浙江省杭州市 310018)
目標(biāo)跟蹤是近年來人工智能方向的熱門領(lǐng)域,近年來其發(fā)展勢(shì)頭迅猛,并被廣泛應(yīng)用在安防系統(tǒng)、自動(dòng)駕駛、體育賽事轉(zhuǎn)播、公共交通等領(lǐng)域。在傳統(tǒng)的單目標(biāo)跟蹤任務(wù)中,首先給定視頻初始幀的目標(biāo)位置,即目標(biāo)在視頻幀中的邊界框,使用相關(guān)跟蹤方法,輸出后續(xù)視頻幀中目標(biāo)所在的位置信息以及寬高信息。然而在實(shí)際運(yùn)用中,被跟蹤物體往往會(huì)發(fā)生形變、高速運(yùn)動(dòng)、干擾物遮擋等問題,給目標(biāo)跟蹤任務(wù)帶來了極大的挑戰(zhàn)。因此,如何克服物體在運(yùn)動(dòng)中發(fā)生的變化,從而較為準(zhǔn)確地跟蹤目標(biāo),是該領(lǐng)域的一個(gè)關(guān)鍵問題。
目前,許多目標(biāo)跟蹤算法都得到較成熟的發(fā)展。在被廣泛運(yùn)用于計(jì)算機(jī)視覺的各種方法中,均值漂移是一種常見的聚類算法,Comaniciu 等人首次將其與目標(biāo)跟蹤相結(jié)合,提出基于均值漂移的目標(biāo)跟蹤算法[2]。具體來說,這種方法無需先驗(yàn)知識(shí),而僅需要先對(duì)待跟蹤對(duì)象建模,在當(dāng)前視頻幀中不斷迭代搜索框,使其沿著圖像特征均值漂移方向不斷移動(dòng),最終確定目標(biāo)坐標(biāo)。均值漂移方法迭代速度快,計(jì)算效率高,但健壯性較差,并且由于目標(biāo)邊界框大小固定,在目標(biāo)發(fā)生大小形變時(shí)難以產(chǎn)生準(zhǔn)確結(jié)果。另一方面,采用相關(guān)濾波來進(jìn)行目標(biāo)跟蹤的方法也隨之出現(xiàn),并逐漸成為一種主流的跟蹤手段。Bolme 等人提出的MOSSE 算法[3],首次將信號(hào)處理與目標(biāo)跟蹤相融合。其算法目的是訓(xùn)練一種相關(guān)濾波器,使得被跟蹤目標(biāo)能在視頻幀中得到最高的響應(yīng)度。MOSSE 方法只需要圖片的灰度特征,這進(jìn)一步提高了算法的運(yùn)行效率,跟蹤速度可以超過幾百幀每秒。在這之后也有許多優(yōu)秀的相關(guān)濾波方法,如CSK[4]、KCF[5]等,其核心目標(biāo)就是訓(xùn)練一個(gè)能夠區(qū)分當(dāng)前視頻幀前景與背景的分類器。這種算法的執(zhí)行速度通常較高,能夠達(dá)到實(shí)時(shí)需求,但抗干擾能力依舊不是很理想。另外,由于相關(guān)濾波方法需要經(jīng)常對(duì)濾波器進(jìn)行更新,這對(duì)算法執(zhí)行速度也產(chǎn)生一定影響。
自從近年以來,基于深度學(xué)習(xí)的方法在計(jì)算機(jī)視覺領(lǐng)域漸漸展露其非凡的實(shí)力。Alex Krizhevsky 等人提出的AlexNet[6]首次將卷積神經(jīng)網(wǎng)絡(luò)(CNN)用于目標(biāo)分類任務(wù),獲得了十分理想的效果。CNN 網(wǎng)絡(luò)有著強(qiáng)大的特征提取能力,能夠更加準(zhǔn)確的挖掘目標(biāo)淺層和深層的語義信息,這對(duì)目標(biāo)跟蹤任務(wù)也適用。2015年由Ma等人提出的HCF 算法[7],在KCF 算法的基礎(chǔ)上,將深度學(xué)習(xí)中的CNN 網(wǎng)絡(luò)與相關(guān)濾波的方法融合,用深度學(xué)習(xí)特征替代原有的HOG 特征,使跟蹤器能夠應(yīng)對(duì)目標(biāo)較大的位移變化,并有效防止跟蹤器漂移。在深度學(xué)習(xí)的一系列方法之中,孿生網(wǎng)絡(luò)借由其共享網(wǎng)絡(luò)權(quán)重的特點(diǎn),非常適合相似性度量的任務(wù)。SiamFC[8]算法通過將模板幀和跟蹤幀經(jīng)過CNN 提取后的特征進(jìn)行互相關(guān)操作,得到目標(biāo)位置的預(yù)測(cè)分?jǐn)?shù)。Siamese-RPN[1]在其基礎(chǔ)上進(jìn)一步提出了區(qū)域舉薦網(wǎng)絡(luò)(Region Proposal Network),使得目標(biāo)候選框的生成更加準(zhǔn)確。但在大部分孿生網(wǎng)絡(luò)的跟蹤方法中,它們只能從非語義的背景中識(shí)別前景,而不好識(shí)別的背景就很容易被認(rèn)為是干擾物。為了解決孿生網(wǎng)絡(luò)難以識(shí)別干擾物的問題,本文提出了基于概率回歸的方法模型,將其用在目標(biāo)跟蹤領(lǐng)域,有效提高了網(wǎng)絡(luò)的抗干擾能力,在VOT2018 數(shù)據(jù)集上表現(xiàn)優(yōu)秀。
孿生網(wǎng)絡(luò)是眾多神經(jīng)網(wǎng)絡(luò)中較為特殊的一種,它由兩個(gè)或以上子網(wǎng)絡(luò)構(gòu)成,同時(shí)可以接受兩個(gè)以上的輸入,并共享這幾個(gè)網(wǎng)絡(luò)分支的權(quán)值。孿生網(wǎng)絡(luò)的核心思想是找到一組參數(shù),使得目標(biāo)空間的距離近似地等價(jià)于輸入空間的“語義”距離,使得相似度度量在同類別中較小,不同類別中較大。
基于全連接層孿生網(wǎng)絡(luò)框架的跟蹤模型:
由于孿生網(wǎng)絡(luò)結(jié)構(gòu)非常適合相似性度量,事實(shí)上,早在2016年來自牛津的Luca Bertinetto 便基于此網(wǎng)絡(luò)結(jié)構(gòu)推出了基于全連接層孿生網(wǎng)絡(luò)框架的跟蹤模型——SiamFC[8]。算法的核心思想是通過訓(xùn)練一個(gè)函數(shù)f(z,x)來比較樣本圖像z 和待查詢圖像x 的相似性,如果是一致的目標(biāo)則判定為分?jǐn)?shù)較高,反之給予較低的分?jǐn)?shù)。
圖1描繪的是全連接孿生網(wǎng)絡(luò)的架構(gòu)。首先特征提取網(wǎng)絡(luò)將對(duì)網(wǎng)絡(luò)的兩個(gè)輸入z 和x 進(jìn)行相同的變換φ,并且把得到的輸出傳遞給互相關(guān)模塊。相似性度量函數(shù)也可由此過程后得到:f(z,x)=g(φ(z),φ(x))。本文采取該架構(gòu),針對(duì)搜索到的圖像x 進(jìn)行全連接卷積操作,并輸出含有標(biāo)量值的分?jǐn)?shù)圖,同時(shí)以圖像大小來決定尺寸。
這種跟蹤模型選用視頻上一幀中預(yù)測(cè)的目標(biāo)中心位置作為當(dāng)前幀的位置來進(jìn)行搜索并跟蹤。其中需要的最大的得分的位置,其值與得分圖的中心有關(guān)。用這個(gè)值乘上方法中網(wǎng)絡(luò)的步長(zhǎng),從而可以得到不同幀之間的目標(biāo)的相對(duì)位移。在單次的操作中,以多種不同的尺度對(duì)目標(biāo)進(jìn)行搜索,進(jìn)而得到合適的候選框。
視覺目標(biāo)跟蹤的任務(wù)本質(zhì)是將一個(gè)視頻拆分為若干幀圖片,并對(duì)每一幀圖片預(yù)測(cè)目標(biāo)狀態(tài)的一種任務(wù),其中最普通的情況就是使用矩形框來框選需要跟蹤的目標(biāo)范圍。和別的機(jī)器視覺任務(wù),如目標(biāo)檢測(cè)還有定位等類似,目標(biāo)跟蹤任務(wù)也可以看作一個(gè)回歸任務(wù)。跟蹤器算法需要去學(xué)習(xí)一個(gè)比較通用的模型,這種模型能夠識(shí)別目標(biāo)在每一幀中的位置和狀態(tài)。傳統(tǒng)的跟蹤模型使用置信度回歸作為優(yōu)化方向,采用置信度預(yù)測(cè)值s(y,x)來描繪視頻輸入幀的特征x 與當(dāng)前區(qū)域y 相似的可信度。完成這步之后,采用置信度分?jǐn)?shù)y*=argmax{s(y,x)},對(duì)所有y 來進(jìn)行估計(jì)并最大化這個(gè)分?jǐn)?shù),從而得到這個(gè)條件下最好的結(jié)果。
圖1:全連接層孿生網(wǎng)絡(luò)框架圖
圖2:目標(biāo)框和目標(biāo)中心對(duì)比
圖3:經(jīng)處理后的訓(xùn)練集圖像
基于置信度回歸的目標(biāo)跟蹤方法,主要用在主流跟蹤算法,如相關(guān)濾波方法或基于深度學(xué)習(xí)的方法等之中。不同于在直接回歸方法中采取y=f(x)來預(yù)測(cè)單個(gè)y,而忽略背景中的其他信息,基于置信度回歸的方法在表達(dá)一些不確定的物體上非常靈活。但同時(shí),在置信度回歸中,所謂的置信度值并沒有比較明確清晰的解釋,僅僅是一個(gè)應(yīng)當(dāng)被最大化的目標(biāo)分?jǐn)?shù)而已,在解釋為何產(chǎn)生分?jǐn)?shù)會(huì)最大上面欠缺說服力。由于置信度值的范圍和特性很依賴模型選擇的損失函數(shù)和生成訓(xùn)練的偽標(biāo)簽,這令研究者難以設(shè)計(jì)出合適的估計(jì)方法,而在推理預(yù)測(cè)的過程中也會(huì)因這些原因而倍感壓力。另外,在目標(biāo)跟蹤任務(wù)中,只要目標(biāo)產(chǎn)生微小的變化,目標(biāo)框中心位置和目標(biāo)的中心位置就會(huì)有很大的不同,如圖2所示。由于一般的回歸方法只專注回歸目標(biāo)中心本身,而忽略了目標(biāo)框中心和目標(biāo)中心的差別,這對(duì)跟蹤準(zhǔn)確度來講是一個(gè)不能忽視的挑戰(zhàn)。
本文在Saimese 網(wǎng)絡(luò)中使用概率回歸目標(biāo)框的方法替代置信度回歸,使得上述問題得到解決。
圖4:目標(biāo)跟蹤算法流程框架圖
圖5:準(zhǔn)確率AUC 與迭代次數(shù)關(guān)系圖
本文用概率回歸替換置信度回歸,并將其用于Siamese 網(wǎng)絡(luò)框架之中。這種方法擁有大部分置信度回歸方法的優(yōu)點(diǎn)。但與其不同的是,本方法用預(yù)測(cè)的概率分布p(y|x,θ),其中θ 是概率分布的參數(shù)。網(wǎng)絡(luò)的優(yōu)化方向是最小化預(yù)測(cè)概率分布p(y|x,θ)與條件真值的概率分布P(y|yi)之間的KL 散度。在測(cè)試中,選擇概率密度最大的點(diǎn)作為預(yù)測(cè)結(jié)果,也就是目標(biāo)中心點(diǎn)。
與普通的回歸方法相比較,這種方法有如下幾個(gè)特點(diǎn)。首先,在一般的回歸方法中,預(yù)測(cè)值s(y,x)和實(shí)際回歸任務(wù)之間的聯(lián)系難以確定,同時(shí)這個(gè)值也容易受到實(shí)驗(yàn)者選擇的損失函數(shù)以及偽標(biāo)簽的影響。其次,這種方法不需要選擇損失函數(shù),而是采用最小化KL 散度的方式替代了最小化損失函數(shù)這個(gè)步驟,這種方法可以直觀反應(yīng)預(yù)測(cè)概率分布和真實(shí)概率分布之間的差別。在下一節(jié),本文將會(huì)給出一般性的回歸模型,并將其與基于孿生網(wǎng)絡(luò)的跟蹤算法相結(jié)合。
4.1.1 一般性方法
本小節(jié)提出了一種有效的辦法來訓(xùn)練網(wǎng)絡(luò),從而預(yù)測(cè)概率分布。首先給出在得到輸入x 情況下預(yù)測(cè)輸出y 的概率分布p(y|x,θ):
由于sθ(y,x)本質(zhì)上來講是置信度預(yù)測(cè)值,也是輸入和輸出關(guān)系被神經(jīng)網(wǎng)絡(luò)所轉(zhuǎn)化為的一個(gè)標(biāo)量值,這個(gè)式子表達(dá)的就是將這個(gè)值轉(zhuǎn)化為概率密度,然后通過歸一化常數(shù)進(jìn)行調(diào)整和局部減少操作。
在參數(shù)訓(xùn)練方面,算法無需選取一般的Loss 函數(shù),或者用負(fù)對(duì)數(shù)似然的方法來描述條件真值概率分布P(y|yi)與預(yù)測(cè)的條件概率值分布p(y|x,θ)之間的差異,而是選用KL 散度來將這兩個(gè)概率分布的差異量化為標(biāo)量值,KL 散度的一般性定義可以寫為:
其中q(xi)是事件的近似分布,而p(xi)是事件的真實(shí)分布。根據(jù)式子,KL 散度的取值是從0 到無窮大的,近似分布與真實(shí)分布之間差異越小,KL 散度的值也就越小,反之亦然。在給出KL 散度的一般性定義之后,就可以給出用于訓(xùn)練網(wǎng)絡(luò)來訓(xùn)練參數(shù)的KL散度:
通過最小化KL 散度值,就可以獲得與真實(shí)分布最匹配的預(yù)測(cè)概率分布參數(shù)。
本算法使用ILSVRC2015 競(jìng)賽所用數(shù)據(jù)集進(jìn)行訓(xùn)練。視頻序列總量大概為4500 多組,分為前80%和后20%,分別進(jìn)行訓(xùn)練和測(cè)試。選取該數(shù)據(jù)集是因?yàn)槠渲泻芏鄶?shù)據(jù)擁有人工標(biāo)記,可以省去手動(dòng)打標(biāo)記的時(shí)間。對(duì)于每一個(gè)視頻幀,本算法對(duì)邊緣部分進(jìn)行了裁剪并填充,從而保證輸入圖像為255*255*3 的RGB 圖像。如圖3所示。
整個(gè)算法框架的執(zhí)行流程如圖4所示。
本算法可以分為兩個(gè)環(huán)節(jié)。首先是進(jìn)行離線模型訓(xùn)練,然后是進(jìn)行在線目標(biāo)跟蹤。在模型訓(xùn)練環(huán)節(jié)中主要是數(shù)據(jù)的預(yù)處理和網(wǎng)絡(luò)的訓(xùn)練。在目標(biāo)跟蹤環(huán)節(jié)中,首先給出待跟蹤目標(biāo)在視頻首幀中的中心坐標(biāo)和目標(biāo)框尺寸,并為此建模。之后在視頻的后續(xù)幀中持續(xù)執(zhí)行跟蹤任務(wù),并輸出目標(biāo)框的位置坐標(biāo)。
在本算法執(zhí)行目標(biāo)跟蹤的過程中,涉及兩個(gè)回歸任務(wù),下面給出兩種回歸任務(wù)模型構(gòu)建方法。
5.3.1 目標(biāo)中心回歸本算法采用網(wǎng)絡(luò)采樣的方法來訓(xùn)練目標(biāo)的KL 散度值。其中條件真值密度可以設(shè)置為高斯分布。對(duì)于回歸中心的分支預(yù)測(cè)權(quán)重模塊,可以通過KL 散度損失函數(shù)和正則化來優(yōu)化。之后本算法進(jìn)行了快速下降結(jié)構(gòu)的優(yōu)化,并采用了二階泰勒展開去近似優(yōu)化目標(biāo)。這是基于一個(gè)事實(shí):線性預(yù)測(cè)中的目標(biāo)函數(shù)是凸的,同時(shí)也因?yàn)樘荻认嚓P(guān)信息,所以可以這么做。
5.3.2 邊界框回歸
表1:模型測(cè)試指標(biāo)分?jǐn)?shù)
圖6:籃球運(yùn)動(dòng)員跟蹤效果演示
對(duì)邊界框的回歸模型采用和孿生網(wǎng)絡(luò)中類似的結(jié)構(gòu),并應(yīng)用本文使用的一般性概率公式進(jìn)行優(yōu)化。之后本算法采用了負(fù)似然估計(jì)的方法進(jìn)行損失估計(jì),并且使用近似方法擴(kuò)展了概率設(shè)置。
本文對(duì)改進(jìn)后的基于概率回歸的孿生網(wǎng)絡(luò)目標(biāo)跟蹤方法在多個(gè)數(shù)據(jù)集上進(jìn)行了訓(xùn)練和測(cè)試。所有實(shí)驗(yàn)均在AMD Ryzen51600x3.6GHz,16GB 內(nèi)存和 NVIDIA GeForce RTX2080 顯卡的PC 上運(yùn)行。操作系統(tǒng)為Windows,采用Pytorch 1.7.1 作為機(jī)器學(xué)習(xí)庫,編程語言為Python 3.6。
經(jīng)測(cè)試,跟蹤器能夠達(dá)到40FPS 的跟蹤速度。我們保存了模型訓(xùn)練每迭代2000 次取得的準(zhǔn)確率(AUC)分?jǐn)?shù),繪制了模型迭代次數(shù)與準(zhǔn)確率之間的關(guān)系。其中準(zhǔn)確率是預(yù)測(cè)正確樣本與總樣本數(shù)量之間的比值。如圖5所示。
將本模型與目前流行的孿生網(wǎng)絡(luò)跟蹤算法進(jìn)行橫向?qū)Ρ?,涉及的算法模型有全卷積孿生網(wǎng)絡(luò)目標(biāo)跟蹤算法(SiamFC),基于干擾物感知的孿生網(wǎng)絡(luò)跟蹤算法(DaSiamese),基于概率回歸的孿生網(wǎng)絡(luò)跟蹤方法(PrSiamese)。評(píng)價(jià)指標(biāo)有準(zhǔn)確率(AUC),期望平均重疊率(EAO),健壯性(Robustness)。測(cè)試集基于VOT2018 數(shù)據(jù)集,其中對(duì)各個(gè)模型進(jìn)行了測(cè)試并統(tǒng)計(jì)總體結(jié)果。其中各個(gè)評(píng)價(jià)指標(biāo)評(píng)價(jià)表如表1所示。
從指標(biāo)上來看,在孿生網(wǎng)絡(luò)跟蹤器中使用概率回歸替代置信度回歸是一種有效的優(yōu)化手段。
筆者搭建了簡(jiǎn)單的前端框架來實(shí)現(xiàn)跟蹤過程的可視化,效果圖如圖6所示。
本文首先分析并列出了目標(biāo)跟蹤領(lǐng)域的機(jī)遇和挑戰(zhàn),這些問題主要有背景快速變化和干擾、光照變化、物體的模糊和多尺度變化等。在分析目前主流跟蹤算法的優(yōu)劣點(diǎn)之后,提出一種基于區(qū)域推薦孿生網(wǎng)絡(luò)的目標(biāo)跟蹤算法,并對(duì)其進(jìn)行優(yōu)化。本文采取概率回歸的方法來替代傳統(tǒng)目標(biāo)跟蹤中的置信度回歸方法, 將Siamese 網(wǎng)絡(luò)構(gòu)架與基于概率回歸的模型相融合,經(jīng)測(cè)試算法模型在遇到干擾的情況下依然有較好的表現(xiàn)。
展望未來,本算法依然有可以改進(jìn)之處。首先本文實(shí)驗(yàn)數(shù)據(jù)集有限,沒有在足夠的訓(xùn)練集上進(jìn)行訓(xùn)練??梢灶A(yù)想,若對(duì)模型進(jìn)行充分訓(xùn)練,則算法的泛化性能將會(huì)更好。同時(shí)本文中的概率模型僅運(yùn)用在了基礎(chǔ)的孿生網(wǎng)絡(luò)上,未來可以和更多更復(fù)雜的孿生網(wǎng)絡(luò)模型進(jìn)行融合,這也是一個(gè)重要方向。