周 震,李 瑩,柳德云,吉根林
(南京師范大學 計算機與電子信息學院/人工智能學院,江蘇 南京 210023)
視頻實例分割(VIS)的研究正變得越來越重要,它是計算機視覺中一項具有挑戰性的研究內容。在圖像領域中實例分割需要同時檢測和分割對象實例[1],而在視頻領域中,實例分割更具挑戰性[2],因為它還需要準確跟蹤和分類整個視頻中的對象。
現有的VIS方法通常采用兩種不同的思路來處理實例分割任務:第一種思路是“剪輯-匹配”,基于分而治之的思想。它將整個視頻分成多個重疊的短片段(剪輯),并獲得每個剪輯的VIS結果,最后合并生成具有逐個剪輯匹配的實例序列[3-4],如圖1(a)所示。另一種思路是“檢測-跟蹤”,利用跟蹤頭擴展現有的圖像實例分割網絡,首先使用圖像實例分割網絡逐幀進行目標檢測和分割,然后通過跟蹤頭以分類或重識別的方法將這些目標進行關聯以生成實例序列[2-5],如圖1(b)所示。這兩種思路都需要從視頻中生成多個不完整的序列(幀或者剪輯),然后通過跟蹤/匹配來合并它們。
現有的方法在合并序列的過程中很容易受到因目標被遮擋或快速運動導致的誤檢的影響,累積之后可能造成更大的分割誤差。此外,現有方法普遍有一個缺點,即它們忽略了幀間實例關系。幀間實例關系是指不同幀實例之間的關系,這種幀間關系通常包含豐富的時空信息,對處理VIS任務很有用。最近的一些方法[4-5]已經注意到了這個問題,但是它們直接在幀級別融合了來自相鄰幀的特征,這可能會導致目標特征信息傳播不精確,從而對準確性產生負面影響,并且這些方法僅利用這些信息進行檢測和分割,沒有用于跟蹤。
針對上述問題,在“檢測-跟蹤”思路的基礎上提出了一種新的視頻實例分割方法(MTFA)。具體而言,在目前圖像分割網絡的基礎上添加一個新的運動跟蹤頭和自注意力特征融合模塊,運動跟蹤頭借助運動模擬的位置信息和檢測分割的特征信息來跨幀關聯實例,特征融合模塊借助運動跟蹤頭跟蹤結果提取相應支持幀上的實例特征與目標幀實例特征進行基于注意力的融合,并將融合后實例特征增強的原特征圖傳入圖像實例分割網絡以生成效果更好的實例分割掩碼。該方法實現了跟蹤與分割任務之間的信息共享與相互幫助,提升了檢測分割結果,有效解決了遮擋、快速運動和成像質量差導致追蹤和分割效果差的問題。
文中的網絡MTFA基于QueryInst[6],包含一個特征提取骨干網絡,一個基于實例查詢的檢測框&掩碼生成器和一個運動跟蹤頭,還包括一個基于注意力的特征融合模塊。MTFA網絡處理VIS任務的整體流程如圖2所示。
圖中上部實線箭頭部分代表一階段完成內容,通過圖像實例分割網絡實現幀級別的目標檢測任務,然后通過運動跟蹤頭跨幀關聯實例,并為每個檢測框分配一個實例標簽,這與先前的“檢測-跟蹤”網絡相似。二階段以目標幀t為例,以t±n幀為支持幀,對于t幀中的每一個實例,提取t±n幀中相應實例的特征圖,通過一個基于注意力的特征融合模塊得到融合的實例特征用以增強t幀特征圖,并傳入圖像實例分割網絡生成實例掩碼。
在本節中,首先介紹生成圖像中實例檢測框和分割掩碼的QueryInst網絡架構。然后詳細介紹MTFA的網絡結構以及各個模塊的細節。
QueryInst[6]是兩階段圖像實例分割網絡,它將圖片中的實例作為一組查詢來驅動整個網絡,整個網絡分為6個階段,每個階段以前一階段輸出為輸入。以第三階段s3為例,流程如圖3所示。
實例檢測:對于檢測框預測,處理順序如下:在階段s3處理時,一個檢測框提議器在前一階段檢測框預測結果bs2的指導下,從特征圖F(feature map)中提取當前階段檢測框特征。同時,將前一階段查詢對象qs2輸入基于注意力的查詢轉換器中以獲得轉換后的查詢對象。然后將當前階段檢測框特征信息和轉換后查詢對象輸入檢測框生成器用以生成當前階段的檢測框預測bs3,并為下一階段生成查詢對象qs3。
實例分割:對于實例掩碼預測,處理順序如下:在當前階段檢測框預測bs3的指導下,掩碼提議器從特征圖F中提取當前階段掩碼特征。將當前階段掩碼特征和轉換后查詢對象輸入掩碼生成器用以生成實例級別掩碼預測masks3

(1)

