劉 迪,郭繼昌,汪昱東,張 怡
(天津大學 電氣自動化與信息工程學院,天津 300072)
圖像顯著性目標檢測通過機器視覺模擬人類的視覺特性來提取圖片中最吸引人的區域或物體,忽略人們不感興趣的區域。圖像顯著性目標檢測在圖像與視頻壓縮[1]、圖像分割[2]、目標識別[3]等圖像處理和計算機視覺領域具有廣泛的應用。
近年來,卷積神經網絡(Convolutional Neural Network,CNN)[4]在計算機視覺領域取得了突破性進展[5-6]。基于卷積神經網絡的顯著性檢測方法有效提高了顯著性目標檢測的準確性,因此大量研究圍繞基于卷積神經網絡的顯著性目標檢測方法展開。ZHANG等[7]設計了一個特征融合網絡Amulet,該網絡可以產生較為精確的預測細節,但是這種粗糙的特征融合容易產生信息冗余和噪聲干擾。CHEN等[8]在最深層的粗糙顯著圖后使用殘差學習來細化顯著性特征,該網絡不僅可以減少參數量還可以保持預測精度。WANG等[9]使用金字塔注意力模塊來對所有位置進行多次下采樣和Softmax操作,以獲得多尺度的注意力圖來增強特征,該方法提高了顯著圖的質量,但是對噪聲更敏感。張晴等[10]提出一種結合來自卷積神經網絡不同卷積層多尺度特征信息的顯著性目標檢測網絡,該網絡的檢測結果可以有效保留顯著性物體邊界。
盡管基于卷積神經網絡的模型在顯著性目標檢測領域展現出了較大優勢,但也仍然存在一些問題,主要表現在:(1)對于顯著性目標檢測任務來說,顯著性目標在大小、形狀和位置上存在很大的變化,然而卷積神經網絡簡單組合卷積層與池化層來提取特征的方法,可能難以有效地處理這些復雜的變化,如復雜的背景會對顯著性檢測結果造成干擾,從而無法進行有效的顯著性檢測;(2)在特征融合時,如果選取某些包含噪聲的特征進行融合,那么集成的特征會使噪聲傳遞到預測層,造成顯著性目標檢測不完整及邊緣模糊,從而影響網絡的檢測結果。
注意力機制通過模擬人類視覺系統的方式可以從大量數據中快速且準確地捕捉最重要的信息。得益于其特征選擇能力,注意力機制在計算機視覺領域中得到了廣泛的應用。受注意力機制的啟發,針對上述問題筆者提出一種融合注意力機制的多尺度顯著性目標檢測網絡(multi-scale salient object detection Network combining Attention Mechanism,AMNet)。針對問題(1),網絡在編解碼過程中連接相鄰層的特征,將紋理、顏色、邊緣等低級特征,物體形狀等中級特征和表示語義信息的高級特征進行融合,以達到更好的多尺度特征融合的目的,并捕捉到圖像中不同尺度的顯著性目標,有效提高網絡的顯著性檢測性能,并且網絡使用了上下文特征提取模塊提取不同感受野下的多尺度特征,以消除復雜背景的干擾,進一步提升顯著性檢測性能;針對問題(2),在網絡中融合注意力機制[11],將低級特征輸入空間注意力模塊,高級特征輸入通道注意力模塊,用以增加重要信息的權重,有利于突出顯示重要的邊緣信息并使得顯著性目標均勻顯示,抑制噪聲干擾。筆者基于成對的顯著性數據集DUTS[12]對顯著性檢測網絡進行訓練,在ECSSD[13]數據集上進行測試。實驗結果表明,所提網絡能夠獲得高質量的顯著性目標檢測結果。
圖像顯著性目標檢測旨在檢測出圖像中引人注目的物體,即對一幅圖像中所有像素按照注意力進行分類,是一個逐像素預測的問題。編碼器-解碼器(Encoder-Decoder)網絡結構能夠接受任意尺寸的輸入圖像,并產生相同尺寸的輸出圖像,輸入圖像和輸出圖像的像素一一對應,并且支持端到端、像素到像素的訓練。編碼器-解碼器的結構[14]如圖1所示。
圖1上半部分為編碼器,下半部分為解碼器,豎直箭頭為拼接(Concat)操作,水平箭頭為數據流方向。編碼器部分通常由重復的卷積層級聯構成;然而進行多次卷積和池化后會縮小圖像的尺寸,最后輸出的結果無法對應到原始圖像中的每一個像素。為了從編碼器的卷積特征圖中得到與原始輸入圖像尺寸相等的輸出圖像,解碼器采用了反卷積運算或上采樣操作,恢復圖像的細節和空間維度,即編碼器部分以卷積神經網絡為主體,降低特征的空間分辨率并增加特征維度,輸出中包含豐富的語義信息;解碼器部分以卷積層和反卷積層為主體結構,逐步恢復編碼特征,并輸出最終的結果。
基于編碼器-解碼器結構端到端訓練、像素到像素訓練的優勢,在顯著性目標檢測工作中,很多顯著性目標檢測網絡采用編碼器-解碼器結構為基準。例如,QIN等[15]提出了由一個編碼器-解碼器網絡和殘差優化模塊組成的顯著性目標檢測與細化一體化架構,并使用了一種新的混合損失函數,所提網絡能夠有效分割顯著目標區域,準確預測清晰的邊界。PANG等[16]提出了以編碼器-解碼器為基礎的聚合交互模塊,在每個解碼器單元中嵌入了自交互模塊來消除尺度變化引起的類別不平衡問題。時斐斐等[17]提出了一種結合邊緣特征,利用先驗信息引導的編碼器-解碼器顯著性檢測方法,該方法可以產生更為可靠的顯著性檢測結果。
筆者提出一種融合注意力機制的多尺度顯著性目標檢測網絡(AMNet)。AMNet網絡結構如圖2所示。
AMNet以U型編碼器-解碼器網絡(U-Net[18])為基礎,融合由通道注意力模塊(Channel Attention Module,CAM)與空間注意力模塊(Space Attention Module,SAM)組成的注意力機制和上下文特征提取模塊(Context Feature Extraction Module,CFEM),通過連接不同級別的特征,即利用相鄰層的特征來提取多尺度信息,進行多尺度信息融合,以提高檢測性能。對于給定的輸入圖像F∈RW×H×3,R為實數集,通過編碼器-解碼器顯著性目標檢測模型f可以映射為粗糙顯著性圖Mc=f(F)∈[0,1]W×H,在以上3個模塊的共同作用下,得到最終的顯著性映射圖Mf。
網絡結構上,在編碼與解碼過程中連接相鄰層的特征,以便于多尺度特征融合。為了進一步提取多尺度信息,在編碼器和解碼器中間加入上下文特征提取模塊以便于捕捉到尺度不同的顯著性物體并消除復雜背景的干擾。此外,由于低級特征會保留更多的空間及邊緣信息,而高級特征包含更多的高級語義知識,能夠更好地定位顯著性目標。因此受注意力機制的啟發,AMNet將淺層特征輸入空間注意力模塊,將高級特征輸入通道注意力模塊,目的是突出顯著性目標的邊緣與整體。通道注意力與空間注意力的連接方式可表示為
Mf=σ(Mc·C(fh)·S(fl)) ,
(1)
其中,σ為Sigmoid激勵函數,Mc為網絡初始特征預測結果,·為點積操作,C(fh)為高級特征經過CAM 后的結果,S(fl)為低級特征通過SAM后的權重結果,Mf表示預測結果。
使用批量歸一化(Batch Normalization,BN)加速網絡收斂,使用ReLU作為激勵函數,并使用Sigmoid激勵函數對輸出結果進行處理,以保證輸出圖像的像素值保持在[0,1]之間。
2.1.1 通道注意力模塊
通道注意力模塊(CAM)利用特征的通道間關系生成通道注意圖,該模塊會為顯著目標表現出高響應的信道分配更大的權重。通道注意力模塊的結構如圖3所示。
具體操作可表示為
Mc(F)=σ(MLP(PAvg(F));MLP(PMax(F))),
(2)
其中,F為輸入特征,PAvg與PMax分別表示平均池化與最大值池化,與圖3中的AvgPool和MaxPool相對應;MLP對應圖3中的MLP模塊;該模塊為一個多層感知器(Multi-Layer Perceptron,MLP),由卷積層和ReLU激活函數構成;另外,“;”為拼接操作,σ為Sigmoid函數,Mc(F)為該模塊的輸出。
首先對輸入特征同時使用平均池化和最大池化,生成的兩個壓縮特征輸入同一個MLP模塊,該模塊由兩個卷積和一個ReLU激活函數組成;接下來分別對每個分支的輸出權值進行線性變換,再將輸出的特征拼接,經Sigmoid函數處理后得到的結果與輸入特征相乘,得到通道注意力圖。通道注意力模塊讓網絡更加關注有效信息,如紋理復雜、顏色對比度低的顯著性區域,這為處理場景復雜的圖像提供了額外的靈活性。
2.1.2 空間注意力模塊
空間注意力模塊(SAM)是利用特征間的空間關系生成空間注意圖。該模塊可以指出在某一個通道里,哪一部分是更重要的信息。該模塊以編碼器提取到的低級特征為輸入,目的是更加關注低級特征中的邊緣信息。空間注意力模塊的結構示意如圖4所示。
具體操作可表示為
Ms(F)=σ(f7×7([PAvg(F);PMax(F)])) ,
(3)
其中,F為輸入特征,PAvg與PMax分別表示平均池化與最大值池化,f7×7表示卷積核為7×7的卷積操作,“;”為拼接操作,σ表示Sigmoid函數,Ms(F)為該模塊的輸出結果。
首先分別使用平均池化和最大值池化對輸入特征圖在通道層面進行壓縮,得到兩個一通道的特征,將其按通道維度拼接在一起,得到一個二通道數的特征圖;再使用一個卷積核大小為7×7的卷積層對其進行卷積操作;最后進行Sigmoid操作,將得到的結果與輸入特征相乘,得到空間注意力圖。該模塊使得AMNet檢測到的顯著性物體邊緣更完整。
2.1.3 上下文特征提取模塊
運用不同大小的卷積核進行特征提取來獲取多尺度信息,該方法在計算機視覺任務中取得很好的效果。為進一步減少不同特征之間的上下文信息丟失,AMNet在編碼器、解碼器之間加入上下文感知特征提取模塊(CFEM),該模塊可以進一步提取多尺度顯著性信息。上下文特征提取模塊的結構如圖5所示。
CFEM融合4種不同尺度特征,分別是原尺度特征,經1×1卷積,3×3卷積以及3×3、間隔(dilation rate,r)為1的空洞卷積操作后的特征。與傳統空間金字塔特征提取不同,CFEM加入了空洞卷積層,加入空洞卷積的優勢是在不增加計算量的前提下增大感受野,讓每個卷積輸出都包含較大范圍的上下文信息。將這4個尺度的特征拼接在一起,輸出中會包含不同尺度特征圖。在金字塔層級后使用 1×1 卷積核,目的是不僅能保持特征圖中全局特征的權值,還可以將特征圖降維到原來的大小,以便于作為解碼過程的輸入。
損失函數由3部分組成,分別是二元交叉熵損失函數(Binary Cross Entropy Loss,LBCE)[19]、結構相似性損失函數(Structural Similarity Index Measurement Loss,LSSIM)[15]、一致性增強損失函數(Consistency-Enhanced Loss,LCE)[16]。
交叉熵能夠衡量同一個隨機變量中的兩個不同概率分布的差異程度,因此LBCE是二值分類和分割中最廣泛使用的損失函數。其定義為
LBCE=-∑[GlogP+(1-G) log (1-P)] ,
(4)
其中,G∈{0,1},為像素的真實標簽(Ground truth);P為該像素被預測成顯著目標的概率。
結構相似性損失函數最初被用于圖像質量評估,可以捕捉圖像中的結構信息,是衡量兩幅圖像相似度的指標。邊界感知顯著性目標檢測網絡(Boundary-Aware Salient Object Detection,BASNet)[15]把其整合到顯著性目標檢測的損失函數中來學習顯著性目標的結構信息。設x={xj∶j=1,…,N2},y={yj∶j=1,…,N2},分別是兩個相對應且大小為N×N的圖像塊的像素值,并且這兩個圖像塊分別來自于預測的顯著圖P與真實標簽G。關于x和y的LSSIM定義如下:
(5)
其中,μx,μy分別表示x,y的均值;σx,σy分別表示x和y的方差,σxy是兩者的協方差。C1、C2為常數,目的是為了避免分母為0,通常取C1=0.012和C2= 0.032。
為了均勻突出整個顯著區域,并且更好地處理由于物體不同尺度造成的顯著區域與非顯著區域像素不平衡問題,使用了一致性增強損失(LCE),定義如下:
(6)
其中,TP(True Positive)、FP(False Positive)、FN(False Negative)分別表示預測是正例且實際為正例、預測是正例但實際是負例、預測是負例但實際是正例;|·|為計算面積;FP+FN表示預測的顯著性區域與標注區域的交集,而FP+2TP+FN表示顯著性區域與標注區域的并集。當{P|P> 0 }∩{G|G=1 } =?時,即當預測結果與標簽相差最大時,該損失達到最大值,此時LCE=1。該損失函數有助于解決預測的類內不一致和類間模糊問題,從而使得顯著對象的預測邊緣變得更清晰。
損失函數定義為這3類損失函數的總和:
L=λ1LBCE+λ2LSSIM+λ3LCE。
(7)
為了平衡3個損失的貢獻,設定λ1=λ2=λ3=1。
為評估所提方法性能,基于DUTS數據集訓練,在ECSSD數據集上測試并進行了一系列定性和定量實驗。ECSSD數據集有像素級的標簽,含有1 000張各種含豐富背景結構信息的圖像,具有較高的參考性和測試價值。
實驗框架基于UIE-Toolbox框架[20]搭建,使用Adam優化器來訓練網絡,選取學習率(learning rate,lr)為0.001,訓練20個回合(epoch)后網絡達到收斂。對網絡進行微調,采用lr=0.000 1,epoch=10。
所有實驗環境均采用Ubuntu16.04的設備環境,顯卡為Nvidia GTX 1080Ti (11 GB)。
采用F-measure值和平均絕對誤差(Mean Absolute Error,MAE)兩個指標評價檢測效果。
F-measure值是準確率、召回率的加權調和平均值,計算公式如下:
(8)
其中,Pr為準確率,R為召回率,β為權重參數,取β=0.3。F-measure值越大,圖像顯著性目標檢測效果越好。
平均絕對誤差計算預測結果和真實標注之間逐像素的平均偏差,代表了檢測結果的整體效果,計算方法為
(9)
其中,H和W分別為顯著圖的長和寬,G(x,y)為人工標注圖(GT)在(x,y)處的真實像素值,S(x,y)為預測圖在(x,y)點的像素值。計算所得平均絕對誤差值越小,該方法所得預測圖與真實標注圖的差異越小,性能越好。
通過對比實驗與消融實驗來驗證所提方法的有效性。為了進行公平的比較,實驗通過相同的顯著性檢測數據集(DUTS)對5種顯著性目標檢測網絡及AMNet進行訓練,用ECSSD數據集進行測試,實驗結果取平均值。
3.2.1 對比實驗
將AMNet與其他5種具有代表性的網絡進行比較,其中包括U-Net[18]、短連接深度監督顯著性目標檢測網絡(Deeply Supervised Salient object detection with short connevtion,DSS)[21]、像素級上下文注意力顯著性目標檢測網絡(Learning Pixel-wise Contextual Attention for Saliency Detection,PicaNet)[22]、基于池化設計的實時顯著性目標檢測網絡(A Simple Pooling-based Design for Real-time Salient Object Detection,PoolNet)[23]、全局上下文感知的漸進聚合顯著性目標檢測網絡(Glodal Context-aware Progressive Aggregation Network for salient object detection,GCPANet)[24]。指標結果定量比較如表1所示。

