秦廣乾
(中國(guó)石油大學(xué)(華東)計(jì)算機(jī)與科學(xué)技術(shù)學(xué)院 青島 266580)
視覺目標(biāo)跟蹤與分類、語義分割和目標(biāo)檢測(cè)等是計(jì)算機(jī)視覺的基礎(chǔ)任務(wù)。在第一幀中標(biāo)定目標(biāo)的位置和大小,跟蹤的目的是找到目標(biāo)在一段連續(xù)幀中的軌跡。近年來,大多數(shù)的跟蹤器使用的是經(jīng)過預(yù)訓(xùn)練的網(wǎng)絡(luò),這些網(wǎng)絡(luò)都是針對(duì)Imagenet數(shù)據(jù)集上的圖像分類任務(wù)進(jìn)行訓(xùn)練的。
2016 年孿生網(wǎng)絡(luò)(Siamese Network)引入到目標(biāo)跟蹤領(lǐng)域,其網(wǎng)絡(luò)結(jié)構(gòu)簡(jiǎn)單高效。Bertinetto 等[1]提出了SiamFC 方法,網(wǎng)絡(luò)為去除補(bǔ)零操作和FC 層的AlexNet,將通過模板分支和搜索分支提取的特征計(jì)算相關(guān)性得到響應(yīng)圖,采用5 種大小不同尺度解決尺度問題,然而該算法沒有模板更新,導(dǎo)致在跟蹤過程中不能很好地捕捉到外觀發(fā)生變化的目標(biāo);Guo 等[2]針對(duì)SiamFC 模板不更新的問題,引入更新因子和變換因子模擬更新模板,根據(jù)上一幀目標(biāo)外觀計(jì)算更新因子;針對(duì)Siamese 系列跟蹤算法多尺度產(chǎn)生候選區(qū)域效率太低的問題,Bo Li等[3]引入RPN 網(wǎng)絡(luò)來產(chǎn)生候選區(qū)域,并且回歸分支可以微調(diào)目標(biāo)框,但是也帶來了新的問題:分類分支和回歸分支不匹配。
Bo Li 等[4]提出的DaSiamRPN 算法引入了困難負(fù)樣本和新的數(shù)據(jù)增強(qiáng)方法提升算法的泛化和判別能力,提出干擾物感知模塊抑制相似目標(biāo)的干擾,此外針對(duì)長(zhǎng)時(shí)間跟蹤當(dāng)目標(biāo)丟失時(shí)擴(kuò)大搜索區(qū)域;Bo Li 等[5]提出的SiamRPN++和Zhang 等[6]的Si?amDW 解決了孿生網(wǎng)絡(luò)無法使用深層網(wǎng)絡(luò)的問題,抑制補(bǔ)齊操作對(duì)跟蹤算法的影響,保持了深層網(wǎng)絡(luò)的不變性,前者通過對(duì)數(shù)據(jù)增加隨機(jī)偏移抑制填充操作對(duì)絕對(duì)平移不變性的破壞;后者提出殘差裁剪模塊抑制填充操作導(dǎo)致的偏移問題;Wang 等[7]結(jié)合了SharpMask 算法[8],在SiamRPN 的基礎(chǔ)上增加了Mask分支,該算法適用于跟蹤和分割多種任務(wù),候選框由Mask 分支產(chǎn)生,使得產(chǎn)生的目標(biāo)框不像以往平行于坐標(biāo)軸;同時(shí)使用可分離卷積減少計(jì)算量;除此之外還有使用兩階段RPN 的SPM 算法和C-RPN 算法,前者粗糙匹配階段(CM)先篩選同類別候選框作為正樣本,微調(diào)階段(FM)主要用于區(qū)分前景或背景。后者是消除一階段RPN 模塊產(chǎn)生的簡(jiǎn)單負(fù)樣本,將其輸出到二階段RPN 模塊,進(jìn)一步優(yōu)化前面RPN產(chǎn)生的候選框。
現(xiàn)有的目標(biāo)跟蹤算法主要存在以下問題:難以應(yīng)對(duì)跟蹤過程中目標(biāo)物體的快速形變;遮擋、相似物體、背景冗雜的影響難以處理。針對(duì)遮擋問題和RPN 網(wǎng)絡(luò)導(dǎo)致的分類分支和回歸分支不匹配的問題(NMS 部分需要用到分類分支的得分,分類得分高并不代表回歸位置好),本文提出ASiamRPN 跟蹤算法,采用正負(fù)樣本均衡提高了算法的辨別能力;其次加了數(shù)據(jù)增強(qiáng)手段,提高了算法的魯棒性,針對(duì)目標(biāo)遮擋問題:模板分支獲取目標(biāo)模板時(shí)使用Cutout 增加了大量困難負(fù)樣本;使用調(diào)整的ResNet50 網(wǎng)絡(luò)[9],使用深層網(wǎng)絡(luò)雖然有更好的語義信息,但對(duì)于目標(biāo)位置不敏感,本文使用空間感知模塊和可變形卷積多層特征融合模塊來權(quán)衡位置信息和語義信息,可變形卷積特征融合模塊融合resnet50 的第3 到第5 等3 個(gè)卷積模塊的特征,充分利用淺層位置信息和深層語義信息來緩解RPN 網(wǎng)絡(luò)分類和回歸分支的不匹配問題。在Siamese框架[10]的模板分支和搜索分支都增加權(quán)值共享的自適應(yīng)模塊,提取更具代表性的特征進(jìn)行互相關(guān)操作。
孿生神經(jīng)網(wǎng)絡(luò)最早用于圖像檢索和人臉識(shí)別等計(jì)算機(jī)視覺任務(wù),兩個(gè)分支共享權(quán)重參數(shù),通過損失函數(shù)計(jì)算兩個(gè)分支的相似度。SiamFC 算法并不是第一個(gè)使用Siamese 網(wǎng)絡(luò)的跟蹤算法,但是后續(xù)的基于Siamese網(wǎng)絡(luò)的跟蹤算法多數(shù)是在該算法上做的改進(jìn)。對(duì)于SiamFC 網(wǎng)絡(luò)兩個(gè)輸入,其中模板分支為Z,其輸入是視頻序列第一幀給定目標(biāo)模板;待檢測(cè)區(qū)域分支輸入跟蹤過程中當(dāng)前幀的待檢測(cè)區(qū)域X。SiamFC 方法使用全卷積網(wǎng)絡(luò)的方式計(jì)算響應(yīng)圖,其每幀響應(yīng)圖計(jì)算方式如式(1)所示:
f()表示卷積操作,?表示互相關(guān),Siamese 網(wǎng)絡(luò)的模板分支與搜索分支的特征進(jìn)行互相關(guān)操作得到響應(yīng)特征圖,響應(yīng)圖最大值的位置即是目標(biāo)所在位置。
SiamRPN++和SiamDW 等工作分析并解決目標(biāo)跟蹤無法使用ResNet50 等深層網(wǎng)絡(luò)的問題,但深層網(wǎng)絡(luò)雖然有較好的語義信息,但對(duì)位置信息不敏感,本文算法為ResNet50 為骨干網(wǎng)絡(luò)的Siam?RPN 為基準(zhǔn)算法(框架如圖3 所示),將第3 到5 層卷積模塊輸出的特征用可變形卷積實(shí)現(xiàn)多層特征融合并增加空間感知模塊,結(jié)合淺層位置信息和深層語義信息;在互相關(guān)操作之前增加權(quán)值共享的自適應(yīng)模塊。
圖3 網(wǎng)絡(luò)結(jié)構(gòu)圖
本文針對(duì)目標(biāo)跟蹤算法難以處理遮擋問題,引入了Cutout。先從圖像序列的第一幀裁剪模板圖像Z,然后對(duì)其進(jìn)行翻轉(zhuǎn)、模糊等數(shù)據(jù)增強(qiáng)后,再對(duì)模板圖像進(jìn)行Cutout 處理即C(Z),然后在與搜索分支的特征圖做相關(guān)。對(duì)搜索圖像分支X進(jìn)行Cutout 處理更加符合實(shí)際情況,但實(shí)驗(yàn)效果并不好。從圖2(a)可以看出Cutout操作模擬實(shí)現(xiàn)遮擋,極大增加了遮擋樣本數(shù)量,提高算法針對(duì)該問題的魯棒性。
圖2 本文算法的輸入圖像對(duì)
Cutout 主要有兩個(gè)參數(shù),分別是遮擋圖像塊的個(gè)數(shù)和長(zhǎng)度L,遮擋圖像塊個(gè)數(shù)設(shè)置為1。主要在SiamMask-base 和SiamRPN(RN)算 法 上 進(jìn) 行 測(cè)試。分析結(jié)果如表1所示。
表1 Cutout數(shù)據(jù)增強(qiáng)的分析(VOT2018)
在模板Z的隨機(jī)位置分別產(chǎn)生長(zhǎng)度L為8、16、32、64 的遮擋圖像塊,訓(xùn)練后在VOT2018 數(shù)據(jù)集[11]測(cè)試驗(yàn)證。魯棒性反映跟蹤算法在跟蹤過程中的跟丟情況,可以得出cutout 確實(shí)對(duì)Robustness 有顯著抑制效果,跟丟的次數(shù)有所減少;當(dāng)L參數(shù)為16、32 時(shí)效果較為明顯,由于L為64 時(shí)效果不穩(wěn)定,在下面的實(shí)驗(yàn)中,設(shè)置遮擋塊長(zhǎng)度L為32。
如圖1 所示,本文算法基于修改過的ResNet50網(wǎng)絡(luò),保留了絕對(duì)平移不變性。ResNet50的原有總步長(zhǎng)為32,現(xiàn)在設(shè)置為8,在第4 和第5 層conv 分別使 用dilation 為2 和4 的 空 洞 卷 積[12]來 增 加 感 受野。具體結(jié)構(gòu)如圖1所示。
圖1 修改的ResNet50網(wǎng)絡(luò)
目標(biāo)跟蹤的主要任務(wù)是分清物體在何處、是否是目標(biāo)物體,而淺層特征包含更多的位置信息,深層特征含有更多的語義信息,即分類更需要深層特征,而回歸分支更需要淺層特征。而RPN 網(wǎng)絡(luò)使用深層特征用于分類和回歸,這就導(dǎo)致了兩個(gè)分支不匹配的問題。本文引入可變形卷積多層特征融合模塊緩解該問題,將第3個(gè)卷積模塊的特征圖F3下采樣、第5 個(gè)卷積模塊的特征圖F5通過雙線性插值上采樣為第4 個(gè)卷積模塊特征圖F4同一大小再用cat 操作融合,用f1*1卷積將特征圖通道數(shù)降維成1024 維,通過可變形卷積提取特征。最后將特征圖輸入到空間感知模塊。
本文在ResNet50 的第5 層conv 模塊后增加了空間感知模塊。該模塊由SENet 網(wǎng)絡(luò)[13]的通道注意力層和CBAM 網(wǎng)絡(luò)[14]的空間注意力層構(gòu)成。通道注意力模塊讓模型關(guān)注更重要的通道特征,此處下采樣率r=16。W0、W1 分別表示2 層全連接層操作,表示全局平均池化后的1 維通道特征,F(xiàn)input為輸入特征圖,Wc表示通道注意力訓(xùn)練得到權(quán)重參數(shù),Wc與輸入特征通道數(shù)相同,是1×1×C維的向量,每一維的數(shù)表示該通道的權(quán)重(即該通道是否重要)。
在空間注意力層對(duì)輸入特征在特征通道上分別做Avg 和Max 池化得到兩個(gè)通道數(shù)為1 的特征和,拼接后使用f3*3卷積壓縮為通道數(shù)為1 的特征圖,最后再經(jīng)過sig?moid激活函數(shù)得到權(quán)重Ws。
σ表示sigmoid 激活函數(shù),f3*3表示卷積核為3的卷積操作??臻g感知模塊后緊跟著一個(gè)1*1 的卷積層把特征圖降維成256通道。
圖4 表示自適應(yīng)模塊,該模塊權(quán)重共享,在Sia?mese 網(wǎng)絡(luò)的兩個(gè)分支均設(shè)有該模塊,由通道注意力模塊和漏斗模塊構(gòu)成。輸入到注意力模塊的特征圖通道數(shù)為256,該模塊其他設(shè)置和上一小節(jié)相同。漏斗模塊這里類似于Encoder-Decoder,目的是提取數(shù)據(jù)的內(nèi)部隱含關(guān)聯(lián)特征,該模塊由3 層卷積層和3 層反卷積層構(gòu)成,經(jīng)過漏斗模塊得到權(quán)重β。β與 前 面 得 到 的 特 征Fout相 乘 得 到
圖4 自適應(yīng)模塊圖
網(wǎng)絡(luò)框架:對(duì)ResNet50 做了一些改變,相對(duì)于王強(qiáng)等的工作,在ResNet50 的第5 個(gè)block 后增加了可變形卷積多層特征融合和空間感知模塊來提高ResNet50對(duì)位置信息的表現(xiàn)。
訓(xùn)練:訓(xùn)練數(shù)據(jù)集為VID、DET數(shù)據(jù)集和COCO數(shù)據(jù)集、YouTuBe-VOS 數(shù)據(jù)集。選擇圖像的過程中,對(duì)于模板分支的圖像單獨(dú)進(jìn)行cutout 處理,然后再對(duì)兩個(gè)分支的圖像分別進(jìn)行模糊等數(shù)據(jù)增強(qiáng)。本文算法是端到端訓(xùn)練的,ResNet50 網(wǎng)絡(luò)在ImageNet-1K 分類任務(wù)上先進(jìn)行預(yù)訓(xùn)練,而且ResNet 網(wǎng)絡(luò)訓(xùn)練時(shí)學(xué)習(xí)率是自適應(yīng)模塊和RPN 網(wǎng)絡(luò)的學(xué)習(xí)率的10 倍。RPN 網(wǎng)絡(luò)中錨點(diǎn)設(shè)置5 種不同的長(zhǎng)寬比[0.33,0.5,1,2,3],尺度設(shè)置為8。使用帶有warmup 參數(shù)的SGD 優(yōu)化器,在前5 個(gè)周期學(xué)習(xí)率從10^(-3)到5×10^(-3),之后的15 個(gè)周期就降低為5×10^(-4)。
實(shí)驗(yàn)時(shí)用了4 塊Tesla P100 顯卡,64G 顯存,使用pytorch 工具平臺(tái)。在VOT2016[15]和VOT2018 兩種基準(zhǔn)數(shù)據(jù)集進(jìn)行測(cè)試,兩個(gè)數(shù)據(jù)集均有60 個(gè)短視頻序列,對(duì)序列進(jìn)行了相機(jī)移動(dòng)、光照變化、移動(dòng)變化、閉塞、尺度變化、目標(biāo)出視野六種視覺標(biāo)注,當(dāng)跟蹤過程中目標(biāo)丟失的時(shí)候?qū)?huì)在接下來的5幀重新初始化。
圖5 各算法在VOT2016數(shù)據(jù)集的平均重疊率
如表2 所示,在VOT2016 數(shù)據(jù)集上將本文算法與SiamFC[1]、SiamRPN[3]、DaSiamRPN[4]、SA-Siam[16]、SPM[17]等 基 于siamese 網(wǎng) 絡(luò) 的 算 法 和ECO[18]、C-COT[19]、ATOM[20]等相關(guān)濾波跟蹤算法等進(jìn)行比較。DaSiamRPN 等諸多siamese-based 算法均使用AlexNet 網(wǎng)絡(luò)作為backbone,本文使用改進(jìn)的ResNet50網(wǎng)絡(luò),融合淺層位置信息和深層語義信息緩解RPN 網(wǎng)絡(luò)的不匹配問題,使得回歸的目標(biāo)框更加精準(zhǔn),同DaSiamRPN 算法相比EAO 和Accura?cy 分別提升3.1%和2.4%,優(yōu)于2019 年的SPM[17]和ATOM[20]算法。同時(shí)本文算法也具有不錯(cuò)的魯棒性。
表2 各算法在VOT2016上的性能比較
表3 將本文算法同SiamMask[7]、SiamMask-2B、SiamRPN++[5]、SiamRPN[3]、SiamRPN(RN)等9 種算法在VOT2018 數(shù)據(jù)集進(jìn)行測(cè)試,SiamRPN(RN)和SiamMask-2B算法都是出自文獻(xiàn)[7],SiamMask、Si?amRPN++、SiamRPN(RN)以及本文算法的基準(zhǔn)框架都是ResNet50。SiamRPN++算法是2019CVPR性能最優(yōu)的目標(biāo)跟蹤算法,本文算法在Accuracy指標(biāo)取得最好的性能,略高于SiamRPN++,EAO 排第二。同基準(zhǔn)算法SiamRPN(RN)相比A 提升了1.8%、EAO提升了3.6%,R降低了1.4%。圖6(b)和(c)的效果對(duì)比證明自適應(yīng)模塊能提取更符合跟蹤任務(wù)的特征,空間感知與多層特征融合模塊使算法更加關(guān)注目標(biāo)位置。
圖6 DaSiamRPN和本文算法的比較(視頻(a)來自VOT2018,大框、中間框和斜框分別是DaSiamRPN,本文算法和真值;(b)和(c)分別為SiamMask和本算法的跟蹤結(jié)果)
表3 各算法在VOT2018上的性能比較
SiamRPN 的骨干網(wǎng)絡(luò)為AlexNet,而本文基準(zhǔn)算法為SiamRPN(RN),即以ResNet50 為骨干網(wǎng)絡(luò)的SiamRPN算法。為了評(píng)判算法各模塊的作用,以在VOT2018 數(shù)據(jù)集的實(shí)驗(yàn)結(jié)果為準(zhǔn)。從表4 可以看到該基準(zhǔn)算法同原始SiamRPN 算法相比有很大提升?;鶞?zhǔn)算法增加了自適應(yīng)模塊后,Robustness明顯降低,EAO相較基準(zhǔn)算法提升了約1%,證明自適應(yīng)模塊的重要性,提高了網(wǎng)絡(luò)模型的辨別能力;使用cutout 數(shù)據(jù)增強(qiáng)的基準(zhǔn)算法三種指標(biāo)都有一定的改善。而增加Cutout和自適應(yīng)模塊后,Accura?cy 增加了1.8%,EAO 較基準(zhǔn)算法提升了2%;在ResNet50 網(wǎng)絡(luò)增加了空間感知模塊和可變形卷積多層特征融合模塊后EAO 再次增加了1.6%。多層特征融合結(jié)合淺層信息和深層信息,而空間感知模塊使得算法更加關(guān)注目標(biāo)位置,明顯提高了平均重疊率,減輕了RPN網(wǎng)絡(luò)帶來的不匹配問題。
表4 消融實(shí)驗(yàn)分析
本文在SiamRPN(RN)的基礎(chǔ)上做的改進(jìn),由于Resnet50 遠(yuǎn)深于AlexNet,我們認(rèn)為要充分利用好網(wǎng)絡(luò)的淺層信息和深層信息,在ResNet50 網(wǎng)絡(luò)的第5 層卷積模塊后先做可變形卷積多層特征融合并增加空間感知模塊,緩解RPN 導(dǎo)致的不匹配問題,使用權(quán)值共享的自適應(yīng)模塊,上述模塊可直接應(yīng)用于其他目標(biāo)跟蹤算法。本文算法在VOT 數(shù)據(jù)集上的表現(xiàn)證明了方法的有效性。但仍然具有Siamese-based 跟蹤算法的弊端,魯棒性相較相關(guān)濾波類算法差一些;近期不少工作均通過多階段微調(diào)目標(biāo)框,并緩解了RPN 分類和回歸的不匹配問題,接下來會(huì)嘗試通過可變形卷積融合多幀信息使算法能夠利用幀間信息提升跟蹤效果。