ECCV2020 | RecoNet:上下文信息捕獲新方法,比non-local計算成本低100倍以上
點擊上方“小白學視覺”,選擇加"星標"或“置頂”
重磅干貨,第一時間送達

這篇文章收錄于ECCV2020,主要是有關語義分割算法中的上下文信息重建方法,本文中同時考慮了通道維和空間維,可以看作是視覺注意力機制的優(yōu)化與應用。思想其實和CCNet、CVPR2020的條紋池化Strip Pooling相似,這篇可以看作是他們的抽象。
論文地址:https://arxiv.org/abs/2008.00490
代碼地址:https://github.com/CWanli/RecoNet
上下文信息在語義分割的成功中起著不可或缺的作用。事實證明,基于non-local的self-attention的方法對于上下文信息收集是有效的。由于所需的上下文包含空間和通道方面的注意力信息,因此3D表示法是一種合適的表達方式。但是,這些non-local方法是基于2D相似度矩陣來描述3D上下文信息的,其中空間壓縮可能會導致丟失通道方面的注意力。另一種選擇是直接對上下文信息建模而不進行壓縮。但是,這種方案面臨一個根本的困難,即上下文信息的高階屬性。本文提出了一種新的建模3D上下文信息的方法,該方法不僅避免了空間壓縮,而且解決了高階難度。受張量正則-多態(tài)分解理論(即高階張量可以表示為1級張量的組合)的啟發(fā),本文設計了一個從低秩空間到高秩空間的上下文重建框架(即RecoNet)。具體來說,首先介紹張量生成模塊(TGM),該模塊生成許多1級張量以捕獲上下文特征片段。然后,使用這些1張量通過張量重構模塊(TRM)恢復高階上下文特征。大量實驗表明,本文的方法在各種公共數據集上都達到了SOTA。此外,與傳統(tǒng)的non-local的方法相比,本文提出的方法的計算成本要低100倍以上。
簡介
語義分割的目的是為給定的圖像分配像素級的預測,這是一個具有挑戰(zhàn)性的任務,需要精細的形狀、紋理和類別識別。語義分割中的開創(chuàng)性工作完全卷積網絡(FCN),探索了深度卷積網絡在分割任務中的有效性。
最近,更多的工作從探索上下文信息方面取得了很大的進展,其中基于非局部non-local的方法是最近的主流,這些方法通過對上下文特征的重要性進行評級排序來模擬上下文表示。然而,這樣得到的上下文特征缺乏通道維度的重要性,而通道維是上下文的關鍵組成部分。具體來說,對于一個典型的非局部區(qū)塊,由兩個輸入維度分別為H×W×C和C×H×W的矩陣相乘生成二維相似度圖。值得注意的是,在乘法過程中,通道維度C被消除,這意味著只表示空間上的注意力,而通道上的注意力被壓縮。因此,這些基于非局部non-local的方法可以收集細粒度的空間上下文特征,但可能會犧牲通道維度的上下文注意力。
解決此問題的一個直觀想法是直接構造上下文,而不是使用2D相似度圖。不幸的是,由于上下文特征的high-rank高階屬性,該方法面臨著根本的困難。也就是說,上下文張量應該具有足夠的容量,因為上下文因圖像而異,并且這種大的多樣性并不能由非常有限的參數來進行表示。
啟發(fā)于tensor canonical-polyadic decomposition理論,高階張量可以表示為rank-1張量的組合,因此本文提出了一種新的方法,即以漸進的方式對高階上下文信息進行建模,而無需進行通道維的空間壓縮。在圖1中展示了非局部non-local網絡和RecoNet的工作流程,其基本思路是先用一系列低階時序器來收集上下文特征的部分信息,然后將它們組合起來,重建精細的上下文特征。具體來說,本文提出的框架由兩個關鍵部分組成,rank-1張量生成模塊(TGM)和高階張量重構模塊(TRM)。在這里,TGM的目的是在通道、高度和寬度方向上生成rank-1的張量,以低階約束探索不同視圖中的上下文特征。TRM采用tensor canonical-polyadic(CP)重構來重建高階注意力圖譜,其中基于不同視圖的rank-1張量挖掘共現co-occurrence上下文信息。在這兩部分的配合下,實現了高效的高階上下文建模。
在五個公共數據集上測試了本文的方法。在這些實驗中,所提出的方法始終達到最新SOTA水平,特別是對于PASCAL-VOC12數據集,RecoNet達到了top-1的性能。此外,與其他基于non-local的上下文建模方法相比,通過合并簡潔的低秩特征,使得整個模型的計算量更少(比non-local低100倍以上)。
張量分解
根據張量分解理論,張量可以由一系列低秩張量的線性組合表示。這些低秩張量的重建結果是原始張量的主要成分。因此,張量的低秩表示被廣泛用于計算機視覺任務中,例如卷積加速和模型壓縮。有兩種張量分解方法:Tuker分解和CP分解。對于Tuker分解,將張量分解為一組矩陣和一個核心張量。如果核心張量是對角線,那么Tuker分解將退化為CP分解。對于CP分解,張量由一組rank-1的張量(向量)表示。在本文中,將這種理論應用于重構,即從一組rank-1的上下文片段信息中重構高rank的上下文張量。
本文方法
從圖像進行的語義信息預測與上下文信息密切相關。由于上下文的種類繁多,因此需要使用高階張量來表示上下文特征。然而,在這種約束下,對上下文特征進行建模直接意味著巨大的成本。受CP分解理論的啟發(fā),盡管上下文預測是一個高階問題,但可以將其分為一系列低階問題,這些低階問題更易于處理。具體來說,不會直接預測上下文特征,而是會生成其片段。然后,使用這些片段構建一個完整的上下文特征。從低階到高階的重建策略不僅可以維持3D表示(在通道方面和在空間方面),而且還可以解決高階表示難度的問題。
本文的模型的流程如圖2所示,由低階張量生成模塊(TGM),高階張量重構模塊(TRM)和全局池化模塊(GPM)組成,以在空間和通道維度上獲取全局上下文。在語義標簽預測之前,使用雙線性插值對模型輸出進行上采樣。在具體的實現中,使用多個低秩感知器來處理高秩問題,通過該問題可以學習部分上下文信息(即上下文片段)。然后,通過張量重構理論構建高秩張量。

