蘇宏陽,毛 琳,楊大偉
(大連民族大學(xué) 機電工程學(xué)院,遼寧 大連 116605)
當(dāng)前目標(biāo)跟蹤主要面臨目標(biāo)遮擋、快速運動以及運動模糊等難題,主流目標(biāo)跟蹤算法分為生成式和判別式兩大方向[1]。對于目標(biāo)旋轉(zhuǎn)問題,Deepak K. Gupta等[2]提出旋轉(zhuǎn)等變孿生神經(jīng)網(wǎng)絡(luò)(Rotation Equivariant Siamese Networks,RE-SiamNets),該網(wǎng)絡(luò)由可控制濾波器組成的等變卷積層構(gòu)建。通過將跟蹤目標(biāo)旋轉(zhuǎn)不同角度,學(xué)習(xí)不同旋轉(zhuǎn)實例之間統(tǒng)一的特征,因此針對目標(biāo)旋轉(zhuǎn)問題取得了良好的效果。Qi Feng等[3]將自然語言處理和孿生跟蹤器結(jié)合,提出一種新型的孿生自然語言跟蹤器(Siamese Natural Language Tracker, SNLT),它將視覺跟蹤的優(yōu)勢引入自然語言描述的跟蹤任務(wù),通過精心設(shè)計的孿生自然語言區(qū)域提議網(wǎng)絡(luò)(Siamese Natural Language Region Proposal Network,SNL-RPN)架構(gòu),預(yù)測更精確的檢測框,在速度方面略有降低的情況下,獲得了良好性能。Siyuan Cheng等[4]提出一種新型的孿生關(guān)系網(wǎng)絡(luò),引入兩個有效模塊:關(guān)系檢測器(Relation Detector,RD)和細(xì)化模塊(Refinement Module,RM)。RD采用元學(xué)習(xí)的方式,獲得從背景中過濾干擾物的能力,準(zhǔn)確判別跟蹤目標(biāo)與背景;RM將RD整合到Siamese框架中,在面對背景雜波、快速運動和遮擋等場景時,具有良好的魯棒性,獲得了準(zhǔn)確的跟蹤結(jié)果。Dongyan Guo等[5]利用圖注意機制將目標(biāo)信息從模板特征輸送到搜索特征,并且研發(fā)一種基于目標(biāo)感知的區(qū)域選擇機制,以適應(yīng)不同對象的大小和寬高比變化,有效改善跟蹤目標(biāo)尺度變化問題。針對變形和遮擋問題,Bin Yan等[6]提出一種細(xì)化模塊(Alpha-Refine,AR),AR采用像素相關(guān)、角點預(yù)測頭和輔助掩模頭作為核心組件,通過提取多尺度特征,盡可能提取和保護空間信息的細(xì)節(jié)特征,因此提高了基礎(chǔ)跟蹤器的性能。針對孿生跟蹤器做了大量研究發(fā)現(xiàn),孿生跟蹤器將目標(biāo)跟蹤視為模板匹配問題,雖然取得了不錯的成果,但都是針對目標(biāo)旋轉(zhuǎn)、尺度變化等特定問題,設(shè)計復(fù)雜的跟蹤策略,通過大量數(shù)據(jù)計算以達到理想效果[7],無法適應(yīng)各種目標(biāo)跟蹤挑戰(zhàn)。
本文認(rèn)為不同視頻幀之間目標(biāo)表觀和狀態(tài)變化的信息,反應(yīng)了目標(biāo)的運動趨勢,而大多數(shù)基于模板匹配的跟蹤器只注重利用視頻中的空間信息,即使空間信息可以較好地定位目標(biāo)位置信息,但忽略了時間信息對目標(biāo)跟蹤的重要性。因此,提出一種基于特征增強的記憶喚醒目標(biāo)跟蹤算法,通過對不同視頻幀之間的目標(biāo)信息進行有效關(guān)聯(lián),使網(wǎng)絡(luò)自主學(xué)習(xí)目標(biāo)在不同視頻幀內(nèi)表觀信息變化的特征[8],預(yù)估下一幀目標(biāo)可能出現(xiàn)的位置;通過特征增強,網(wǎng)絡(luò)注重對目標(biāo)局部特征的學(xué)習(xí),使目標(biāo)即使在被遮擋情況下也能預(yù)估所在位置,改善了在目標(biāo)遮擋、消失或低分辨率等情況下出現(xiàn)跟蹤漂移的問題,適用于視頻監(jiān)控和無人車等領(lǐng)域。
以SiamFC為代表的孿生神經(jīng)網(wǎng)絡(luò),將目標(biāo)搜索過程視為模板匹配問題,定義目標(biāo)模板幀為z,待搜索圖像幀為x,則目標(biāo)跟蹤過程可轉(zhuǎn)化為z與x的相似性問題,計算相似性輸出w:
w=f(δ(z),δ(x)) 。
(1)
式中:函數(shù)f是采取的計算相似度方法;δ代表孿生神經(jīng)網(wǎng)絡(luò)特征提取函數(shù);w中每個元素代表z和x的相似性得分。
孿生神經(jīng)網(wǎng)絡(luò)通過空間搜索,檢測待搜索圖像與模板最相近的區(qū)域,能夠較好地執(zhí)行目標(biāo)跟蹤任務(wù)。但遇到目標(biāo)遮擋、消失和快速運動等場景時,目標(biāo)特征并不明顯,只考慮空間信息,通常無法完成目標(biāo)跟蹤任務(wù)[9]。跟蹤失敗示意圖如圖1。圖1a顯示在目標(biāo)消失時,孿生神經(jīng)網(wǎng)絡(luò)無法獲得目標(biāo)特征,因此模板匹配失敗,無法預(yù)測目標(biāo)位置,造成目標(biāo)跟蹤失?。蝗鐖D1b、圖1c和圖1d分別顯示在待搜索圖像中,背景特征與目標(biāo)特征相似,在目標(biāo)表觀發(fā)生運動模糊、遮擋和劇烈變化時,網(wǎng)絡(luò)模板匹配發(fā)生了錯誤,導(dǎo)致跟蹤漂移。
a)目標(biāo)消失 b)速度運動 c)目標(biāo)遮擋 d)表觀形似圖1 跟蹤失敗示意圖
本文認(rèn)為,不同視頻幀之間潛藏著目標(biāo)表觀變化的信息,目標(biāo)跟蹤算法通過學(xué)習(xí)目標(biāo)表觀信息變化的特征,對預(yù)測下一幀目標(biāo)位置具有指導(dǎo)作用;通過對目標(biāo)局部特征的學(xué)習(xí),能夠改善目標(biāo)遮擋、形變等場景下,目標(biāo)跟蹤不準(zhǔn)確的問題。因此,本文將不同視頻幀進行關(guān)聯(lián),將時間信息引入孿生神經(jīng)網(wǎng)絡(luò),提出記憶喚醒網(wǎng)絡(luò)。
與傳統(tǒng)孿生神經(jīng)網(wǎng)絡(luò)不同,本文通過對多個記憶幀與跟蹤幀計算相似性矩陣,對跟蹤幀進行特征檢索,實現(xiàn)特征增強,使網(wǎng)絡(luò)更好地學(xué)習(xí)目標(biāo)局部特征;同時引入時間信息,使網(wǎng)絡(luò)自主學(xué)習(xí)目標(biāo)運動狀態(tài)變化規(guī)律,改善目標(biāo)遮擋情況下跟蹤不準(zhǔn)確的問題。記憶幀與跟蹤幀的交互過程稱之為“記憶喚醒”,對“記憶喚醒”操作定義如下。
定義1:所謂“記憶喚醒”,是指孿生神經(jīng)網(wǎng)絡(luò)存在輸入跟蹤幀x和記憶幀z,通過計算x與z相似性矩陣,對x進行特征檢索,篩選出與過去某一記憶幀z相似的特征,將相似特征作為特征增強信息,對初始跟蹤幀特征增加局部注意力,“記憶喚醒”的輸出Yq可表示為
Yq=δ(x)+ζ(w,δ(x)) 。
(2)
式中:w是z與x計算的相似性矩陣;ζ為特征檢索函數(shù),通過δ對x和z進行特征提取,獲得跟蹤幀特征δ(x)和記憶幀特征δ(x),利用δ(x)和δ(x)計算相似度矩陣w,將w作為權(quán)重,對輸入的跟蹤幀進行特征檢索,獲得相似特征ζ(w,δ(x)),為方便起見,令ζ(w,δ(x))為Δδ(x),公式(2)轉(zhuǎn)寫為
Yq=δ(x)+Δδ(x) 。
(3)
式中,Δδ(x)作為注意力與δ(x)相加融合,這一過程即為“記憶喚醒”的數(shù)學(xué)表達。
記憶喚醒網(wǎng)絡(luò)由三個部分組成:相似性矩陣、記憶喚醒模塊、歷史映射模塊。相似性矩陣作為兩個模塊的基礎(chǔ),分別對記憶幀和跟蹤幀進行特征檢索,記憶喚醒模塊利用特征檢索信息,增強算法在目標(biāo)遮擋、消失等場景下的魯棒性;歷史映射模塊則通過特征檢索信息,使算法學(xué)習(xí)目標(biāo)運動變化規(guī)律,更好地預(yù)測目標(biāo)位置。
1.2.1 相似度矩陣
與SiamFC不同,記憶喚醒網(wǎng)絡(luò)模板幀的輸入不是單一幀,而是在過去所有歷史幀中,挑選最具代表性的n幀,包括初始視頻幀、跟蹤幀的前一幀以及其他具有代表性的視頻幀。將多個視頻幀提取特征拼接為記憶幀特征,使其具有豐富的目標(biāo)信息。獲得記憶幀特征后,計算跟蹤幀與記憶幀的像素級相似度w,這一過程可表示為
w=fm?fq。
(4)
式中:fm為記憶幀特征;fq為跟蹤幀特征,fm與fq相乘;w代表了fm與fq之間像素級相似度,可幫助網(wǎng)絡(luò)準(zhǔn)確定位目標(biāo)可能存在的位置,矩陣數(shù)值越大,表明這一位置與模板幀越相似。
記憶喚醒網(wǎng)絡(luò)結(jié)構(gòu)圖如圖2。
圖2 記憶喚醒網(wǎng)絡(luò)結(jié)構(gòu)圖
1.2.2 記憶喚醒模塊
由于目標(biāo)跟蹤任務(wù)中存在目標(biāo)遮擋等情況,跟蹤幀特征提取不充分,導(dǎo)致模板匹配不準(zhǔn)確,目標(biāo)跟蹤算法性能降低。為克服這一問題,通過局部特征增強,改善網(wǎng)絡(luò)對跟蹤目標(biāo)局部特征的學(xué)習(xí)能力,提高算法在目標(biāo)遮擋等場景下的魯棒性。
(5)
式中:THW和HW分別為相似性矩陣w的寬度和高度;wij為相似性矩陣中每個元素的索引;exp則將相似性矩陣中的每個元素指數(shù)化。
第二步,計算特征增強信息Δδ(x)。為了獲得跟蹤目標(biāo)更高級的語義特征,對跟蹤幀使用3×3卷積進行處理,隨后將概率矩陣P作為權(quán)重,對處理后的跟蹤幀進行目標(biāo)檢索,獲得目標(biāo)未被遮擋的局部或整體的語義特征Δδ(x)。Δδ(x)計算過程:
Δδ(x)=(P)T?(fq) 。
(6)
由于計算獲得的特征信息Δδ(x)∈C×THW,而等待特征增強的fq∈C×HW,為使二者特征匹配,設(shè)計了矩陣壓縮函數(shù)ψ,定義如下。
定義2:存在特征圖M∈C×T×H×W,ψ(·)計算過程:
(7)
式中:M為4維特征矩陣,M1,M2,…,MT為M按照維度T進行切片獲得的3維特征矩陣。
第三步,計算記憶喚醒的輸出Yq。將多個記憶幀的特征增強信息Δδ(x)通過ψ()處理后與原始跟蹤幀特征相加[10],增加目標(biāo)未被遮擋部分權(quán)重,實現(xiàn)特征增強。Yq計算過程:
Yq=ψ(Δδ(x))+fq。
(8)
式中:ψ為矩陣壓縮函數(shù),將多個記憶幀的特征增強信息融合,再將其作為注意力作用于初始跟蹤幀,增加了目標(biāo)局部特征的權(quán)重,使網(wǎng)絡(luò)著重學(xué)習(xí)目標(biāo)局部特征,在目標(biāo)遮擋場景下,有效改善目標(biāo)跟蹤不準(zhǔn)確的問題。最終完成整個記憶喚醒操作,獲得記憶喚醒特征映射Yq。
1.2.3 歷史映射模塊
為更準(zhǔn)確預(yù)測下一幀目標(biāo)位置,設(shè)計歷史映射模塊。將P視為權(quán)重,對記憶幀特征進行特征檢索,確定目標(biāo)的位置信息,通過檢索目標(biāo)在不同記憶幀間的空間位置信息和表觀信息,使網(wǎng)絡(luò)自主學(xué)習(xí)目標(biāo)表觀和位置變化的規(guī)律,對后續(xù)的檢測、分類、邊界框回歸具有指導(dǎo)作用。歷史特征映射Ym的計算過程:
Ym=fm?P。
(9)
將其與記憶喚醒特征映射Yq拼接作為記憶喚醒網(wǎng)絡(luò)最終的輸出:
Y=c(fm?P,ψ(Δδ(x))+fq) 。
(10)
式中:c表示將歷史特征映射Ym和記憶喚醒特征映射Yq進行拼接;Ym代表過去目標(biāo)表觀信息、運動信息及狀態(tài)信息;Yq為當(dāng)前幀目標(biāo)的特征信息。將Ym和Yq進行拼接送至后續(xù)檢測頭網(wǎng)絡(luò),后續(xù)網(wǎng)絡(luò)通過將歷史特征與當(dāng)前目標(biāo)特征一起學(xué)習(xí),自主學(xué)習(xí)目標(biāo)運動和狀態(tài)的變化規(guī)律,利用這一特征信息,可以準(zhǔn)確預(yù)測下一幀目標(biāo)位置,聯(lián)合跟蹤幀記憶喚醒,可以有效改善目標(biāo)遮擋、快速移動和低分辨率等情況下跟蹤漂移的問題。
算法使用Got-10k[11]數(shù)據(jù)集進行仿真測試,Got-10k數(shù)據(jù)集共有4個評價指標(biāo),其中3個為類平衡度量指標(biāo):真值與檢測框的平均重疊率(mAO)、重疊閾值為0.5的檢測成功率(mSR0.5)、重疊閾值為0.75的檢測成功率(mSR0.75)和算法運行速度(FPS)。以mAO為例,類平衡度量指標(biāo)計算過程:
(11)
式中:C是視頻的類別序號;SC是視頻類別C中的圖片,而|SC|是類別C中圖片的數(shù)量。首先,計算類別中每個圖片的真值與檢測框重疊率(AOi);其次,對所有圖片的AO取平均值,獲得單個視頻類別的mAO,對其他視頻類別進行相同計算,獲得每個視頻序列的mAO;最后,對每個視頻類別mAO相加取平均值,就得到了最終的mAO。同樣的原理也適用于SR,SR重疊閾值分為0.5和0.75兩種情況,分別計算mSR,重疊閾值為0.75時對檢測器的要求更加嚴(yán)格。mAO為評價跟蹤器第一指標(biāo),在Got-10k官網(wǎng)作為算法性能評估的第一標(biāo)準(zhǔn)。
算法使用1張NVIADIA GeForce 1080Ti顯卡,在Ubuntu16.04環(huán)境基礎(chǔ)上,應(yīng)用PyTorch深度學(xué)習(xí)框架進行訓(xùn)練和測試。特征提取網(wǎng)絡(luò)采用inception v3,使用無錨檢測器進行檢測、分類、回歸和跟蹤。選用Got-10k數(shù)據(jù)集進行仿真。Got-10k視頻片段超過10 000個,手動標(biāo)記的邊界框超過150萬個,跟蹤器可以在Got-10k數(shù)據(jù)集上實現(xiàn)穩(wěn)定的訓(xùn)練和評估[11]。
2.2.1 實驗設(shè)置
在訓(xùn)練階段,記憶幀設(shè)置為3幀。在STMTrack的預(yù)訓(xùn)練模型基礎(chǔ)上,每個周期僅使用3 800張圖片,180組視頻進行訓(xùn)練,整個訓(xùn)練過程為9個周期,批尺寸設(shè)為8。在訓(xùn)練開始前凍結(jié)主干網(wǎng)絡(luò)反向傳播過程,在第4個訓(xùn)練周期開始前解凍。
2.2.2 學(xué)習(xí)率分析
學(xué)習(xí)率的設(shè)計采用分段式學(xué)習(xí)率,為探究不同訓(xùn)練策略對mAO的影響,進行9組消融實驗,選擇3組具有代表性的學(xué)習(xí)率訓(xùn)練策略進行對比,結(jié)果見表1。第1列中:L代表線性學(xué)習(xí)率;C代表余弦學(xué)習(xí)率。第2列中的參數(shù)表示對應(yīng)訓(xùn)練方式的持續(xù)周期,每組實驗共進行9個周期的訓(xùn)練,并且每個周期訓(xùn)練完成后,對生成的模型進行評估,取9輪評估中最大mAO作為實驗結(jié)果。
表1 不同學(xué)習(xí)率訓(xùn)練策略對mAO的影響
當(dāng)訓(xùn)練方式為LLL時,在第1個周期,學(xué)習(xí)率從1×10-6線性增長至6×10-3;在第2個周期中,學(xué)習(xí)率從6×10-3線性下降至1×10-6;在后面的7個周期中,學(xué)習(xí)率保持1×10-6不變。最終在Got-10k評估集上獲得了0.782的準(zhǔn)確度。
將第2個周期的訓(xùn)練策略替換為余弦學(xué)習(xí)率時,學(xué)習(xí)率在第2個周期呈余弦變化從6×10-3線性下降至1×10-6,mAO增長至0.784。將余弦學(xué)習(xí)率擴大至第2、3個周期時,即學(xué)習(xí)率在第2、3個周期呈余弦變化從6×10-3線性下降至1×10-6,獲得了實驗中所有學(xué)習(xí)率策略中最高的mAO,在Got-10k評估集上獲得了0.791的準(zhǔn)確度。
同時,在訓(xùn)練開始前,凍結(jié)骨干網(wǎng)絡(luò)的全部參數(shù),只訓(xùn)練骨干網(wǎng)絡(luò)外的參數(shù),學(xué)習(xí)率步長由小變大再變小,整個網(wǎng)絡(luò)獲得次優(yōu)的參數(shù)。經(jīng)過3個周期后,解凍全部參數(shù),統(tǒng)一訓(xùn)練整個網(wǎng)絡(luò),學(xué)習(xí)率采用較小的步長尋找最優(yōu)的參數(shù)。精心設(shè)計的學(xué)習(xí)率政策使訓(xùn)練采用很少的數(shù)據(jù),便獲得了提升。Tensorboard生成的學(xué)習(xí)率變化曲線如圖3。
圖3 學(xué)習(xí)率變化曲線
考慮跟蹤幀進行特征增強和3×3卷積處理后,會缺少背景信息以及目標(biāo)細(xì)節(jié)特征,不利于預(yù)測目標(biāo)位置,因此對是否引入初始的跟蹤幀特征進行消融實驗,網(wǎng)絡(luò)結(jié)構(gòu)對比圖如圖4。圖4a、圖4b分別為非并聯(lián)和并聯(lián)初始跟蹤幀特征的記憶喚醒網(wǎng)絡(luò)。
圖4 網(wǎng)絡(luò)結(jié)構(gòu)對比圖
對兩種網(wǎng)絡(luò)結(jié)構(gòu)在Got-10k數(shù)據(jù)集進行訓(xùn)練與評估,獲得的結(jié)果見表2。根據(jù)實驗推測,特征增強后跟蹤幀特征雖然使網(wǎng)絡(luò)著重目標(biāo)局部特征的學(xué)習(xí),但是經(jīng)過3×3卷積的處理,跟蹤幀特征缺少目標(biāo)紋理細(xì)節(jié)特征,而初始跟蹤幀特征可以良好彌補這一缺陷。
表2 引入初始跟蹤幀特征對網(wǎng)絡(luò)的影響
為直觀體現(xiàn)算法性能的提升,選取具有代表性的兩個場景對兩種算法進行可視化對比如圖5。圖5a在目標(biāo)完全遮擋場景下,基線算法STMTrack的檢測框無法正確找到目標(biāo)位置,出現(xiàn)檢測框偏離;圖5b中,同時存在著低分辨、目標(biāo)快速移動和遮擋三種挑戰(zhàn),在目標(biāo)沒有被完全遮擋時,STMTrack沒有跟丟目標(biāo),但是當(dāng)跟蹤目標(biāo)進行快速運動時,出現(xiàn)運動模糊的情況,尤其是低分辨率條件下,STMTrack跟丟了目標(biāo),而記憶喚醒網(wǎng)絡(luò)較好地克服了這個問題。
圖5 記憶喚醒網(wǎng)絡(luò)與STMTrack對比
為驗證算法的提升效果,在Got-10k數(shù)據(jù)集上將記憶喚醒網(wǎng)絡(luò)與原始網(wǎng)絡(luò)STMTrack算法進行對比,結(jié)果見表3。將幀間信息引入目標(biāo)跟蹤算法,對跟蹤幀進行“記憶喚醒”操作,使mAO提高1.6%,通過記憶喚醒模塊的局部學(xué)習(xí)和歷史映射模塊的目標(biāo)定位,有效提高了預(yù)測框與真值的重疊率,使mSR0.5提高2.5%,mSR0.75提高0.3%,并且沒有影響算法運行速度。
表3 算法對比結(jié)果
本文針對目前目標(biāo)跟蹤算法面臨的目標(biāo)遮擋等挑戰(zhàn),提出記憶喚醒網(wǎng)絡(luò)。通過記憶喚醒模塊,改善目標(biāo)遮擋等場景下出現(xiàn)跟蹤漂移的問題;通過歷史映射模塊,增強網(wǎng)絡(luò)定位目標(biāo)位置的能力。與目標(biāo)跟蹤算法STMtrack相比,本文算法在目標(biāo)受到遮擋時,可以準(zhǔn)確定位目標(biāo)所在位置,不會發(fā)生跟蹤漂移等情況;在低分辨率情況下,目標(biāo)進行快速
移動時,也可對目標(biāo)實現(xiàn)準(zhǔn)確定位,成功實現(xiàn)追蹤。后續(xù)工作中將進一步提高算法的魯棒性,使其在更多具有挑戰(zhàn)性的場景下保持跟蹤準(zhǔn)確度。