表1 不同顯著性目標檢測網絡基于ECSSD數據集的指標對比
由表1可知,AMNet在數據集 ECSSD中針對MAE和F-measure值兩個指標進行測試,并與其余5種網絡對比,AMNet的顯著性檢測性能最好。其MAE和F-measure指標分別為0.044和0.908,與經典的編碼器-解碼器網絡U-Net相比,指標性能分別提升了0.051與0.115;相比于圖像顯著性目標檢測性能較好的網絡(DSS、PicaNet、PoolNet、GCPANet),MAE和F-measure指標分別有10%~54%和0.7%~1.19%的提高。
圖6給出了ECSSD數據集上不同網絡預測的顯著圖的視覺比較結果。對于第一行這類背景較為簡單且前景和背景顏色對比明顯的圖像,6種方法均能較好地檢測到圖像的顯著區域。但AMNet在各種復雜圖像中表現更好:顯著性目標和背景對比度低(第2行)的情況下,AMNet可以準確檢測顯著性區域;顯著性物體邊緣不規則(第3行)的情況下,AMNet的預測結果保留了很好的邊緣特征;對于多個顯著性目標(第4行)、具有復雜紋理的顯著性對象(第5行)以及包含小尺寸顯著性目標(第6行)的圖像,AMNet均取得了較好的檢測結果。
由對比可知,AMNet可以更好地處理各種背景復雜與不同目標尺度的圖像,不僅可以均勻地顯示出整個顯著性對象,而且可以在各種場景下很好地保留顯著性對象的邊緣。綜合分析對比實驗結果,所提網絡在處理復雜場景圖像方面具有一定優勢。
3.2.2 消融實驗
采用改進的U-Net模型為基準(Baseline),融合注意力機制(文中由CAM與SAM構成,記為CASA)與上下文特征提取模塊(CFEM)。將AMNet與加入單個模塊的網絡預測的顯著性檢測結果進行比較,實驗定量分析結果如表2所示。

