?

DFNet:高效的無解碼語義分割方法

2024-03-05 08:15劉臘梅杜寶昌黃惠玲章永鑒韓軍
液晶與顯示 2024年2期
關鍵詞:掩碼二值注意力

劉臘梅, 杜寶昌,, 黃惠玲, 章永鑒,3, 韓軍*

(1.遼寧工程技術大學 軟件學院, 遼寧 葫蘆島 125000;2.中國科學院 海西研究院 泉州裝備制造研究中心, 福建 泉州 362000;3.廈門理工學院 電氣工程與自動化學院, 福建 廈門 361024)

1 引言

語義分割是計算機視覺領域的關鍵任務之一,是對圖像像素級的識別和理解。得益于卷積神經網絡的特征提取能力以及深度學習技術的迅速發展,分割方法層出不窮[1-3]。然而,在不同的分割方法下,卻都有著相似的“編碼器-解碼器”結構。

在“編碼器-解碼器”結構的分割網絡中,分割任務大致劃分為兩個階段:編碼階段——圖像經神經網絡編碼以及下采樣獲得深層次語義信息;解碼階段——深層語義信息上采樣獲得與輸入圖像同等大小的分割掩碼。Long[4]等人所提出的全卷積網絡FCN是編解碼結構的最早典型,其將原分類網絡的全連接修改為全卷積,通過轉置卷積聯合低級特征上采樣實現像素級預測。Ronneberger[5]等人針對FCN缺乏空間一致性等問題提出的“U”型分割網絡U-Net以及Badrinarayanan[6]等人針對道路分割問題提出的分割網絡SegNet,這兩種更為典型的編解碼分割網絡都是采用與編碼器完全對稱的擴張路徑作為解碼器,然后聯合對稱位置編碼特征上采樣補充空間信息,從而獲得高精度分割掩碼。最新的基于Transformer[7]的分割模型,如Zheng[8]等人提出的序列到序列分割模型SETR、Xie[9]等人提出的基于金字塔結構的分割模型SegFormer和Wang[10-11]等人提出的輕量分割模型PVT,普遍也是采用編解碼的結構形式。此外,在目前性能較優的分割模型中,在保留“編碼器-解碼器”結構的基礎上還會引入一種新的解碼器后端,如Zhao[12]等人提出的分割網絡PSPNet和Chen[13]等人提出的分割網絡DeepLabv3+,這兩種方法都是在保證編解碼結構的基礎上引入一種新的解碼器后端(池化金字塔),從而取得比全局信息更有代表性的多比例上下文信息,提高模型分割精度。

然而,“編碼器-解碼器”結構雖能夠保證模型分割精度,但仍然存在一些問題。首先,編碼器的編碼特征通常具有較大的通道數和較小的寬、高,這會導致解碼器的結構引入大量的參數,從而增加了計算量。其次,在解碼器的轉置卷積和上采樣過程中,語義信息和細節很容易丟失,并且在一定程度上會傳播噪聲,從而嚴重影響解碼過程的重構效率。最后,對于二值分割任務,由于其分割樣本相比常規分割任務相對簡單,因此復雜的解碼結構可能并不能提高分割精度,反而會增加計算量,從而影響分割的速度。Shubhra[14]等首先針對上述問題提出D2SNet模型,并相應取得了較好的效果,但是由于算法的復雜低效以及模型本身的冗余,使得D2SNet模型應用嚴重受限。

為解決上述編解碼結構以及現有分割網絡所存在的問題,本文提出了一種基于ResNet50的高效無解碼的二值分割網絡DFNet(Decoder-free Net)。該模型摒棄了現存主流分割網絡中的各式跳躍連接和復雜解碼結構,轉而采用卷積重塑上采樣模塊(Convolution Remolding Upsampling,CRU)直接重塑最終編碼特征生成分割掩碼,從而簡化分割模型結構,減少可學習參數,提高模型分割檢測速度。又因CRU模塊需要利用信道和空間信息,因此在編碼器中進一步融合輕量雙重注意力模塊EC&SA提高信道以及空間信息交互,增強網絡編碼能力。最后再引入損失系數可根據任務特性動態調整的擾動交叉熵損失PolyCE,使得損失系數根據當前任務自適應達到最優,有效解決二值分割正負樣本不均衡問題,提高像素分割預測準確率。

2 模型結構

