動機
1、執行個體分割是計算機視覺的基本任務之一。 雖然在圖像分割方面取得了重大進展,在視訊中分割執行個體方面,還需要額外做更多的研究進行攻克。
2、最先進的方法通常是開發複雜的流程來解決這項任務。自上而下的方法遵循逐檢測跟蹤的範式,嚴重依賴于圖像級别的執行個體分割模型複雜的人工設計規則來關聯執行個體。 自下而上的方法通過聚類學習的像素嵌入來分離對象執行個體。 因為嚴重依賴在密集的預測品質上,這些方法通常需要多個步驟來疊代生成掩碼,這使得它們變慢。 是以,為了解決VIS任務,使用一個簡單的、端到端可訓練的VIS架構是大勢所趨。
方法簡介
視訊幀包含比單一圖像更豐富的資訊,如運動模式和執行個體的時間一緻性,提供有用的線索,例如分割和分類。同時,學習更好的執行個體特征有利于跟蹤執行個體。本質上,執行個體分割和執行個體跟蹤都涉及了相似性學習,即執行個體分割是學習像素級的相似性,執行個體跟蹤是學習相似性執行個體之間的關系。是以,在同一執行個體分割的架構下,可以無縫而自然地實作了執行個體跟蹤。 Transformers以自注意力為核心,旨在基于它們之間的所有配對相似性學習和更新特征。Transformers在NLP被廣泛地應用于序列學習,并也逐漸應用于視覺領域中。是以,将圖像、視訊等模式(如點雲處理)放到Transformers架構中,統一大多數不同的視覺任務成為可能。Transformers能夠模組化遠端依賴關系,是以可以很自然地應用于視訊來學習跨多個幀的時間資訊。由于Transformers提供了建構塊,它能夠為VIS設計一個簡單和端到端的架構,是以,本論文提出了一種新的基于Transformers的視訊執行個體分割架構VisTR,不僅你能夠解決這兩個子任務并互相受益,而且有利于任務的執行效果。該架構将VIS任務視為一個直接的端到端并行序列解碼/預測問題。給定一個由多個圖像幀組成的視訊剪輯作為輸入,VisTR直接按順序輸出視訊中每個執行個體的掩碼序列。其核心是一種新的、有效的執行個體序列比對和分割政策,該政策将執行個體作為一個整體在序列級進行監督和分割。與現有的方法有很大的不同,VisTR将執行個體分割和跟蹤用相似度學習的概念來描述,大大簡化了整個流水線。
方法細節
整個VisTR的流水線如下圖所示:在第一階段,給定一個視訊幀序列,由标準的CNN子產品提取單個圖像幀的特征,然後将多個圖像特征按幀順序級聯,形成剪切級特征序列。在第二階段,Transformers将剪切級特征序列作為輸入,以順序輸出一個目标預測序列。如下圖所示,相同的形狀表示對同一圖像的預測,相同的顔色表示不同圖像的相同執行個體。預測的順序遵循輸入圖像的順序,并且每個圖像的預測遵循相同的執行個體順序。這樣,在相同的執行個體分割架構下,實作了無縫、自然的執行個體跟蹤。
為了實作上述目标,将面臨兩個挑戰:1)如何保持輸出的順序;2)如何從Transformer網絡中擷取每個執行個體的掩碼序列。 本文引入了執行個體序列比對政策和執行個體序列分割子產品來解決這兩個挑戰。執行個體序列比對政策是在輸出執行個體序列和實際執行個體序列之間形成二部圖比對,并将該序列作為一個整體來進行。這樣就可以直接維持輸出的順序。執行個體序列分割子產品通過自注意力機制在多個幀上累積每個執行個體的掩碼特征,并通過3D卷積對每個執行個體的掩碼序列進行分割。
總體VisTR架構如下圖所示。它主要由四個子產品組成:一個用于提取多幀緊湊特征表示的CNN主幹、一個用于模組化像素級和執行個體級特征相似性的編碼器-解碼器轉換器、一個用于監督模型的執行個體序列比對子產品和一個執行個體序列分割子產品。

