楊 貞,彭小寶,朱強(qiáng)強(qiáng),殷志堅(jiān)
(江西科技師范大學(xué)通信與電子學(xué)院,南昌 330013)
圖像的語(yǔ)義分割在計(jì)算機(jī)視覺(jué)領(lǐng)域是一項(xiàng)具有挑戰(zhàn)性的工作,與基于像素塊分類的目標(biāo)檢測(cè)任務(wù)不同,它要求對(duì)圖像中每個(gè)像素點(diǎn)進(jìn)行精確分類,因此語(yǔ)義分割更復(fù)雜,對(duì)設(shè)備的性能要求更高。目前,圖像的語(yǔ)義分割廣泛應(yīng)用于自動(dòng)駕駛[1]、衛(wèi)星圖像分析[2]、醫(yī)學(xué)圖像分割[3]、物體缺陷檢測(cè)[4]和精準(zhǔn)農(nóng)業(yè)[5]。
當(dāng)今,圖像分割技術(shù)由傳統(tǒng)圖像分割和基于深度卷積神經(jīng)網(wǎng)絡(luò)的圖像分割組成。傳統(tǒng)分割方法有邊緣與閾值法[6]、圖割法[7]、小波變換法[8]和主成分分析法[9]等;基于深度卷積神經(jīng)網(wǎng)絡(luò)的圖像分割算法主要有全卷積網(wǎng)絡(luò)(Fully Convolutional Network,F(xiàn)CN)[10]、U-net[11]、SegNet[12]、金字塔場(chǎng)景解析網(wǎng)絡(luò)(Pyramid Scene Parsing Network,PSPNet)[13]及Deeplab V1&V2&V3&V3 Plus[14-17]。
Long 等[10]提出了全卷積網(wǎng)絡(luò)(FCN)用于圖像分割,其核心思想是去掉網(wǎng)絡(luò)結(jié)構(gòu)的全連接層(Fully Connected layers,F(xiàn)C),通過(guò)最后卷積層的特征圖來(lái)完成預(yù)測(cè),從而使得全卷積網(wǎng)絡(luò)可預(yù)測(cè)圖像中每個(gè)像素點(diǎn)的類別。除此之外,在圖像語(yǔ)義分割任務(wù)中,為了獲取圖像的高語(yǔ)義信息并將特征圖像恢復(fù)至原始圖像尺寸大小,需要經(jīng)過(guò)下采樣和上采樣兩個(gè)步驟。圖像分割通過(guò)下采樣步驟獲取特征圖易造成圖像細(xì)節(jié)信息丟失,再通過(guò)上采樣重構(gòu)圖像內(nèi)容會(huì)造成像素點(diǎn)之間相關(guān)性較弱的問(wèn)題。針對(duì)上述問(wèn)題,研究人員提出了相應(yīng)的解決方案和改進(jìn)方法:上下文和空間信息、改進(jìn)的上采樣操作和注意力機(jī)制。然而要生成高質(zhì)量的特征圖,上下文信息和空間信息非常重要:1)圖像的上下文信息可以增強(qiáng)對(duì)像素屬性關(guān)聯(lián)性的理解;2)圖像的空間信息可以增強(qiáng)對(duì)圖像或者特征圖不同通道間相互關(guān)系的理解,還可以通過(guò)像素間的空間信息去計(jì)算像素的關(guān)聯(lián)性。因此,為了獲取更為豐富的上下文信息,通常使用改變感受野和多尺度特征圖融合的方法。Deeplab V2&V3[15-16]、密集上 采樣卷 積(Dense Upsampling Convolution,DUC)[18]和判別特征網(wǎng)絡(luò)(Discriminative Feature Network,DFN)[19]通過(guò)使用不同空洞率的卷積來(lái)獲取不同感受野的上下文信息,而PSPNet[13]使用金字塔池化模型獲得多個(gè)尺度的特征圖,以此來(lái)獲得多尺度的上下文信息。此外,為了得到豐富的圖像空間信息,通常使用特征融合的方法來(lái)進(jìn)一步獲取圖像的多尺度信息,如Deeplab V2&V3&V3 Plus[15-17]均使用空洞空間卷積池化金字塔(Atrous Spatial Pyramid Pooling,ASPP)的方法去采樣不同層次特征圖的內(nèi)容信息,并將其聚合到一起。雙重注意力網(wǎng)絡(luò)(Dual Attention Network,DANet)[20]和交叉注意力機(jī)制語(yǔ)義分割(Criss-Cross attention for semantic segmentation,CCNet)[21]則基于充分利用自身相似性的方法去融合低層次和高層次特征圖的空間信息。
在圖像的語(yǔ)義分割任務(wù)中,通常需要下采樣獲取圖像的高層結(jié)構(gòu)信息,然而,對(duì)圖像進(jìn)行下采樣的操作將會(huì)使得輸出的特征圖尺寸小于原圖像,因此,為了將特征圖還原至輸入圖像大小,需要進(jìn)行多次上采樣操作。因此,上采樣操作是基于卷積網(wǎng)絡(luò)圖像分割算法的重要組成部分,其中常采用的上采樣操作方法有雙線性插值法、反卷積法和解池化法。在全卷積網(wǎng)絡(luò)圖像分割算法中,PSPNet[13]首先使用金字塔池化策略獲得多層次特征圖,再利用雙線性插值法進(jìn)行上采樣,最后得到一致尺寸的特征圖以完成融合;與PSPNet 模型不同,上下文先驗(yàn)知識(shí)的場(chǎng)景分割(Context Prior for scene segmentation,CPNet)[22]對(duì)網(wǎng)絡(luò)輸出的最后一層特征圖進(jìn)行8 倍雙線性插值完成上采樣以計(jì)算分割損失,而Deeplab V3[16]同樣也進(jìn)行了8 倍上采樣操作將特征圖恢復(fù)至原始圖像大小。與上述方法不同,F(xiàn)CN[10]使用反卷積操作,進(jìn)行8倍、16 倍或32 倍的跳躍上采樣操作以保證輸出特征圖和原始圖像尺寸一致;反卷積單階段檢測(cè)器(Deconvolutional Single Shot Detector,DSSD)[23]則使用反卷積操作融合高層次特征和低層次特征,以獲取圖像的細(xì)節(jié)信息;堆疊反卷積網(wǎng)絡(luò)(Stacked Deconvolutional Network,SDN)[24]通過(guò)堆疊反卷積層來(lái)豐富上下文信息完成上采樣操作。與雙線性插值和反卷積算法不同,SegNet[12]通過(guò)最大池化索引的解池化法將特征圖進(jìn)行上采樣恢復(fù)。此外,反卷積網(wǎng)絡(luò)(Deconvolution Network,DeconvNet)[25]使用反池化和反卷積相結(jié)合的方法使得稀疏的特征圖逐步變得稠密,最終和原始圖像尺寸保持一 致。數(shù)據(jù)依 賴上采 樣(Data-dependent Upsampling,DUpsampling)[26]為了使得特征圖在上采樣恢復(fù)過(guò)程中像素點(diǎn)間有一個(gè)較好的依賴關(guān)系,提出了數(shù)據(jù)依賴型上采樣的方法:首先利用相關(guān)矩陣對(duì)標(biāo)簽圖像進(jìn)行降維,使得其分辨率與特征圖分辨率一致,再利用相關(guān)矩陣對(duì)特征圖進(jìn)行線性映射,最后恢復(fù)至原始圖像大小。內(nèi)容感知重組特性(Content-Aware ReAssembly of FEatures,CARAFE)[27]則提出了先將特征圖增加A2通道數(shù),之后將其對(duì)應(yīng)展開并與需要上采樣的特征圖對(duì)應(yīng)相乘,最后再將特征圖恢復(fù)至原圖像的分辨率。
注意力機(jī)制模塊已經(jīng)被廣泛應(yīng)用于圖像分類、目標(biāo)檢測(cè)和跟蹤任務(wù)中,均取得了較好的效果。視覺(jué)注意力循環(huán)網(wǎng)絡(luò)模型(Recurrent Models of Visual Attention)[28]和殘差注意力網(wǎng)絡(luò)(Residual Attention Network for Image Classification)[29]均利用注意力機(jī)制生成高層次的特征圖來(lái)指導(dǎo)網(wǎng)絡(luò)的前向傳播。擠壓和 激勵(lì)網(wǎng) 絡(luò)(Squeeze-and-Excitation Networks,SENet)[30]將特征圖通道壓縮成一點(diǎn)以得到通道間的類別屬性,最后通過(guò)門機(jī)制將通道關(guān)系融合到原始特征圖以獲得最終特征圖。Encnet[31]和DFN[19]則使用通道注意力機(jī)制的方式來(lái)獲取圖像的全局上下文信息,以構(gòu)建各類別之間的依賴關(guān)系。與此同時(shí),自我注意力機(jī)制模型也廣泛應(yīng)用在圖像的語(yǔ)義分割領(lǐng)域,其中文獻(xiàn)[32]中最早提出了自我注意力機(jī)制,并利用自我注意力機(jī)制來(lái)獲取輸入信息的全局依賴關(guān)系,最終將其應(yīng)用到了機(jī)器翻譯領(lǐng)域。此外,自我注意力生成對(duì)抗網(wǎng)絡(luò)(Self-Attention Generative Adversarial Networks,SAGAN)[33]引入自我注意力機(jī)制模塊去學(xué)習(xí)一個(gè)更好的圖像生成器,以生成效果更佳的圖像。DANet[20]則采用自我注意機(jī)制和通道注意力機(jī)制分別在空間維度和通道維度上建立一個(gè)長(zhǎng)遠(yuǎn)的上下文依賴關(guān)系。
受以上研究方法的啟發(fā),針對(duì)目前Deeplab V3 Plus 語(yǔ)義分割框架易造成細(xì)節(jié)信息或小目標(biāo)丟失的問(wèn)題。本文利用殘差網(wǎng)絡(luò)和通道注意力策略,將自適應(yīng)注意力機(jī)制模塊嵌入到主干網(wǎng)絡(luò)中。此模塊目的是將單元輸入特征圖的細(xì)節(jié)信息補(bǔ)充到輸出特征圖中,以此延緩細(xì)節(jié)信息丟失的趨勢(shì)。本文提出的方法由以下四部分組成:1)使用通道壓縮的方法(即全局平均池化)將單元輸入特征圖的每個(gè)通道壓縮成一個(gè)點(diǎn);2)將壓縮點(diǎn)進(jìn)行雙線性插值上采樣,恢復(fù)至和單元輸出特征圖分辨率一致;3)引入一個(gè)權(quán)重值α,將其與雙線性插值恢復(fù)的圖像相乘,以此達(dá)到約束注意力機(jī)制模塊信息量的目的;4)將注意力機(jī)制模塊的特征圖與單元輸出特征圖在通道上進(jìn)行相加(即融合后的特征圖通道數(shù)量保持不變)。
Deeplab V3 Plus 是基于空洞分離卷積的編解碼語(yǔ)義分割網(wǎng)絡(luò),其結(jié)構(gòu)可分為下采樣過(guò)程中的編碼網(wǎng)絡(luò)和上采樣過(guò)程中的解碼網(wǎng)絡(luò)。其中,在編碼網(wǎng)絡(luò)中使用了空洞分離卷積,此操作既保留了輸入特征圖的空間信息又增大了卷積核的感受野,并且還極大減少了網(wǎng)絡(luò)的參數(shù)量,如圖1 所示。
圖1 嵌入自適應(yīng)注意力機(jī)制模塊的Deeplab V3 Plus網(wǎng)絡(luò)結(jié)構(gòu)示意圖Fig.1 Structure schematic diagram of Deeplab V3 Plus network embedded with adaptive attention mechanism module
在圖像語(yǔ)義分割中,下采樣是提取圖像高級(jí)語(yǔ)義信息的過(guò)程,在這個(gè)過(guò)程中需要將稠密的原始圖像或者特征圖進(jìn)行稀疏采樣,得到一個(gè)分辨率更低的特征圖(即編碼過(guò)程),而下采樣通常在主干網(wǎng)絡(luò)中完成。目前主流的主干網(wǎng)絡(luò)有VGGNet、GoogLeNet、ResNet、Xception[34]等,而本文使用的主干網(wǎng)絡(luò)是改進(jìn)的Xception 網(wǎng)絡(luò)。
1.1.1 改進(jìn)的Xception-65主干網(wǎng)絡(luò)
考慮設(shè)備性能,本文使用改進(jìn)的Xception-65 主干網(wǎng)絡(luò)(圖1),其內(nèi)部的卷積核采用的是深度可分離卷積,并且卷積核的空洞率可以自行設(shè)置。與ResNet 主干網(wǎng)絡(luò)相比,改進(jìn)的Xception-65 網(wǎng)絡(luò)參數(shù)量更少。如圖2 所示:(a)展示了普通卷積核與特征圖進(jìn)行卷積的過(guò)程;(b)展示了帶空洞的深度可分離卷積核與特征圖進(jìn)行卷積的過(guò)程。假設(shè)普通卷積核與帶空洞的深度可分離卷積核的尺寸大小都是K×K,輸入特征圖的通道數(shù)為C1,輸出特征圖的通道數(shù)為C2,普通卷積核與特征圖卷積后產(chǎn)生的參數(shù)量為W1,如式(1)所示。而帶空洞的深度可分離卷積核與特征圖卷積后產(chǎn)生的參數(shù)量為W2,如式(2)所示:
圖2 標(biāo)準(zhǔn)卷積與帶空洞的深度可分離卷積Fig.2 Standard convolution and atrous depthwise separable convolution
原始圖像在輸入改進(jìn)的Xception 主干網(wǎng)絡(luò)之前會(huì)先進(jìn)行一個(gè)尺度變換操作,將原始圖像通過(guò)裁剪和填補(bǔ)的方式全部變換為512× 512 的分辨率。變換后的原始圖像進(jìn)入改進(jìn)的Xception-65 網(wǎng)絡(luò)后,通過(guò)帶空洞的深度可分離卷積進(jìn)行4次下采樣操作,之后將輸出含有高級(jí)語(yǔ)義信息的特征圖,其尺寸將變?yōu)樵瓐D的1/8。
1.1.2 ASPP特征融合
原始圖像在通過(guò)改進(jìn)的Xception-65 主干網(wǎng)絡(luò)后,得到一個(gè)32× 32 高級(jí)語(yǔ)義特征圖。為了獲取不同尺度下的語(yǔ)義信息,本文使用空洞空間卷積池化金字塔(ASPP)(圖1),并分別采用尺寸為1× 1、空洞率為0,尺寸為3× 3、空洞率為6,尺寸為3× 3、空洞率為12,尺寸為3× 3、空洞率為18 的卷積核對(duì)32× 32 高級(jí)語(yǔ)義特征圖進(jìn)行卷積,以得到4 個(gè)尺寸均為32× 32 的次級(jí)特征圖。為了更進(jìn)一步獲得圖像的全局語(yǔ)義信息,在ASPP 特征融合部分還采取了全局平均池化策略,先對(duì)主干網(wǎng)絡(luò)輸出的高級(jí)語(yǔ)義特征圖進(jìn)行平均池化得到1×1 的特征圖,再對(duì)1× 1 的特征圖進(jìn)行雙線性插值上采樣恢復(fù)其尺寸,并得到一個(gè)32× 32 的次級(jí)特征圖,最終將5 個(gè)32×32 的次級(jí)特征圖在通道上進(jìn)行連接融合。
原始圖像在經(jīng)過(guò)網(wǎng)絡(luò)下采樣編碼操作后,其輸出特征圖為32× 32。然而,與目標(biāo)檢測(cè)任務(wù)不同,語(yǔ)義分割算法不能直接對(duì)下采樣編碼結(jié)構(gòu)輸出的32× 32 的特征圖進(jìn)行分類預(yù)測(cè),而是需要將下采樣獲得的特征圖進(jìn)行上采樣恢復(fù),使得其與原始圖像的分辨率保持一致。
由于上采樣解碼操作融合了多尺度特征圖的信息,因此,本文首先使用雙線性插值方法對(duì)得到的特征圖(ASPP 融合的特征圖)進(jìn)行四倍上采樣,以獲得128× 128 的特征圖;其次,從主干網(wǎng)絡(luò)中提取一個(gè)128× 128 的中間特征圖,此特征圖相對(duì)于高層次的特征圖來(lái)說(shuō)包含更多的細(xì)節(jié)信息,從而能更加明確每個(gè)像素點(diǎn)的類別屬性;最后,將兩個(gè)尺寸為128× 128 的特征圖進(jìn)行連接融合,最終輸出一個(gè)融合后的128× 128 特征圖,使得其具備高層次的語(yǔ)義信息和低層次的細(xì)節(jié)信息。
在融合兩個(gè)128× 128 的特征圖之后,再進(jìn)行一次雙線性插值操作,完成四倍上采樣,得到一個(gè)512× 512 的特征圖。最后,進(jìn)行逆向操作,使得預(yù)測(cè)圖像和原始圖像分辨率一致。
在圖像語(yǔ)義分割中通常需要獲取圖像的高級(jí)語(yǔ)義信息,以此加強(qiáng)對(duì)全圖的理解,而在獲取圖像高級(jí)語(yǔ)義信息的下采樣過(guò)程中難免會(huì)丟失圖像的細(xì)節(jié)信息,尤其是一些小目標(biāo),其在圖像中所占有的像素量少,在多次下采樣過(guò)程中很容易丟失。然而,這些細(xì)節(jié)信息和小目標(biāo)會(huì)存在于低層次特征圖的通道中。
本文利用殘差網(wǎng)絡(luò),結(jié)合通道壓縮方法和注意力機(jī)制來(lái)構(gòu)建自適應(yīng)注意力機(jī)制模塊,并將其嵌入改進(jìn)的Xception-65主干網(wǎng)絡(luò)中。在本文的自適應(yīng)注意力機(jī)制模塊中:
1)學(xué)習(xí)殘差網(wǎng)絡(luò)的結(jié)構(gòu)。將單元的輸入特征圖經(jīng)函數(shù)變換(通道壓縮、上采樣恢復(fù)和模塊權(quán)重值學(xué)習(xí))后與單元輸出特征圖進(jìn)行融合。
2)通道壓縮。由于單元輸入特征圖的不同通道中所包含的類別信息不同,因而將輸入特征圖在通道上進(jìn)行全局平均池化處理,對(duì)應(yīng)每個(gè)通道輸出一個(gè)點(diǎn),每個(gè)點(diǎn)所對(duì)應(yīng)的類別信息將有所不同。
3)通道信息處理。將單元輸入特征圖各通道壓縮成的點(diǎn)進(jìn)行雙線性插值上采樣恢復(fù),使得其分辨率與單元輸出特征圖的分辨率一致,此操作是為了方便自適應(yīng)注意力機(jī)制模塊的輸出特征與單元輸出特征圖融合。
4)通道信息融合。為了更好約束自適應(yīng)注意力機(jī)制模塊的輸出特征,引入一個(gè)權(quán)重值α與其相乘,α值可以通過(guò)學(xué)習(xí)來(lái)自動(dòng)更新,最后將適應(yīng)注意力機(jī)制模塊的輸出特征與單元輸出特征在通道上進(jìn)行相加。
基于本文構(gòu)建的自適應(yīng)注意力機(jī)制模塊:首先,采用通道壓縮的方式來(lái)獲得單元輸入特征圖(前級(jí)特征圖相對(duì)次級(jí)特征圖包含的細(xì)節(jié)信息更豐富,小目標(biāo)信息也更多)的通道信息,并將其融合到單元輸出特征圖(次級(jí)特征圖),此操作減緩了細(xì)節(jié)信息和小目標(biāo)在下采樣過(guò)程中丟失的趨勢(shì);其次,引入權(quán)重值α(可通過(guò)學(xué)習(xí)自動(dòng)更新)約束注意力機(jī)制模塊,因此在與單元輸出特征融合的過(guò)程中可以調(diào)節(jié)注意力機(jī)制模塊的信息比重,以此達(dá)到更好的分割效果。圖1 展示了嵌入自適應(yīng)注意力機(jī)制模塊的Xception-65 網(wǎng)絡(luò)結(jié)構(gòu)。
通道壓縮的目的是為了獲得更豐富的高層語(yǔ)義信息,本文引入S1、S2、S3、S4 和S5 這5 個(gè)注意力機(jī)制模塊,其輸入對(duì)應(yīng)于上一個(gè)殘差塊的輸出特征圖:首先,對(duì)注意力機(jī)制模塊的輸入特征圖進(jìn)行一次全局平均池化處理;之后,輸出一個(gè)1× 1×C的特征圖,其中C為通道數(shù),與殘差塊輸出特征圖的通道數(shù)一致,其數(shù)學(xué)表達(dá)式如式(3)所示:
其 中:gC∈RC,由大小 為H×W和通道數(shù)為C的特征 圖GC(i,j)生成;(i,j)表示特征圖上像素點(diǎn)的坐標(biāo)。
為了將通道信息gC∈RC融合到殘差網(wǎng)絡(luò)輸出的特征圖中,需要將1× 1×C的特征圖與相應(yīng)殘差網(wǎng)絡(luò)特征圖分辨率保持一致。步驟如下:首先,對(duì)gC進(jìn)行雙線性插值上采樣以得到和對(duì)應(yīng)殘差塊輸出特征圖分辨率一致的特征圖fC;之后,為了更好約束fC,需使用一個(gè)1× 1 大小的卷積核對(duì)fC進(jìn)行卷積以輸出特征圖lC,lC和fC分辨率一致;為了約束每個(gè)注意力機(jī)制塊,引入了一個(gè)參數(shù)α,最終注意力模塊輸出的特征為(1/α)×lC,α的值是一個(gè)超參數(shù)。
本文提議在主干網(wǎng)絡(luò)的基礎(chǔ)上增加五個(gè)注意力機(jī)制模塊(S1,S2,S3,S4,S5)(如圖1 所示)。這五個(gè)注意力機(jī)制模塊分布在主干網(wǎng)絡(luò)的輸入層、中間層和輸出層上,因此每個(gè)注意力機(jī)制模塊所獲取到的通道信息表征能力也將不同。主干網(wǎng)絡(luò)的輸入層特征圖細(xì)節(jié)信息更為豐富,中間層具備細(xì)節(jié)信息和高層次語(yǔ)義信息,輸出層的特征圖高級(jí)語(yǔ)義信息則更為豐富。因此,本文測(cè)試了多種融合策略,并探索各種融合策略對(duì)最終圖像語(yǔ)義分割結(jié)果的影響,同時(shí)引入超參數(shù)α來(lái)平衡各個(gè)注意力機(jī)制模塊。
在實(shí)驗(yàn)過(guò)程中,依托實(shí)驗(yàn)室現(xiàn)有的設(shè)備和資源,本文使用基礎(chǔ)網(wǎng)絡(luò)Deeplab V3 Plus 為主干架構(gòu),同時(shí)通過(guò)兩種模式進(jìn)一步修改了此網(wǎng)絡(luò):1)手動(dòng)設(shè)置權(quán)重經(jīng)驗(yàn)值;2)自動(dòng)更新權(quán)重值。兩種模式相互對(duì)比驗(yàn)證,最后在PASCAL VOC2012公共分割數(shù)據(jù)集和自己制作的植物蟲害數(shù)據(jù)集上,驗(yàn)證本文提出的算法性能。
實(shí)驗(yàn)使用的操作系統(tǒng)是Ubuntu16.04 版本,Tensorflow 深度學(xué)習(xí)框架,CUDA11.0 版本,硬件設(shè)備為32 GB 內(nèi)存、顯卡1080Ti、NVIDIA GeForce 驅(qū)動(dòng)程序450.57 版本,訓(xùn)練Deeplab V3 Plus 網(wǎng)絡(luò)和基于自適應(yīng)注意力機(jī)制的Deeplab V3 Plus 網(wǎng)絡(luò)進(jìn)行對(duì)比驗(yàn)證。
為了確保結(jié)果的真實(shí)有效性,本文使用公共分割數(shù)據(jù)集PASCAL VOC2012 和自己制作的植物蟲害分割數(shù)據(jù)集完成實(shí)驗(yàn)。
3.2.1 公共數(shù)據(jù)集
PASCAL VOC2012[35]是深度學(xué)習(xí)中常用的一個(gè)公共數(shù)據(jù)集,包含目標(biāo)檢測(cè)和圖像語(yǔ)義分割兩類數(shù)據(jù)集。本文使用的是PASCAL VOC2012 語(yǔ)義分割數(shù)據(jù)集,此數(shù)據(jù)集總共包含2 913 張帶有語(yǔ)義標(biāo)注的圖像,1 464 張作為訓(xùn)練集用來(lái)訓(xùn)練圖像分割模型,其余1 449 張作為驗(yàn)證集用來(lái)測(cè)試模型的分割精度。
3.2.2 植物蟲害數(shù)據(jù)集
植物蟲害數(shù)據(jù)集圖像主要通過(guò)網(wǎng)絡(luò)爬蟲獲得,為了使得蟲害圖像滿足訓(xùn)練和測(cè)試的要求,本文采取以下操作制作植物蟲害數(shù)據(jù)集:1)人工剔除相同和相似性極高的圖像,最終滿足要求的圖片為538 張;2)依據(jù)PASCAL VOC2012 分割數(shù)據(jù)集的格式,使用labelme 軟件將538 張植物蟲害圖片進(jìn)行語(yǔ)義標(biāo)注;3)將圖片按照約4∶1 的比例進(jìn)行劃分,其中438 張作為訓(xùn)練集,100 張作為驗(yàn)證集。
由于設(shè)備性能的限制,在PASCAL VOC2012 和自己制作的植物蟲害數(shù)據(jù)集上進(jìn)行訓(xùn)練時(shí),所選取的批處理(batch size)設(shè)置為2。在隨機(jī) 梯度下 降(Stochastic Gradient Descent,SGD)優(yōu)化算法中,動(dòng)量(momentum)設(shè)置為0.9,權(quán)重衰減(weight decay)設(shè)置為0.000 04,神經(jīng)元失活率(dropout rate)設(shè)置為0.5,基礎(chǔ)學(xué)習(xí)率設(shè)置為0.001,并且使用了“poly”衰減策略,并使用基礎(chǔ)學(xué)習(xí)率乘上,其中將PWR設(shè)置為0.9。在PASCAL VOC2012 分割數(shù)據(jù)集上訓(xùn)練時(shí),最大迭代步數(shù)設(shè)置為150 000;在植物蟲害數(shù)據(jù)集上訓(xùn)練時(shí),最大迭代步數(shù)設(shè)置為90 000。注意力機(jī)制模塊的權(quán)值為手動(dòng)設(shè)置,不需要訓(xùn)練α;在自動(dòng)更新注意力機(jī)制模塊權(quán)重時(shí),α根據(jù)損失函數(shù)的梯度進(jìn)行更新。
模型訓(xùn)練使用像素交叉熵?fù)p失函數(shù),其表達(dá)式如式(4)所示:
其中:c表示類別數(shù);yi為獨(dú)熱編碼向量,若該類別與標(biāo)注類別相同則取1,否則取0;pi表示預(yù)測(cè)樣本屬于i的概率。
本文采用圖像語(yǔ)義分割中最廣泛的兩種評(píng)估方法:交并比(Intersection over Union,IOU)和平均 交并比(Mean Intersection over Union,MIOU),其數(shù)學(xué)表達(dá)式如式(5)和式(6)所示。
其 中:U1 表 示IOU,U2 表 示MIOU;k+1 表示類別數(shù);TP=pii表示真正例,F(xiàn)P=pji表示假正例,F(xiàn)N=pij表示假負(fù)例;i表示正確類,j表示其他類。
為了探索注意力機(jī)制模塊對(duì)原始網(wǎng)絡(luò)框架的影響,本文在實(shí)驗(yàn)的第一階段使用了一些策略來(lái)獲取注意力機(jī)制模塊的權(quán)值,稱之為經(jīng)驗(yàn)值,之后將經(jīng)驗(yàn)值手動(dòng)設(shè)置到注意力機(jī)制模塊中;在實(shí)驗(yàn)的第二階段,探索了幾種注意力機(jī)制模塊的融合方法;在實(shí)驗(yàn)的第三階段,嘗試自動(dòng)更新注意力機(jī)制模塊的權(quán)重值對(duì)圖像語(yǔ)義分割結(jié)果的影響。
3.5.1 權(quán)值手動(dòng)設(shè)置
本實(shí)驗(yàn)由三部分組成:1)初步獲得一個(gè)模型可使用的經(jīng)驗(yàn)值α;2)通過(guò)對(duì)α值進(jìn)行交叉驗(yàn)證,獲取α值對(duì)分割精度影響的趨勢(shì);3)確定α最終值。
第一步,初步獲得模型可使用的α值。由于在實(shí)驗(yàn)的初始階段無(wú)法得知注意力機(jī)制模塊的權(quán)重值α應(yīng)設(shè)置為何值。因此實(shí)驗(yàn)中先將α在同一個(gè)數(shù)量級(jí)上設(shè)置3 個(gè)值,隨后進(jìn)行模型訓(xùn)練。實(shí)驗(yàn)現(xiàn)象如表1 所示,α值太小會(huì)導(dǎo)致網(wǎng)絡(luò)訓(xùn)練終止,α值設(shè)置為10 模型訓(xùn)練較為平穩(wěn),因此將10 定為α的初步經(jīng)驗(yàn)值。
表1 不同α值對(duì)應(yīng)模型訓(xùn)練的現(xiàn)象Tab.1 Phenomena of different α values corresponding to model training
第二步,獲取α值對(duì)分割精度的影響趨勢(shì)。首先將α值設(shè)置為10,訓(xùn)練并獲得模型,隨后對(duì)模型展開測(cè)試,多次改變?chǔ)恋闹担玫讲煌姆指罹?。?shí)驗(yàn)結(jié)果如表2 所示:
表2 測(cè)試模型時(shí)改變?chǔ)恋闹祵?duì)應(yīng)的分割精度Tab.2 Segmentation accuracy corresponding to changing α value when testing model
1)α設(shè)置為正數(shù),在α=12.5 時(shí)模型獲得最高分割精度,并且以α=12.5 為中心,向兩邊呈遞減趨勢(shì);
2)α設(shè)置為負(fù)數(shù),在α=-12.5 時(shí)模型獲得最高分割精度,并且以α=-12.5 為中心,向兩邊呈遞減趨勢(shì);
3)根據(jù)上述1)和2)的遞減趨勢(shì),將α設(shè)置為-12.5 再次訓(xùn)練,能獲得更佳的分割模型。
第三步,確定α最終值。根據(jù)第二步中,α值對(duì)分割精度的影響趨勢(shì),α分別設(shè)置為-10、-12.5、-15,訓(xùn)練并驗(yàn)證模型。實(shí)驗(yàn)結(jié)果如表3 所示:1)α=-12.5 模型獲得最佳分割精度;2)依然保持了以α=-12.5 為中心,向兩邊呈遞減趨勢(shì);3)確定α=-12.5 為手動(dòng)尋找到的最終值。
表3 驗(yàn)證不同α值對(duì)應(yīng)的分割精度Tab.3 Verification of segmentation accuracy of different α values
3.5.2 注意力機(jī)制模塊融合策略
為了進(jìn)一步探索本文結(jié)構(gòu)中各個(gè)注意力機(jī)制模塊對(duì)原始網(wǎng)絡(luò)性能的影響,本實(shí)驗(yàn)將經(jīng)驗(yàn)值α設(shè)置為-12.5,同時(shí)探索了三種注意力機(jī)制模塊的融合方式(圖1):1)僅將輸入和輸出層中的S1、S2、S3、S5 融入原始網(wǎng)絡(luò);2)僅將中間層S4 融入原始網(wǎng)絡(luò);3)將所有層中的S1~S5 都融入原始網(wǎng)絡(luò)中。在上述三種融合方式中,第一種融合方式得到的分割精度最高,這表明注意力機(jī)制模塊間的融合策略也會(huì)影響網(wǎng)絡(luò)的性能。在本實(shí)驗(yàn)所使用的數(shù)據(jù)為PASCAL VOC2012 公共分割數(shù)據(jù)集(實(shí)驗(yàn)結(jié)果如表4 所示)。
表4 三種注意力機(jī)制模塊融合策略對(duì)應(yīng)的分割精度Tab.4 Segmentation accuracies of three attention mechanism module fusion strategies
3.5.3 權(quán)值自動(dòng)更新
在手動(dòng)確定α=-12.5,并且確定最佳注意力機(jī)制模塊融合方式后。將α改為根據(jù)損失函數(shù)的梯度自動(dòng)更新,注意力機(jī)制模塊融合方式則為:僅將輸入和輸出層中的S1、S2、S3、S5 融入原始網(wǎng)絡(luò),表5 展示了模型獲得最佳分割精度的α值。圖3 展示了S1、S2、S3、S5 模塊α值的收斂曲線。
表5 模型最優(yōu)時(shí)各注意力機(jī)制模塊的α值Tab.5 α value of each attention mechanism module when model is optimal
圖3 S1、S2、S3、S5模塊α值的收斂曲線Fig.3 Convergence curve of α value of S1,S2,S3 and S5 modules
圖4 展示了五種不同方式在訓(xùn)練過(guò)程中損失函數(shù)的收斂曲線。五種不同方式在VOC2012 分割數(shù)據(jù)上的分割精度如表6 所示,方式1 以原始基礎(chǔ)網(wǎng)絡(luò)Deeplab V3 Plus 的分割結(jié)果作為基準(zhǔn);方式2 僅嵌入S1、S2、S3、S5 注意力機(jī)制模塊,α設(shè)置為-12.5;方式3 僅嵌入S4 注意力機(jī)制模塊,α設(shè)置為-12.5;方式4 加入S1、S2、S3、S4、S5 所有的注意力機(jī)制模塊,α設(shè)置為-12.5;方式5 僅嵌入S1、S2、S3、S5 注意力機(jī)制模塊,α通過(guò)損失函數(shù)的梯度自動(dòng)更新。圖5 展示了上述五種不同方式的分割效果。
圖4 五種不同方式在訓(xùn)練過(guò)程中損失函數(shù)的收斂曲線Fig.4 Convergence curves of loss function in training process of five different methods
圖5 五種不同方式在VOC2012分割數(shù)據(jù)集上的分割效果Fig.5 Segmentation effect of five different methods on VOC2012 segmentation dataset
表6 五種不同方式在VOC2012分割數(shù)據(jù)集上的分割精度Tab.6 Segmentation accuracies of five different methods on VOC2012 segmentation dataset
表7 展示了FCN-8S[10]、Deeplab-MSc-CRF-LargeFOV[14]、Deeplab V2[15](使用多尺度輸入,并在MS-COCO 上預(yù)訓(xùn)練)、嵌入自適應(yīng)注意力機(jī)制的Deeplab V3 Plus(即本文方法)在VOC2012 val 數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果對(duì)比(val 為validation 的縮寫,VOC2012 val 數(shù)據(jù)集是VOC2012 數(shù)據(jù)集中的驗(yàn)證集)。
表7 四種不同分割網(wǎng)絡(luò)在VOC2012 val數(shù)據(jù)集上的分割結(jié)果Tab.7 Segmentation results of four different segmentation networks on VOC2012 val dataset
表8 展示了在植物蟲害數(shù)據(jù)集上的分割精度實(shí)驗(yàn)結(jié)果,五種不同方式的分割效果如圖6所示。
表8 五種不同方式在自建植物蟲害數(shù)據(jù)集上的分割精度Tab.8 Segmentation accuracy of five different methods on self-built plant pest dataset
圖6 五種不同方式在自建植物蟲害數(shù)據(jù)集上的分割效果Fig.6 Segmentation effect of five different methods on self-built plant pest dataset
根據(jù)表1~6、8 的實(shí)驗(yàn)數(shù)據(jù)分析得出:1)注意力機(jī)制模塊的引入實(shí)質(zhì)是引入了信息量,這些信息量的比重不能無(wú)約束的引入,無(wú)約束的引入很有可能將導(dǎo)致網(wǎng)絡(luò)在訓(xùn)練過(guò)程中梯度消失,無(wú)法正常訓(xùn)練;2)在無(wú)法獲取到注意力機(jī)制模塊權(quán)值較好的經(jīng)驗(yàn)值(α)時(shí),需要采取科學(xué)的實(shí)驗(yàn)方法逐步逼近較好的經(jīng)驗(yàn)值;3)在原始網(wǎng)絡(luò)中引入注意力機(jī)制模塊時(shí),不同模塊對(duì)原始網(wǎng)絡(luò)的影響程度不同;4)通過(guò)自動(dòng)更新注意力機(jī)制模塊的權(quán)重值與手動(dòng)獲取到的經(jīng)驗(yàn)值對(duì)比,發(fā)現(xiàn)自動(dòng)或手動(dòng)得到的注意力機(jī)制模塊權(quán)重值基本吻合,這也進(jìn)一步驗(yàn)證了手動(dòng)獲取經(jīng)驗(yàn)值方法的有效性;5)通過(guò)對(duì)比手動(dòng)獲取注意力機(jī)制的權(quán)重值和自動(dòng)更新注意力機(jī)制的權(quán)重值,可找到模型的局部最優(yōu)解,但是仍然不能確保其是模型的全局最優(yōu)解;6)適量的通道信息融入原始網(wǎng)絡(luò)可以獲得較好的分割結(jié)果。
本文制作了植物蟲害數(shù)據(jù)集,并探索了將注意力機(jī)制模塊引入Deeplab V3 Plus 結(jié)構(gòu)中,以期獲得較好的圖像語(yǔ)義分割結(jié)果。實(shí)驗(yàn)結(jié)果表明,在PASCAL VOC2012 和制作的植物蟲害數(shù)據(jù)集上,本文的方法均獲得了圖像分割精度的提升。但本文方法存在兩個(gè)不足:第一,對(duì)于網(wǎng)絡(luò)中各通道信息的處理還不夠細(xì)化,后續(xù)可深入探索通道的具體關(guān)系,在此基礎(chǔ)上分配相應(yīng)權(quán)重系數(shù)進(jìn)行約束;第二,植物蟲害數(shù)據(jù)集較為單一,數(shù)據(jù)量較少,后續(xù)可進(jìn)一步擴(kuò)充數(shù)據(jù)集。