MTFA的運動跟蹤頭結合了運動信息和外觀特征信息,使得跟蹤性能超越了之前的運動跟蹤頭,并克服例如目標交錯、遮擋導致的跟蹤錯誤。相較于對全圖特征進行跟蹤的工作計算量更小,且忽略了背景信息和其他不可見的干擾信息,使得追蹤更具效率。
在上述運動跟蹤頭的作用下,MTFA能夠在整個視頻中追蹤不同的實例。為了讓來自不同幀的實例信息幫助MTFA更好完成視頻實例分割任務,提出了基于注意力的特征融合模塊,借助該模塊就能夠對成像質量較差(遮擋、模糊等)的幀中實例進行更好的分割掩碼生成。同樣的設定時刻t的幀為目標幀,時間段內的其他T幀為支持幀。下面的關鍵是如何有效地聚合這些特征并生成質量更好的分割掩碼。由于實例在某些幀中可能是模糊的,而在其他幀中可能是清晰的,因此很自然地想到學習一組注意力權重來聚合它們。目前的多頭自注意力網絡[7]可以通過不同的通道關注來自不同子空間的信息。因此MTFA構建了一個多頭注意力模塊來處理特征聚合中的不同模式,如圖5所示。
輸入是一組以目標幀為中心支持幀總數為T的幀中某一實例特征Ft±T/2。目標幀利用原圖檢測框坐標點映射到特征圖進行定位提取檢測框中的H×W×c的特征圖[8],支持幀的特征通過對T幀內同實例檢測框裁剪&變形提取得到T×H×W×c的特征圖,這里使用的是經過FPN提取的4層256通道的特征圖,對每層進行上述操作。用K個注意力模塊從不同維度聚合這些特征。
首先,將Ft±T/2中的目標特征沿通道維度分成K組:
(2)
其中,Ft±T/2∈RH×W×(c/K)并且k∈{1,2,…,K},每個Ft±T/2用于生成一個注意力權重圖:
(3)

(4)
MTFA總的損失函數包含目標檢測、目標分割和目標追蹤這三個方面的損失,具體的損失項如下式所示:
Lall=Ldet+Lmask+Ltrack
(5)
其中,Ldet是目標檢測損失函數,Lmask是目標分割損失函數,Ltrack是目標追蹤損失函數。Ltrack的定義已在上文中給出,Lmask是Dice loss[9],如下式所示:
(6)
其中,mi是預測掩碼,mj是真實掩碼,Ldet包含類鑒別損失和檢測框損失,其中類鑒別損失是Focal loss[10]計算多分類的準確性,檢測框損失是L1 loss計算檢測框真實坐標與預測坐標的平均差值。
(7)

該文的實驗數據集是公開的VIS數據集Youtube-VIS 2019[2]和Youtube-VIS 2021,遵循大多數以前的工作[2,5,11]在測試集上評估提出的方法。
評估指標是平均精度(AP)和平均召回率(AR),以視頻預測目標掩碼序列與真實掩碼序列的交集/并集(IoU)為閾值[2]。具體來說,該文的AP是按照多個IoU為閾值得到的精度(precision)取的平均值,AR定義是視頻里固定數量(該文為1和10)檢測結果最大的召回率(recall)。這兩個指標都先在每個類別內求平均,再在所有類別上求平均,計算公式如下:
(8)
其中,TP代表正樣本歸為正類的數量,FP代表負樣本歸為正類的數量,FN代表正樣本歸為負類的數量。對于IoU的計算,預測掩碼mi和真實掩碼mj的交并集為:
(9)
根據定義,如果模型僅成功檢測和分割實例但未成功關聯實例,它仍然得到很低的IoU。因此實例的準確跨幀關聯對于實現模型高性能至關重要。
該方法基本的訓練設置主要遵循QueryInst[6]。檢測頭包含6個階段,查詢總數設置為100。采用ResNet-50和ResNet-101作為骨干網絡,并使用 COCO數據集預訓練的權重進行參數初始化,運動跟蹤頭為3層卷積神經網絡,每層包含一個卷積層、一個歸一化層和一個ReLU的激活函數層。注意力融合模塊的注意力塊個數K設置為4,微型嵌入網絡uk(·)為3×3的卷積層。代碼在訓練和測試階段均使用了基于Pytorch的MMDection[12]和MMTracking[13]提供的開發框架。
對于訓練,在8個12G顯存的GPU上執行了總共36輪迭代訓練,對于每次迭代,batch size設置為5,使用SGD作為優化器。初始學習率為1.25×10-4,在第27和第32輪迭代,學習率除10。使用Youtube-VIS數據集進行訓練,輸入為同一個視頻的5幀,每幀為原視頻間隔5幀的關鍵幀,遵循之前的工作[2-3,14-15]調整輸入圖像的大小,使輸入尺寸為640×360。
對于測試,使用一個12G顯存的TiTan XP進行評測,來自同一視頻的4幀(支持幀)與目標幀一起被采樣。如果支持幀超出視頻開始/結束,復制視頻的第一幀/最后一幀作為支持幀。跟蹤頭用于關聯實例,實例掩碼是從最后階段圖像實例分割網絡中生成的。評測階段的所有輸入圖像都被調整大小,使輸入尺寸為640×360。
在Youtube-VIS 2019的實驗結果以及與現有方法的對比見表1,表中列出了不同方法所用的骨干網絡,處理視頻的分辨率均為640×360。