- 一個用于提取多幀緊湊特征表示的CNN主幹:主幹是用來提取輸入視訊剪切的原始像素級特征序列。首先,一個标準的CNN主幹為每一幀生成一個較低分辨率的激活圖,然後對每一幀的特征進行串聯,形成剪切級特征映射。
- 一個用于模組化像素級和執行個體級特征相似性的編碼器-解碼器轉換器:首先對上述特征圖進行1×1卷積,将維數做降級處理,得到新的特征圖。
- 編碼器:為了形成可輸入Transformers編碼器的剪切級特征序列,将新得到的特征圖的空間維和時間維flatten為一維,得到降了維的二維特征圖。請注意,時間順序始終與初始輸入的順序一緻。每個編碼器層都有一個标準體系結構,它由一個多頭自注意機制和一個完全連接配接的前饋神經網絡(FFN)組成。
- 位置編碼:Transformers結構是排列不變的,而序列任務需要精确的位置資訊。為了補償這一點,用固定的位置編碼資訊來補充特征,該資訊包含剪切中的三維(時間、水準和垂直)位置資訊。在這裡,将原Transformers中的位置編碼調整為3D情況。對于每個次元的坐标,分别使用不同頻率的正弦和餘弦函數。因為三維的位置編碼應該被級聯以形成最終的多通道位置編碼。這些編碼被添加到每個注意力層的輸入中。
- 解碼器:Transformers解碼器旨在解碼能夠代表每幀執行個體的頂部像素特征,稱為執行個體級特征。在DETR的基礎上,還引入了固定數量的輸入嵌入來查詢像素特征中的執行個體特征,稱為執行個體查詢。執行個體查詢由模型學習,并與像素特征具有相同的尺寸。取編碼器輸出E和N個執行個體查詢Q作為輸入,Transformers解碼器輸出N個執行個體特征。整體預測遵循輸入幀順序,不同圖像的執行個體預測順序相同。這樣,通過直接連結對應索引的項,就可以實作對不同幀中執行個體的跟蹤。
- 一個用于監督模型的執行個體序列比對子產品:VisTR在一次通過解碼器的過程中推斷出N個預測的固定大小序列。該架構的一個主要挑戰是在不同的圖像中保持同一執行個體預測的相對位置。為了找到相應的ground truth,并将執行個體序列作為一個整體進行監督,我們引入了執行個體序列比對政策。
- 二部圖比對:為了找到兩個集合之間的一個二部圖比對,使用了一個代價最低的n個元素的組合排列方法。最優配置設定可以通過Hungarian算法做有效地計算。由于直接計算掩碼序列相似度的計算量很大,找到了一個替代方法,即box序列來進行比對。為了獲得box預測,将一個由ReLU激活函數和一個線性投影層組成的三層前饋神經網絡(FFN)用于Transformers解碼器的目标預測。與DETR的做法相同,FFN預測輸入圖檔的框的歸一化中心坐标、高度和寬度,線性層使用softmax函數預測類标簽。另外還添加了一個“background”類來表示沒有檢測到任何目标。基于上述标準,可以通過Hungarian算法找到序列的一對一比對。給定最優配置設定,可以計算損失函數,即計算之前所有比對對的Hungarian損失。比對損失既考慮了類預測,又考慮了預測框和真實框的相似性。損失是類預測的負對數似然、執行個體序列的box損失和掩碼損失的線性組合。在計算比對成本和Hungarian損失給邊界框評分之後,做序列級L1損失和IOU損失的線性組合。
- 一個執行個體序列分割子產品:例序列分割子產品的目的是為每個執行個體預先指定掩碼序列。為了實作這一目标,該模型首先需要對每個執行個體的多個多幀的掩碼特征進行累加,然後對累加的特征進行掩碼序列分割。
- 通過計算目标預測與Transformers編碼特征之間的相似映射得到掩模特征,為簡化計算,對每個目标預測隻計算其對應幀的特征。對于每一幀,目标預測和相應的編碼特征被饋送到自注意力子產品,以獲得初始注意力映射。然後遵循DETR的相似做法,将注意力映射與相應幀的初始主幹特征以及Transformers編碼後的特征進行融合。融合的最後一層是可變形卷積層。這樣,就得到了不同幀的每個執行個體的掩模特征。遵循将執行個體序列作為一個整體的相同靈感,不同的架構中同一執行個體的掩碼特征應該互相傳播和加強。利用三維卷積來實作它。将多個幀的執行個體掩碼特征做特征級聯形成執行個體序列掩碼特征,執行個體序列分割子產品以執行個體序列掩碼特征為輸入,輸出掩碼序列直接表示執行個體。
- 這個子產品包含三個三維卷積層和具有ReLU激活函數的組歸一化層。在最後一個卷積層之後不進行歸一化或激活,最後一層的輸出通道号為1。這樣,就得到了多幀的執行個體掩碼。監督預測的掩碼損失是結合Dice和Focal loss計算的。
CVPR 2021 End-to-End Video Instance Segmentation with Transformers
實驗細節
基本參數配置:由于YouTube-VIS中一個視訊的最多标注36幀,将輸入視訊剪切的預設長度設定為36。是以,不需要任何後處理來關聯一個視訊中的不同片段,這使得用到的模型完全是端到端的訓練的。模型為每幀預測10個目标,是以總的目标查詢數為360個。對于Transformers,使用6個編碼器,6個包含8個寬度為384的注意力頭的解碼器層。除非另有說明,ResNet-50被用作模型的骨幹網,并且使用了與DETR相同的超參數。
訓練過程:該模型用Pytorch-1.6實作。通過AdamW對網絡進行訓練,将初始Transformers的學習速率設為0.0004,主幹網的學習速率設為0.0004,權重衰減率設為0.0004。對模型進行了10次訓練。用在COCO上預訓練的DETR的權重來初始化骨幹網。這些模型是在8個32G記憶體的V100 GPU上訓練的,每個GPU有一個視訊剪切。幀大小被降采樣到300×540以适應GPU記憶體。
推理過程:在推理過程中,遵循與訓練相同的規模配置。相關執行個體不需要後處理。将保留分數大于0.001的執行個體。所有幀的平均得分被用作執行個體得分。對于在不同架構中被分類為不同類别的執行個體,使用最快速預測的類别作為最終執行個體類别。
在YouTube-VIS資料集上進行了實驗,該資料集包含2238個訓練視訊、302個驗證視訊和343個測試視訊片段。資料集的每個視訊都用每個像素的分割掩碼、類别和執行個體标簽進行标注。一共40個目标類别。由于測試集評估是關閉的,在驗證集中評估提出的VisTR方法。評價名額為平均精度(AP)和平均召回(AR),以掩碼序列的視訊交集(IoU)作為門檻值。VisTR在所有現有的VIS模型中表現出最高的速度,在YouTube-VIS資料集上使用單一模型的方法中更是表現出最好的效果,在掩碼mAP中以27.7FPS(57.7FPS,如果不包括資料加載)的速度實作了35.3%,這是方法中最好和最快的單一個模型方法。首次展示了一個基于Transformers的更簡單、更快速的視訊執行個體分割架構,實作了具有競争力的精确度。
結論
首次展示了一個基于Transformers的更簡單、更快速的視訊執行個體分割架構,實作了具有競争力的精确度。
VisTR從相似性學習的新角度解決了VIS問題。
成功的關鍵是一個新的政策,即序列比對和分割。這個政策使VisTR能夠在整個序列層面上對執行個體進行監督和細分。