劉 帥,鄧曉冰,楊火祥,柳 偉
(1. 深圳信息職業(yè)技術學院計算機學院,廣東 深圳 518172;2. 深圳大學應用技術學院,廣東 深圳 518118;3. 廣東技術師范大學電子與信息學院,廣東 廣州 510665;4. 深圳大學電子與信息工程學院,廣東 深圳 518060)
隨著深度學習的不斷發(fā)展,卷積神經網絡(Convolutional Neural Network, CNN)以其優(yōu)秀的特征提取能力,被廣泛應用于圖像分類、目標檢測以及語義分割等任務中。其中,全卷積神經網絡(Fully Convolutional Network, FCN)的提出標志著圖像語義分割技術邁向了新的階段。Long等[1]在2015年提出全卷積神經網絡FCN,實現(xiàn)了端到端的圖像語義分割。此后,越來越多的研究人員開始利用CNN模型進行圖像語義分割,并取得了較好的分割效果。雖然 CNN 能夠有效地提取圖像特征,但是其卷積和池化等操作會導致感受野和分辨率受到限制,進而影響了語義分割的準確性。因此,越來越多的改進模型應運而生。
自編碼器(Autoencoder, AE)因其簡單且有效的網絡結構受到研究者們的關注。其主要思路是將輸入數(shù)據(jù)通過多個卷積層提取特征后進行降采樣,再通過反卷積層將特征圖上采樣至原始尺寸。Ronneberger等[2]基于FCN和自編碼結構提出了一種改進的圖像語義分割模型U-Net。它的主要特點是網絡結構完全對稱,并且在解碼器部分加入了更多的卷積操作和跳躍連接,以此將局部細節(jié)的損失降到最小,從而提高圖像分割的效果。隨后,Qin等[3]在2020年提出了U-Net的改進版本U2-Net模型。該模型不僅可以用于顯著目標檢測(SOD),還可用于圖像分割等其他任務。
除了上述利用自編碼結構進行模型改進的方法外,還有一些研究者通過在卷積神經網絡中添加注意力機制來進行模型優(yōu)化[4-6]。注意力機制[7]的思想源于人類頭腦的思考過程,即通過專注于自己關注的事物,來提高對這些事物的認知和理解。在圖像語義分割任務中,使用注意力機制可以根據(jù)圖像的特征自適應地選擇感興趣的區(qū)域,突出重要特征,抑制不重要信息,從而提高圖像語義分割的精度。
因此,為了解決現(xiàn)有深度學習模型面對一些存在遮擋、噪聲的圖像容易預測出錯的問題,本文在U2-Net模型的基礎上,通過引入注意力機制對U2-Net模型進行改進和優(yōu)化。通過在U2-Net模型中插入同時包含空間注意力和通道注意力的CBAM[8]模塊,自適應的調整每一個通道的權重,捕捉特征圖中的空間相關性,有效地減少信息丟失和冗余。改進后的模型能對不同通道和空間位置的特征圖進行更細致的加權融合,以提高特征圖的質量和準確性,進而提高模型分割結果的精度和準確性。在增廣后的VOC2012數(shù)據(jù)集上的實驗結果表明,在增加CBAM模塊后,U2-Net模型的MIoU及準確率分別提高了8.21%和4%。
圖像語義分割技術按照技術方法的不同,可以分為傳統(tǒng)的圖像語義分割和基于深度學習的圖像語義分割。
傳統(tǒng)的圖像分割算法包括基于閾值、邊緣檢測、區(qū)域、主動輪廓以及圖論等。這類方法通過手工方式根據(jù)顏色、形狀、紋理、灰度等特征對圖像進行劃分,以完成對物體的分割[9]。然而,傳統(tǒng)方法需要花費大量人力,并且在圖像信息處理和實時場景理解方面的效率和精度都難以達到要求。相比之下,基于深度學習的圖像語義分割技術具有更高的效率和精度。
基于深度學習的圖像語義分割方法無需手動設計特征,而是利用大量的原始圖像數(shù)據(jù),通過卷積神經網絡模型自動學習并提取高層次的特征,最終生成帶有像素類別標簽的分割圖像。2015年,Long等人提出全卷積神經網絡模型FCN,該模型可以適應各種尺寸的輸入圖像,是首個支持端到端訓練的語義分割模型。2016年,Ronneberger等人提出經典的醫(yī)學圖像分割模型U-Net,U-Net采用U型自編碼結構,并在對稱的編解碼階段引入了跳躍連接,有效地避免了信息丟失的問題。該網絡因其簡單有效的結構,不僅在醫(yī)學領域有著廣泛應用,通過不斷改進也可應用于其他場景[10-11]。同年,Google基于DeepLabv1[12]提出了DeeplabV2[13]模型,使用空洞卷積代替部分池化操作進行下采樣,并引入空洞卷積金字塔模塊進行多尺度特征提取。2017年,DeepLabV3[14]對空洞卷積金字塔模塊進行了改進,引入輕量卷積結構,避免模型的參數(shù)量過大。2018年,DeepLabV3+[15]將整個DeepLabV3作為編碼器進行特征提取,以獲得更好的分割效果。2020 年 Qin等提出的一種既簡單又強大的深度網絡架構U2-Net。U2-Net在U-Net的基礎上增加了U型殘缺塊(RSU模塊),該模塊的結構如圖1所示。RSU模塊由三個部分構成,包括輸入卷積層、U型結構和殘差連接層。其中,輸入卷積層是對輸入圖進行通道轉換,U型結構可以提取多尺度上下文信息,而殘差連接層則將輸入層和中間層通過殘差塊進行連接。
圖1 RSU結構圖
U2-Net整體結構如圖2所示,主要由三個主要組成部分構成,包括6個編碼模塊,5個解碼模塊以及特征融合輸出模塊。每個模塊都由RSU模塊組成,以逐步地實現(xiàn)特征提取和上下采樣處理。
圖2 U2-Net模型結構
在編碼模塊En_1至En_4中,分別包含了7至4個RSU模塊,每個編碼模塊中RSU模塊的個數(shù)根據(jù)輸入特征圖的空間分辨率進行逐層減少。但在En_5與En_6中,特征圖的分辨率相對較低,進一步下采樣會導致上下文信息嚴重丟失。因此,在En_5與En_6使用RSU-4F模塊,其中F表示對RSU模塊的擴展,即使用膨脹卷積來代替上采樣和下采樣操作,使得RSU-4F模塊中所有特征圖的分辨率相同。
U2-Net模型可以實現(xiàn)多尺度特征提取和高效率計算,具有較好的分割準確性和高效率,在多個場景中都有改進和應用[16,17]。
CBAM(Convolutional Block Attention Module)注意力模塊是通道和空間注意力機制的組合。通過通道注意力機制,網絡可以學習到各個通道的重要性,并強制模型關注較重要的通道,同時抑制不重要的通道的影響,從而提高網絡的性能。而空間注意力機制能夠學習到每個空間位置的上下文信息,使得網絡能夠更好地提取圖像中的語義信息。CBAM結構如圖3所示。
圖3 CBAM結構圖
CBAM注意力機制利用了特征通道和空間上兩個維度的信息,可以更加準確地學習到特征圖的各個通道和位置的權重信息,從而提高了卷積神經網絡的性能還有泛化能力。
1.2.1 通道注意力模塊CAM
CAM模塊主要用于獲取通道注意力特征,將輸入的特征圖F分別進行全局最大池化與全局平均池化操作,在空間上對其進行壓縮,生成兩個大小為1×1×C的特征圖,然后,將這兩個特征圖輸入到一個包含兩層ReLU激活函數(shù)的多次感知機(MLP)中進行處理。接著,將得到的輸出特征逐元素相加,并通過Sigmoid函數(shù)生成通道注意力特征圖FC。最后,將FC和輸入的特征圖F逐元素相乘,得到SAM模塊的輸出特征圖F*。CAM結構如圖4所示。
圖4 CAM結構圖
1.2.2 空間注意力模塊SAM
空間注意力模塊通過對特征的空間相關性進行處理來提取注意力信息,它與通道注意力模塊有所區(qū)別卻也可互補??臻g注意力模塊的輸入特征圖F*是通道注意力圖FC和通道注意模塊的特征輸入逐元素相乘的結果,對其做最大池化操作和平均池化操作,得到兩個H×W×1的特征圖并將它們在通道上進行拼接,然后通過卷積核和Sigmoid激活函數(shù)來生成空間注意力特征圖FS。最后將其與上一步獲得的特征圖F*逐元素相乘,得到最終的特征圖F**。 SAM結構如圖5所示:
圖5 SAM結構圖
盡管U2-Net模型在圖像語義分割領域中表現(xiàn)很出色,但該模型在面對一些存在遮擋、噪聲的圖像時,依然容易出現(xiàn)分割不準確的情況,導致模型整體的分割性能下降。CBAM注意力機制能夠在空間和通道維度上對特征圖進行加權,提取圖像的全局信息和局部信息,能更好地適應不同尺度和形狀的目標,也能使模型更好地聚焦于感興趣的區(qū)域。此外,CBAM還能夠更好地指導模型從圖像中提取到有關目標的更多信息,并減少噪聲的干擾。因此,為解決U2-Net模型分割目標物體形狀復雜時模型性能下降的問題,本文在U2-Net模型的基礎上,通過引入注意力機制對U2-Net模型進行改進和優(yōu)化。通過在U2-Net模型中插入同時包含空間注意力和通道注意力的CBAM模塊,自適應地調整每一個通道的權重,捕捉特征圖中的空間相關性,有效地減少信息丟失和冗余。本文提出的基于CBAM的U2-Net圖像分割模型的結構如圖6所示,本文模型能對不同通道和空間位置的特征圖進行更細致的加權融合,以提高特征圖的質量和準確性,進而提高模型分割結果的精度和準確性。
圖6 基于CBAM的U2-Net模型設計
為了驗證提出的基于CBAM的U2-Net模型的有效性,本文將通過對比改進模型與原始模型的訓練結果和在公共數(shù)據(jù)集上的測試結果。在訓練模型前,先對實驗所用到的數(shù)據(jù)集及實驗環(huán)境進行介紹。
2.2.1 數(shù)據(jù)集
本文先使用數(shù)據(jù)集SBD[18]對VOC2012[19]進行擴充,然后去除兩個數(shù)據(jù)集中的重復部分,得到增廣后的VOC2012數(shù)據(jù)集,共包含12 031張圖片。此外,本文還對增廣后的VOC2012數(shù)據(jù)集進行了劃分,將其中90%(共10 827張)作為訓練集,剩下10%(共1 204張)作為驗證集。
2.2.2 訓練參數(shù)設置
本文所有實驗均基于深度學習框架Pytorch[20]進行實現(xiàn),訓練過程中batch統(tǒng)一設置為32,最大學習率設置為1e-4,模型使用Adam優(yōu)化器[21]進行訓練,并設置優(yōu)化器內部動量參數(shù)為0.9,權重衰減因子為0。模型總共進行100個epoch的訓練,每5個epoch保存一次權值,并使用cos學習率下降策略對學習率進行調整。為了公平比較,本文模型和原U2-Net模型統(tǒng)一采用預訓練的VGG模型作為主干網絡,并基于預訓練權重對模型進行訓練。
2.2.3 訓練結果對比
深度學習模型的損失函數(shù)是衡量模型性能的關鍵指標之一,損失函數(shù)值越小,則代表模型的預測值和真實值的差異越小,即模型性能越優(yōu)。因此,本文通過對比U2-Net模型在增加CBAM注意力模塊前后損失函數(shù)值的變化來評估模型的性能改善程度。圖7、圖8分別展示了原始U2-Net模型和基于CBAM的U2-Net模型在增廣VOC2012數(shù)據(jù)集上的訓練過程和損失變化。對比圖7和圖8,可以發(fā)現(xiàn),基于CBAM的U2-Net模型的損失值下降速度更快,即收斂速度更快。具體而言,優(yōu)化前的U2-Net模型需要經過60次迭代,損失函數(shù)值才會下降到0.3左右,而優(yōu)化后的模型只需要經過40次迭代。表明優(yōu)化后的模型更快地學習到數(shù)據(jù)集的特征,且優(yōu)化后的模型的損失值比原模型的損失值小,證明了優(yōu)化后模型的收斂速度和性能均有所提升。
圖7 U2-Net模型的訓練過程和損失變化
圖8 基于CBAM的U2-Net模型的訓練過程損失變化
本文采用語義分割領域常用的兩個評價指標—平均交并比MIoU和準確率Precision,來衡量模型性能和預測結果的準確性。
平均交并比MIoU是指真實分割結果與預測分割結果的平均交集占真實分割結果和預測分割結果的平均并集的比例。它首先計算每個類別的交并比IoU,然后將所有結果求平均值。IoU的計算方式如公式(1)所示:
上式中TP(True Positive)、FP(False Positives)和FN(False Negatives)分別表示“實際上是正樣本,預測為正樣本”“實際上是負樣本,預測為正樣本”和“實際上是正樣本,預測為負樣本”的數(shù)量。假設共有k+1個不同的分類,分別用L0到Lk進行標記,Pmm表示類別m的像素被預測為類別n的數(shù)量。此時,Pmm就等價于TP,而Pmn和Pnm則分別等價于為FP和FN,則MIOU的公式表示可以簡化成以下形式:
準確率Precision的含義是在所有被預測為正樣本的樣本中,實際為正樣本的概率,用P來表示準確率,計算方式如公式(3)所示:
為驗證所提方法的有效性,本文在增廣后的VOC2012數(shù)據(jù)集上進行了實驗,比較了添加CBAM模塊前后U2-Net模型的性能變化。同時,為了進一步凸顯CBAM模塊的有效性,本文還與基于SENet[22]的U2-Net模型進行了比較,對比測試結果如表1所示。
表1 基于CBAM的U2-Net模型優(yōu)化結果
由表1可以看出,本文所提基于CBAM的U2-Net模型在增廣后的VOC2012數(shù)據(jù)集上的性能優(yōu)于基準模型U2-Net,所取得的MIoU及準確率比基準模型分別提高了8.21%和4%,分別達到了67.7%和81.82%。由此可見,所提模型具有良好的圖像語義分割性能,且通過在U2-Net模型中插入同時包含空間注意力和通道注意力的CBAM模塊,可以幫助模型自適應地調整每一個通道的權重,捕捉特征圖中的空間相關性,有效地減少信息丟失和冗余。此外,與僅提取通道注意力信息的SENet模塊相比,基于CBAM的U2-Net模型的MIoU和準確率也分別提高了0.33%和0.37%。表明引入CBAM模塊后,模型能對不同通道和空間位置的特征圖進行更細致地加權融合,以提高特征圖的質量和準確性,進而提高模型分割結果的精度和準確性。
為了進一步體現(xiàn)所提方法的有效性,本文將所提方法和基準模型U2-Net模型在增廣后的VOC2012數(shù)據(jù)集上的部分圖像分割結果可視化,如圖9所示。從圖9中的飛機機翼分割結果可以看出,本文所提模型可以完整的分割機翼部分,原始U2-Net無法完整的分割出機翼部分,增加SE模塊的U2-Net模型的分割結果相較于U2-Net而言更加完整,但仍然存在部分區(qū)域不能正確分割。表明了在U2-Net模型中添加CBAM模塊可以準確地捕捉特征圖中的空間相關性,有效地減少信息丟失,提高模型的分割準確性。
圖9 部分圖像分割結果對比
圖10 直觀地展示了增加注意力機制后的U2-Net模型在MIoU及Precision兩個評價指標上的性能變化。不難看出,通過在U2-Net中添加注意力機制是一種簡單且有效的模型優(yōu)化方法,它可以顯著提高模型的性能。
圖10 增加不同模塊的網絡優(yōu)化分析
本文針對現(xiàn)有深度學習模型面對一些存在遮擋、噪聲的圖像時容易分割出錯的問題,提出通過引入注意力機制來提高模型的魯棒性和泛化能力。本文以U2-Net模型為基準,通過在U2-Net模型中插入CBAM模塊來調整特征圖中每一個通道的權重,并捕捉特征圖中的空間相關性,有效地減少信息丟失和冗余。通過實驗對優(yōu)化后模型的性能進行了綜合評估,表明CBAM模塊可以顯著提高模型的性能和泛化能力,證明了所提方法的有效性。