圖2. 框架的流程,主要涉及兩個部分,即張量生成模塊(TGM)和張量重建模塊(TRM)。TGM執(zhí)行低階張量生成,而TRM通過CP構造理論實現高階張量重建。
1、?Tensor Generation Module
Context Fragments.上下文片段定義為張量生成模塊的輸出,該片段表示通道,高度和寬度方向上的一些rank-1向量。每個上下文片段都包含一部分上下文信息。
Feature Generator.定義了三個特征生成器:通道生成器,高度生成器和寬度生成器。每個生成器由Pool-Conv-Sigmoid序列組成。全局池化在以前的工作中作為全局上下文收集方法被廣泛使用。同樣,這里在特征生成器中使用全局平均池,以C / H / W方向獲得全局上下文表示。
Context Fragments Generation.為了學習跨越三個方向的上下文信息片段,網絡在輸入特征的基礎上應用通道、高度和寬度發(fā)生器,并重復這個過程r次,得到3r個可學習向量。所有向量都是使用獨立的卷積核生成的,它們各自學習一部分上下文信息,并作為上下文片段輸出。TGM結構如圖3所示。

Non-linearity in TGM.回顧TGM生成3r個rank-1張量,并且這些張量由Sigmoid函數激活,該函數將上下文片段中的值重新縮放為[0,1]。添加非線性激活函數有兩個原因:首先,每個重新標定的元素都可以看作是滿足關注定義的某種上下文特征的權重。其次,所有上下文片段都不應是線性相關的,以便它們中的每一個都可以代表不同的信息。
2、Tensor Reconstruction Module
Context Aggregation(特征聚合過程)
與以前的只收集空間或通道注意力的方法不同,本文的方法同時收集了兩個方向的注意力分布。TRM的目標是獲得在空間和通道注意力方面都保持響應的3D注意圖A∈C×H×W。之后,通過逐元素乘積獲得上下文特征。具體而言,給定輸入特征X和上下文注意圖,細粒度的上下文特征Y由下式給出:

Low-rank Reconstruction(低秩重建)
張量重構模塊(TRM)解決了上下文特征的高階高級屬性。TRM的完整工作流程如圖4所示,它包括兩個步驟,即子注意力圖聚合和全局上下文特征重構。首先,將三個上下文片段合成為rank-1的子注意圖A1,該子注意圖表示3D上下文特征的一部分。然后,按照相同的過程重構其他上下文片段。之后,使用加權均值匯總這些子注意圖:

λi∈(0,1)是可學習的歸一化因子。盡管每個子注意圖都表示低秩上下文信息,但是它們的組合成為高秩張量。

3、? Global Pooling Module
全局池模塊(GPM)由全局平均池化操作和1×1卷積組成,它在空間和通道維度上都收集全局上下文。在本文提出的模型中,將GPM應用于網絡性能的進一步提升。
4、網絡細節(jié)
使用ResNet 作為主干網絡,并在其Res-4和Res-5的輸出中應用空洞卷積,使得網絡的輸出分辨率為原圖大小的1/8。Res-5塊的輸出特征標記為X,然后將TGM + TRM和GPM添加到X的頂部。并在Res-4塊之后也使用了輔助損失,將權重α設置為0.2。
數據集:?PASCAL-VOC12, PASCAL-Context, COCO-Stuff, ADE20K ,SIFT-FLOW
對比實驗:

消融實驗


參數量對比

可視化對比


更多細節(jié)可參考論文原文。