表2 ECSSD數據集上不同模塊組合消融研究
從表2可以看出,CASA與CFEM的聯合應用與使用單個模塊相比,不僅在F-measure指標上得到了極大的提高,分別提升了約0.06與0.059;同時MAE指標也有所改善,單獨應用CASA和CFEM的MAE值分別約為0.082和0.075,而聯合應用兩個模塊后MAE指標約為0.044,MAE值分別減小了約0.038和0.031,表明所得預測圖與真實標注圖的差異變小,融入CASA和CFEM后網絡的性能變得更好。
對比不同模塊對預測結果的影響,圖7給出了消融實驗視覺效果對比圖。
從圖7中可以看出,AMNet可以均勻地顯示出整個顯著性對象,而且可以在不同背景下獲得較為精確的顯著性檢測邊緣。
針對顯著性目標檢測模型的檢測結果容易受復雜背景干擾、檢測結果邊緣模糊等問題,筆者提出一種融合注意力機制的多尺度顯著性目標檢測網絡(AMNet)。實驗結果表明,AMNet在ECSSD數據集上依據MAE與F-measure兩種性能評價指標與5種具有代表性的網絡相比,在兩類指標上都得到了更好的結果。在主觀視覺上,AMNet不僅能夠在復雜背景下準確檢測到顯著性目標且使顯著性目標均勻顯示,并且能夠解決顯著性目標邊緣模糊的問題,提高顯著性檢測網絡的性能。接下來的研究將更加關注網絡的魯棒性與泛化性,設計適合低質場景(如水下、霧霾、低光照等)的顯著性目標檢測網絡,做更深入的、適合實際應用的研究