1. 程式人生 > >《Blazingly Fast Video Object Segmentation with Pixel-Wise Metric Learning》論文筆記

《Blazingly Fast Video Object Segmentation with Pixel-Wise Metric Learning》論文筆記

在當前網際網路時代,記錄和分享了大量不可估量的多媒體資料。其中,視訊是最常見和最豐富的模式之一,儘管它也是處理成本最高的模式之一。因此,快速精確的視訊處理演算法對於實際應用變得至關重要。視訊物件分割(即,將視訊序列的畫素組分類為感興趣的物件和背景)是儘管具有許多且有吸引力的應用的任務當前不能以令人滿意的質量水平和以可接受的方式執行速度。

問題的模式是一種簡單而直觀,但功能強大而且尚未探索的方式。視訊物件分割正在制定為學習嵌入空間中的按畫素檢索。理想情況下,在嵌入空間中,屬於同一個物件例項的畫素靠近在一起,而來自其他物件的畫素則進一步分開。該模型是通過學習完全卷積網路(FCN)作為嵌入模型而構建的,使用為視訊物件分割量身定製的修改後的三重線性丟失,其中沒有給出畫素之間的明確對應關係。

這個公式有幾個主要的優點:首先,所提出的方法是高效的,因為在測試時間內沒有微調,並且它只需要通過嵌入網路的單個正向通路和最近鄰搜尋來處理每個幀。其次,這種方法提供了在統一框架下靈活地支援不同型別的使用者輸入(即點選點,塗鴉,分割掩模等)。而且,嵌入過程與使用者輸入無關。因此,當用戶輸入改變時,嵌入向量不需要重新計算,這使得該方法適用於互動式場景。

互動式視訊物件分段互動式視訊物件分段依靠迭代使用者互動來分割感興趣的物件。已經提出了許多技術來完成這項任務。

深度量度學習深度量學習的關鍵思想通常是通過網路轉換原始特徵,然後直接比較嵌入空間中的樣本。通常,進行度量學習是為了學習影象或補丁之間的相似性,而基於畫素方式度量學習的方法是有限的。

論文描述

這項工作為視訊物件分割提供了一個概念上簡單但非常有效的方法。這個問題是通過修改專門為視訊物件分割而設計的三元組損失來學習嵌入空間中的畫素方式檢索。這樣,視訊上的註釋畫素(通過塗鴉,第一個掩模上的分割,點選等)就是參考樣本,其餘畫素通過簡單且快速的最近鄰近方法進行分類。

提出的架構

問題在於將視訊物件分割視為畫素方式的檢索問題,也就是說,對於視訊中的每個畫素,我們尋找嵌入空間中最相似的參考畫素併為其分配相同的標籤。該方法由兩個步驟組成:

  1. 首先,使用所提出的嵌入網路將每個畫素嵌入到d維嵌入空間中。
  2. 其次,在嵌入空間中執行每畫素檢索以根據其最近的參考畫素將標籤轉移到每個畫素。

使用者輸入來微調模型第一種方法是根據使用者輸入將網路微調到特定物件。

例如, OSVOSMaskTrack等技術根據使用者輸入在測試時間對網路進行微調。處理新視訊時,需要進行多次訓練迭代才能將模型調整為特定的目標物件。這種方法可能非常耗時(每個序列秒數),因此對於實時應用程式來說是不切實際的,特別是對於迴圈中的人。

使用者輸入作為網路輸入注入使用者互動的另一種方式是將其用作網路的附加輸入。這樣,在測試時間不進行培訓。這些方法的缺點是,一旦使用者輸入改變,網路必須重新計算。考慮到大量的幀,這仍然是相當長的時間,特別是對於視訊。

與上述兩種方法相反,在所提出的工作中,使用者輸入與網路計算分開。因此網路的正向傳遞只需要計算一次。在使用者輸入之後的唯一計算是最近鄰居搜尋,這是非常快的並且能夠對使用者輸入進行快速響應。

嵌入模型在所提出的模型f中,其中每個畫素x j,i被表示為d維嵌入向量ej,i = f(xj,i)理想地,屬於相同物件的畫素在嵌入空間中彼此靠近,並且屬於不同物件的畫素彼此遠離。嵌入模型基於ResNet骨幹架構基於DeepLab構建。

  1. 首先,網路是在COCO上進行語義分割的預訓練
  2. 其次,刪除最後的分類層,並用具有d個輸出通道的新卷積層替換它。
  3. 然後微調網路以學習視訊物件分割的嵌入。