表1 Youtube-VIS 2019數據集與現有方法性能比較
文中方法在所有評價指標上都取得了相當有競爭力的結果,在ResNet-50骨干網絡下取得了38.3% AP,在ResNet-101骨干網絡下取得了41.2% AP,表中其他方法數據均來自于原論文。具體來說,比此前最通用的方法,同樣使用“檢測-跟蹤”方式的MaskTrack R-CNN[2]AP高出約10個百分點(在ResNet-101的情況下)。比起所對比的最好方法VisTR[14]高出2.1個百分點,CrossVIS[11]和SG-Net[15]高出3.5個百分點(在ResNet-50的情況下)。最后相比較文中的baseline QueryInst[6]高出約2.1個百分點,充分說明了文中添加模塊的作用。
在Youtube-VIS 2021的實驗結果以及與現有方法的對比見表2。由于對比方法未提供ResNet-101的相關數據,這里僅展示文中方法在ResNet-101骨干網絡下的性能表現。

表2 Youtube-VIS 2021數據集與現有方法性能比較
特意選擇了與該文使用同樣的“檢測-跟蹤”范式的方法,可以看到文中方法性能最好。其中Mask Track R-CNN[2]僅使用特征信息關聯實例,MTFA結合了運動與特征來關聯實例。Sip Mask-VIS[5]僅使用當前幀信息生成掩碼,MTFA讓不同幀實例的特征信息協助生成掩碼。與Cross VIS[11]利用幀級別信息協助生成掩碼不同,MTFA利用實例級別的信息生成掩碼,效果更好。
為了驗證該文添加模塊的作用,在ResNet-50骨干網絡下進行了消融實驗,分別比較了僅添加運動跟蹤頭和添加了特征融合模塊的網絡性能,結果如表3所示。

表3 消融實驗
表中Tracker代表運動跟蹤頭,FA代表特征融合模塊。通過消融實驗可以看到在添加了運動跟蹤頭后,MTFA相比baseline(QueryInst)已經有了很大提升(約1.7個百分點),但是沒有充分發揮出跟蹤器對檢測結果的作用,在添加了特征融合模塊后,MTFA比較添加跟蹤器的方法也有了一定提升。這表明好的跟蹤結果對于視頻實例分割的作用是巨大的,因為MTFA特征融合的模塊建立在運動跟蹤的結果之上,所以不能單獨作消融實驗,可以看到MTFA兩個模塊在視頻實例分割任務中是相輔相成的。
MTFA的網絡主要包含兩個超參數,注意力模塊個數K和支持幀數量T,為了充分探討網絡受超參數的影響,對于K在T=4的情況下使用不同的K進行了實驗,比較了不同參數下網絡的性能,結果如表4所示。

表4 不同數量的注意力模塊對于網絡性能的影響
表4顯示了在 FA 中使用不同數量的時間注意塊的效果。 隨著K從 1 增加到 4,AP從 37.9%增加到 38.3%。 這表明使用更多的時間注意力塊可以提高準確性。但當K大于4時性能飽和且消耗更多資源。因此,選擇K=4作為默認設置。
關于T的數量對性能的影響,也對此進行了實驗,此時將K設置為4,結果如表5所示。

表5 不同數量的支持幀對網絡性能的影響
表5顯示了不同數量支持幀對網絡性能的影響??梢钥吹?,支持幀數量從2~4的提升很大,4~6性能不變,6~8性能下降,推斷是此時融合了過多噪聲信息并且最后直接對特征使用加和操作導致無法過濾無用信息導致的。因此將支持幀個數T設置為4。
圖6展示了MTFA在Youtube-VIS數據集和部分自己測試數據使用ResNet-101為骨干網絡得到的可視化結果,以一個視頻的5幀為例,前后幀中同一實例用相同顏色的掩碼進行標記。
第一列展示了同一實例不同姿態以及部分遮擋的分割結果,總體來說分割效果是比較好的,但是在毛發邊緣模糊的部分分割效果不是太好。 第二列展示了多個同類實例高速運動和大量重疊時的分割結果,可以看到MTFA無論分割還是追蹤效果都非常出色,圖片中的物體微小的邊角也被識別分割出來,分割邊緣也比較清晰。第三列展示了兩個同類物體靠近交錯時的跟蹤效果和分割結果,可以看到在實例交錯時,分割掩碼邊緣仍然是清晰沒有雜亂的,追蹤也沒有混亂。
本文提出了一種基于運動跟蹤和注意力特征融合的方法 MTFA。該方法充分利用運動信息和特征相似性加強了對實例身份的跟蹤操作,并利用跟蹤結果對模糊不清或被遮擋的幀中實例進行特征融合從而實現更好的分割。MTFA在 Youtube-VIS 2019 和 Youtube-VIS 2021 測試中對比目前許多主流方法都取得了相當有競爭力的結果。此外,經過消融研究表明,MTFA的運動跟蹤和注意力特征融合結合的模塊可以顯著提高視頻實例分割的性能。