DFNet模型整體結構較為精簡,Input在經過網絡編碼以及卷積重塑上采樣CRU模塊后,直接得到分割掩碼,如圖1所示。其中,模型詳細流程如下:首先使用融合EC&SA注意力的ResNet50編碼網絡對輸入圖像提取特征,得到C×H/s×W/s大小的特征編碼,s為編碼網絡下采樣倍數;其次通過卷積重塑上采樣模塊CRU,得到2×W×H大小的分割掩碼;最后按照通道方向進行最大值索引,從而得到H×W大小的最終分割結果Output。

圖1 DFNet網絡模型結構Fig.1 Structure of DFNet network

2.1 卷積重塑上采樣CRU

在語義分割算法中,雙線性插值和反卷積是上采樣操作以及生成分割掩碼中最常用的方法。但雙線性插值不具有可學習參數,且忽略了標簽像素點之間的關系,對每個像素的精確恢復能力較弱;反卷積網絡雖引入了可學習參數,但在解碼階段會引入大量無效信息,并且容易導致網格效應,不利于梯度優化。本文引入卷積重塑上采樣CRU模塊,將特征編碼經1×1卷積通道調整后,重塑通道和空間信息補充分割細節以生成分割結果,提高模型效率。

CRU模塊是以低分辨率h×w大小的特征圖作為輸入,生成H×W大小的標簽圖。假設輸入特征圖的維數為C×h×w,通過1×1卷積運算后輸出特征圖維度變為(C×s2)×h×w,然后再利用周期篩選[15](Periodic Shuffling,PS)將上述調整通道后的特征圖重塑成C×H×W大小的分割掩碼,從而簡化了分割網絡的解碼結構,提高模型的運行效率。圖2(a)以單通道圖像為例,描述了C=1,s=2時的CRU模塊結構;圖2(b)則描繪了常規情況下的CRU模塊結構。從圖2也可看出,CRU模塊利用特征編碼通道間的相鄰像素信息直接重塑為最終結果,其中h=H/s,w=W/s,s是下采樣因子。

圖2 卷積重塑上采樣模塊Fig.2 Convolutional reshaping upsampling module

在本文的二值分割任務中,s=32,C=2。首先輸入圖像經過網絡編碼器,生成一個大小為c×h×w的特征編碼,生成的特征編碼再經過1×1卷積將通道調整為c×s2,從而特征編碼維度變為(c×s2)×h×w,再通過周期篩選后生成大小為C×H×W的分割掩碼。

周期篩選的數學過程如式(1)所示,其中F為輸入特征編碼,r為上采樣倍數,PS(F)(x,y,c)為坐標(x,y,c)上的輸出特征像素,λ默認為1。從公式可看出,周期篩選是直接按照一定規則重塑特征編碼像素位置實現快速上采樣,在不引入額外參數的前提下,減小模型計算量,從而提高網絡分割效率。

2.2 輕量雙重注意力EC&SA

ResNet50[16]殘差網絡是何凱明等人提出的,其主要思想是在網絡中添加跳躍連接形成殘差結構,從而允許原始的特征信息可以直接傳遞給深層網絡,有效避免信息的損失,簡化學習的目標和難度,并在一定程度上解決了反向傳播中梯度消失和梯度爆炸的問題。然而,單純依靠編碼器ResNet50的自身特征提取能力是不夠的,因為CRU模塊會重塑特征編碼像素位置來實現快速上采樣,因此需要特征編碼通道和空間信息完善分割掩碼細節。此時采用一個合適的注意力機制可以有效地提高網絡性能。

ECA[17]注意力模塊主要是對SE[18]注意力模塊進行改進,提出的一種不降維的跨通道交互策略。該模塊避免了通道壓縮降維帶來的影響,采用一維卷積替代共享全連接層,增加少量參數,實現跨通道信息交互,提高模型精度。ECA結構如圖3所示,其中為卷積核大小為K的一維卷積。

圖3 ECA結構圖Fig.3 ECA structure diagram

但單純的通道信息交互不足以滿足CRU模塊空間信息需求,本文在不引入大量計算參數下添加輕量空間注意力算子ESA(Efficient Spatial Attention Operator),使其提高空間信息的交互。如圖4所示,ESA由通道池化、3×3空洞卷積以及S激活函數3部分組成。將特征編碼按照通道方向分別做最大和均值池化,獲得2×H×W大小的通道池化矩陣;再進行空洞卷積運算,綜合空間信息;最后經S激活函數獲得空間權重系數掩碼。對于ESA中的卷積,本文采用大小為3、空洞率為2的空洞卷積替代常規卷積,從而實現在引入極少參數的同時有效地擴大感受野且保障空間信息連續,提高像素間信息交互[19]。

