Reverse Attention for Salient Object Detection
Reverse Attention for Salient Object Detection
2018ECCV
Abstract
得益于深度學習技術的快速發展,顯著目標檢測最近取得了顯著進展。然而,仍然存在以下兩個主要挑戰阻礙其在嵌入式設備中的應用,低分辨率輸出和沉重的模型權重。為此,本文提出了一個準確但緊湊的深度網絡,用于高效的顯著目標檢測。更具體地說,給定最深層的粗略顯著性預測,我們首先采用殘差學習來學習側輸出殘差特征以進行顯著性細化,這可以在保持準確性的情況下使用非常有限的卷積參數來實現。其次,我們進一步提出反向關注以自上而下的方式指導這種側輸出殘差學習。通過從側輸出特征中刪除當前預測的顯著區域,網絡最終可以探索缺失的對象部分和細節,從而獲得高分辨率和準確性。在六個基準數據集上的實驗表明,所提出的方法與最先進的方法相比具有優勢,并且在簡單性、效率(45 FPS)和模型大小(81 MB)方面具有優勢。
keywords: 顯著目標檢測, 反向注意, 邊輸出殘差學習
Introduction
顯著物體檢測,也稱為顯著性檢測,旨在定位和分割圖像中最顯眼和吸引眼球的物體或區域。通常用作預處理步驟,以方便后續的各種高級視覺任務,例如圖像分割 [1],圖像字幕 [2] 等。最近,隨著深度卷積神經網絡 (CNNs) 的快速發展,顯著的對象檢測已比傳統的基于手工制作的基于特征的方法取得了重大改進。完全卷積神經網絡 (FCNs) [3] 的出現,由于其效率和端到端訓練,進一步將其推向了新的技術水平。這種架構也有利于其他應用,例如語義分割 [4],邊緣檢測 [5]。
盡管已經取得了深刻的進步,但仍然存在兩個主要挑戰,這些挑戰阻礙了其在現實世界中的應用,例如嵌入式設備。一種是基于FCNs的顯著性模型產生的顯著性圖的分辨率低。由于CNN體系結構中反復的跨步和池化操作,不可避免地會失去分辨率和難以細化,從而無法準確定位顯著對象,尤其是對于對象邊界和小對象。另一種是現有深度顯著性模型的重大和冗余大。從圖1中可以看出,所有列出的深度模型都大于1 00 MB,這對于預處理步驟來說太重了,無法應用于后續的高級任務中,并且對于嵌入式設備來說也不是有效的存儲器。
Fig. 1. ECSSD上最近基于深度CNN的顯著性檢測模型的最大F度量,包括DS [6],ELD [7],DCL [8],DHS [8],RFCN [9],NLDF [10],DSS [11],MSRNet [12],Amulet[13] 、UCF [14] 和我們的 (紅色圓圈)。可以看出,所提出的模型是唯一一個小于100 MB的模型,同時通過最先進的方法實現了可比的性能。
已經探索了多種解決方案,以提高基于FCNs的預測的分辨率。早期作品【8,15,16】通常將其與額外區域或基于超像素的流相結合,以高時間成本為代價融合各自的優勢。然后,構建一些簡單但有效的結構,將淺層和深層CNN特征的互補線索結合起來,分別捕獲低級空間細節和高級語義信息,如跳躍連接【12】、短連接【11】、密集連接【17】、自適應聚合【13】。這種多級特征融合方案在語義分割[18,19]、邊緣檢測[20]、骨架檢測[21,22]中也發揮著重要作用。然而,在復雜的現實場景下,尤其是在處理具有不同尺度的多個顯著對象時,現有的古語融合仍然不能用于顯著性檢測。此外,一些耗時的后處理技能也被應用于細化,例如,基于超像素的過濾器【23】,全連接條件隨機場(CRF)[8,11,24]。然而,據我們所知,目前還沒有考慮到輕量級模型和高精度的顯著性檢測網絡。
為此,我們提出了一個準確而緊湊的深度顯著目標檢測網絡,該網絡實現了與最先進的方法相當的性能,從而實現了實時應用。通常,由于較大的感受野和模型容量可以捕獲更多語義信息,因此具有較大內核大小的更多卷積通道會在顯著目標檢測中獲得更好的性能,例如,在最后一個側輸出中有 512 個內核大小為 7×7 的通道DSS [11]。以不同的方式,我們將殘差學習 [25] 引入 HED [5] 的架構中,并將顯著目標檢測視為超分辨率重建問題 [26]。鑒于 FCN 的低分辨率預測,學習邊輸出殘差特征以逐步對其進行細化。請注意,它只能使用 64 通道的卷積和每個側輸出中 3×3 的內核大小來實現,其參數明顯少于 DSS。
類似的殘差學習也被用于骨骼檢測[21]和圖像超分辨率[27]。 然而,由于其具有挑戰性,如果我們直接將其應用于顯著目標檢測,其性能還不夠令人滿意。 由于大多數現有的深度顯著性模型都是從圖像分類網絡中微調出來的,微調后的網絡在殘差學習過程中會無意識地關注具有高響應值的區域,如圖 5 所示,從而難以捕獲殘差 細節,例如對象邊界和其他未檢測到的對象部分。 為了解決這個問題,我們提出了反向注意力以自上而下的方式指導側輸出殘差學習。 具體來說,對深層的預測進行上采樣,然后對其進行反向加權以對其相鄰的淺側輸出特征進行加權,從而快速引導網絡專注于未檢測到的區域進行殘差捕獲,從而獲得更好的性能,如圖 2 所示。
Fig. 2. 視覺對比DSS【11】(頂行)、我們的方法(中間行)和反向注意(底行)分別在不同側輸出中產生的顯著性圖。可以清楚地看到,顯著性圖的分辨率從深側輸出逐漸提高到淺側輸出,我們基于反向注意的側輸出殘差學習的性能比短連接好得多【11】。
總而言之,本文的貢獻可以得出以下結論 😦 1) 我們將殘差學習引入HED的體系結構中,以進行顯著的對象檢測。借助學習到的側輸出殘差特征,與現有的深度顯著性網絡相比,可以以更少的參數逐漸提高顯著性圖的分辨率。(2) 我們進一步提出反向關注引導側產出殘差學習。通過擦除當前預測,網絡可以快速有效地消除丟失的對象部分和殘差細節,從而顯著提高性能。(3) 受益于上述兩個組件,我們的方法始終如一地實現了與最先進方法相當的性能,并在簡單性、效率 (45 FPS) 和模型大小 (81 MB) 方面具有優勢。
Related Work
在過去的兩個十年中提出了大量的顯著性檢測方法。在這里,我們只關注最近最先進的方法。幾乎所有這些方法都是基于FCN的,并試圖解決常見的問題:如何使用FCN產生高分辨率的顯著性圖?Kuen等人[28]將循環單元應用于FCN中,以迭代細化每個顯著區域。hu等人[23]需要一個基于超像素的引導濾波器作為網絡中的一個層,用于邊界細化。Hou等人[11]設計了用于多尺度特征融合的短連接,而在Amulet[13]中,多級卷積特征被自適應地聚合。羅等人[10]提出了一種多分辨率網格結構來捕獲局部和全局線索。此外,還引入了一種新的損失函數來懲罰邊界上的錯誤。張等人 [14] 進一步提出了一種新的上采樣方法來減少反卷積中產生的偽影。最近,進一步結合了擴張卷積[23]和密集連接[17]以獲得高分辨率顯著圖。還有一些進步的工作來解決語義分割中的上述問題。在 [19] 中,提出了跳躍連接來細化對象實例,而在 [29] 中,它被用于構建拉普拉斯金字塔重建網絡以進行對象邊界細化。
我們沒有像上述工作那樣融合多級卷積特征,而是嘗試學習殘差特征以進行低分辨率細化。殘差學習的思想最早是由 He 等人[25]提出的,用于圖像分類。之后,它被廣??泛應用于各種應用。柯等人[21] 學習了用于精確對象對稱檢測的側輸出殘差特征。金等人[27]基于殘差學習構建了一個非常深的卷積網絡,以實現準確的圖像超分辨率。
雖然將其應用于顯著目標檢測是很自然的,但性能還不夠令人滿意。為了解決這個問題,我們引入了受人類感知過程啟發的注意力機制。通過使用頂層信息有效地引導自下而上的前饋過程,它在許多任務中取得了巨大的成功。注意力模型被設計為在 [12,30] 中對多尺度特征進行加權。在 [31] 中,殘差注意力模塊被用來生成用于圖像分類的深度注意力感知特征。在 ILSVRC 2017 圖像分類挑戰賽中,Hu 等人[32] 通過構建用于通道注意力的 Squeeze-and-Excitation 塊獲得第一名。 黃等人 [33]設計了一個注意掩碼來突出反向對象類的預測,然后從原始預測中減去它,以糾正語義分割中混淆區域的錯誤。 受到啟發但又有所不同,我們以自上而下的方式采用反向注意力來指導側輸出殘差學習。 從中受益,我們可以學習到更準確的殘差細節,從而帶來顯著的改進。
Proposed Method
在本節中,我們首先描述所提出的深度顯著目標檢測網絡的整體架構,然后一一呈現主要組件的細節,分別對應于側輸出殘差學習和自頂向下的反向注意力。
Architecture
所提出的網絡建立在 HED [5] 架構上,并選擇 VGG16 [34] 作為骨干網。 我們使用直到“pool5”的層,并選擇 {conv1_2, conv2_2, conv3_3, conv4_3, conv5_3} 作為邊輸出,其相對于輸入圖像的步幅分別為 {1, 2, 4, 8, 16} 像素。 我們首先通過卷積核大小為 1×1 的卷積將“pool5”的維數降低到 256,然后添加三個 5×5 核的卷積層來捕獲全局顯著性。由于全局顯著圖的分辨率僅為輸入圖像的1/32,我們進一步學習每側輸出的殘差特征,以逐步提高其分辨率。具體而言,將具有3×3個核和64個通道的D個卷積層堆疊以進行殘差學習。在側輸出殘差學習之前嵌入反向注意塊。將最淺側輸出的預測輸入到sigmoid層中以進行最終輸出。整體架構如圖3所示,完整配置如表1所示。
Fig. 3. 擬議網絡的總體架構。此處僅列出三個側面輸出以供說明。“R”表示圖4所示的提議的反向注意塊。可以看出,在對殘差單元(黃色圓圈)的輸入和輸出進行監控的情況下,殘差沿堆疊方向減小。
Table 1. 建議網絡的配置。 (n, k × k) × D 表示堆疊 D 個卷積層,通道數 (n) 和內核大小 (k),并添加 ReLU 層進行非線性變換。
Side-output Residual learning
眾所周知,網絡的深層捕獲了高級語義信息,但細節混亂,而淺層則相反。基于此觀察,多級特征融合是捕獲其互補線索的常見選擇,但是,當與淺層結合時,它會降低深層的自信預測。在本文中,我們通過采用殘差學習來彌補預測的顯著性圖與ground truth之間的誤差,從而以一種不同而更有效的方式實現了它。具體來說,殘差特征是通過對設計殘差單元的輸入和輸出應用深度監督來學習的,如圖 3 所示。形式上,給定側輸出階段i+1中因子2的上采樣輸入顯著性圖Supi+1,以及在側輸出階段i中學習的殘差特征Ri,則深度監督可以表述為:
其中,Si是殘差單元的輸出,G是ground truth,up × 2i表示因子為2i的上采樣操作,該操作通過與HED [5] 相同的雙線性插值實現。
這樣的學習目標繼承了以下良好特性。殘差單元在不同尺度的預測和ground truth之間建立了快捷連接,這使得更容易糾正錯誤,具有更高的尺度適應性。一般來說,在相同的監督下,殘差單元的輸入和輸出之間的誤差相當小,因此可以用更少的參數和迭代更容易地學習。極端情況下,如果預測與ground truth足夠接近,則誤差近似為零。因此,構建的網絡可以非常高效和輕量級。
Top-down Reverse Attention
盡管為顯著性細化學習殘差細節是自然而直接的,但在沒有額外監督的情況下,網絡很難準確地捕獲它們,這將導致檢測不理想。 由于大多數現有的顯著性檢測網絡都是從僅對小而稀疏的判別對象部分做出響應的圖像分類網絡中微調而來的,因此它顯然偏離了顯著性檢測任務需要探索密集和完整區域的像素級的預測。為了縮小這一差距,我們提出了一種基于反向注意力的側輸出殘差學習方法,用于逐步擴展對象區域。 從在最深層生成的具有高語義置信度但低分辨率的粗顯著圖開始,我們提出的方法通過從側輸出特征中擦除當前預測的顯著區域來引導整個網絡順序發現補充對象區域和細節,其中當前 預測是從更深層上采樣獲得的。 這種自上而下的擦除方式最終可以將粗略和低分辨率的預測細化為具有這些探索區域和細節的完整且高分辨率的顯著圖,參見圖 4 進行說明。
Fig. 4. 建議的反向注意塊的圖示,其輸入和輸出分別以藍色和綠色突出顯示。
給定側輸出特征 T 和反向注意力權重 A,那么輸出注意力特征可以通過它們的元素相乘產生,可以表示為:
其中z和c分別表示特征圖的空間位置和特征通道的索引。側輸出階段i中的反向注意力權重是簡單地通過從1中減去側輸出i+1的上采樣預測來生成的,其計算如下:
圖 5 顯示了一些學習到的殘差特征的視覺示例,以說明所提出的反向注意力的有效性。可以看出,所提出的網絡在反向注意力的幫助下很好地捕獲了對象邊界附近的殘余細節。在沒有反向注意力的情況下,它學習了對象內部的一些冗余特征,這對顯著性細化無濟于事。
Fig. 5. 在沒有 (第一行) 和有反向注意 (第二行) 的情況下,建議網絡的不同側輸出中的殘余特征的可視化。從左到右是顯著性圖,分別是從側面輸出1到4的最后一個卷積特征。在引起我們的反向關注之后,擬議的網絡很好地捕獲了對象邊界附近的空間細節,這對于顯著性的細化是有益的,尤其是在淺層中。最好用彩色觀看。
Supervision
如圖 3 所示,深度監督應用于每個側輸出級,如 [5,11] 中所做的那樣。每個側輸出都會產生一個損失項 Lside,其定義如下:
其中 M 表示包括全局顯著性在內的側輸出總數,W 表示所有標準網絡層參數的集合,I 和 G 分別指輸入圖像和相應的ground truth。 每個側輸出層被視為具有相應權重 w 的逐像素分類器,其表示為
在這里,lm side側表示第m側輸出的圖像級類平衡交叉熵損失函數 [5],該函數通過以下公式計算:
其中 Pr(G(z) = 1|I(z);W, w(m)) 表示在第 m 側輸出中位置 z 處激活值的概率,z 是 saptial 坐標。與 HED [5] 和 DSS [11] 不同,我們的方法中不包含融合層。第一個側輸出的輸出在測試階段的 sigmoid 層之后用作我們的最終預測。
Difference to Other Networks
盡管具有相同的名稱,但建議的網絡與反向注意網絡 [33] 有很大的區別,后者應用反向注意來加權與目標類別無關的預測,以這種方式放大了混淆區域中的反向類響應,從而可以幫助原始分支做出正確的預測。而在我們的方法中,反向注意的使用是完全不同的。它用于從深層擦除自信預測,從而可以指導網絡有效地探索缺失的對象區域和細節。
與其他基于殘差學習的架構也存在一些顯著差異,例如側輸出殘差網絡 (SRN) [21] 和拉普拉斯重建網絡 (LRN) [29]。在 SRN 中,殘差特征是直接從 VGG-16 的每個側輸出中學習的,而在本文中,它是在反向注意力后學習的,用于指導殘差學習。與 LRN 的主要區別在于 wight mask的使用,它用于加權學習的側輸出特征以在 LRN 中進行邊界細化,相比之下,我們在側輸出特征學習之前應用它來進行指導。此外,LRN 中的權重掩碼是從深度預測的邊緣生成的,由于其低分辨率會遺漏一些目標區域,而在本文中,我們將其應用于所有未檢測到的區域進行顯著性細化,這不僅很好地細化了對象邊界,但也更完整地突出了對象區域。
Experiments
Experimental Setup
提議的網絡建立在 HED [5] 和 DSS [11] 的實現之上,并通過公開可用的 Caffe [35] 庫進行訓練。整個網絡使用全分辨率圖像進行端到端訓練,并通過隨機梯度下降法進行優化。超參數設置如下:批量大小(1),迭代大小(10),動量(0.9),權重衰減(5e-4),學習率初始化為1e-8,當訓練損失達到平坦時下降10%,訓練迭代次數(10K)。在接下來的實驗中,所有這些參數都是固定的。源代碼將被發布。
我們在6個具有代表性的數據集上綜合評估了我們的方法,包括MSRA-B[36],HKU-IS[37],ECSSD[38],pascal-S[39]、SOD[40]和DUT-OMRON[41],,它們分別包含5000、4447、1000、850、300、5168張注釋良好的圖像。其中,pascal-S和DUT-OMRON比其他的更具挑戰性。為了保證與現有方法的公平比較,我們使用與[8,10,11,42]中相同的訓練集,并使用相同的模型測試所有的數據集。數據增強也實現了與[10,11]相同的功能,以減少過擬合風險,通過水平翻轉增加了2倍。
三個標準和廣泛認可的指標用于評估性能,包括精確召回(PR)曲線、F-度量和平均絕對誤差(MAE)。通過將二元顯著性圖與ground truth進行比較,繪制PR曲線,計算精度和召回值對,其中閾值在[0, 255]范圍內。采用F-測度來衡量整體性能,定義為精度和召回率的加權調和平均值:
其中 β2 設置為 2 以強調準確率而不是召回率,如 [43] 中所建議的那樣。此處僅報告最大 F-Measure 以顯示檢測器可以實現的最佳性能。給定歸一化顯著圖 S 和ground truth G,MAE 分數由它們的平均每像素差異計算:
其中 W 和 H 分別是顯著性圖的寬度和高度。
Ablation Studies
在與最先進的方法進行比較之前,我們首先評估不同設計選項(深度 D)的影響,本節中提出的側輸出殘差學習和反向注意力的有效性。
Depth D
我們做了一個實驗,通過將深度 D 從 1 變為 3 來觀察其對性能的影響。PASCAL-S 和 DUT-OMRON 的結果如表 2 所示。可以看出,當 D= 2可以獲得最好的性能。因此,我們在下面的實驗中將其設置為 2。
Side-output residual learning
為了研究側輸出殘差學習的有效性,我們分別評估了每個側輸出預測的性能,如表3所示。我們可以發現,通過合并更多的側輸出殘差特征,性能會逐漸提高。
Reverse attention
如圖 5 所示,網絡在反向注意力的幫助下很好地位于對象邊界。 在這里,我們使用表 4 中報告的 F-measure 和 MAE 分數進行(8)詳細比較。從結果中,我們可以得到以下觀察結果:(1)沒有反向注意力,我們的表現類似于最先進的方法 DSS(沒有基于 CRF 的后處理),這表明它的冗余度很大。 (2) 應用反向注意力后,性能大幅提升,具體而言,我們在 F-measure 方面平均獲得了 1.4% 的增益,在 MAE 得分方面平均降低了 0.5%,這清楚地證明了它的有效性。
Performance Comparison with State-of-the-art
我們將提出的方法與 10 種最先進的方法進行比較,包括 9 種最近基于 CNN 的方法,DCL+ [8]、DHS [44]、SSD [45]、RFCN [9]、DLS [23]、NLDF [10]、DSS 和 DSS+ [11]、Amulet [13]、UCF [14] 和一種傳統的頂級方法 DRFI [42],其中符號“+”表示網絡包括基于 CRF 的后處理。請注意,上述方法的所有顯著性圖都是通過運行源代碼或作者預先計算生成的,為了公平比較,不包括基于 ResNet 的方法。
Quantitative Evaluation 表 4 和圖 7 報告了與最先進方法的定量比較結果。我們可以清楚地觀察到,我們的方法在 F 度量和 MAE 分數方面都顯著優于競爭方法,特別是在 具有挑戰性的數據集(例如,DUT-OMRON)。 對于 PR 曲線,除了高召回率(召回率>0.9)外,我們還實現了與現有技術相當的性能。與top方法DSS+相比,DSS+使用基于CRF的后處理步驟來優化分辨率,然而,我們的方法仍然可以獲得幾乎相同(或更好)的總體性能。還需要指出的是,現有的方法使用了不同的訓練數據集和數據擴充策略,這導致了不公平的比較。盡管如此,我們的表現仍然要好得多,這清楚地表明了所提出方法的優越性。我們還認為,使用更大的訓練數據集和更多的增強訓練圖像可以獲得更大的性能增益,這超出了本文的范圍。
Table 4. 在六個基準數據集上與最新方法的定量比較。每個單元格 (從上到下) 包含最大F-measure (更高更好) 和MAE (更低更好)。前兩個結果分別以紅色和綠色突出顯示。“RA” 表示建議的反向注意,“MK” 是MSRA-10K的 [46],其他縮寫是論文中提到的每個數據集的首字母。請注意,此處列出的圖像數量包括增強的圖像。
Qualitative Evaluation
我們還展示了一些代表性圖像的一些視覺結果,以展示圖6中提出的方法的優越性,包括復雜的場景、顯著對象和背景之間的低對比度、具有不同特征 (例如,大小、顏色) 的多個 (小) 顯著對象。考慮到所有情況,可以清楚地觀察到,我們的方法不僅以較少的錯誤檢測正確地突出突出區域,而且還產生清晰的邊界和連貫的細節 (例如,圖6的第4行中的鳥的嘴)。同樣有趣的是,所提出的方法甚至糾正了ground truth中的一些錯誤標記,例如,圖6的第7行中的左喇叭。然而,在一些具有挑戰性的情況下,我們仍然獲得了不令人滿意的結果,例如,以圖6的最后一行為例,對于現有方法來說,完全分割所有突出的對象仍然非常困難。
Fig. 6. 在一些具有挑戰性的情況下,與現有方法的視覺比較: 復雜的場景,低對比度和多個 (小) 顯著對象。
Execution Time
最后,我們調查了我們方法的效率,并在單個 NVIDIA TITAN Xp GPU 上進行了所有實驗以進行公平比較。訓練我們的模型只需要不到 2 個小時,相比之下,DSS 大約需要 6 個小時。我們還將 ECSSD 上的平均執行時間與其他五種領先的基于 CNN 的方法進行了比較。從表 5 可以看出,我們的方法比所有競爭方法都要快得多。因此,考慮到視覺質量和效率,我們的方法是迄今為止實時應用程序的最佳選擇。
Conclusions
顯著目標檢測作為一種低層次的預處理步驟,在各種高層次任務中都有很強的適用性,但仍然沒有得到很好的解決,這主要取決于以下兩個方面:低分辨率輸出和重模型權重。在本文中,我們提出了一種精確而緊湊的深層網絡,用于有效的顯著目標檢測。與直接學習不同側面輸出階段的多尺度顯著性特征不同,我們使用殘差學習來學習側面輸出的殘差特征以進行顯著性細化。在此基礎上,利用非常有限的參數,逐步提高了由最深卷積層生成的全局顯著性圖的分辨率。我們進一步提出反向關注,以自上而下的方式指導這種側輸出殘差學習。從中受益,我們的網絡學習了更準確的殘差特征,從而顯著提高了性能。廣泛的實驗結果表明,所提出的方法在定量和定性比較方面均優于最新方法,這使其成為進一步實際應用的更好選擇,并且也使其在其他端到端像素級預測任務中具有巨大的應用潛力。盡管如此,全局顯著性分支和骨干 (VGG-16) 網絡仍然包含大量冗余,將通過在我們未來的工作中引入手工制作的顯著性和從頭開始學習來進一步探索。
總結
以上是生活随笔為你收集整理的Reverse Attention for Salient Object Detection的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python程序设计基础刘艳网课_智慧职
- 下一篇: 如何准备OCP考试?