【未完待續】論文閱讀《SegFlow: Joint Learning for Video Object ...》
Abstract
本文提出了一種端到端的可訓練網絡 SegFlow,用于同時預測視頻中的像素級對象分割和光流。 提出的 SegFlow 有兩個分支,其中對象分割和光流的有用信息在統一框架中雙向傳播。 分割分支基于全卷積網絡,在圖像分割任務中已被證明是有效的,光流分支利用了FlowNet模型。統一框架離線迭代訓練以學習通用概念,并針對特定對象在線微調 . 對視頻對象分割和光流數據集的大量實驗表明,與最先進的算法相比,引入光流可以提高分割性能,反之亦然。
Introduction
由于自動駕駛 [15, 9, 33]、視頻監控 [40, 10, 20] 和虛擬現實 [1] 等眾多視覺應用,視頻分析近年來備受關注。 要了解用于視覺任務的視頻內容,必須了解對象的狀態(例如,位置和分段)和運動信息(例如,光學流)。 在本文中,我們同時解決了這些問題,即視頻對象分割和光流估計,其中已知這兩個任務彼此密切相關 [41, 35]。 圖 1 說明了本文的主要思想。
對于視頻對象分割【25】,它假設對象掩碼在第一幀中是已知的,目標是在整個視頻中分配像素方向的前景/背景標簽。為了保持時間連接的對象分割,光流通常用于提高整個時間的平滑度[28]。然而,流量估計本身是一個具有挑戰性的問題,而且往往不準確,因此所提供的信息并不總是有助于分段。例如,當對象快速移動時,光流方法【2、5、37】在捕獲運動方面無效,因此在對象內生成不完整的流(示例見圖4)。為了克服這個問題,帶來客觀性信息(即分段)可以指導算法確定流應該平滑的位置(在對象內)。已經開發了一些算法來利用上面討論的客觀性和運動中的信息。在【41】中,提出了一種同時執行對象分割和流估計的方法,然后迭代更新兩個結果。但是,整個過程都是在線優化的,而且很耗時,這限制了對其他任務的適用性。
基于上述觀察,我們提出了一種基于學習的方法來聯合預測視頻中的物體分割和光流,這使得在測試過程中能夠有效地推理。我們設計了一個統一的、端到端可訓練的卷積神經網絡(CNN),我們稱之為SegFlow,它包含一個用于對象分割的分支,另一個用于光流的分支。對于每個分支,我們學習每個任務的特征表示,其中分段分支側重于客觀性,而光學流則利用運動信息。為了橋接兩個分支以相互幫助,我們雙向傳播學習到的特征表示。因此,來自一個分支的這些特征可以促進另一個分支,同時在反向傳播期間獲得有用的梯度信息。
該網絡的一個貢獻是雙向體系結構,只要分支的兩個目標密切相關,并且可以聯合優化,就可以實現兩個分支之間的通信。為了訓練這個聯合網絡,需要一個具有兩個任務(即本文中的前景分割和光流)的的大數據集。但是,此類數據集可能不存在或難以構建。為了放松這種約束,我們開發了一種迭代訓練策略,一次只需要一個ground truth,這樣目標函數仍然可以被優化并收斂到一個解決方案,其中兩個任務都能獲得合理的結果。
為了評估我們提出的網絡,我們在視頻對象分割和光流數據集上進行了廣泛的實驗。我們比較了DAVIS分割基準【29】上的結果,無論是否提供運動信息,并評估Sintel [6]、飛椅【12】和場景流【26】數據集上的光流性能。此外,還對網絡融合進行了分析,以演示我們的培訓策略。我們證明,通過特征傳播的雙向網絡在視頻對象分割和光流任務中的視覺質量和準確性方面都優于最先進的算法。
這項工作的貢獻概述如下:
·我們提出了一個端到端可訓練框架,用于同時預測視頻中的像素前景對象分割和光流。
·我們證明了光流和視頻對象分割任務是互補的,可以通過雙向框架中的特征傳播相互幫助。
·我們開發了一種方法來訓練所提出的聯合模型,而不需要包含分割和光流地面真相的數據集。
Related Work
Unsupervised Video Object Segmentation
無監督方法的目的是在不了解對象的情況下分割前景對象(例如,初始對象掩碼)。已經提出了幾種通過【31,11,42】、光流【4,28】或超級像素【17,46,13】生成對象分割的方法。為了合并更高級別的信息,如客觀性,對象建議用于跟蹤對象片段并通過視頻生成一致的區域[22, 23]。然而,這些方法通常需要大量的計算負載來生成區域建議并關聯數千個段,這使得這些方法僅適用于離線應用程序。
Semi-supervised Video Object Segmentation
半監督方法【14,47,27】假設第一幀中的對象掩碼是已知的,并通過視頻跟蹤此對象掩碼。為了實現這一目標,現有的方法側重于傳播超級像素【19】、構建圖形模型【25,41】或利用對象提案[30]。最近,基于CNN的方法【21,7】是通過結合靜態圖像的離線和在線訓練過程來開發的。雖然已經取得了顯著的性能,但分段結果并不能保證在時間域中是平滑的。在本文中,我們使用CNN聯合估計光流,并提供學習到的運動表示,以生成跨時間的一致分割。
Optical Flow
將光流應用于視頻對象分割以保持運動一致性是常見的。其中一類方法是求解粗到細格式中的變分能量最小化問題【2,5,37】。為了更好地確定圖像之間的對應關系,開發了基于匹配的優化算法【43,32】。其中這些方法通常需要更長的處理時間。另一方面,基于學習的方法更有效,這可以通過高斯混合模型【34】、主成分【44】或卷積網絡【12,26】來實現。考慮到效率和準確性,我們在本工作中應用FlowNet [12]作為我們的基線,同時我們建議通過從分割網絡中饋送信息來改善光流結果,而上述方法并未研究這一點。
Fusion Methods
利用分層模型研究了視頻分割和流量估計的聯合問題[8, 38]。然而,這些方法在推理過程中依賴于復雜的優化,從而限制了它們的應用。最近,在考慮光流的同時,在視頻對象分割的方向上做出了重大努力。在【21】中,開發了一個使用預先計算的光流作為額外輸入以改善分割結果的網絡。與這項工作不同的是,我們的模型只需要圖像作為輸入,我們的目標是共同學習有用的運動表示,以幫助分割。
最接近我們工作的范圍是ObjectFlow算法(OFL) [41],它制定了一個目標函數,以迭代優化分割和光流能量函數。然而,這種方法是在線優化的,因此計算昂貴。此外,在更新光流估計之前,它需要分割結果。相反,我們提出了一個端到端可訓練的框架,用于同時預測像素前景對象分割和光流。
SegFlow
我們的目標是分割視頻中的對象,以及估計幀之間的光流。為此,我們構建了一個具有兩個分支的統一模型,一個基于全卷積網絡的分割分支和基于FlowNetS的非光流分支【12】。
由于缺乏具有分割和光流注釋,我們初始化在不同數據集上訓練的傳統模型中的兩個分支的權重,并通過迭代離線訓練和在線微調優化SegFlowon分割和光流數據集。在下文中,我們首先介紹了每個分段和光流分支的基線模型,并解釋了如何利用所提出的雙向結構構建聯合模型。我們提出的關節模型的整體體系結構如圖2所示。
圖2。上圖為SegFlow體系結構。我們的模型由兩個分支組成,一個是基于全卷積ResNet-101的分段網絡,另一個是使用FlowNetS [12]結構的流分支。為了在兩個分支之間構建通信,我們設計了一個在上采樣階段橋接兩個網絡的體系結構。具體來說,特征映射通過不同尺度的級聯雙向傳播,并進行適當的操作(即,上采樣或下采樣),以匹配不同特征的大小。然后,采用迭代訓練方案,聯合優化分割任務和光流任務的損失函數。
3.1 Segmentation Branch
受全卷積網絡在圖像分割中的有效性【24】和圖像分類中的深度結構【18,36】的啟發,我們基于ResNet-101架構【18】構建了我們的分割分支,但對二進制(前景和背景)分割預測進行了修改,如下所示:1)刪除用于分類的全連接層,2)將不同級別的卷積模塊的特征融合在一起,以便在上采樣期間獲得更多細節。
ResNet-101有五個卷積模塊,每個模塊由幾個卷積層、Relu、跳過鏈接和模塊后的池化操作組成。具體來說,我們在池化操作后從第3到第5卷積模塊繪制特征圖,其中評分圖的大小分別為輸入圖像大小的1/8、1/16、1/32。然后,這些分數圖被上采樣并求和在一起,以預測最終輸出(圖2中的上分支)。
在優化過程中使用了帶有softmax函數E的像素交叉熵損失。為了克服前景和背景區域之間的像素數不平衡,我們使用【45】中采用的加權版本,損失函數定義為:
其中i,j表示前景fg和背景bg的像素位置,yij表示輸入圖像X在幀t處的每個像素的二進制預測,w計算為前景-背景像素數比。
3.2 Optical Flow Branch
考慮到效率和準確性,我們選擇FlowNetS[12]作為流量估計的基線。光流分支使用編碼器-解碼器架構,帶有額外的跳過鏈接,用于特征融合(編碼器和解碼器之間的特征級聯)。此外,編碼器的每個步驟都使用向下縮放操作,其中解碼器的每個步驟都會對輸出進行上采樣(參見圖2中的下部分支)。基于這樣的結構,我們發現它與分割分支共享相似的屬性,它們的特征表示在相似的尺度上,這使得與分段模型的合理連接,反之亦然,我們將在下一節中介紹。
為了優化網絡,光流分支使用【12】中采用的端點誤差(EPE)損耗,定義如下:
其中uij, vij表示輸入圖像從Xt到Xt+1的像素(i,j)處的運動,δuij和δvij是網絡預測。我們使用幀t和t+1處的圖像,因為計算的光流應該與幀t處的分割輸出(例如,對象邊界)對齊,以便它們的信息可以在以后自然地組合。
3.3 Bi-directional Model
為了在兩個分支之間進行如上所述的通信,我們提出了一個統一的結構SegFlow,以聯合預測分段和光流輸出。因此,新的優化目標變成求解以下組合(1)和(2)的損失函數:L(X) = Ls(X) + λLf (X)。如圖2所示,我們的體系結構在兩個分支之間以不同的尺度雙向傳播特征圖,以進行最終預測。例如,分段分支中每個卷積模塊的特征首先被上調(以匹配光流特征的大小),然后級聯到光流分支。在將特征從分段傳播到流時,也采用了類似的操作。請注意,在融合特征用于網絡預測之后,還使用卷積層(通道號等于輸出通道號),進一步正則化來自分段和光流分支的信息。
與直接使用最終輸出來幫助這兩個任務【41】不同的是,我們在這里利用特征空間中的信息。一個原因是,我們的網絡能夠在不同的尺度上學習有用的特征表示(例如,客觀性和運動)。此外,隨著模型容量的增加,但不會為訓練網絡增加太多負擔,聯合模型比單個分支學習更好的表示。例如,單流網絡沒有能力學習類似于分段分支的表示,而我們的模型為兩個任務提供了共享其表示的機會。請注意,我們的雙向模型并不限于當前的體系結構或任務,而它應該是一個可應用于共同相關任務的通用框架。
4 Network Implementation and Training
在本節中,我們將介紹有關如何訓練網絡的更多詳細信息。要成功訓練聯合模型,需要一個具有分割和光流地面真值的大規模數據集。然而,構建這樣的數據集是不可行的。相反,我們開發了一個訓練過程,通過迭代更新兩個分支并逐步優化目標函數,一次只需要一個GT。此外,還為這兩個任務描述了數據增強策略,以增強數據分布的多樣性,并匹配所提出模型的需要。
4.1 Network Optimization
首先,我們通過迭代更新兩個分支來學習一個通用模型,其中分段網絡在此階段的目標是分段移動對象。為了關注特定對象(使用第一幀中的掩碼),然后我們微調DAVIS數據集每個序列上的分段分支模型,以便在線處理。
Iterative offline Training
為了開始訓練聯合模型,我們分別使用ResNet-101 [18]和FlowNetS [12]的權重初始化兩個分支。在優化分段分支時,我們凍結光流分支的權重,并在DAVIS訓練集上訓練網絡。我們使用批次大小為1的SGD優化器進行訓練,從學習率1e-8開始,每10000次迭代將其減少一半。
對于訓練光流分支,同樣,我們修復分段分支,并僅使用目標光流數據集更新流網絡中的權重(如第5.1節所述)。為了平衡兩個不同損失之間的權重,我們在(2)中對EPE損失使用較小的學習率1e-9,在第3.3節中解決了合并損失中的λ。請注意,為了決定何時將訓練過程切換到另一個分支,我們隨機拆分驗證集,并在驗證集上的錯誤達到收斂時停止訓練當前分支。此外,此驗證集還用于選擇相對于迭代編號【12】的最佳模型。
對于這個迭代學習過程,每次網絡專注于分支中的一個任務,同時通過特征傳播從另一個分支獲得有用的表示。然后,在切換到訓練另一個分支后,從上一階段學習到的更好的特征將用于當前優化的分支。我們展示了一個例子,說明網絡如何通過迭代訓練圖3中的兩個分支(三輪)逐漸走向收斂。此外,圖4顯示了迭代更新流量估計期間的視覺改進。
圖4。迭代改進DAVIS上的光流結果。給定一個輸入圖像,我們顯示了初始模型FlowNetS [12]的流量估計,以及我們在第一輪和第二輪優化SegFlow期間的結果。優化過程中,結果逐步改善。
Online Training for Segmentation
離線訓練的模型能夠將運動對象與視頻分離。為了在特定對象上調整模型以進行在線處理,我們使用每個單獨序列上的第一幀中的對象掩碼微調分段網絡。在這里,我們在半監督設置中在線調用進程,因為在測試序列之前,模型需要在第一幀中使用掩碼的指導更新。
然后,每個掩碼都被擴展到兩個分支的多個訓練樣本,以增加數據多樣性(如第4.2節所述)。在數據增強之后,我們使用離線階段引入的相同訓練策略,固定學習率為1e-10。在此階段,我們注意到流分支仍然為分段提供運動表示,但不更新參數。
4.2 Data Augmentation
Segmentation
我們使用DAVIS基準【29】的預定義訓練集來訓練分段分支。由于這個訓練集相對較小,我們采用仿射變換(即,移位、旋轉、翻轉)為每幀生成一千個樣本。由于流分支需要兩個相鄰幀作為輸入,因此每個仿射變換都在整個序列中執行,以在訓練期間保持幀間(時間)一致性(示例見圖5)。
Optical Flow
離線訓練步驟期間的流數據是按照分段描述的方法生成的。但是,當使用測試集視頻的第一幀訓練在線模型時,我們無法訪問其下一幀。為了解決這個問題,我們提出了一種光流數據增強策略。首先,我們用分割中使用的轉換方法來增強第一個幀。然后,基于每個圖像及其對象掩碼,我們通過稍微變形前景對象區域來模擬對象運動,以生成合成的“下一幀”。由于我們在此在線階段只關注特定對象,因此由對象移動引起的缺失區域可以被視為遮擋,并保留為空(黑色)區域。我們發現這種綜合策略對于訓練是有效的,而不會損害網絡屬性(示例見圖5)。
5 Experimental Results
5.1 Dataset and Evaluation Metrics
DAVIS基準【29】是最近發布的高質量視頻對象分割數據集,由50個序列和3455個真實世界運動對象的注釋幀組成。DAVIS中的視頻也根據各種屬性進行分類,如背景雜波(BC)、變形(DEF)、運動模糊(MB)、快速運動(FM)、低分辨率(LR)、遮擋(OCC)、視外(OV)、比例變化(SV)、外觀變化(AC)、邊緣模糊性(EA)、相機抖動(CS)、異構對象(HO)、有趣對象(IO)、動態背景(DB)、形狀復雜度(SC),如圖6所示。我們使用預定義的訓練集來優化我們的框架及其驗證集來評估分段質量。
對于光流,我們首先使用MPI Sintel數據集【6】,該數據集包含合成場景中的1041對圖像,其中包含沒有運動模糊和大氣效果的圖像,以及具有復雜環境變量的圖像的最終版本。其次,我們使用了基蒂數據集【16】,它有389對真實世界駕駛場景的流圖。最后,我們使用場景流數據集【26】,這是一個最近為流量估計建立的大規模合成數據集。考慮到現實主義,我們使用了兩個子集,蒙卡和駕駛,其中蒙卡有24個視頻序列的集合,有超過34000個光流注釋,而駕駛有8個視頻,有大約17000個注釋。與Sin-tel類似,駕駛和蒙卡都提供了兩個版本:清晰的圖像清潔和更逼真的圖像最終。
由于場景流數據集中沒有指定確切的訓練和測試集,因此我們將自己的集拆分以進行比較(訓練和驗證集不相交)。對于蒙卡,我們使用三個視頻(吃× 2, f下風暴×2,龍樹×2)作為驗證集,并使用21個序列的其余部分進行訓練。對于駕駛,選擇7個視頻進行訓練,并使用具有15mm焦距、場景前進和快速屬性的視頻進行測試。請注意,蒙卡和駕駛中的每個視頻都有左右兩個視圖,這導致蒙卡上的63400個培訓和5720個驗證對,以及駕駛上的32744個培訓和2392個驗證對。
5.2 Ablation Study on Segmentation
為了分析擬議框架中每個步驟的必要性和重要性,我們對DAVIS進行了廣泛的消融研究,并在表1中總結了結果。我們通過將所提出的SegFlow與沒有在線訓練(-ol)、迭代訓練(-it)、離線訓練(-of)和流分支(-flo)的方法進行比較來驗證我們的方法。具體設置如下:
ol:僅使用離線訓練,而不使用第一幀中的監督信息,這被歸類為非監督視頻對象分割。
it:僅為每個分段和光流分支訓練一次模型。
of:使用第一幀中的對象掩碼及其增強直接在測試視頻上訓練模型。
flo:僅使用分段分支,而不使用流網絡的特征傳播。
表1顯示,離線培訓在產生更好的結果方面發揮了重要作用,提高了21%的Jmean。它證明了網絡需要一個通用模型來在在線微調之前發現移動對象。結合的在線和迭代策略還將整體J均值提高了7.9%。與不使用流分支的模型相比,我們的聯合模型不僅提高了Jmean,而且在時間上產生了平滑的結果,導致Tmean顯著提高了5.6%。
我們在表1中評估了數據增強步驟的有效性。如果沒有分段(-sda)和增強流數據(-fda)的數據增強,性能都會在J均值方面下降。此外,在不增加流量數據(-fda)的情況下,T平均值更差,這表明了第4.2節中描述的合成數據的重要性。
5.3 Segmentation Results
表2顯示了DAVIS驗證集的分段結果。我們通過考慮圖像及其翻轉圖像的預測,并平均兩個輸出以獲得最終結果,其中我們稱為我們的2,來提高性能。在不增加太多計算成本的情況下,我們進一步提高了J均值1.3%。我們將所提出的SegFlow模型與最先進的方法進行了比較,包括無監督算法(FST[28]、CVOS [39]、KEY [22]、NLC [11]),和半監督方法(OVOS[7]、MSK [21]、OFL [41]、BVS [25])。
在無監督算法中,我們的SegFlow模型無論是否有流分支,都與其他方法相比表現良好,并有顯著的改進(在J均值中超過10%)。對于半監督方法,我們的模型與OSVOS [7]和MSK [21]競爭,其中它們的方法需要額外的輸入(即,OSVOS中的超級像素和MSK中的光流與CRF細化)以實現更高的性能,而我們的方法只需要圖像作為輸入。此外,我們還顯示了與沒有流分支的模型相比的一致改進,特別是在時間精度(T均值)方面,這表明從流網絡學習的特征表示有助于分割。
圖6顯示了不同方法的基于屬性的性能(Jmean)。我們的無監督方法(離線訓練)在除動態背景(DB)外的所有屬性上都表現良好。一個可能的原因是,由于背景的復雜性,從流分支生成的運動表示可能不準確。圖7給出了一些分割的示例結果。該模型能夠從流量估計中恢復對象的缺失區域,該區域顯然是一個完整區域。補充材料中提供了每個序列的全面比較和更多結果。
5.4 Optical Flow Results
表3和表4顯示了擬議SegFlow模型的平均終點誤差,以及與其他最先進方法的比較,包括我們在流分支中使用的基線模型(FlowNetS)。為了驗證我們的聯合訓練方案的有效性,我們使用飛行椅數據集【12】上的預訓練FlowNetS作為基線,并使用FlowNetS和我們的SegFlow模型對目標數據集進行微調以進行比較。
我們注意到,【12】中使用的數據層是專門為FlowNetS設計的,因此我們不能直接將其應用于我們的模型。因此,我們使用各種訓練數據報告性能,其中FlowNetS+ft表示【12】中報告的結果,FlowNetS+ft表示使用與SegFlow中使用的相同訓練數據微調的模型。因此,我們表明,我們的SegFlow模型與FlowNetS+ft的結果一致地改善了端點誤差,這驗證了合并來自分段分支的信息的好處。在KitTI上,沒有任何數據增強的SegFlow甚至優于使用廣泛數據增強的FlowNetS+ft。然而,我們觀察到,我們的模型略微過于適合Sintel上的數據,因為需要在比其他數據集小得多的數據集上進行數據擴展。
在表4中,我們還比較了蒙卡和駕駛的訓練和驗證集上的結果與場景流網【26】,并表明我們的方法對它的性能是有利的。圖8顯示了光流的一些視覺比較。直觀地,分段提供了指導流網絡估計與分段輸出對齊的輸出的信息(例如,分段內的流是平滑和完整的)。補充材料提供了更多的結果和分析。
5.5 Runtime Analysis
對于離線訓練的模型,建議的SegFlow在具有12 GB內存的Titan X GPU上每幀0.3秒內同時預測兩個輸出(分段和光流)。當考慮到在線培訓步驟時,我們的系統在DAVIS驗證集上平均每幀運行7.9秒。與OFL(光流生成每幀30秒,優化每幀90秒)、MSK(每幀12秒)和OSVOS(最佳性能每幀10秒以上)等其他方法相比,我們的方法更快,可以輸出光流的額外結果。
6 Concluding Remark
本文提出了一種端到端可訓練網絡SegFlow,用于視頻目標分割和光流估計的聯合優化。我們證明,有了這種聯合結構,分割和光流都可以通過雙向特征傳播來改善。為了訓練聯合模型,我們通過開發迭代訓練策略,放松了需要前景分割和光流地面真相的大型數據集的約束。我們通過廣泛的消融研究驗證了聯合訓練方案的有效性,并表明我們的方法在視頻對象分割和光流任務上都表現良好。所提出的模型可以很容易地適應其他體系結構,并可用于聯合訓練其他共同相關任務。
神經網絡 視頻
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。