圖4 ESA空間注意力算子Fig.4 Efficient spatial attention operator

EC&SA模塊最終結構如圖5所示??梢钥闯?,EC&SA模塊保留了高效通道注意力模塊原始的通道增強運算,因此中間層的特征編碼首先通過高效通道注意力ECA模塊獲得通道權重系數進行通道增強,其次再次通過ESA獲得空間權重系數來增加像素間的空間信息交互。

圖5 輕量雙重注意力EC&SAFig.5 Lightweight dual attention EC&SA

EC&SA在引入少量參數下增強了編碼網絡對通道信息和空間信息整合能力,提高了相鄰像素間的信息交互,因此將EC&SA加入編碼網絡ResNet50的殘差結構中,能有效提升網絡特征提取能力。改進后的ResNet50殘差結構如圖6所示。

圖6 改進后的殘差結構Fig.6 Improved residual structure

2.3 擾動交叉熵損失PolyCE

對于二值分割任務而言,分割前景所占真實標簽整體的比例通常較小,因此會存在嚴重的正負樣本不平衡,從而容易導致分割掩碼偏向于背景類別,導致模型分割精度降低。在分割任務常用的損失中,如CE Loss和Focal Loss等,也都存在一個關鍵問題:回歸項前的系數對于所有的模型和任務來說都是固定的,但不一定是最優的。為解決上述問題,本文引入擾動交叉熵損失[20]PolyCE。

擾動交叉熵損失PolyCE的靈感來源于交叉熵損失CE Loss等損失的泰勒展開(式(2)),其主要是通過泰勒展開式來逼近目標函數,對損失的表示提供了與回歸的直觀聯系,使CE Loss在一定程度上可以解釋為預測值到真實值距離的j次冪的加權集合。如式(3)所示,PolyCE損失將損失函數看成多項式函數的線性組合并添加動態調整系數εj,使多項式基的重要性很容易地根據目標任務和數據進行調整,進而提高模型精度,其中Pt代表預測概率。

本文使用PolyCE損失函數替代常用的交叉熵損失CE Loss,使二值分割能根據分割任務特點動態調整為最優損失系數,有效解決正負樣本不均衡問題,提高各類像素分類準確率,從而提高模型最終分割精度。其中本文所采用的是N=1的情形。

3 實驗準備

3.1 數據選取

為驗證模型二值分割任務的泛化性,本文主要使用部分常見的二值分割任務數據集進行實驗,如遙感分割數據集DeepGlobe[21]、Mas Roads[22]以及缺陷檢測數據集CrackForest[23]、FALeather進行驗證,其中FALeather由本實驗室與相關企業聯合采集制作。

DeepGlobe和Mass Roads同為道路分割數據集,其中DeepGlobe包含6 226張分辨率為1 024像素×1 024的訓練圖像,Mass Roads包含1 171張分辨率為1 500像素×1 500像素的訓練圖像。為使數據適用于模型,通過重疊為256像素的512×512滑動窗口將每幅圖像劃分為同分辨率圖像,并且去除無用數據,然后再將截取劃分后的數據按8∶2的比例劃分訓練和測試集,即DeepGlobe訓練集44 827張和測試集11 027張,和Mass Roads訓練集12 732和測試集3 138張,劃分后的訓練集和驗證集重合。CrackForest包含11 298張448像素×448像素的訓練圖像,FALeather包含1 940張512像素×512像素皮革圖像。同按8∶2劃分,即CrackForest訓練集9 038張和測試集2 260張,FALeather訓練集1 552張和測試集388張。

3.2 參數設定

DFNet模型代碼基于Pytorch 1.9.0深度學習框架編寫。采用Ubantu18.06操作系統,CPU型號為Intel i9-10900X@3.70 GHz×20,顯卡型號為NVIDIA GeForce RTX 3090 24 GB,系統內存128G。實驗參數:輸入圖像大小為512像素×512像素的彩色圖片,batch_size大小為32,編碼器采用預訓練模型,CUR中的1×1卷積采用初始化且無偏置,初始化學習率為1e-4,學習率調整策略為前200 Epochs固定學習率,后100 Epochs學習率斷崖式衰減,采用Adam優化器,優化器運行平均值的系數為betas=(0.9,0.999)。

3.3 評價指標

