李志鵬,張 睿
(1.復(fù)旦大學(xué) 軟件學(xué)院,上海 201203;2.復(fù)旦大學(xué) 計(jì)算機(jī)實(shí)驗(yàn)教學(xué)中心,上海 201203)
目標(biāo)跟蹤是指在視頻的每一幀中找到感興趣目標(biāo)的運(yùn)動(dòng)位置,其被廣泛應(yīng)用于人機(jī)交互、視頻監(jiān)控和自動(dòng)駕駛等領(lǐng)域,也是計(jì)算機(jī)視覺(jué)的一個(gè)重要分支。在設(shè)計(jì)目標(biāo)跟蹤算法時(shí),需要同時(shí)考慮復(fù)雜環(huán)境中的跟蹤精度以及跟蹤速度,以滿足實(shí)時(shí)性需求。隨著深度學(xué)習(xí)研究的深入,卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)大幅提升了跟蹤算法的性能和穩(wěn)定性[1],但是計(jì)算復(fù)雜度的提升使得單一CNN 算法難以滿足實(shí)時(shí)性需求[2]?;谙嚓P(guān)濾波器的目標(biāo)跟蹤算法一般具有較高的計(jì)算效率,現(xiàn)有實(shí)時(shí)跟蹤算法大多使用基于圖像卷積特征的相關(guān)濾波器[3],但是此類算法保持高跟蹤速度的同時(shí)難以保證高跟蹤精度。隨著實(shí)際應(yīng)用中對(duì)精度需求的不斷提升,相關(guān)濾波器輸入維數(shù)的增長(zhǎng)也會(huì)限制算法的跟蹤速度[4]。因此,設(shè)計(jì)同時(shí)具有高精度和高速度的目標(biāo)跟蹤模型具有重要意義。
在現(xiàn)有的跟蹤算法中,研究人員應(yīng)用遷移學(xué)習(xí)的思想[5],使用VGG-NET[6]等預(yù)訓(xùn)練卷積網(wǎng)絡(luò)提取圖像特征,大幅提高了算法性能。但是直接應(yīng)用VGG-NET 并非最優(yōu)方案,原因是對(duì)于特定跟蹤場(chǎng)景,待處理的圖像分布通常與VGG-NET 訓(xùn)練數(shù)據(jù)的分布不同,這類分布差異問(wèn)題會(huì)影響圖像特征的可靠性。為了解決這一問(wèn)題,本文采用對(duì)抗學(xué)習(xí)方法[7],在不需要跟蹤場(chǎng)景圖像標(biāo)簽的情況下解決分布差異問(wèn)題,使模型在特定任務(wù)中表現(xiàn)更穩(wěn)定。另外,由于特征維數(shù)是限制模型計(jì)算效率的主要因素,本文利用自編碼器將圖像特征壓縮到低維空間[8]。在實(shí)際應(yīng)用中,模型要處理包含多類目標(biāo)和環(huán)境風(fēng)格的圖像,因此,本文設(shè)計(jì)一種雙通道自編碼器結(jié)構(gòu)并在訓(xùn)練時(shí)優(yōu)化判別損失函數(shù),以提高模型的泛化能力。在特征壓縮后使用相關(guān)濾波器進(jìn)行目標(biāo)跟蹤。具體地,本文提出一種應(yīng)用深度壓縮特征的相關(guān)濾波器實(shí)時(shí)跟蹤模型(TDFC),使用對(duì)抗學(xué)習(xí)和特征壓縮提高跟蹤算法的精度和速度[9]。應(yīng)用對(duì)抗學(xué)習(xí)方法優(yōu)化圖像特征提取過(guò)程,使得跟蹤場(chǎng)景數(shù)據(jù)與 特征提取模型VGG-NET的預(yù)訓(xùn)練ImageNet[10]數(shù)據(jù)分布一致,得到針對(duì)任務(wù)場(chǎng)景的優(yōu)化圖像卷積特征。在此基礎(chǔ)上,提出一種基于自編碼器的雙通道結(jié)構(gòu)模型,將圖像特征壓縮到低維空間,并通過(guò)類別標(biāo)簽信息優(yōu)化模型的訓(xùn)練過(guò)程。
現(xiàn)有的目標(biāo)跟蹤算法主要分為兩類:
1)第一類是基于相關(guān)濾波器的算法,此類算法一般具有較高的計(jì)算效率。文獻(xiàn)[11]提出的KCF 算法利用快速傅里葉變換和循環(huán)矩陣降低算法的時(shí)間復(fù)雜度。SAMF[12]在KCF 的基礎(chǔ)上,結(jié)合HOG 特征和CN 特征,并對(duì)目標(biāo)尺度變化進(jìn)行檢測(cè)。文獻(xiàn)[13]與SAMF 類似,除了聚合多種特征外,還提出一種三維濾波器結(jié)構(gòu),實(shí)現(xiàn)對(duì)目標(biāo)尺度的自適應(yīng)。STC[14]在貝葉斯框架下對(duì)跟蹤目標(biāo)及其上下文的時(shí)空關(guān)系建模,得到目標(biāo)和周圍區(qū)域的統(tǒng)計(jì)相關(guān)性。但是上述相關(guān)濾波器跟蹤算法會(huì)在跟蹤精度方面存在局限性。為了解決這一問(wèn)題,HCF[15]算法在KCF 的基礎(chǔ)上,將HOG 特征替換為分層卷積特征,在不同層訓(xùn)練相關(guān)濾波器以提高跟蹤精度。DeepSRDCF[16]在使用卷積特征的同時(shí)還加入懲罰項(xiàng)以改善邊界的影響。這些改進(jìn)算法通過(guò)使用圖像卷積特征使跟蹤精度得到提升,但是圖像卷積特征的通道數(shù)遠(yuǎn)多于原始圖像的通道數(shù),這會(huì)導(dǎo)致計(jì)算復(fù)雜度提升以及跟蹤速度降低。
2)第二類是基于神經(jīng)網(wǎng)絡(luò)的算法。文獻(xiàn)[17]提出的SO-DLT 算法使用CNN 作為獲取特征和分類結(jié)果的模型,先在非跟蹤數(shù)據(jù)上進(jìn)行離線預(yù)訓(xùn)練,然后基于跟蹤數(shù)據(jù)調(diào)整參數(shù),以解決跟蹤過(guò)程中數(shù)據(jù)不足的問(wèn)題。文獻(xiàn)[18]在SO-DLT 思想的基礎(chǔ)上,在多域?qū)W習(xí)模型中使用帶標(biāo)注的視頻數(shù)據(jù)。文獻(xiàn)[19]用小型卷積網(wǎng)絡(luò)將多層卷積特征稀疏化,得到用于跟蹤的判別式特征。文獻(xiàn)[20]使用循環(huán)神經(jīng)網(wǎng)絡(luò)對(duì)目標(biāo)物體建模,提升模型鑒別相似物體的能力。文獻(xiàn)[21]通過(guò)強(qiáng)化學(xué)習(xí)來(lái)學(xué)習(xí)物體的連續(xù)性動(dòng)作,從而檢測(cè)目標(biāo)變化。雖然上述基于神經(jīng)網(wǎng)絡(luò)的算法能達(dá)到很高的跟蹤精度,但隨著網(wǎng)絡(luò)復(fù)雜度的提高,跟蹤速度不可避免地會(huì)有所下降,難以滿足實(shí)時(shí)性的需求。
本文提出的模型主要包含特征提取、特征壓縮、目標(biāo)跟蹤等步驟。在特征提取步驟中,首先使用對(duì)抗學(xué)習(xí)方法調(diào)整跟蹤場(chǎng)景圖像的分布,然后使用預(yù)訓(xùn)練的VGG-NET 提取圖像的卷積特征。在特征壓縮步驟中,采用基于自編碼器的雙通道網(wǎng)絡(luò)結(jié)構(gòu),結(jié)合類別信息優(yōu)化訓(xùn)練過(guò)程以降低圖像特征維度,再對(duì)雙通道特征執(zhí)行聚合操作得到壓縮特征。最后,將壓縮特征作為相關(guān)濾波器的輸入以實(shí)現(xiàn)目標(biāo)跟蹤。
在使用VGG-NET 提取圖像特征時(shí),預(yù)訓(xùn)練數(shù)據(jù)與跟蹤場(chǎng)景任務(wù)域數(shù)據(jù)存在分布不一致的問(wèn)題,該問(wèn)題會(huì)影響圖像特征的有效性。因此,本文采用對(duì)抗學(xué)習(xí)方法優(yōu)化特征提取過(guò)程,從而解決該問(wèn)題。
2.1.1 優(yōu)化方法的理論支持
為了解決VGG-NET 預(yù)訓(xùn)練數(shù)據(jù)(ImageNet 圖像)與跟蹤場(chǎng)景任務(wù)域數(shù)據(jù)分布不一致的問(wèn)題,需要對(duì)齊跟蹤場(chǎng)景圖像和ImageNet 圖像的分布,即降低VGG-NET 在跟蹤場(chǎng)景數(shù)據(jù)上的遷移學(xué)習(xí)誤差。根據(jù)文獻(xiàn)[22]中關(guān)于遷移學(xué)習(xí)模型誤差分析的理論,對(duì)于?h?H,遷移學(xué)習(xí)模型的期望誤差ET(h)有如下性質(zhì):
其中,H表示假設(shè)函數(shù)族(亦可理解為模型族),h是H的一個(gè)實(shí)例,ES(h)表示遷移學(xué)習(xí)模型在源域(即ImageNet 圖像服從的分布)數(shù)據(jù)集上的誤差項(xiàng),ET(h)表示遷移學(xué)習(xí)模型在目標(biāo)域(即跟蹤場(chǎng)景圖像服從的分布)數(shù)據(jù)集上的誤差項(xiàng),dH?H是衡量一對(duì)分類器之間差異的項(xiàng),λ表示一對(duì)分類器間的共有誤差。在式(1)右側(cè)的各項(xiàng)中,ES(h)為模型在源域數(shù)據(jù)上的期望誤差,是實(shí)驗(yàn)中得到的常量,dH?H是變量,λ是常數(shù)。因此,為了降低VGG-NET 模型在跟蹤場(chǎng)景圖像上的期望誤差(即式(1)左側(cè)的ET(h))的大小,只需對(duì)式(1)右側(cè)的dH?H項(xiàng)進(jìn)行分析,dH?H定義如下:
其中,sup 表示最小上界,xS表示源域數(shù)據(jù),xT表示目標(biāo)域數(shù)據(jù),E為求期望運(yùn)算,I為布爾函數(shù),其參數(shù)為真時(shí)輸出1,否則輸出0,x為輸入樣本,S表示源域(即ImageNet 圖像服從的分布),T表示目標(biāo)域(即跟蹤場(chǎng)景圖像服從的分布),h和h′表示不同的假設(shè)函數(shù)實(shí)例,等價(jià)于結(jié)構(gòu)相同但參數(shù)不同的分類器模型,h(˙)表示模型輸出。
在實(shí)際應(yīng)用中,經(jīng)過(guò)訓(xùn)練的分類器h和h′在源域數(shù)據(jù)上具有較高的分類精度,即對(duì)于?x~S,h和h′關(guān)于輸入x的預(yù)測(cè)值接近標(biāo)簽值,h和h′關(guān)于源域數(shù)據(jù)的輸出總體趨于一致,故式(2)中的是接近于0 的較小數(shù)值,可從式(2)中移除。因此,式(2)可進(jìn)一步簡(jiǎn)化為:
式(3)右邊可理解為結(jié)構(gòu)相同但參數(shù)不同的分類器h和h′對(duì)目標(biāo)域數(shù)據(jù)?x~T的預(yù)估值分布差導(dǎo)的期望的最小上界。通過(guò)上述過(guò)程,可將式(1)中誤差項(xiàng)ET(h)的優(yōu)化問(wèn)題轉(zhuǎn)化為式(3)中dH?H的優(yōu)化問(wèn)題。
將式(3)中的最小上界改寫(xiě)為min max 形式,得到式(4):
引入本文設(shè)計(jì)的對(duì)抗學(xué)習(xí)模型結(jié)構(gòu)后,將式(4)改寫(xiě)為:
其中,D1和D2表示結(jié)構(gòu)相同但參數(shù)不同的判別器,G表示生成器。式(4)中的x被修正為原始樣本經(jīng)生成器處理后的輸出G(x),h被具體化為判別器D1,h′被具體化為判別器D2。
按照式(5)給出的目標(biāo)進(jìn)行優(yōu)化,可以使dH?H趨近最低值,結(jié)合前文對(duì)式(1)右側(cè)各項(xiàng)的分析,這一優(yōu)化操作可以限制遷移學(xué)習(xí)模型在目標(biāo)域數(shù)據(jù)上期望誤差ET(h)的上界,從而有利于模型在目標(biāo)域上的誤差趨近最低值。更重要的是,訓(xùn)練后的生成器G可以將跟蹤場(chǎng)景圖像映射到ImageNet 圖像服從的分布上。
2.1.2 優(yōu)化模型設(shè)計(jì)
本節(jié)根據(jù)2.1.1 節(jié)中的理論推導(dǎo)設(shè)計(jì)優(yōu)化方案。訓(xùn)練數(shù)據(jù)包含ImageNet的部分標(biāo)簽數(shù)據(jù)(記作{XS,YS})以及從跟蹤場(chǎng)景采集的無(wú)標(biāo)簽圖像(記作{XT})。
按照2.1.1 節(jié)的理論分析,與特征提取優(yōu)化相關(guān)的對(duì)抗學(xué)習(xí)模型應(yīng)當(dāng)按照式(5)進(jìn)行設(shè)計(jì)和優(yōu)化,式(5)將式(4)中的模型輸出項(xiàng)(h(x)和h′(x))具體化為生成器和判別器的聯(lián)合輸出項(xiàng)(D1°G(x)和D2°G(x)),其中,G、D1、D2三項(xiàng)為對(duì)抗學(xué)習(xí)模型包含的主要結(jié)構(gòu),G是生成器,D1和D2是判別器,由于式(4)中的h和h′來(lái)自同一假設(shè)函數(shù)族H,因此D1和D2是一對(duì)結(jié)構(gòu)相同但參數(shù)不同的判別器。基于對(duì)抗學(xué)習(xí)的網(wǎng)絡(luò)結(jié)構(gòu)如圖1 所示,生成器G的輸入是從{XS,YS}和{XT}中采樣的圖像,分別記作(xs,ys)和xT。判別器D1和D2以生成器G的輸出為輸入,是兩個(gè)結(jié)構(gòu)相同但參數(shù)不同的圖像分類器,由卷積層和全連接層組成,P1和P2分別是判別器D1和D2輸出的預(yù)測(cè)向量,用于計(jì)算損失函數(shù)。
圖1 基于對(duì)抗學(xué)習(xí)的網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 Network structure based on adversarial learning
網(wǎng)絡(luò)優(yōu)化目標(biāo)是降低VGG-NET 在任務(wù)場(chǎng)景數(shù)據(jù)上的誤差,提高圖像特征的有效性。為達(dá)到此目標(biāo),需要利用兩個(gè)判別器間的差異信息,式(5)中的布爾函數(shù)項(xiàng)I(D1°G(x)≠D2°G(x))指定了判別器差異的衡量方式,即判別器D1和D2的輸出向量差異。在保證整體模型在ImageNet 數(shù)據(jù)集上具有高分類精度的前提下,最大化判別器D1和D2的預(yù)測(cè)差異(式(5)中的max);對(duì)于生成器G,其輸出應(yīng)使判別器D1和D2的輸出一致(式(5)中的min)。對(duì)生成器參數(shù)和判別器參數(shù)進(jìn)行交替優(yōu)化,即可優(yōu)化式(5)中的dH?H項(xiàng),使得生成器G能夠?qū)⑷蝿?wù)場(chǎng)景圖像映射到ImageNet 數(shù)據(jù)服從的分布上。
2.1.3 優(yōu)化步驟
具體優(yōu)化步驟如下:
步驟1以不同的參數(shù)初始化判別器D1和D2。根據(jù)2.1.2 節(jié)的討論,首先需要保證整體模型在ImageNet數(shù)據(jù)集上具有高分類精度,因此,第一步的優(yōu)化目標(biāo)是最小化一個(gè)交叉熵?fù)p失函數(shù),如式(6)所示:
其中,(xs,ys)表示帶標(biāo)簽的ImageNet樣本,n為類別數(shù)量,P1和P2分別是D1和D2的輸出向量,i是向量索引。
步驟2固定生成器G,調(diào)整判別器D1和D2的參數(shù)。在這一步中,結(jié)合式(5)及相關(guān)討論,優(yōu)化目標(biāo)是對(duì)于相同的輸入數(shù)據(jù),D1和D2輸出的預(yù)測(cè)向量,即P1和P2之間的差異盡可能大。為了衡量這一差異,定義包含距離度量的損失函數(shù),分別如式(7)和式(8)所示:
其中,|˙|1表示L1 范數(shù)。式(7)為分類損失項(xiàng),適用于帶標(biāo)簽的ImageNet 數(shù)據(jù),由于模型優(yōu)化依賴的式(5)的推導(dǎo)前提是模型實(shí)例h和h'在源域數(shù)據(jù)上具有高分類精度,因此需要式(7)來(lái)提升模型對(duì)ImageNet 樣本的分類精度。式(8)為距離度量項(xiàng),適用于無(wú)標(biāo)簽的任務(wù)場(chǎng)景圖像。式(7)和式(8)共同構(gòu)成本步驟的優(yōu)化目標(biāo)。
步驟3固定判別器D1和D2,調(diào)整生成器G的參數(shù)。在這一步中,優(yōu)化目標(biāo)是輸入圖像經(jīng)G處理后,D1和D2的輸出盡可能一致,損失函數(shù)如式(9)所示:
參考文獻(xiàn)[23]中對(duì)抗生成網(wǎng)絡(luò)的訓(xùn)練過(guò)程,特征提取優(yōu)化模型具體的訓(xùn)練方法如下:
1)在ImageNet 數(shù)據(jù)上訓(xùn)練生成器G和判別器D1、D(2即上文步驟1)。
2)調(diào)整判別器D1和D2,最大化預(yù)測(cè)差異(即上文步驟2)。
3)調(diào)整生成器G,最小化預(yù)測(cè)差異(即上文步驟3)。
4)重復(fù)上述第2 步和第3 步,直至達(dá)到最大迭代次數(shù)。
隨著損失函數(shù)的收斂,經(jīng)過(guò)調(diào)整的生成器G可以將任務(wù)場(chǎng)景圖像映射到ImageNet 數(shù)據(jù)服從的分布上,從而解決數(shù)據(jù)分布不匹配的問(wèn)題。
經(jīng)過(guò)本文設(shè)計(jì)的優(yōu)化方案,對(duì)于給定的跟蹤場(chǎng)景圖像,使用生成器G對(duì)其處理后,將G的輸出作為VGGNET 的輸入,即可得到更有效的圖像卷積特征。
2.1.4 特征提取模型實(shí)現(xiàn)細(xì)節(jié)
本文生成器G采用全卷積結(jié)構(gòu),判別器D1、D2是包含一組卷積層和兩個(gè)全連接層的圖像分類器,每一個(gè)卷積層中卷積核空間上的大小為3×3,全連接層的神經(jīng)元數(shù)量分別為2 048 和1 024。取VGG-NET的第二層feature map 作為圖像特征,因此,輸出維度是224×224×64。模型訓(xùn)練時(shí)批量大小為16,采用ADAM[24]優(yōu)化算法來(lái)優(yōu)化損失函數(shù),學(xué)習(xí)率設(shè)置為10-4,其他超參數(shù)取文獻(xiàn)[24]中的默認(rèn)值。
自編碼器是一種無(wú)監(jiān)督特征壓縮方法,通過(guò)優(yōu)化重構(gòu)成本,能在保留重要信息的同時(shí)去除數(shù)據(jù)中的冗余。為了實(shí)現(xiàn)高壓縮率,自編碼器包含多個(gè)隱藏層,第i個(gè)編碼器層的計(jì)算方式為:,從而將圖像卷積特征的通道數(shù)逐層降低。本文方法采用雙通道自編碼器結(jié)構(gòu)和特征聚合操作來(lái)提高模型的泛化能力。
雙通道自編碼器的模型結(jié)構(gòu)如圖2 所示。模型以端到端的方式進(jìn)行訓(xùn)練,輸入是VGG-NET 輸出的圖像卷積特征。編碼器1 和解碼器1 組成一個(gè)卷積自編碼器,每一個(gè)卷積層中卷積核空間上的大小是3×3,激活函數(shù)是relu 函數(shù)。編碼器2 和解碼器2 組成一個(gè)去噪自編碼器,樣本輸入到去噪自編碼器之前,按照一定概率對(duì)其加入噪聲,噪聲分三種:第一種是隨機(jī)將圖像特征中的值置為0 或高斯噪聲,這類似于信息傳輸中的隨機(jī)擾亂;第二種是隨機(jī)選取特征中的一個(gè)通道,將該通道上的值置為0;第三種是隨機(jī)調(diào)換特征中兩個(gè)區(qū)域位置下所有通道的值,由于卷積層平移等變的性質(zhì),這相當(dāng)于在原始圖像中執(zhí)行區(qū)域互換,可以修正位置因素對(duì)特征的影響。在上述過(guò)程中,每個(gè)樣本至多被加入一種噪聲。
圖2 雙通道自編碼器網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 Network structure of dual channel autoencoder
深度自編碼器在應(yīng)用時(shí)容易出現(xiàn)過(guò)擬合問(wèn)題,本文方法采取兩個(gè)措施來(lái)防止過(guò)擬合:
1)第一個(gè)措施源自壓縮特征應(yīng)保留足夠判別式信息的思想,即壓縮后的特征可通過(guò)線性分類器預(yù)測(cè)其原有的類別標(biāo)簽。具體的實(shí)現(xiàn)方式如圖2 所示“,壓縮特征1”和“壓縮特征2”經(jīng)“特征聚合”(聚合函數(shù)的具體形式在下文介紹)操作后輸入到一個(gè)“線性分類器”中,該“線性分類器”預(yù)測(cè)輸入的類別標(biāo)簽,然后根據(jù)預(yù)測(cè)結(jié)果計(jì)算判別損失,損失函數(shù)如式(10)所示:
其中,cS表示帶標(biāo)簽ImageNet 樣本xS的壓縮特征,yS是xS的標(biāo)簽,w是線性分類器的參數(shù)矩陣,表示平方L2 范數(shù)。
2)第二個(gè)措施是引入多級(jí)重構(gòu)誤差函數(shù),除了考慮完整自編碼器中輸入和輸出間的重構(gòu)誤差,還考慮自編碼器子結(jié)構(gòu)的重構(gòu)誤差,損失函數(shù)如式(11)所示:
其中,x表示ImageNet 樣本特征或跟蹤場(chǎng)景樣本特征,i是雙通道分支索引,AE(i)指代圖2 結(jié)構(gòu)中的兩個(gè)自編碼器之一,li表示相應(yīng)自編碼器中編碼器結(jié)構(gòu)的層數(shù),由于自編碼器結(jié)構(gòu)對(duì)稱的特點(diǎn),解碼器的層數(shù)也是li,AEj表示自編碼器的子結(jié)構(gòu),即AE1表示保留編碼器的第一個(gè)隱藏層、解碼器的最后一個(gè)隱藏層而組成的子結(jié)構(gòu),AE2表示保留編碼器的前兩個(gè)隱藏層、解碼器的最后兩個(gè)隱藏層而組成的子結(jié)構(gòu),AEj表示保留編碼器的前j個(gè)隱藏層、解碼器的最后j個(gè)隱藏層而組成的子結(jié)構(gòu),AEl則表示完整的自編碼器結(jié)構(gòu)。
結(jié)合式(10)、式(11)可以得到特征壓縮過(guò)程的整體優(yōu)化目標(biāo):
其中,超參數(shù)α衡量損失函數(shù)各部分的重要程度。
經(jīng)過(guò)以上兩個(gè)措施,能夠有效防止模型出現(xiàn)過(guò)擬合問(wèn)題。此外,訓(xùn)練過(guò)程還應(yīng)用數(shù)據(jù)增強(qiáng)方法進(jìn)一步防止過(guò)擬合問(wèn)題,包括水平翻轉(zhuǎn)、豎直翻轉(zhuǎn)、色調(diào)變化、對(duì)比度變化等操作。
在圖2 中,雙通道自編碼器輸出的降維特征還需要經(jīng)過(guò)特征聚合操作,以提高模型的泛化能力。聚合函數(shù)中的參數(shù)能夠與模型其他部分一同進(jìn)行端到端的訓(xùn)練,其具體形式如下:
1)線性聚合,這種聚合方式假設(shè)每一個(gè)自編碼器起到同等作用,如式(13)所示:
其中,c是聚合后的壓縮特征,i是雙通道分支索引,f是對(duì)應(yīng)分支的降維特征,m是變換矩陣。
2)加權(quán)線性聚合,簡(jiǎn)單的線性聚合不能反映每個(gè)特征的重要性差異,因此,加權(quán)線性聚合方式為每一種特征賦予一定的權(quán)重,如式(14)所示:
其中,w是權(quán)重向量。
3)加權(quán)非線性聚合,這種聚合方式引入非線性變換,提高聚合層的表達(dá)能力,從而建模更復(fù)雜的統(tǒng)計(jì)相關(guān)性,如式(15)所示:
其中,σ表示sigmoid 函數(shù)。
對(duì)于上述三種聚合方式,線性聚合的參數(shù)量最少,因此,其聚合能力最弱;加權(quán)線性聚合和加權(quán)非線性聚合對(duì)模型總體性能的影響差別不大,這是因?yàn)橄惹暗奶卣魈崛?yōu)化和特征壓縮都是非線性過(guò)程,所以加權(quán)非線性聚合中σ函數(shù)的作用不是特別明顯。
本文卷積自編碼器的層數(shù)為4 層,去噪自編碼器為6 層。特征樣本輸入到去噪自編碼器前,被添加噪聲的幾率為30%。特征融合方式選擇線性加權(quán)聚合。訓(xùn)練時(shí)的批量大小為16,采用ADAM 優(yōu)化算子,學(xué)習(xí)率設(shè)置為2×10-6,算子超參數(shù)取文獻(xiàn)[24]中的默認(rèn)值。
基于本節(jié)設(shè)計(jì)的模型結(jié)構(gòu)和優(yōu)化方法,可以實(shí)現(xiàn)圖像特征的高效壓縮,提高算法的計(jì)算效率。
傅里葉域循環(huán)矩陣的性質(zhì)使得經(jīng)過(guò)訓(xùn)練的相關(guān)濾波器能以較低的計(jì)算開(kāi)銷完成目標(biāo)跟蹤任務(wù)。在本文模型中,為了對(duì)場(chǎng)景中的目標(biāo)進(jìn)行跟蹤,需要將2.2 節(jié)得到的壓縮特征輸入相關(guān)濾波器,以得到跟蹤結(jié)果。相關(guān)濾波器的參數(shù)可表示為:
其中,w是相關(guān)濾波器參數(shù),F(xiàn)-1是逆傅里葉變換,c為圖像特征,r為響應(yīng)窗口,c′和r′為相應(yīng)向量經(jīng)過(guò)傅里葉變換的結(jié)果,為共軛向量,λ為常數(shù)。
按照式(16)更新相關(guān)濾波器后,給定待跟蹤的圖像特征,計(jì)算得到的響應(yīng)窗口如式(17)所示:
其中,cnew是待跟蹤圖像特征,是共軛向量,w′是w經(jīng)傅里葉變換的結(jié)果。
通過(guò)響應(yīng)窗口r即可得到目標(biāo)跟蹤結(jié)果。相關(guān)濾波器是本文算法在功能實(shí)現(xiàn)時(shí)的重要一環(huán),相關(guān)濾波器的原理和其他細(xì)節(jié)本文不再贅述。
本文模型的訓(xùn)練數(shù)據(jù)來(lái)自ImageNet[10]和OTB-100數(shù)據(jù)集[25]。為了評(píng)估算法的性能,在實(shí)驗(yàn)中統(tǒng)計(jì)算法的跟蹤精度和跟蹤速度(FPS)信息。實(shí)驗(yàn)中算法的跟蹤精度基于“Location error threshold”和“Overlap threshold”計(jì)算而得。其中,基于“Location error threshold”的跟蹤精度指算法估計(jì)的目標(biāo)位置與人工標(biāo)注中心點(diǎn)間的距離小于給定閾值的視頻幀所占的百分比;基于“Overlap threshold”的跟蹤精度指算法估計(jì)的目標(biāo)范圍與人工標(biāo)注框間重疊比例大于給定閾值的視頻幀所占的百分比。
實(shí)驗(yàn)中所使用的軟硬件平臺(tái)設(shè)置:硬件環(huán)境為Intel i7-7700K CPU @ 4.20 GHz,16 GB 內(nèi)存,NVIDIA GTX1080Ti GPU;軟件環(huán)境為Python3.6,keras,tensorflow,Matlab。
在OTB-100 數(shù)據(jù)集上驗(yàn)證本文跟蹤算法及其他算法的效果,相關(guān)量化指標(biāo)結(jié)果如表1 和表2 所示,表中記錄的跟蹤精度是基于“Location error threshold”為20像素所計(jì)算,默認(rèn)的特征聚合方式為加權(quán)線性聚合。
表1 本文算法在不同配置下的性能比較Table 1 Performance comparison of this algorithm under different configurations
表2 不同跟蹤算法的性能比較Table 2 Performance comparison of different tracking algorithms
表1 統(tǒng)計(jì)本文算法在不同配置下的跟蹤精度和速度,TDFC 是本文算法的最優(yōu)配置,TDFC-nolinear 將聚合函數(shù)改為加權(quán)非線性聚合,TDFC-mean 將聚合函數(shù)改為線性聚合,TDFC-noAugmentation 中移除了2.2 節(jié)提到的數(shù)據(jù)增強(qiáng)處理,TDFC-noLabel 中訓(xùn)練雙通道自編碼器時(shí)忽略了判別式損失,僅考慮重構(gòu)損失,TDFC-noEnsemble 中移除了雙通道自編碼器結(jié)構(gòu)和特征聚合操作,僅使用兩個(gè)分支中的去噪自編碼器,TDFCnoLevel 中訓(xùn)練雙通道自編碼器時(shí)將多級(jí)重構(gòu)損失簡(jiǎn)化為完整自編碼器結(jié)構(gòu)輸入層和輸出層間的重構(gòu)損失,TDFC-noGenerator 在提取圖像卷積特征前移除了基于對(duì)抗學(xué)習(xí)的優(yōu)化步驟。表2 統(tǒng)計(jì)本文算法以及其他跟蹤算法的跟蹤性能,對(duì)比算法包括SCT[26]、SiamFC[27]、DSST[13]、KCF[11]、ADNET[21]、SANET[20]、FCNT[19]、DeepSRDCF[16],以上算法均按照原參考文獻(xiàn)設(shè)計(jì)實(shí)現(xiàn)。其中,SCT、SiamFC、DSST、KCF 是實(shí)時(shí)跟蹤算法,ADNET、SANET、FCNT、DeepSRDCF 是非實(shí)時(shí)跟蹤算法,從表2 可以看出,與現(xiàn)有跟蹤算法相比,本文算法的跟蹤精度損失不超過(guò)3%。圖3 所示為本文算法在不同配置下的性能統(tǒng)計(jì)信息,其中,圖3(a)的橫軸統(tǒng)計(jì)量為“Location error threshold”,圖3(b)的橫軸統(tǒng)計(jì)量為“Overlap threshold”。
圖3 本文算法在不同配置下的跟蹤精度統(tǒng)計(jì)Fig.3 The tracking accuracy statistics of the algorithm under different configurations
對(duì)比上述結(jié)果可以看出:聚合函數(shù)的選擇對(duì)跟蹤效果有一定影響,使用非線性聚合的TDFC-nolinear 由于σ函數(shù)引起的梯度消失,模型更難以訓(xùn)練,其精度比使用加權(quán)線性聚合的TDFC 略低;與使用線性聚合的TDFC-mean 相比,TDFC 有1.9%的跟蹤精度提升,線性聚合的參數(shù)量相對(duì)更少,不能充分反映模型間重要程度的差異;與TDFC-noAugmentation 的對(duì)比說(shuō)明應(yīng)用數(shù)據(jù)增強(qiáng)方法給模型帶來(lái)了3.2%的跟蹤精度提升;與TDFC-noLabel 相比,TDFC 有7%的精度提升,說(shuō)明通過(guò)保留判別式信息,能夠有效防止自編碼器出現(xiàn)過(guò)擬合,提高算法的性能;與TDFC-noEnsemble 相比,TDFC的跟蹤精度有9.2%的提升,表明雙通道自編碼器結(jié)構(gòu)和特征聚合提升了模型的泛化性,得到的壓縮特征有助于提高跟蹤精度;與TDFC-noLevel 相比,TDFC 有11.6%的精度提升,說(shuō)明2.2 節(jié)定義的多級(jí)重構(gòu)損失函數(shù)有助于改進(jìn)自編碼器模型的訓(xùn)練,提高最終的跟蹤精度;與TDFC-noGenerator 相比,TDFC 有13.2%的精度提升,說(shuō)明2.1 節(jié)提出的遷移學(xué)習(xí)分布不匹配問(wèn)題確實(shí)存在,基于對(duì)抗學(xué)習(xí)的優(yōu)化方法能夠解決此問(wèn)題,有助于提高跟蹤算法的精度。
圖4 所示為特征提取優(yōu)化模型的收斂情況,可以看出,在距離損失逐漸降低的同時(shí),判別器D1和D2對(duì)訓(xùn)練數(shù)據(jù)的平均分類精度逐漸升高,當(dāng)?shù)╡poch)次數(shù)達(dá)到45 時(shí),模型趨于收斂。以上數(shù)據(jù)和分析結(jié)果表明本文設(shè)計(jì)中的各步驟具有有效性。
圖4 距離損失函數(shù)的收斂情況Fig.4 Convergence of distance loss function
為了進(jìn)一步驗(yàn)證2.1 節(jié)中對(duì)抗學(xué)習(xí)方法的有效性,用t-SNE[28]工具對(duì)部分ImageNet 數(shù)據(jù)和跟蹤場(chǎng)景數(shù)據(jù)進(jìn)行降維處理及可視化操作,數(shù)據(jù)集可視化情況如圖5 所示。
圖5 ImageNet 數(shù)據(jù)和跟蹤場(chǎng)景數(shù)據(jù)分布的可視化效果Fig.5 Visualization of distribution of ImageNet data and tracking scene data
圖5(a)展示了未經(jīng)2.1 節(jié)對(duì)抗學(xué)習(xí)方法優(yōu)化的圖像數(shù)據(jù)分布,其中,ImageNet數(shù)據(jù)展現(xiàn)出一定的可分性,跟蹤場(chǎng)景數(shù)據(jù)的分布特征并不明顯,與ImageNet 數(shù)據(jù)顯示出不一致的分布情況;圖5(b)展示了經(jīng)過(guò)2.1 節(jié)對(duì)抗學(xué)習(xí)方法優(yōu)化后的數(shù)據(jù)分布情況,可以發(fā)現(xiàn),優(yōu)化后數(shù)據(jù)的分布趨于一致,雖然跟蹤場(chǎng)景數(shù)據(jù)與ImageNet數(shù)據(jù)分布未完全匹配,但跟蹤場(chǎng)景數(shù)據(jù)呈現(xiàn)出與ImageNet 數(shù)據(jù)聚類中心保持一致的趨勢(shì),并呈現(xiàn)出一定的可分性,進(jìn)一步驗(yàn)證了對(duì)抗學(xué)習(xí)方法對(duì)解決數(shù)據(jù)分布不匹配問(wèn)題的有效性。
選擇最優(yōu)算法配置TDFC(本文模型)并與其他目標(biāo)跟蹤算法進(jìn)行對(duì)比實(shí)驗(yàn)。圖6 所示為各算法的性能統(tǒng)計(jì)信息,其中,圖6(a)的橫軸統(tǒng)計(jì)量為“Location error threshold”,圖6(b)的橫軸統(tǒng)計(jì)量為“Overlap threshold”。
圖6 不同跟蹤算法的跟蹤精度統(tǒng)計(jì)Fig.6 Tracking accuracy statistics of different tracking algorithms
通過(guò)上述跟蹤算法的性能比較結(jié)果可以看出,本文設(shè)計(jì)的對(duì)抗學(xué)習(xí)方法和高效特征壓縮使得TDFC 的跟蹤精度和速度均高于SCT、SiamFC 和DSST 算法。與KCF 相比,TDFC 有14.6%的跟蹤精度提升,雖然跟蹤速度低于KCF,但103.1FPS 的跟蹤速度足以滿足實(shí)時(shí)跟蹤的需求,符合精度與速度兼具的特點(diǎn)。綜上,與其他跟蹤算法相比,本文算法能以更高的精度對(duì)目標(biāo)進(jìn)行實(shí)時(shí)跟蹤。
圖7所示為本文算法以及其他跟蹤算法在OTB-100數(shù)據(jù)集上的部分跟蹤效果。
圖7 不同算法的跟蹤效果對(duì)比Fig.7 Tracking effect comparison of different algorithms
本文提出一種基于對(duì)抗學(xué)習(xí)和特征壓縮的高精度實(shí)時(shí)跟蹤算法。使用對(duì)抗學(xué)習(xí)方法優(yōu)化圖像特征提取過(guò)程,設(shè)計(jì)雙通道自編碼器結(jié)構(gòu)壓縮圖像特征并結(jié)合類別信息優(yōu)化訓(xùn)練過(guò)程。實(shí)驗(yàn)結(jié)果表明,相比現(xiàn)有的實(shí)時(shí)跟蹤算法,該算法具有明顯的精度優(yōu)勢(shì),且在有限的精度損失下能夠取得較大的速度提升。下一步將降低本文算法在跟蹤時(shí)的計(jì)算復(fù)雜度,并將其擴(kuò)展到DCF、SO-DLT 等其他跟蹤框架中。