周 震,李 瑩,柳德云,吉根林
(南京師范大學(xué) 計(jì)算機(jī)與電子信息學(xué)院/人工智能學(xué)院,江蘇 南京 210023)
視頻實(shí)例分割(VIS)的研究正變得越來(lái)越重要,它是計(jì)算機(jī)視覺(jué)中一項(xiàng)具有挑戰(zhàn)性的研究?jī)?nèi)容。在圖像領(lǐng)域中實(shí)例分割需要同時(shí)檢測(cè)和分割對(duì)象實(shí)例[1],而在視頻領(lǐng)域中,實(shí)例分割更具挑戰(zhàn)性[2],因?yàn)樗€需要準(zhǔn)確跟蹤和分類整個(gè)視頻中的對(duì)象。
現(xiàn)有的VIS方法通常采用兩種不同的思路來(lái)處理實(shí)例分割任務(wù):第一種思路是“剪輯-匹配”,基于分而治之的思想。它將整個(gè)視頻分成多個(gè)重疊的短片段(剪輯),并獲得每個(gè)剪輯的VIS結(jié)果,最后合并生成具有逐個(gè)剪輯匹配的實(shí)例序列[3-4],如圖1(a)所示。另一種思路是“檢測(cè)-跟蹤”,利用跟蹤頭擴(kuò)展現(xiàn)有的圖像實(shí)例分割網(wǎng)絡(luò),首先使用圖像實(shí)例分割網(wǎng)絡(luò)逐幀進(jìn)行目標(biāo)檢測(cè)和分割,然后通過(guò)跟蹤頭以分類或重識(shí)別的方法將這些目標(biāo)進(jìn)行關(guān)聯(lián)以生成實(shí)例序列[2-5],如圖1(b)所示。這兩種思路都需要從視頻中生成多個(gè)不完整的序列(幀或者剪輯),然后通過(guò)跟蹤/匹配來(lái)合并它們。
現(xiàn)有的方法在合并序列的過(guò)程中很容易受到因目標(biāo)被遮擋或快速運(yùn)動(dòng)導(dǎo)致的誤檢的影響,累積之后可能造成更大的分割誤差。此外,現(xiàn)有方法普遍有一個(gè)缺點(diǎn),即它們忽略了幀間實(shí)例關(guān)系。幀間實(shí)例關(guān)系是指不同幀實(shí)例之間的關(guān)系,這種幀間關(guān)系通常包含豐富的時(shí)空信息,對(duì)處理VIS任務(wù)很有用。最近的一些方法[4-5]已經(jīng)注意到了這個(gè)問(wèn)題,但是它們直接在幀級(jí)別融合了來(lái)自相鄰幀的特征,這可能會(huì)導(dǎo)致目標(biāo)特征信息傳播不精確,從而對(duì)準(zhǔn)確性產(chǎn)生負(fù)面影響,并且這些方法僅利用這些信息進(jìn)行檢測(cè)和分割,沒(méi)有用于跟蹤。
針對(duì)上述問(wèn)題,在“檢測(cè)-跟蹤”思路的基礎(chǔ)上提出了一種新的視頻實(shí)例分割方法(MTFA)。具體而言,在目前圖像分割網(wǎng)絡(luò)的基礎(chǔ)上添加一個(gè)新的運(yùn)動(dòng)跟蹤頭和自注意力特征融合模塊,運(yùn)動(dòng)跟蹤頭借助運(yùn)動(dòng)模擬的位置信息和檢測(cè)分割的特征信息來(lái)跨幀關(guān)聯(lián)實(shí)例,特征融合模塊借助運(yùn)動(dòng)跟蹤頭跟蹤結(jié)果提取相應(yīng)支持幀上的實(shí)例特征與目標(biāo)幀實(shí)例特征進(jìn)行基于注意力的融合,并將融合后實(shí)例特征增強(qiáng)的原特征圖傳入圖像實(shí)例分割網(wǎng)絡(luò)以生成效果更好的實(shí)例分割掩碼。該方法實(shí)現(xiàn)了跟蹤與分割任務(wù)之間的信息共享與相互幫助,提升了檢測(cè)分割結(jié)果,有效解決了遮擋、快速運(yùn)動(dòng)和成像質(zhì)量差導(dǎo)致追蹤和分割效果差的問(wèn)題。
文中的網(wǎng)絡(luò)MTFA基于QueryInst[6],包含一個(gè)特征提取骨干網(wǎng)絡(luò),一個(gè)基于實(shí)例查詢的檢測(cè)框&掩碼生成器和一個(gè)運(yùn)動(dòng)跟蹤頭,還包括一個(gè)基于注意力的特征融合模塊。MTFA網(wǎng)絡(luò)處理VIS任務(wù)的整體流程如圖2所示。
圖中上部實(shí)線箭頭部分代表一階段完成內(nèi)容,通過(guò)圖像實(shí)例分割網(wǎng)絡(luò)實(shí)現(xiàn)幀級(jí)別的目標(biāo)檢測(cè)任務(wù),然后通過(guò)運(yùn)動(dòng)跟蹤頭跨幀關(guān)聯(lián)實(shí)例,并為每個(gè)檢測(cè)框分配一個(gè)實(shí)例標(biāo)簽,這與先前的“檢測(cè)-跟蹤”網(wǎng)絡(luò)相似。二階段以目標(biāo)幀t為例,以t±n幀為支持幀,對(duì)于t幀中的每一個(gè)實(shí)例,提取t±n幀中相應(yīng)實(shí)例的特征圖,通過(guò)一個(gè)基于注意力的特征融合模塊得到融合的實(shí)例特征用以增強(qiáng)t幀特征圖,并傳入圖像實(shí)例分割網(wǎng)絡(luò)生成實(shí)例掩碼。
在本節(jié)中,首先介紹生成圖像中實(shí)例檢測(cè)框和分割掩碼的QueryInst網(wǎng)絡(luò)架構(gòu)。然后詳細(xì)介紹MTFA的網(wǎng)絡(luò)結(jié)構(gòu)以及各個(gè)模塊的細(xì)節(jié)。
QueryInst[6]是兩階段圖像實(shí)例分割網(wǎng)絡(luò),它將圖片中的實(shí)例作為一組查詢來(lái)驅(qū)動(dòng)整個(gè)網(wǎng)絡(luò),整個(gè)網(wǎng)絡(luò)分為6個(gè)階段,每個(gè)階段以前一階段輸出為輸入。以第三階段s3為例,流程如圖3所示。
實(shí)例檢測(cè):對(duì)于檢測(cè)框預(yù)測(cè),處理順序如下:在階段s3處理時(shí),一個(gè)檢測(cè)框提議器在前一階段檢測(cè)框預(yù)測(cè)結(jié)果bs2的指導(dǎo)下,從特征圖F(feature map)中提取當(dāng)前階段檢測(cè)框特征。同時(shí),將前一階段查詢對(duì)象qs2輸入基于注意力的查詢轉(zhuǎn)換器中以獲得轉(zhuǎn)換后的查詢對(duì)象。然后將當(dāng)前階段檢測(cè)框特征信息和轉(zhuǎn)換后查詢對(duì)象輸入檢測(cè)框生成器用以生成當(dāng)前階段的檢測(cè)框預(yù)測(cè)bs3,并為下一階段生成查詢對(duì)象qs3。
實(shí)例分割:對(duì)于實(shí)例掩碼預(yù)測(cè),處理順序如下:在當(dāng)前階段檢測(cè)框預(yù)測(cè)bs3的指導(dǎo)下,掩碼提議器從特征圖F中提取當(dāng)前階段掩碼特征。將當(dāng)前階段掩碼特征和轉(zhuǎn)換后查詢對(duì)象輸入掩碼生成器用以生成實(shí)例級(jí)別掩碼預(yù)測(cè)masks3
(1)
MTFA的運(yùn)動(dòng)跟蹤頭結(jié)合了運(yùn)動(dòng)信息和外觀特征信息,使得跟蹤性能超越了之前的運(yùn)動(dòng)跟蹤頭,并克服例如目標(biāo)交錯(cuò)、遮擋導(dǎo)致的跟蹤錯(cuò)誤。相較于對(duì)全圖特征進(jìn)行跟蹤的工作計(jì)算量更小,且忽略了背景信息和其他不可見(jiàn)的干擾信息,使得追蹤更具效率。
在上述運(yùn)動(dòng)跟蹤頭的作用下,MTFA能夠在整個(gè)視頻中追蹤不同的實(shí)例。為了讓來(lái)自不同幀的實(shí)例信息幫助MTFA更好完成視頻實(shí)例分割任務(wù),提出了基于注意力的特征融合模塊,借助該模塊就能夠?qū)Τ上褓|(zhì)量較差(遮擋、模糊等)的幀中實(shí)例進(jìn)行更好的分割掩碼生成。同樣的設(shè)定時(shí)刻t的幀為目標(biāo)幀,時(shí)間段內(nèi)的其他T幀為支持幀。下面的關(guān)鍵是如何有效地聚合這些特征并生成質(zhì)量更好的分割掩碼。由于實(shí)例在某些幀中可能是模糊的,而在其他幀中可能是清晰的,因此很自然地想到學(xué)習(xí)一組注意力權(quán)重來(lái)聚合它們。目前的多頭自注意力網(wǎng)絡(luò)[7]可以通過(guò)不同的通道關(guān)注來(lái)自不同子空間的信息。因此MTFA構(gòu)建了一個(gè)多頭注意力模塊來(lái)處理特征聚合中的不同模式,如圖5所示。
輸入是一組以目標(biāo)幀為中心支持幀總數(shù)為T的幀中某一實(shí)例特征Ft±T/2。目標(biāo)幀利用原圖檢測(cè)框坐標(biāo)點(diǎn)映射到特征圖進(jìn)行定位提取檢測(cè)框中的H×W×c的特征圖[8],支持幀的特征通過(guò)對(duì)T幀內(nèi)同實(shí)例檢測(cè)框裁剪&變形提取得到T×H×W×c的特征圖,這里使用的是經(jīng)過(guò)FPN提取的4層256通道的特征圖,對(duì)每層進(jìn)行上述操作。用K個(gè)注意力模塊從不同維度聚合這些特征。
首先,將Ft±T/2中的目標(biāo)特征沿通道維度分成K組:
(2)
其中,F(xiàn)t±T/2∈RH×W×(c/K)并且k∈{1,2,…,K},每個(gè)Ft±T/2用于生成一個(gè)注意力權(quán)重圖:
(3)
(4)
MTFA總的損失函數(shù)包含目標(biāo)檢測(cè)、目標(biāo)分割和目標(biāo)追蹤這三個(gè)方面的損失,具體的損失項(xiàng)如下式所示:
Lall=Ldet+Lmask+Ltrack
(5)
其中,Ldet是目標(biāo)檢測(cè)損失函數(shù),Lmask是目標(biāo)分割損失函數(shù),Ltrack是目標(biāo)追蹤損失函數(shù)。Ltrack的定義已在上文中給出,Lmask是Dice loss[9],如下式所示:
(6)
其中,mi是預(yù)測(cè)掩碼,mj是真實(shí)掩碼,Ldet包含類鑒別損失和檢測(cè)框損失,其中類鑒別損失是Focal loss[10]計(jì)算多分類的準(zhǔn)確性,檢測(cè)框損失是L1 loss計(jì)算檢測(cè)框真實(shí)坐標(biāo)與預(yù)測(cè)坐標(biāo)的平均差值。
(7)
該文的實(shí)驗(yàn)數(shù)據(jù)集是公開(kāi)的VIS數(shù)據(jù)集Youtube-VIS 2019[2]和Youtube-VIS 2021,遵循大多數(shù)以前的工作[2,5,11]在測(cè)試集上評(píng)估提出的方法。
評(píng)估指標(biāo)是平均精度(AP)和平均召回率(AR),以視頻預(yù)測(cè)目標(biāo)掩碼序列與真實(shí)掩碼序列的交集/并集(IoU)為閾值[2]。具體來(lái)說(shuō),該文的AP是按照多個(gè)IoU為閾值得到的精度(precision)取的平均值,AR定義是視頻里固定數(shù)量(該文為1和10)檢測(cè)結(jié)果最大的召回率(recall)。這兩個(gè)指標(biāo)都先在每個(gè)類別內(nèi)求平均,再在所有類別上求平均,計(jì)算公式如下:
(8)
其中,TP代表正樣本歸為正類的數(shù)量,F(xiàn)P代表負(fù)樣本歸為正類的數(shù)量,F(xiàn)N代表正樣本歸為負(fù)類的數(shù)量。對(duì)于IoU的計(jì)算,預(yù)測(cè)掩碼mi和真實(shí)掩碼mj的交并集為:
(9)
根據(jù)定義,如果模型僅成功檢測(cè)和分割實(shí)例但未成功關(guān)聯(lián)實(shí)例,它仍然得到很低的IoU。因此實(shí)例的準(zhǔn)確跨幀關(guān)聯(lián)對(duì)于實(shí)現(xiàn)模型高性能至關(guān)重要。
該方法基本的訓(xùn)練設(shè)置主要遵循QueryInst[6]。檢測(cè)頭包含6個(gè)階段,查詢總數(shù)設(shè)置為100。采用ResNet-50和ResNet-101作為骨干網(wǎng)絡(luò),并使用 COCO數(shù)據(jù)集預(yù)訓(xùn)練的權(quán)重進(jìn)行參數(shù)初始化,運(yùn)動(dòng)跟蹤頭為3層卷積神經(jīng)網(wǎng)絡(luò),每層包含一個(gè)卷積層、一個(gè)歸一化層和一個(gè)ReLU的激活函數(shù)層。注意力融合模塊的注意力塊個(gè)數(shù)K設(shè)置為4,微型嵌入網(wǎng)絡(luò)uk(·)為3×3的卷積層。代碼在訓(xùn)練和測(cè)試階段均使用了基于Pytorch的MMDection[12]和MMTracking[13]提供的開(kāi)發(fā)框架。
對(duì)于訓(xùn)練,在8個(gè)12G顯存的GPU上執(zhí)行了總共36輪迭代訓(xùn)練,對(duì)于每次迭代,batch size設(shè)置為5,使用SGD作為優(yōu)化器。初始學(xué)習(xí)率為1.25×10-4,在第27和第32輪迭代,學(xué)習(xí)率除10。使用Youtube-VIS數(shù)據(jù)集進(jìn)行訓(xùn)練,輸入為同一個(gè)視頻的5幀,每幀為原視頻間隔5幀的關(guān)鍵幀,遵循之前的工作[2-3,14-15]調(diào)整輸入圖像的大小,使輸入尺寸為640×360。
對(duì)于測(cè)試,使用一個(gè)12G顯存的TiTan XP進(jìn)行評(píng)測(cè),來(lái)自同一視頻的4幀(支持幀)與目標(biāo)幀一起被采樣。如果支持幀超出視頻開(kāi)始/結(jié)束,復(fù)制視頻的第一幀/最后一幀作為支持幀。跟蹤頭用于關(guān)聯(lián)實(shí)例,實(shí)例掩碼是從最后階段圖像實(shí)例分割網(wǎng)絡(luò)中生成的。評(píng)測(cè)階段的所有輸入圖像都被調(diào)整大小,使輸入尺寸為640×360。
在Youtube-VIS 2019的實(shí)驗(yàn)結(jié)果以及與現(xiàn)有方法的對(duì)比見(jiàn)表1,表中列出了不同方法所用的骨干網(wǎng)絡(luò),處理視頻的分辨率均為640×360。
表1 Youtube-VIS 2019數(shù)據(jù)集與現(xiàn)有方法性能比較
文中方法在所有評(píng)價(jià)指標(biāo)上都取得了相當(dāng)有競(jìng)爭(zhēng)力的結(jié)果,在ResNet-50骨干網(wǎng)絡(luò)下取得了38.3% AP,在ResNet-101骨干網(wǎng)絡(luò)下取得了41.2% AP,表中其他方法數(shù)據(jù)均來(lái)自于原論文。具體來(lái)說(shuō),比此前最通用的方法,同樣使用“檢測(cè)-跟蹤”方式的MaskTrack R-CNN[2]AP高出約10個(gè)百分點(diǎn)(在ResNet-101的情況下)。比起所對(duì)比的最好方法VisTR[14]高出2.1個(gè)百分點(diǎn),CrossVIS[11]和SG-Net[15]高出3.5個(gè)百分點(diǎn)(在ResNet-50的情況下)。最后相比較文中的baseline QueryInst[6]高出約2.1個(gè)百分點(diǎn),充分說(shuō)明了文中添加模塊的作用。
在Youtube-VIS 2021的實(shí)驗(yàn)結(jié)果以及與現(xiàn)有方法的對(duì)比見(jiàn)表2。由于對(duì)比方法未提供ResNet-101的相關(guān)數(shù)據(jù),這里僅展示文中方法在ResNet-101骨干網(wǎng)絡(luò)下的性能表現(xiàn)。
表2 Youtube-VIS 2021數(shù)據(jù)集與現(xiàn)有方法性能比較
特意選擇了與該文使用同樣的“檢測(cè)-跟蹤”范式的方法,可以看到文中方法性能最好。其中Mask Track R-CNN[2]僅使用特征信息關(guān)聯(lián)實(shí)例,MTFA結(jié)合了運(yùn)動(dòng)與特征來(lái)關(guān)聯(lián)實(shí)例。Sip Mask-VIS[5]僅使用當(dāng)前幀信息生成掩碼,MTFA讓不同幀實(shí)例的特征信息協(xié)助生成掩碼。與Cross VIS[11]利用幀級(jí)別信息協(xié)助生成掩碼不同,MTFA利用實(shí)例級(jí)別的信息生成掩碼,效果更好。
為了驗(yàn)證該文添加模塊的作用,在ResNet-50骨干網(wǎng)絡(luò)下進(jìn)行了消融實(shí)驗(yàn),分別比較了僅添加運(yùn)動(dòng)跟蹤頭和添加了特征融合模塊的網(wǎng)絡(luò)性能,結(jié)果如表3所示。
表3 消融實(shí)驗(yàn)
表中Tracker代表運(yùn)動(dòng)跟蹤頭,F(xiàn)A代表特征融合模塊。通過(guò)消融實(shí)驗(yàn)可以看到在添加了運(yùn)動(dòng)跟蹤頭后,MTFA相比baseline(QueryInst)已經(jīng)有了很大提升(約1.7個(gè)百分點(diǎn)),但是沒(méi)有充分發(fā)揮出跟蹤器對(duì)檢測(cè)結(jié)果的作用,在添加了特征融合模塊后,MTFA比較添加跟蹤器的方法也有了一定提升。這表明好的跟蹤結(jié)果對(duì)于視頻實(shí)例分割的作用是巨大的,因?yàn)镸TFA特征融合的模塊建立在運(yùn)動(dòng)跟蹤的結(jié)果之上,所以不能單獨(dú)作消融實(shí)驗(yàn),可以看到MTFA兩個(gè)模塊在視頻實(shí)例分割任務(wù)中是相輔相成的。
MTFA的網(wǎng)絡(luò)主要包含兩個(gè)超參數(shù),注意力模塊個(gè)數(shù)K和支持幀數(shù)量T,為了充分探討網(wǎng)絡(luò)受超參數(shù)的影響,對(duì)于K在T=4的情況下使用不同的K進(jìn)行了實(shí)驗(yàn),比較了不同參數(shù)下網(wǎng)絡(luò)的性能,結(jié)果如表4所示。
表4 不同數(shù)量的注意力模塊對(duì)于網(wǎng)絡(luò)性能的影響
表4顯示了在 FA 中使用不同數(shù)量的時(shí)間注意塊的效果。 隨著K從 1 增加到 4,AP從 37.9%增加到 38.3%。 這表明使用更多的時(shí)間注意力塊可以提高準(zhǔn)確性。但當(dāng)K大于4時(shí)性能飽和且消耗更多資源。因此,選擇K=4作為默認(rèn)設(shè)置。
關(guān)于T的數(shù)量對(duì)性能的影響,也對(duì)此進(jìn)行了實(shí)驗(yàn),此時(shí)將K設(shè)置為4,結(jié)果如表5所示。
表5 不同數(shù)量的支持幀對(duì)網(wǎng)絡(luò)性能的影響
表5顯示了不同數(shù)量支持幀對(duì)網(wǎng)絡(luò)性能的影響。可以看到,支持幀數(shù)量從2~4的提升很大,4~6性能不變,6~8性能下降,推斷是此時(shí)融合了過(guò)多噪聲信息并且最后直接對(duì)特征使用加和操作導(dǎo)致無(wú)法過(guò)濾無(wú)用信息導(dǎo)致的。因此將支持幀個(gè)數(shù)T設(shè)置為4。
圖6展示了MTFA在Youtube-VIS數(shù)據(jù)集和部分自己測(cè)試數(shù)據(jù)使用ResNet-101為骨干網(wǎng)絡(luò)得到的可視化結(jié)果,以一個(gè)視頻的5幀為例,前后幀中同一實(shí)例用相同顏色的掩碼進(jìn)行標(biāo)記。
第一列展示了同一實(shí)例不同姿態(tài)以及部分遮擋的分割結(jié)果,總體來(lái)說(shuō)分割效果是比較好的,但是在毛發(fā)邊緣模糊的部分分割效果不是太好。 第二列展示了多個(gè)同類實(shí)例高速運(yùn)動(dòng)和大量重疊時(shí)的分割結(jié)果,可以看到MTFA無(wú)論分割還是追蹤效果都非常出色,圖片中的物體微小的邊角也被識(shí)別分割出來(lái),分割邊緣也比較清晰。第三列展示了兩個(gè)同類物體靠近交錯(cuò)時(shí)的跟蹤效果和分割結(jié)果,可以看到在實(shí)例交錯(cuò)時(shí),分割掩碼邊緣仍然是清晰沒(méi)有雜亂的,追蹤也沒(méi)有混亂。
本文提出了一種基于運(yùn)動(dòng)跟蹤和注意力特征融合的方法 MTFA。該方法充分利用運(yùn)動(dòng)信息和特征相似性加強(qiáng)了對(duì)實(shí)例身份的跟蹤操作,并利用跟蹤結(jié)果對(duì)模糊不清或被遮擋的幀中實(shí)例進(jìn)行特征融合從而實(shí)現(xiàn)更好的分割。MTFA在 Youtube-VIS 2019 和 Youtube-VIS 2021 測(cè)試中對(duì)比目前許多主流方法都取得了相當(dāng)有競(jìng)爭(zhēng)力的結(jié)果。此外,經(jīng)過(guò)消融研究表明,MTFA的運(yùn)動(dòng)跟蹤和注意力特征融合結(jié)合的模塊可以顯著提高視頻實(shí)例分割的性能。