deeplab模型是一個基本特徵提取器,並且是作為嵌入頭的兩個卷積層。所得到的網路是完全卷積的,因此一幀中所有畫素的嵌入向量可以在單個正向通道中獲得。對於尺寸為h×w畫素的影象,輸出是張量[h / 8,w / 8,d],其中d是嵌入空間的尺寸。由於FCN被部署為嵌入模型,由於卷積操作的平移不變性質,空間和時間資訊不被保留。形式上,嵌入函式可以表示為:


Train Loss

度量學習的基本思想是將相似的樣本靠近在一起,並將不相似的點推入嵌入空間適當的訓練損失和取樣策略對於學習穩健的嵌入通常是至關重要的。下面我們介紹專門為視訊物件分割設計的訓練損失和取樣策略。

在度量學習文獻中,對比損失[9,13],三重損失[4]及其變體廣泛用於度量學習。然而,我們認為,並且在我們的實驗中驗證,標準損失不適合於手頭的任務,即視訊物件分割,可以說由於視訊中出現物件內變化。換句話說,三重點損失是針對樣本的身份清晰的情況而設計的,視訊物件分割的情況並非如此,因為物件可以由多個部分組成,並且每個部分可能具有非常不同的外觀。因此,將這些樣本彼此靠近,是一個額外的約束條件,可能對學習穩健度量有害。我們用圖3中的一個例子來說明這種效應。


圖3.逐畫素特徵分佈圖:綠色表示來自摩托車的畫素,藍色表示人,黑色背景。本視訊中的感興趣的物件和註釋是人類和摩托車。 然而,來自摩托車和人的特徵位於特徵空間中的兩個叢集中。 關閉這兩個群集對於度量學習可能是有害的。 視覺化由t-SNE完成[21]。

牢記這一點,我們修改標準三元組損失以適應我們的應用。形式上,讓我們把錨樣本稱為xa。 xp∈P是來自正樣本池P的正樣本。同樣,xn表示負樣本,N表示負池。標準三重線的損失會將錨點與負樣本點之間的距離推得更遠。由於我們不想拉近每一對正點(物件的不同部分看起來不同),所以我們修改損失只會比最小正點推得更小的負點,因此損失可以表示為:

其中ij表示j中第i個畫素使用修改的三重損失:


其中α是控制正樣本和負樣本之間差距的鬆弛變數,如標準公式中所示,並且我們將錨定集表示為A.

對於每個錨樣本xa,我們有兩個樣本池:一個正樣本池P,其標籤與錨一致,另一個負樣本N池,其標籤與錨樣本不同。我們將最接近的樣本拿到每個游泳池的錨點,然後比較正距離和負距離。直覺上,損失只推動最接近的負值,同時保持最接近的正值。

Train Strategy

在訓練過程中,我們已經完全註釋了可用的視訊(每幀的物件分段)。為了形成一個有效的三元組來訓練,用於上述損失,我們需要對錨點xa,一個正樣本池P和一個負樣本池N進行取樣。為此,從訓練中隨機抽樣三個幀視訊:從一個我們對錨點進行取樣,另外兩個幀的畫素連線在一起。由此,具有與錨點相同的標籤的畫素形成正池P,其餘的形成負池N.注意,池從兩個不同的幀中取樣以具有時間變化,這對於嵌入頭是需要的學習從特徵向量中加權時間資訊。另外,我們不使用來自池中的錨幀的畫素以避免太簡單的樣本。

在每次迭代中,以一幀作為錨點對三個隨機選擇的幀執行正向傳遞。然後使用錨幀對256個錨樣本進行取樣,並且正和負池都是其他兩幀中的前景和背景畫素。我們根據公式1計算損失,網路以端到端的方式進行訓練。

Experimental Validation

所提出的方法在DAVIS 2016DAVIS 2017資料集上進行評估,無論是在半監督還是互動式情況下。在半監督視訊物件分段(VOS)的情況下,第一幀中的全註釋掩碼作為輸入提供。


DAVIS 2016驗證集的評估結果