在二值分割任務中,將分割圖像的像素分為真陽性(TP)、假陽性(FP)、真陰性(TN)和假陰性(FN),并與對應真實標簽進行比較。根據二值分割任務的特點,最終選擇以F1-Score和IOU作為主要評價指標,TPE和FPS作為輔助評價指標,如表1所示。

表1 評價指標Tab.1 Evaluation index

TPE(Time for Per Epoch)是本文自定義評價指標,指模型在一定的訓練數據集下完全前向傳播一次所需的時間(單位s)。FPS是指模型單位時間內處理圖像的數量。

4 實驗結果分析

通過消融實驗驗證模型及改進方案對于分割精度和速度的有效性。選取FCN[4]、U-Net[5]、PSPNet[12]、D2SNet[14]、EANet[24]和DeepLabv3+[13]六種主流分割模型與本文模型進行對比實驗,驗證模型分割效果,并圍繞實驗結果對模型進行定量和定性分析。

4.1 消融實驗

為驗證卷積重塑上采樣模塊CRU、輕量雙重注意力EC&SA、擾動交叉熵損失PolyCE三處改進的有效性,本文在ResNet50作為模型編碼器且不采用復雜解碼結構和跳躍連接的基礎之上,將其分為4種情況進行消融實驗:(1)僅采用CRU模塊,并為驗證該模塊作為分割頭(Head)的有效性,加入FCN和DeepLabv3+分割頭進行對比;(2)在以CRU模塊作為分割頭的基礎上,采用EC&SA注意力,并為驗證該注意力機制的有效性,加入其他以及改進前的注意力機制進行對比;(3)在以CRU模塊作為分割頭的基礎上,采用Poly1CE損失;(4)CRU模塊、EC&SA注意力和PolylCE損失全部采用。4種實驗均在本文實驗所采用的二值分割數據上進行,消融實驗結果見表2。

表2 消融結果Tab.2 Ablation results %

從表2可以看出,在模型采用CRU模塊作為分割頭時,其分割精度要高出FCN和Deep-Labv3+分割頭約5%。DeepLabv3+分割頭雖然在FCN分割頭的基礎上引入了空洞空間卷積池化金字塔(ASPP)模塊,擴大了感受野,但是因為ResNet50下采樣倍數較大,并且同FCN分割頭使用卷積壓縮高維通道,使通道數變為2,之后再使用雙線性插值上采樣到原圖大小以實現分割,因此容易丟失大量高維信息細節,導致分割精度不佳。CUR模塊則不同于上述兩個分割頭,直接通過對ResNet50的特征編碼進行通道升維,補充周期篩選后的分割掩碼空間信息細節,以提高模型精度和速度。在CRU作為分割頭的基礎上,僅引入EC&SA注意力機制可使F1-Score和IoU提升約1%~2%,比其他通道注意力機制所帶來的性能提升更為明顯,如SE注意力模塊只帶來約0.3%~1%的提升,原始的ECA也只是帶來些許提升,從而說明本文針對模型需求改進注意力模塊的有效性。在CRU作為分割頭的基礎上,若只引入Poly1CE損失,則F1-Score和IoU均能高約1%~2%;當全部采用時,其效果的提升要優于僅采用其中一種,從而可使模型精度得到更進一步的提升。

綜上,通過實驗精度的對比,本文提出的3處優化均可顯著提高模型的實驗結果,從而有效證明了這3處優化的有效性,也證明了針對二值分割任務特點進行優化的正確性。

4.2 定量分析

各個模型在不同數據集的分割精度對比結果見表3。從表3中各模型所示分割精度可以看出,本文模型在本文所采用的分割數據集上,基本都能取得與主流編解碼語義分割模型相當的分割精度,甚至還超出部分分割模型。從Deep-Globe和Mas Roads的數據分割結果可知,相對于FCN和D2SNet,雖具有更為復雜解碼結構以及新型解碼后端的DeepLabv3+和EANet的分割會更高,但兩者實際差異并不明顯,特別是對于背景更為簡單的FALeather數據,各模型精度基本在同一范圍內持平。但對于本文模型,雖未采用解碼結構以及跳躍連接,卻取得了更優的分割結果,從而說明對于簡單的分割任務,輸入圖像經編碼器編碼后,其自身已包含足夠的通道及空間信息,無需額外結構進行補充。

表3 模型精度對比Tab.3 Comparison of model accuracy %

