余佳文,宋建華
(1.湖北大學(xué)計算機與信息工程學(xué)院, 湖北 武漢 430062;2.湖北大學(xué)網(wǎng)絡(luò)空間安全學(xué)院, 湖北 武漢 430062;3.智慧政務(wù)與人工智能應(yīng)用湖北省工程研究中心,湖北 武漢 430062;4.湖北省高校人文社科重點研究基地
(績效評價信息管理研究中心),湖北 武漢 430062)
互聯(lián)網(wǎng)時代數(shù)據(jù)大爆發(fā)和計算機硬件性能的顯著提高為深度學(xué)習(xí)提供了基本保障和支持。與此同時,作為最大的信息發(fā)布和獲取平臺,互聯(lián)網(wǎng)每天都會產(chǎn)生大量數(shù)據(jù)。視頻和圖像存儲了大量的信息,是最常見的信息載體,如何充分利用這些數(shù)據(jù)是非常有意義的。由于社會進步和人類需求的改變和增加,大量學(xué)者的研究使得計算機視覺得到快速發(fā)展。人像分割是語義分割的重要研究方向,其應(yīng)用廣泛,在無人駕駛、摳圖、自動搜索等領(lǐng)域有著難以替代的作用。由于傳統(tǒng)分割方法存在噪音大、邊緣部分難以區(qū)分等問題,分割精度很難得到高要求。隨著人工智能在分割領(lǐng)域的發(fā)展,研究者們提出了基于神經(jīng)網(wǎng)絡(luò)的語義分割技術(shù),神經(jīng)網(wǎng)絡(luò)模型可以自學(xué)習(xí)、自適應(yīng)地分割感興趣類別,因此,基于深度學(xué)習(xí)的人像分割方法越來越激起研究者們的興趣。
近年來,基于卷積神經(jīng)網(wǎng)絡(luò)的語義分割方法發(fā)展迅猛,特別是全卷積網(wǎng)絡(luò)(FCN)[1],其輸入可以是任意尺寸的特征圖,并使用反卷積層作為上采樣方式來恢復(fù)特征,已成為圖像分割的經(jīng)典。以FCN為基礎(chǔ),研究者提出了U-Net[2],其作為FCN一種成功的變體,采用跳躍連接方式連接編碼器特征和解碼器特征的網(wǎng)絡(luò),能有效保留細(xì)節(jié)。UNet++[3]改進了U-Net的跳躍連接方式,其聚合多尺度的語義特征,豐富了特征融合方案。Res-UNet[4]用ResNet 50[5]代替了特征提取層的普通卷積來加深網(wǎng)絡(luò)。SegNet[6]通過Pooling Indices方式來保存池化時提取特征值的位置,在解碼時需要將特征圖上采樣,此時利用Pooling Indices記錄的位置信息還原特征點的位置來降低信息損失。PSP Net[7]為了聚合多尺度的上下文先驗知識,使用金字塔池模塊融合4個比例的特征,實現(xiàn)多尺寸先驗信息構(gòu)造。Attention U-Net[8]提出了一種注意力門,它能自動學(xué)習(xí)區(qū)分物體的形狀和大小,并且在經(jīng)過訓(xùn)練后,能夠抑制無關(guān)區(qū)域,注重有用的顯著特征,這點對一個具體的任務(wù)來說很有效。
另外,注意力機制在解決特征冗余方面具有獨特優(yōu)勢。注意力是指人類大腦處理眼睛獲取的信息時,大腦傾向于更關(guān)注于有用的信息,而適當(dāng)忽略其他不重要信息,而注意力機制是由人腦獨特的作用機理而獲得啟發(fā)的,其可以在特征提取時自動關(guān)注需要注意的特征,抑制不重要的特征。通道注意力是通過學(xué)習(xí)給每個通道上的特征施加一個權(quán)重,Hu等[9]提出的擠壓激勵(SE)模塊通過控制各通道的權(quán)重來增強重要通道,弱化不重要通道,從而使提取的特征更有方向性;Qin等[10]在SENet的基本框架上,將全局平均池化層代替為2DDCT,能夠提取更多信息從而更準(zhǔn)確地給予每個通道不同重要性權(quán)重;Gao等[11]還提出改進壓縮模塊,使用全局二階池塊(GSoP)來收集全局信息,同時建模高階統(tǒng)計量;Wang等[12]提出了一種有效通道注意力(efficient channel attention, ECA)模塊,該模塊僅使用一維卷積來確定通道之間的相互作用,而不是降低維度。對于空間注意力來說,其作用主要是提高關(guān)鍵區(qū)域的特征表達,Vaswani等[13]提出的Self-Attention主要用于RNN,其允許在不考慮輸入或輸出序列中的距離的情況下進行依賴建模,并且可以將一個序列的不同位置串聯(lián)起來;Wang等[14]將自注意力方法引入到卷積神經(jīng)網(wǎng)絡(luò),通過三個線性投影將輸入變換為query矩陣、key矩陣、value矩陣,計算自注意力的輸出;Mo[15]提出了一種可嵌入到現(xiàn)有卷積結(jié)構(gòu)中的可微模塊,使神經(jīng)網(wǎng)絡(luò)可以根據(jù)特征圖本身將特征圖做空間轉(zhuǎn)換,而無需額外的深度監(jiān)督或優(yōu)化過程的修改。對于多種注意力融合方面,Woo等[16]為了整合不同類型的注意力,提出了卷積注意力模塊CBAM,它以串聯(lián)形式合成通道和空間的注意力信息,Fu等[17]以并聯(lián)的形式合成通道和空間兩路的注意力信息,并重新設(shè)計了空間分支和通道分支。另外,Li等[18]認(rèn)為不同的卷積核大小對網(wǎng)絡(luò)的影響程度是不同的,Schlemper等在Attention U-Net中將注意門控(attention gate, AGs)與U-Net相結(jié)合,通過自動學(xué)習(xí)參數(shù)來調(diào)整激活值,減少有用信息丟失來關(guān)注到各種形狀大小的異常區(qū)域。
U-Net網(wǎng)絡(luò)結(jié)構(gòu)簡單,其跳躍連接方式能有效保留細(xì)節(jié),在多種場景的人像分割中取得了很大的成功,因此本文中以U-Net網(wǎng)絡(luò)為基準(zhǔn),為了解決U-Net中每層卷積核大小固定而導(dǎo)致網(wǎng)邊緣分割模糊、不同尺度的全局上下文信息被忽略以及背景信息復(fù)雜等問題,對其進行改進。針對網(wǎng)絡(luò)每層的卷積核尺寸固定,網(wǎng)絡(luò)不能根據(jù)不同上下文自適應(yīng)調(diào)整感受野,導(dǎo)致網(wǎng)邊緣分割模糊的問題,引入一種改進的卷積核選擇模塊來替換U-Net每層的雙卷積,該模塊可以采用多種不同大小的卷積核來提取特征再進行特征選擇,以動態(tài)獲取最適合的感受野特征;針對不同尺度的全局上下文信息被忽略的問題,引入多尺度預(yù)測機制,網(wǎng)絡(luò)聚合多個中間層生成的特征,從而可以利用不同尺度的全局和局部信息來進行預(yù)測;針對人像背景復(fù)雜且含有大量噪聲,導(dǎo)致網(wǎng)絡(luò)提取了很多非重要信息,這些冗余特征致使網(wǎng)絡(luò)訓(xùn)練緩慢的問題,引入雙注意力模塊對融合特征進行特征重要性篩選,可以去除噪聲,獲得更重要、可用性更高的信息,合理地指導(dǎo)資源分配。
1.1 網(wǎng)絡(luò)結(jié)構(gòu)本文中提出的網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示,左邊為收縮路徑,能夠提取目標(biāo)的特征并進行下采樣,右邊為擴展路徑,將收縮路徑提取到的特征與擴展路徑中上采樣后的特征進行融合。該網(wǎng)絡(luò)結(jié)構(gòu)以U-Net網(wǎng)絡(luò)結(jié)構(gòu)為基礎(chǔ),引入了改進的雙重注意力(DA)模型、多尺度融合機制、卷積核選擇(SK)模塊。U-Net將收縮和擴展路徑的特征進行融合,可避免信息丟失,將卷積核選擇模塊代替收縮路徑和擴展路徑中的雙卷積,每層可以獲取更重要的、不同感受野的特征;然后聚合擴展路徑每層的輸出,實現(xiàn)多尺度特征的利用,最后使用雙注意力模塊篩選出重要特征,抑制不重要的信息。
圖1 人像分割整體網(wǎng)絡(luò)結(jié)構(gòu)圖
1.2 卷積核選擇SK模塊為了動態(tài)選擇不同的感受域特征,本研究在收縮路徑和擴展路徑中引入了一種改進的SK(selective kernel)模塊,該模塊分為三個部分:分裂、融合和選擇。分裂運算生成三條卷積核大小不同的路徑,融合操作聚合多個路徑的信息,以獲得不同感受野特征的綜合表示,選擇部分根據(jù)權(quán)重選擇由不同卷積核處理過的特征圖。
卷積核選擇模塊如圖2所示,模塊的輸入經(jīng)過三個不同尺寸的卷積核操作后,計算得出三種不同感受野的特征圖,然后將三種特征圖進行融合,并經(jīng)過降維獲得通道數(shù)為3的特征圖,然后將3通道特征圖與上述三個不同感受野的特征圖進行Element-wise Multiplication操作并融合,最后從具有不同感受野的豐富特征中選擇對網(wǎng)絡(luò)有益的特征,獲得新的特征圖。
圖2 卷積核選擇模塊
令輸入為X,輸出用Z表示,Gn代表卷積核尺寸為n×n的卷積層,GB代表BN層,用*表示Concatenation操作,用+表示Element-wise Summation操作,用×表示Element-wise Multiplication,δ表示Relu激活函數(shù)。那么,該模塊可以用以下五個公式來表示模塊的三步操作。
1)分裂:分別使用三個不同尺寸卷積核對輸入進行卷積操作,獲得三個具有不同感受野的特征圖u1、u2、u3:
ui=δ(GB(G2×i-1(X))),i=1,2,3
(1)
2)融合:將分裂部分生成的三個特征圖進行Concatenation操作,合并三個特征圖得到新的包含多感受野特征的特征圖U,其用可用如下公式(2)表示:
U=u1*u2*u3
(2)
然后U接著通過兩次卷積操作和Softmax函數(shù)來生成特征圖S:
S=Softmax(G3(G3(U)))
(3)
其中,G3表示卷積核尺寸為3×3的卷積層,第一次卷積后特征圖的通道數(shù)32,第二次為3,S為包含空間信息的特征。
3)選擇:特征圖S的三個通道分別用s1、s2、s3表示。將S的三個通道分別與u1、u2、u3進行Element-wise Multiplication操作,將得到的結(jié)果再進行Element-wise Summation操作得到Y(jié):
(4)
其中,Y是使用空間信息指導(dǎo)網(wǎng)絡(luò)對重要感受野特征進行選取后的結(jié)果。
最后將Y和輸入X做降維處理,再將X與Y做Element-wise Multiplication操作,主要是為了避免信息丟失。輸出為Z,可以用式(5)表示:
Z=G3(X)×G3(Y)
(5)
其中,Z也是卷積核選擇模塊的最終輸出,包含了最益于網(wǎng)絡(luò)性能的特征。
1.3 雙注意力DA模塊另外,本文中引入了一種改進的DA(dual attention)模塊,該模塊集成空間注意力和通道注意力信息,抑制了背景、噪聲等非重要特征的提取,使網(wǎng)絡(luò)更趨向于對重要的特征提取,提升網(wǎng)絡(luò)性能。該模塊采用并行方式同時提取空間信息和通道信息,然后將兩者融合。
改進的雙注意力模塊如圖3所示。最上層是通道注意力分支,SENet采用GAP計算通道權(quán)重,即將通道元素加和取其均值,實際上均值不足以表達不同通道的信息,GAP可以看成是2DDCT的特例,本研究采用2DDCT計算通道權(quán)重,然后,通過一維卷積和Sigmoid 運算來匯總相鄰?fù)ǖ赖男畔?以獲得更準(zhǔn)確的通道信息。最后,將含有通道信息的特征圖與輸入特征圖執(zhí)行Element-wise Multiplication操作,可以獲得最終需要的通道注意力特征。
圖3 雙注意力模塊
下一層是一種簡單的空間分支,使用Concatenation操作匯總由輸入特征圖經(jīng)過最大池化、平均池化操作得到的兩個尺寸都為H×W×1的特征圖,然后通過卷積操作降維為H×W×1,再經(jīng)過 Sigmoid 操作,最后也與輸入特征進行Element-wise Multiplication操作生成空間注意力特征。雙注意力模塊采用Element-wise Sum操作融合通道注意力信息和空間注意力信息。
雙注意力模塊的通道注意力分支為了提取通道信息,其采用2DDCT提取每個通道的信息,然后使用一維卷積操作得到最終通道信息s,其可形式化的表示為公式(6):
s=G1D3(2DDCT(δ(GB(G3(X)))))
(6)
其中2DDCT表示二維離散余弦變換,G1Dk表示卷積核尺寸為k的一維卷積操作,s是向量,反映了輸入特征圖每個維度的重要性程度。
然后,向量s通過式(7)激勵模塊的輸入X,引導(dǎo)X向有利于識別任務(wù)的方向不斷更新,則其形式化表示為以下公式:
y1=Sigmoid(s)×X
(7)
其中,Sigmoid表示Sigmoid激活函數(shù),y1是通道注意力特征。
雙注意力模塊的空間注意力分支如公式(8)表示:
y2=Sigmoid(GB(G3(δ(AvgPool(X)*MaxPool(X)))))×X
(8)
其中,AvgPool和MaxPool表示平均池化層和最大池化層,y2是空間注意力特征。
最后是融合通道注意力信息和空間注意力信息,可以用以下公式表示:
Z=Sigmoid(GB(G3(δ(y1+y2))))×X
(9)
其中,Z是融合兩種注意力信息后的特征。
2.1 數(shù)據(jù)集介紹本次實驗數(shù)據(jù)集采用公開的PennFudanPed數(shù)據(jù)集,該數(shù)據(jù)集中包含的170張訓(xùn)練圖片,其標(biāo)簽圖片中對345個行人做了標(biāo)記,170張圖片中96張圖片拍攝自賓夕法尼亞大學(xué)周圍,其他74張取自復(fù)旦大學(xué)附近。在本實驗中,我們做了一定的數(shù)據(jù)增強,采用翻轉(zhuǎn)、平移等操作擴充數(shù)據(jù)集至3 230張,并視背景為陰性類,人像部分為陽性類。
數(shù)據(jù)集的背景復(fù)雜、場景不一、人物尺寸差異大,因而該數(shù)據(jù)集在人像分割任務(wù)中具有一定的真實性和難度。
2.2 實驗細(xì)節(jié)軟硬件環(huán)境:實驗硬件配置為Intel(R) Xeon(R) Silver 4210 (兩個處理器)+ NVIDIA Quadro RTX 5000 16 GB + 24 GB RAM;軟件環(huán)境為CUDA 10.2 + Pytorch 1.7.1 + python 3.8 + PyCharm。
實驗細(xì)節(jié):本實驗采用Dice Loss + BCE Loss計算預(yù)測圖像與標(biāo)簽圖像之間的差距程度。訓(xùn)練時的初始學(xué)習(xí)率為1e-3,batch size設(shè)置為2,epoch設(shè)置為100,輸入圖像resize為256×256×3;使用Adam優(yōu)化器和早停(early stopping)機制進行訓(xùn)練,以防止過度擬合。
2.3 評價指標(biāo)本實驗的評價指標(biāo)選擇相似系數(shù)(Dice)、均交并比(MIoU)、召回率(Recall)、精確率(Precision)、F1 score這5個常用的指標(biāo)。
相似系數(shù)(Dice)用于計算分割任務(wù)的預(yù)測結(jié)果與真實結(jié)果兩者之間的相似度。取值范圍為[0,1],計算公式如下:
(10)
其中,A表示模型的預(yù)測結(jié)果中預(yù)測為正類的像素數(shù)目,B表示標(biāo)簽圖像中正類的像素數(shù)目,|A∩B|表示預(yù)測圖像和標(biāo)簽圖像中位置相同且都為正類的像素數(shù)目,|A|+|B|表示預(yù)測圖像和標(biāo)簽圖像中為正類的標(biāo)簽總數(shù)。
平均交叉并比(MIoU)是指模型對所有類別的預(yù)測結(jié)果與真實結(jié)果的交并比,并取所有類別平均值,取值范圍為[0,1]。其計算公式如下:
(11)
其中,K表示要分類的類別,k+1表示加上了背景類;TP是真陽性,表示被模型預(yù)測為正類的正樣本;TN是真陰性,表示被模型預(yù)測為負(fù)類的負(fù)樣本;FP為假陽性,代表被模型預(yù)測為正類的負(fù)樣本;FN假陰性,代表被模型預(yù)測為負(fù)類的正樣本。
Recall是指陽性樣本被判定為陽性樣本的比例;Precision是指實際陽性樣本占預(yù)測陽性樣本的比例。
(12)
(13)
Precision和Recall往往是一對相互矛盾的衡量標(biāo)準(zhǔn),一般來說,當(dāng)Precision值較高時,Recall值往往較低;而Precision值較低時,Recall值往往較高。F1 score就是為了能夠綜合考慮這兩個指標(biāo)而提出的衡量標(biāo)準(zhǔn),即:
(14)
2.4 實驗結(jié)果及分析
2.4.1 模型性能對比 為了驗證本研究所提出模型的有效性,U-Net、Unet++、SegNet、Res-UNet、Attention U-Net的實驗采用了與本文模型相同的訓(xùn)練參數(shù)和訓(xùn)練方式,如損失函數(shù)、初始學(xué)習(xí)率、優(yōu)化器等。
各模型的在PennFudanPed數(shù)據(jù)集中的分割結(jié)果如表1所示。由表1可知,本研究提出模型性能更好,在MIoU上,比基礎(chǔ)網(wǎng)絡(luò)U-Net高2.2%,比Unet++高2.0%,比SegNet高6.6%,比Res-UNet高2.3%,比Attention U-Net高1.8%。
表1 各模型在PennFudanPed數(shù)據(jù)集上的分割效果對比
為了更直觀地突出本文中網(wǎng)絡(luò)模型的分割性能,在PennFudanPed數(shù)據(jù)集上將該方法的可視化結(jié)果與其他方法進行了比較,結(jié)果如圖4所示。由對比結(jié)果可見,U-Net以及其他變體對邊界以及細(xì)節(jié)的分割存在不足,漏分、多分問題比較明顯,本文中方法很好地彌補了這些不足,準(zhǔn)確捕獲了重要信息。實驗結(jié)果表明,本模型能夠更好地捕獲重要特征、抑制噪聲,使得分割結(jié)果更準(zhǔn)確。
圖4 各模型在PennFudanPed數(shù)據(jù)集上分割的可視化結(jié)果
2.4.2 消融實驗 為了驗證本文中提出的SK模塊和DA模塊的有效性,采用控制變量法進行消融實驗。本研究在PennFudanPed數(shù)據(jù)集上構(gòu)建了不帶SK模塊和帶SK模塊的基礎(chǔ)U-Net網(wǎng)絡(luò),并進行了實驗。實驗結(jié)果如表2第一行和第二行所示。SK模塊可以將MIoU指數(shù)提高1.8%左右,驗證了SK模塊可以選擇自身更重要的多感受野信息,從而提高了模型分割能力。
表2 在PennFudanPed數(shù)據(jù)集上驗證方法有效性的實驗結(jié)果
驗證DA模塊的有效性:驗證方式類似于上述SK模塊,設(shè)計了不嵌有和嵌有DA模塊的網(wǎng)絡(luò)。為了盡量避免其他模塊對結(jié)果的影響,實驗應(yīng)分為兩小組,如表2所示。第1行和第3行組成第一小組,第二小組由第2行和第4行組成。兩小組分別在基礎(chǔ)網(wǎng)絡(luò)和包含SK模塊的網(wǎng)絡(luò)上的實驗結(jié)果證明了融合不同注意力機制的有效性。由表可見,在加入DA模塊后,MIoU大約提升了 0.4%。此實驗結(jié)果表明,本實驗?zāi)軌蛴行诤隙喑叨忍卣?再由DA模塊對重要特征地篩選。
針對卷積神經(jīng)網(wǎng)絡(luò)在人體圖像分割中的應(yīng)用,本研究基于U-Net網(wǎng)絡(luò),提出一種基于注意機制的人體圖像分割方法。該方法引入了卷積核選擇模塊、雙注意力模塊、多尺度預(yù)測機制,實驗結(jié)果印證了本文中方法的可行性。但是本文中網(wǎng)絡(luò)模型僅考慮到提升網(wǎng)絡(luò)精度,在輕量化方面還有很大提升空間,很難在一些內(nèi)存和計算資源較少的移動設(shè)備上部署及使用。在未來的工作中,在不影響的精度的前提下降低網(wǎng)絡(luò)模型參數(shù)量和計算量具有重要意義。