在模型參數、推理速度和綜合精度方面,本模型與主流分割模型對比結果見表4。相對于主流分割模型,首先從表中參數和推理速度可以看出,在同等條件下,本模型在減少參數的同時,理論推理速度達到了94 FPS,遠高出主流分割網絡;其次從表中TPE指標也可看出,本模型在同批次數據上所需的訓練時間也明顯減少,比參數接近的D2SNet減少1/3,比U-Net減少近4倍,從而有效降低了網絡訓練成本;最后從模型在各數據集上的平均精度F1m(F1 mean)和IoUm(IoU mean)可以看出,對于二值分割任務,本模型具有更高的普適性。

表4 模型參數對比Tab.4 Comparison of model parameters

綜上,本模型無論在推理速度上,還是在綜合分割精度上,都遠高出主流分割模型,有效提高了分割任務效率,減少了網絡訓練投入成本。

4.3 定性分析

我們在各個數據集上對分割模型FCN、Unet、PSPNet、D2SNet、EANet、DeepLabv3+(DLv3+)以及本文分割模型DFNet的預測結果進行了可視化,可視化結果見圖7。圖7中的紅色框突出顯示了本文模型分割表現優于主流分割模型的區域;圖7中的藍色虛線框突出顯示了上述7種分割網絡分割效果較差的區域。其中,藍色方框區域具有較大爭議性,如圖7(b)所示。通過觀察和比較輸入圖像,其自身也難以分辨是否真實包含分割目標,因此無法明確判斷分割是否正確,CrackForest分割結果中的藍色方框區域則是完全的分割錯誤,從而不確定性較大。因此,本文將其統稱為分割效果不佳以方便對比。

圖7 結果的可視化Fig.7 Visualization of results

從圖7的紅色方框標注區域可以看出,雖然本文分割模型并未采用復雜的解碼結構以及跳躍連接,但是對于不同數據的細節把控卻要優于其他分割模型。如圖7(a)中道路分割結果所示,本文分割模型不僅能夠精確地分辨出道路之間的聯系,而且能夠精確地分割出道路的形狀和輪廓,從而使分割的結果更接近于真實標簽。從圖7的藍色方框標注區域也可看出,主流分割模型分割不佳的情況要遠大于本文網絡,甚至在D2SNet中出現完全分割失敗的情況。D2SNet出現上述情況的原因,很可能是因為在卷積過程中采用了過多的二維隨機失活,這樣會導致網絡難以學習樣本特征,從而導致分割效果不佳。

綜上,對比不同模型的分割結果可知,本文模型能夠滿足二值分割任務需求,并且在某些方面還要遠優于主流模型。對比實驗也進一步說明,對于簡單的二值分割任務,編碼器的最終編碼特征本身就已具有足夠的細節信息,而無需額外的操作補充細節信息,聯合上采樣生成最終分割結果。

5 結論

本文提出了一種無解碼器的高效實用的二值語義分割模型。該模型簡化了主流分割模型結構,去除了分割網絡中常用的復雜解碼結構和跳躍連接,轉而采用卷積重塑上采樣模塊CRU完成最終特征編碼上采樣生成分割掩碼,從而在很大程度上減少了模型運算,提高了模型分割速度。融入改進后的輕量雙重注意力機制EC&SA,因其引入了輕量空間注意力算子ESA,從而使其在原有的注意力機制ECA提高特征信道交互的同時增添了特征的空間交互,從而提高了編碼特征相鄰像素間的信息交互能力,使網絡精度在原有的基礎上提升1%~2%,高于改進前所帶來的性能提升。采用擾動交叉熵損失PolyCE替代常規損失,使原有損失系數從固定變為自適應,從而通過訓練和實現得到與本文模型最為適合的損失系數,從而有效提高模型的像素分割精度。最終模型的理論分割速度最高可達94 FPS,在多個數據集上的F1和IoU的分割精度平均值更是達到了84.69%和73.95%,與主流網絡相當,極大提高了模型分割任務效率。

猜你喜歡
掩碼二值注意力
讓注意力“飛”回來
混沌偽隨機二值序列的性能分析方法研究綜述
支持CNN與LSTM的二值權重神經網絡芯片
低面積復雜度AES低熵掩碼方案的研究
基于二值形態學算子的軌道圖像分割新算法
基于布爾異或掩碼轉算術加法掩碼的安全設計*
“揚眼”APP:讓注意力“變現”
基于曲率局部二值模式的深度圖像手勢特征提取
A Beautiful Way Of Looking At Things
基于掩碼的區域增長相位解纏方法
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合