王娟,袁旭亮,武明虎*,郭力權(quán),劉子杉
基于壓縮提煉網(wǎng)絡(luò)的實(shí)時(shí)語(yǔ)義分割方法
王娟1,2,3,袁旭亮1,武明虎1,2,3*,郭力權(quán)1,劉子杉1
(1.湖北工業(yè)大學(xué) 電氣與電子工程學(xué)院,武漢 430068; 2.太陽(yáng)能高效利用及儲(chǔ)能運(yùn)行控制湖北省重點(diǎn)實(shí)驗(yàn)室(湖北工業(yè)大學(xué)),武漢 430068; 3.武漢華安科技有股份限公司博士后工作站,武漢 430068)( ? 通信作者電子郵箱wuxx1005@hbut.edu.cn)
針對(duì)目前語(yǔ)義分割算法難以取得實(shí)時(shí)推理和高精度分割間平衡的問(wèn)題,提出壓縮提煉網(wǎng)絡(luò)(SRNet)以提高推理的實(shí)時(shí)性和分割的準(zhǔn)確性。首先,在壓縮提煉(SR)單元中引入一維(1D)膨脹卷積和類瓶頸結(jié)構(gòu)單元,從而極大地減少模型的計(jì)算量和參數(shù)量;其次,引入多尺度空間注意(SA)混合模塊,從而高效地利用淺層特征的空間信息;最后,通過(guò)堆疊SR單元構(gòu)成編碼器,并采用兩塊SA單元在編碼器的尾部構(gòu)成解碼器。實(shí)驗(yàn)仿真表明,SRNet在僅有30 MB參數(shù)量及8.8×109每秒浮點(diǎn)操作數(shù)(FLOPS)的情況下,仍可在Cityscapes數(shù)據(jù)集上獲得68.3%的平均交并比(MIoU)。此外,所提模型在單塊NVIDIA Titan RTX卡上實(shí)現(xiàn)了12.6 幀每秒(FPS)的前向推理速度(輸入像素的大小為512×1 024×3)。實(shí)驗(yàn)結(jié)果表明,所設(shè)計(jì)的輕量級(jí)模型SRNet很好地在準(zhǔn)確分割和實(shí)時(shí)推理間取得平衡,適用于算力及功耗有限的場(chǎng)合。
語(yǔ)義分割;輕量級(jí)網(wǎng)絡(luò);實(shí)時(shí)推理;空間注意混合模塊;一維膨脹卷積
圖像語(yǔ)義分割旨在將圖像中的每一個(gè)像素分配到一個(gè)相應(yīng)的類,是計(jì)算機(jī)視覺(jué)技術(shù)中重要組成部分,在機(jī)器人導(dǎo)航、自動(dòng)駕駛和虛擬現(xiàn)實(shí)等領(lǐng)域具有巨大的應(yīng)用潛力[1-3]。目前語(yǔ)義分割模型很難在準(zhǔn)確性和實(shí)時(shí)性之間取得很好的平衡,大部分的模型犧牲準(zhǔn)確性來(lái)獲取實(shí)時(shí)性或者犧牲實(shí)時(shí)性來(lái)獲取準(zhǔn)確性。然而,語(yǔ)義分割的應(yīng)用場(chǎng)景受限于功耗和算力;因此,開(kāi)發(fā)出兼具準(zhǔn)確性和實(shí)時(shí)性的算法模型具有重大的現(xiàn)實(shí)意義。
目前很多研究工作已經(jīng)在語(yǔ)義分割的實(shí)時(shí)性和準(zhǔn)確性間的矛盾中取得了一些實(shí)質(zhì)性的進(jìn)展。SegNet(semantic pixel-wise Segmentation Network)[4]采用非對(duì)稱的編碼解碼(Encoder-Decoder)結(jié)構(gòu),以VGG16(Visual Geometry Group)作為編碼器進(jìn)行特征提取,而精小的編碼器負(fù)責(zé)恢復(fù)特征映射。SegNet[4]的池化索引策略有助于恢復(fù)物體的空間細(xì)節(jié),但是因?yàn)橄虏蓸映潭鹊褪沟媚P偷慕邮芤坝邢?。ENet(Efficient neural Network)[5]同樣采用存儲(chǔ)池化索引策略,其利用淺且窄的模型結(jié)構(gòu)來(lái)取得實(shí)時(shí)性。池化索引有助于恢復(fù)下采樣丟失的空間細(xì)節(jié)但消耗過(guò)多的存儲(chǔ)空間(存儲(chǔ)索引);淺且窄的模型結(jié)構(gòu)有助于提高推理速度但存在特征攝取能力不足、語(yǔ)義分辨能力低、模型接受野窄的缺陷。為了解決接受野窄和語(yǔ)義不充足的問(wèn)題,Encoder-Decoder結(jié)構(gòu)的U-Net(U-shaped neural Network)[6]采用極大的下采樣及寬的模型結(jié)構(gòu),同時(shí)跳轉(zhuǎn)連接能夠充分地利用淺層特征的空間細(xì)節(jié)。然而,U-Net[6]寬且深的模型結(jié)構(gòu)使得參數(shù)及結(jié)構(gòu)極大以至于模型的實(shí)時(shí)性差,因此不適用于算力及功耗有限的移動(dòng)設(shè)備。SQNet(SQueeze neural Network for semantic segmentation)[7]采用非對(duì)稱Encoder-Decoder結(jié)構(gòu)獲得實(shí)時(shí)性。SQNet[7]以SqueezeNet(Squeeze neural Network)為編碼器,解碼器由融合低水平特征和高水平特征的提煉單元構(gòu)成。SQNet[7]的跳轉(zhuǎn)連接策略解決池化索引消耗過(guò)多內(nèi)存的問(wèn)題,其編碼器尾部的并行膨脹卷積有助于擴(kuò)大模型的接受野,但其計(jì)算復(fù)雜的提煉模塊及寬的模型結(jié)構(gòu)(兩個(gè)拓展卷積的并操作)不適用于模型的輕量化要求。為了解決模型在淺且窄的條件下無(wú)法獲得充足的接受野和強(qiáng)分辨能力的缺陷,ERFNet(Efficient Residual Factorized ConvNet)[8]引入了1D卷積及膨脹卷積到編碼單元中。膨脹卷積使得ERFNet[8]在淺的模型結(jié)構(gòu)下獲得大的接受野,1D卷積減少參數(shù)和計(jì)算量以使模型有強(qiáng)的語(yǔ)義分類能力;但是,ERFNet[8]無(wú)法解決因?yàn)檫^(guò)大下采樣造成的空間信息丟失的問(wèn)題,無(wú)法實(shí)現(xiàn)對(duì)小物體的準(zhǔn)確恢復(fù)。
通過(guò)對(duì)當(dāng)前語(yǔ)義分割算法優(yōu)勢(shì)與劣勢(shì)的充分研究,本文采用有益于實(shí)現(xiàn)高準(zhǔn)確性和實(shí)時(shí)性的算法來(lái)取得兩者間的平衡,提出壓縮提煉網(wǎng)絡(luò)(Squeezing and Refining Network, SRNet)模型,算法總體結(jié)構(gòu)如圖1所示。
圖1 模型算法總體結(jié)構(gòu)
本文模型1D卷積在獲取近似標(biāo)準(zhǔn)卷積特征攝取能力的同時(shí),可有效地減少計(jì)算量和參數(shù)量,類瓶頸的編碼單元使得模型的計(jì)算量及參數(shù)量得到進(jìn)一步減少,膨脹卷積使模型在較淺的條件下有大的接受野。模型解碼器部分的空間注意機(jī)制有助于恢復(fù)空間信息及抑制淺層噪聲??偟膩?lái)說(shuō),本文提出的網(wǎng)絡(luò)模型SRNet的貢獻(xiàn)可以歸結(jié)為以下兩點(diǎn):
1) 壓縮提煉(Squeezing and Refining, SR)單元在減少計(jì)算量及參數(shù)量的同時(shí)有強(qiáng)的特征提取能力,類瓶頸結(jié)構(gòu)使得模型推理速度得到極大的提高(起通道壓縮提煉作用),并行的兩條1D帶膨脹率的卷積路徑彌補(bǔ)了單一1D卷積路徑感受野小的缺陷。
2) 空間注意(Spatial Attention, SA)混合單元構(gòu)成的解碼器利用淺層特征所包含的空間信息來(lái)恢復(fù)物體的邊緣信息,同時(shí)注意機(jī)制有效地抑制了淺層特征所包含的噪聲使得模型分割質(zhì)量更高。此外,空間注意的形式極大地減小了傳統(tǒng)注意機(jī)制的復(fù)雜計(jì)算。
在Cityscape數(shù)據(jù)集上驗(yàn)證提出模型的有效性。模型獲得68.3%的平均交并比(Mean Intersection over Union, MIoU)準(zhǔn)確性,在單塊NVIDIA Titan RTX卡上實(shí)現(xiàn)12.6幀每秒(Frames Per Second, FPS)的推理速度(輸入的像素為512×1 024×3)。同時(shí),模型的參數(shù)量?jī)H為30 MB,只有8.8×109每秒浮點(diǎn)操作數(shù) (Floating-point Operation Per Second, FLOPS)。這些表明SRNet能夠在實(shí)時(shí)性和準(zhǔn)確性間取得平衡。
在圖像語(yǔ)義分割領(lǐng)域,足夠大的視野及足夠多的語(yǔ)義信息意味著模型有更高的分割準(zhǔn)確性,淺且窄的模型結(jié)構(gòu)意味著更快的推理速度,充足的空間信息意味著更強(qiáng)的邊緣定位。目前很少有網(wǎng)絡(luò)模型能包含所有的算法優(yōu)勢(shì),大部分模型只在某些方面取得成功。因此,語(yǔ)義分割模型大致可以分為獲取實(shí)時(shí)性、擴(kuò)大視野及獲取豐富內(nèi)容信息和利用注意機(jī)制這幾個(gè)方面。
由于語(yǔ)義分割應(yīng)用場(chǎng)合有算力及功耗的限制,因此有相應(yīng)研究針對(duì)性地解決目前語(yǔ)義分割不適用于移動(dòng)設(shè)備或者低功耗場(chǎng)合的問(wèn)題。ENet[5]采用早期下采樣及淺窄的結(jié)構(gòu)實(shí)現(xiàn)實(shí)時(shí)性。早期下采樣使得模型在小的特征空間中推理,淺且窄的結(jié)構(gòu)減小對(duì)內(nèi)存的需求及計(jì)算量。SegNet[4]采用非對(duì)稱的Encoder-Decoder結(jié)構(gòu),以Res18(Residual Network)為解碼器負(fù)責(zé)提取特征,以瘦小的解碼器負(fù)責(zé)恢復(fù)特征到原始空間大小。SegNet[4]瘦小的解碼器占很小的計(jì)算量及存儲(chǔ)空間,因此模型有很高推理速度。BiSeNet(Bilateral Segmentation Network)[9]采用空間特征提取路徑和內(nèi)容信息提取路徑分開(kāi)的策略。模型空間特征提取路徑通過(guò)小步值卷積以保留充足的空間細(xì)節(jié),內(nèi)容信息提取路徑則通過(guò)大的池化步值實(shí)現(xiàn)快速下采樣以擴(kuò)大視野,最后并合兩個(gè)路徑實(shí)現(xiàn)實(shí)時(shí)性語(yǔ)義分割。ICNet(Image Cascade Network)[10]采用不同的輸入像素大小到不同的路徑以獲取不同的特征信息,避免了采用深且寬的模型結(jié)構(gòu),因此獲得實(shí)時(shí)性推理及高準(zhǔn)確性。LEDNet(Lightweight Encoder-Decoder Network)[11]和ERFNet[8]采用1D卷積的方式使得模型具有少的參數(shù)和計(jì)算量,同時(shí)膨脹卷積使得模型在較淺的情況下獲取更大的視野。SQNet[7]采用SqueezeNet作為編碼器,類瓶頸的結(jié)構(gòu)使得模型在大的內(nèi)核中進(jìn)行特征提取,同時(shí)淺的結(jié)構(gòu)使得網(wǎng)絡(luò)具有小的浮點(diǎn)操作數(shù),因此模型具有更快推理速度。ShuffleSeg(Shuffle Segmentation Network)[12]采用分組卷積策略以減少模型參數(shù)量和計(jì)算量,模型編碼器幾乎占據(jù)整個(gè)計(jì)算量及存儲(chǔ)空間,簡(jiǎn)單的雙線性上采樣只占很小的計(jì)算量,因而具有很好的實(shí)時(shí)性。DABNet(Depth-wise Asymmetric Bottleneck Network)[13]采用深度可分離卷積減少計(jì)算量和參數(shù)量,簡(jiǎn)單的雙線性上采樣操作使得模型計(jì)算量更小,因此得以輕量化。為了實(shí)現(xiàn)實(shí)時(shí)性和準(zhǔn)確分割,本文采用1D卷積及窄且淺的模型結(jié)構(gòu)以獲取到輕量級(jí)的模型。
大的接受野有助于模型獲取深層的語(yǔ)義內(nèi)容信息,提高模型的分類能力。PSPNet(Pyramid Scene Parsing Network)[14]通過(guò)附加金字塔池化在解碼器的尾部以提取不同尺度的內(nèi)容信息,再通過(guò)并合不同的池化輸出以獲取到不同程度的視野。DeepLab(“DeepLab” System)[15]系列模型采用帶孔空間金字塔(Atrous Spatial Pyramid Pooling, ASPP)單元以多尺度地捕獲內(nèi)容和對(duì)象信息,通過(guò)這一策略模型獲得更大的接受野。全卷積網(wǎng)絡(luò)(Fully Convolutional Network, FCN)[16]、LinkNet(Link Network)[17]和DSNet(Dense Segmentation Network)[18]模型采用深的模型結(jié)構(gòu)(32倍下采樣)以獲取大的接受野,通過(guò)跳轉(zhuǎn)連接方式提高模型分割的準(zhǔn)確性。GCN(Global Convolutional Network)[19]采用不成對(duì)的大卷積內(nèi)核來(lái)增加特征映射的接受野以捕獲長(zhǎng)范圍信息。DUC(Dense Upsampling Convolution)[20]利用帶有網(wǎng)格狀膨脹率的卷積在解碼器階段獲取大的接受野,通過(guò)使用多個(gè)合成膨脹卷積(Hybrid Dilated Convolution, HDC)單元以獲取到長(zhǎng)范圍的內(nèi)容信息。Fast-SCNN(Fast Segmentation Convolution Neural Network)[21]采用全局特征攝取器來(lái)拓展接受野以捕獲長(zhǎng)范圍內(nèi)容信息,通過(guò)并合中層特征以利用淺層的空間信息。以上提到的算法中,大的卷積內(nèi)核和多尺度池化使得模型的計(jì)算量和參數(shù)量過(guò)大不利于輕量化。為了有足夠大的視野,本文模型采用分支膨脹卷積及大的下采樣結(jié)構(gòu)。
PSANet(Point-wise Spatial Attention Network)[22]在編碼器的尾部用卷積層作為信息收集器,用反卷積作為信息分布器。PSANet[22]在信息的收集和分布的過(guò)程噪聲被過(guò)濾,因此這一過(guò)程可以視為是空間注意的一種形式。DFNet(Discriminative Feature Network)[23]采用通道專注塊(Channel Attention Block, CAB)對(duì)淺層注入特征進(jìn)行空間注意以移除噪聲。CAB單元通過(guò)并合操作以獲取到不同階段的特征輸入,然后通過(guò)權(quán)值向量選擇特征以移除噪聲。CCNet(Criss-Cross Network)[24]采用1×1卷積生成鍵值和查詢值并通過(guò)轉(zhuǎn)置生成交叉空間,最后采用乘積的形式實(shí)現(xiàn)交叉注意機(jī)制。文獻(xiàn)[25]中通過(guò)計(jì)算相關(guān)矩陣以生成注意映射矩陣,然后利用注意映射矩陣實(shí)現(xiàn)稠密信息的聚集。文獻(xiàn)[26]中將不同尺度的特征輸入到注意模塊中以獲取到不同尺度的權(quán)值并以此生成注意權(quán)值指導(dǎo)模型訓(xùn)練。RefineNet(Refinement Network)[27]采用空間注意機(jī)制實(shí)現(xiàn)對(duì)淺層特征的噪聲的抑制并提取深層特征的語(yǔ)義和淺層特征的空間信息。以上提到的算法雖然提高了準(zhǔn)確率,但卻是以高的計(jì)算量為代價(jià)。通過(guò)對(duì)現(xiàn)有專注機(jī)制優(yōu)缺點(diǎn)的研究,本文模型采用簡(jiǎn)單的空間注意模塊抑制淺層特征帶入的噪聲以提高提取空間的信息準(zhǔn)確性。
本文提出的模型更加專注于實(shí)現(xiàn)準(zhǔn)確性和實(shí)時(shí)性間的平衡,因而本文采用先進(jìn)的算法追求模型的輕量化和高準(zhǔn)確性。綜合目前已取得的研究成果,本文將實(shí)時(shí)性策略、擴(kuò)大感受野方法、跳轉(zhuǎn)連接思想融入到模塊中以便追求模型的實(shí)時(shí)性和準(zhǔn)確性。
SRNet總體結(jié)構(gòu)如圖1所示。SRNet采用一個(gè)初始單元完成對(duì)輸入圖像的特征提取,采用三塊下采樣單元完成模型的總體下采樣操作。模型在第1塊和第2塊的卷積塊中堆疊4個(gè)SR卷積單元,第3塊的卷積塊中堆疊7個(gè)SR卷積單元構(gòu)成編碼器。解碼器采用第1和第2卷積塊輸出作為淺層特征輸入,采用2塊SA單元構(gòu)成對(duì)淺層特征的提煉過(guò)程,最后4倍上采樣恢復(fù)特征到原來(lái)的像素大小。解碼器尾部的1×1的卷積層以壓縮通道到類數(shù)。為了控制參數(shù)量及計(jì)算量,本文采用的上采樣均為雙線性上采樣。
2.2.1實(shí)時(shí)性策略
語(yǔ)義分割網(wǎng)絡(luò)的實(shí)時(shí)性對(duì)于功耗及算力有限制的應(yīng)用來(lái)說(shuō)非常重要。為了獲取實(shí)時(shí)性,圖2(a)采用瓶頸卷積單元壓縮輸入特征通道數(shù),圖2(b)采用1D卷積使得網(wǎng)絡(luò)的參數(shù)量和計(jì)算量極大地減少,圖2(c)為圖(a)的一種變種,其中、分別表示壓縮率和擴(kuò)展率。受益于以上卷積單元的啟發(fā),本文設(shè)計(jì)的卷積單元如圖2(d)所示,其類似于圖2(c)的思想,所不同的是在單元的內(nèi)部采用帶膨脹率的1D非對(duì)稱卷積及殘差連接,其中、和SD分別表示膨脹率、通道數(shù)和空間棄權(quán)。本文設(shè)計(jì)的網(wǎng)絡(luò)模型采用早期下采樣操作、1D卷積及瓶頸模塊的操作實(shí)現(xiàn)模型的實(shí)時(shí)性。
圖2 卷積單元結(jié)構(gòu)
早期下采樣被廣泛應(yīng)用于先進(jìn)模型算法中,實(shí)質(zhì)是降低輸入的像素大小以便在小的特征映射中進(jìn)行推理。本文早期下采樣在初始3×3、步值為2的卷積操作后直接使用采樣單元實(shí)現(xiàn),輸出的特征映射變?yōu)檩斎氲?/4倍,輸出的特征通道變?yōu)?2。為了壓縮通道及提煉、選擇特征,本文采用的SR單元類似標(biāo)準(zhǔn)瓶頸卷積單元。瓶頸1×1的卷積將輸入到卷積單元的通道數(shù)減小為原來(lái)的1/2,這既減小輸入通道的數(shù)量同時(shí)減小參數(shù)量和計(jì)算量。SR單元經(jīng)過(guò)1×1卷積操作之后的卷積結(jié)構(gòu)類似于分組卷積操作,即將輸入的特征通道分為兩支進(jìn)行卷積,然后在輸出時(shí)將通道并接為原來(lái)的通道數(shù)。未經(jīng)過(guò)1×1瓶頸卷積的計(jì)算量可以公式化為式(1):
其中:表示的是輸出的通道數(shù),IP表示輸入通道數(shù),表示卷積核的大小,=×為輸入的像素大小,(·)表示ELU(Exponential Linear Unit)和批歸一化(Batch Normalization,BN)。
經(jīng)過(guò)1×1卷積壓縮通道后,每個(gè)卷積層的計(jì)算量可以公式化為式(2):
式(2)中所有的變量與式(1)一致。在式(2)中可以發(fā)現(xiàn)本文的結(jié)構(gòu)對(duì)應(yīng)分支的兩個(gè)卷積層的總體計(jì)算量相較于原來(lái)減小了100×(1-2/g)%(表示通道壓縮倍數(shù))。對(duì)于參數(shù)方面,標(biāo)準(zhǔn)卷積的參數(shù)量可以公式化為式(3):
使用了類瓶頸策略之后的參數(shù)量可以公式化為式(4)(兩分支構(gòu)成的單層卷積):
其中表示瓶頸通道壓縮倍數(shù)(對(duì)于本文采用的卷積單元可以理解為分組數(shù)),可以發(fā)現(xiàn)類瓶頸策略參數(shù)量(兩分支)比原來(lái)的減少了約100×(1-2/g)%。
1D的卷積是將標(biāo)準(zhǔn)的卷積內(nèi)核×變?yōu)閮蓚€(gè)非對(duì)稱的1×和×1的卷積形式。1D卷積在減少參數(shù)量和計(jì)算量的同時(shí)卷積的特征攝取能力幾乎與標(biāo)準(zhǔn)卷積相一致。通過(guò)式(1)和式(3)可以發(fā)現(xiàn),1D計(jì)算量比標(biāo)準(zhǔn)卷積計(jì)算量減少了100×(1-2/)%,參數(shù)量比標(biāo)準(zhǔn)卷積減少了100×[(-2)×IP-1]/(×IP+1)%。因此,本文使用1D卷積及類瓶頸策略模型的卷積單元的每一層卷積(兩分支)計(jì)算量比原來(lái)減少了100×[K-(2×)/g]%,參數(shù)量比標(biāo)準(zhǔn)卷積減少約100×(-4/g)%。
2.2.2擴(kuò)大接受野的策略
模型有大的接受野可以抓取到更多的內(nèi)容特征,有利于提高模型的語(yǔ)義分辨能力。目前先進(jìn)的網(wǎng)絡(luò)模型或采用大的下采樣操作,或采用膨脹卷積以獲取充足的接受野。本文設(shè)計(jì)的網(wǎng)絡(luò)模型兼具兩者的有利條件以獲取充足的接受野。對(duì)于下采樣單元,本文遵循ENet[5]的思想,即通過(guò)并3×3、=2的卷積和2×2、=2的最大池化完成下采樣及特征通道拓展(第一塊下采樣采用加操作)。本文模型下采樣率為16,即編碼器的輸出特征映射為輸入的1/16。
對(duì)于膨脹卷積操作,本文兩分支中一個(gè)為膨脹卷積。兩個(gè)分支卷積路徑有兩個(gè)優(yōu)勢(shì):1)不帶膨脹率的分支有效地?cái)z取特征以提高語(yǔ)義的分辨能力;2)帶膨脹率的分支有大的接受野。卷積單元的并操作使得兩個(gè)分支的通道得以拓展,獲取到更加豐富的特征表達(dá),同時(shí)非對(duì)稱的卷積形式使得特征的攝取更加豐富以至于不容易過(guò)擬合。卷積單元1×1的瓶頸卷積起到特征壓縮提煉的作用。因此,通過(guò)這一策略,模型有更強(qiáng)大的特征表達(dá)能力。在本文中,卷積塊1和2采用的膨脹率均為2,第3個(gè)卷積塊采用的膨脹率為=[2,2,2,2,4,8,16]。1D膨脹卷積的實(shí)現(xiàn)形式如圖3(d)所示。
圖3 擴(kuò)大接受野的卷積形式(部分卷積形式未顯示)
從圖3中可以發(fā)現(xiàn)膨脹卷積和大的值都可以獲得大的接受野。通過(guò)計(jì)算可以發(fā)現(xiàn)在相同的內(nèi)核值下,第層=獲得的視野為=1的(+)/K倍;帶孔率為的第卷積層獲取到比上一層大(+-1)/K倍的接受野。
2.2.3空間注意機(jī)制
模型大的下采樣會(huì)丟失過(guò)多的空間細(xì)節(jié),而這些空間細(xì)節(jié)很難在上采樣的過(guò)程中恢復(fù)。存儲(chǔ)池化索引和跳轉(zhuǎn)連接很好地解決上采樣過(guò)程中空間細(xì)節(jié)的恢復(fù)問(wèn)題,但是存儲(chǔ)池化索引消耗過(guò)多的內(nèi)存,不適合實(shí)時(shí)性應(yīng)用。因此,本文采用跳轉(zhuǎn)連接策略恢復(fù)丟失的空間細(xì)節(jié),即將淺層特征注入上采樣模塊中以利用其豐富的空間特征;但是,注入淺層特征到上采樣不可避免地引入噪聲使得預(yù)測(cè)結(jié)果變差。為了解決跳轉(zhuǎn)連接帶來(lái)的這一問(wèn)題,本文采用通道級(jí)空間注意力SA模塊完成空間特征的提煉及噪聲的去除,公式化為式(5):
在式(5)中,(·)表示1×1Conv(Convolution) +ELU+BN,(·)表示上雙線性上采樣,E表示淺層特征映射,i表示前層特征映射。在這一過(guò)程中,(·)轉(zhuǎn)換淺層特征為鍵值和查詢值,經(jīng)過(guò)Tanh函數(shù)(如式(6)所示)使得輸入的淺層特征在模糊處得以平滑化以利于噪聲的抑制。最后,SA模塊中的深層特征與處理后的淺層特征叉乘及輸出后再與深層特征簡(jiǎn)單的加操作,最后通過(guò)1×1的通道壓縮完成整個(gè)專注過(guò)程,其單元如圖1中虛線框所示。
實(shí)驗(yàn)平臺(tái)為T(mén)ensorFlow2.0,在單一塊的NVIDIA Titan RTX卡上訓(xùn)練,采用自適應(yīng)矩估計(jì)(Adaptive Moment Estimation, AME)隨機(jī)梯度下降優(yōu)化算法加快收斂,模型初始學(xué)習(xí)率設(shè)置為1E-3,采用ploy學(xué)習(xí)率衰減策略,權(quán)值衰減及動(dòng)量分別為4E-4和0.9。模型總共訓(xùn)練100個(gè)周期,其余的消融實(shí)驗(yàn)為微調(diào)模式。模型的模型評(píng)價(jià)指標(biāo)采用MIoU,其計(jì)算公式如式(7):
其中:P表示交叉區(qū)域的像素?cái)?shù)量,P表示負(fù)正樣本像素?cái)?shù)量,P表示正負(fù)的樣本數(shù)量,為總的類別數(shù)。
本實(shí)驗(yàn)采用Cityscapes數(shù)據(jù)集驗(yàn)證模型的有效性。Cityscapes數(shù)據(jù)集由2 975幅圖片的訓(xùn)練集、500幅圖片的評(píng)估集和1 525幅圖片的測(cè)試集構(gòu)成。此外,數(shù)據(jù)集還提供帶粗糙標(biāo)簽數(shù)據(jù)集。在本文的實(shí)驗(yàn)中僅僅使用好的標(biāo)簽數(shù)據(jù)集。Cityscapes數(shù)據(jù)集的每幅圖像的像素大小為1 024×2 048×3,本實(shí)驗(yàn)中考慮到收斂速度及實(shí)際應(yīng)用意義,將輸入裁剪為512×1 024×3。對(duì)于數(shù)據(jù)增強(qiáng)方面,實(shí)驗(yàn)采用左右、上下和隨機(jī)[0.5,1.7]的裁剪。
本實(shí)驗(yàn)采用SegNet[4]、ENet[5]、SQNet[7]和ERFNet[8]作為比較基準(zhǔn)方法,所有的算法模型均在像素為512×1 024×3的Cityscapes數(shù)據(jù)集上進(jìn)行。為了公平比較,所有基準(zhǔn)模型的實(shí)驗(yàn)參數(shù)設(shè)置都嚴(yán)格按照原論文的實(shí)驗(yàn)設(shè)置進(jìn)行。為了盡可能詳細(xì)地論述模型的先進(jìn)性,本文分別在速度、模型大小、量化結(jié)果和預(yù)測(cè)準(zhǔn)確性幾個(gè)方面進(jìn)行實(shí)驗(yàn)驗(yàn)證、分析及討論。此外,為了對(duì)提出方法的有效性論述更加充分,消融實(shí)驗(yàn)也用于驗(yàn)證本文算法的有效性。
3.3.1網(wǎng)絡(luò)模型實(shí)時(shí)性的分析
表1 所提算法與基準(zhǔn)算法的實(shí)時(shí)性比較
3.3.2模型的大小及計(jì)算量分析
對(duì)于模型大小及計(jì)算量方面的比較,本文采用模型每秒浮點(diǎn)操作數(shù)(FLoating-point Operation Per Second, FLOPS)和參數(shù)量進(jìn)行比較,比較結(jié)果如表2所示。從表2中可以發(fā)現(xiàn),本文提出的模型僅有30 MB參數(shù)量,有8.8×109FLOPS。本文模型雖然比最小模型ENet[5]在參數(shù)量和計(jì)算量上分別多了18 MB和0.7 GFLOPS,但是在MIoU上比ENet[5]高出了10個(gè)百分點(diǎn),是所有算法中最高的。本文提出的模型雖然在預(yù)測(cè)準(zhǔn)確性上比ERFNet[8]只有微量的提升,但是在計(jì)算量及參數(shù)量上明顯比ERFNet[8]少得多,這主要得益于SR卷積單元構(gòu)成的編碼器。本文模型比實(shí)時(shí)性最差的分割模型SegNet[4]在參數(shù)量和計(jì)算量上分別少了96.6%和98.6%。實(shí)驗(yàn)結(jié)果充分表明本文模型在準(zhǔn)確性和模型的大小間取得了很好的平衡。
表2 所提算法與基準(zhǔn)算法在輕量化方面的比較
3.3.3模型預(yù)測(cè)準(zhǔn)確性分析
從表3中可以發(fā)現(xiàn)本文算法在人行道、墻壁、桿子、圍欄、信號(hào)燈、植物、騎手、卡車、巴士、火車、摩托車和單車這些類上取得最高的預(yù)測(cè)準(zhǔn)確率。這表明本文模型算法采用的非對(duì)稱1D分支卷積形式攝取到了豐富的語(yǔ)義特征,提高了對(duì)稀有類的準(zhǔn)確預(yù)測(cè),如騎手、信號(hào)燈、摩托車和單車類。對(duì)卡車、巴士和火車的高準(zhǔn)確率預(yù)測(cè)表明模型有大的接受野,可以獲取到更多的語(yǔ)義信息,這主要得益于本文提出的雙分支中帶有膨脹率的分支起到擴(kuò)展視野的作用。對(duì)人行道、墻壁和桿子的高準(zhǔn)確性預(yù)測(cè)表明兩分支的并操作及瓶頸策略可以對(duì)特征起到提煉、選擇作用,提高了模型的分類能力同時(shí)有更好的實(shí)時(shí)性。在表3中的各類的預(yù)測(cè)精度上的表現(xiàn)表明了提出的SR特征提取單元能有效地提取特征,有更加充足的接受野和更加豐富的內(nèi)容信息表達(dá)。本文模型對(duì)小物體的高準(zhǔn)確性分割表明模型有足夠的空間信息來(lái)恢復(fù)小物體目標(biāo)。
表3 所提算法與基準(zhǔn)算法在Cityscape數(shù)據(jù)集上的比較 單位:%
3.3.4可視化分析
從圖4中第1、2行可以發(fā)現(xiàn)本文模型對(duì)大尺寸物體預(yù)測(cè)準(zhǔn)確性較高。在圖4中除了圖4(c)可以近似地分辨出第1、2行白色方框內(nèi)的巴士類,其他的模型錯(cuò)誤地將巴士分成其他類,而本文模型則可正確分辨出巴士類。在圖4的第3、4行中白色標(biāo)出的區(qū)域,本文模型清晰地分辨出人行道間的馬路,對(duì)眾多行人分割邊緣更加清晰,這表明本文算法具有清晰的分辨能力。圖4的實(shí)驗(yàn)結(jié)果表明本文算法具有更大的接受野、更強(qiáng)的語(yǔ)義分辨能力。
圖5中第1、2行中用白色標(biāo)出的左邊窄小馬路和微小豎立物體中,SQNet和ERFNet錯(cuò)誤分類,ENet和SegNet分割平滑,而本文模型則正確分辨出相應(yīng)的類別。本文方法可準(zhǔn)確、清晰、尖銳地分割輪廓,表明模型具有更加豐富的語(yǔ)義攝取能力,更強(qiáng)的特征分辨能力。從圖5中第3、4行中白色標(biāo)出區(qū)域中桿子及路燈和廣告牌的正確分割表明本文模型相較于其他算法模型有更加豐富的語(yǔ)義和特征表達(dá)。
圖4 大物體分割準(zhǔn)確性的量化比較
圖5 語(yǔ)義表達(dá)能力的量化比較
3.3.5消融實(shí)驗(yàn)
對(duì)于SA模塊,本文采用直接去除SA模塊中的Tanh函數(shù)及點(diǎn)級(jí)的乘函數(shù)的方法以保證實(shí)驗(yàn)驗(yàn)證的有效性,即除去SA模塊中的去噪功能。對(duì)于分支膨脹卷積的消融實(shí)驗(yàn),本文采用直接去除膨脹率的方法,即不采用任何的膨脹率的模型。本文對(duì)SA模塊和分支膨脹卷積的消融實(shí)驗(yàn)結(jié)果如表4所示。表4實(shí)驗(yàn)結(jié)果表明:不使用SA模塊使得模型的預(yù)測(cè)準(zhǔn)確性降低了0.9個(gè)百分點(diǎn),模型的速度微升0.3 FPS。這說(shuō)明本文采用的SA模塊中的Tanh函數(shù)能夠使淺層特征變得更加平滑及其后的點(diǎn)級(jí)的乘能夠提取相似的特征以抑制噪聲引入到解碼器,同時(shí)SA模塊去噪部分所占用的計(jì)算資源比較少。表4分支膨脹卷積的消融實(shí)驗(yàn)結(jié)果表明,無(wú)分支膨脹卷積使得模型的準(zhǔn)確性下降了1.2個(gè)百分點(diǎn),說(shuō)明本文采用的分支膨脹卷積獲得了大的接受野,提高了模型的分辨能力。另外,無(wú)分支膨脹卷積使得模型的推理速度高了0.7 FPS,這說(shuō)明膨脹卷積使模型的推理速度降低。
表4 模型消融實(shí)驗(yàn)的結(jié)果
為了能夠使得論述更加充分,本文對(duì)消融實(shí)驗(yàn)結(jié)果進(jìn)行量化比較。圖6為AS消融實(shí)驗(yàn)的量化結(jié)果。圖6(c)中第1行的道路被錯(cuò)誤地分為了人和背景類,這說(shuō)明無(wú)SA模塊使得模型的噪聲較大;同樣地,圖6(c)和(d)的第2行和第3行中的車輛被錯(cuò)誤地標(biāo)為其他的類,表明沒(méi)有抑制低水平特征會(huì)使得預(yù)測(cè)結(jié)果帶有噪聲。
圖6 無(wú)SA模塊的量化結(jié)果
圖7為分支膨脹卷積量化結(jié)果。圖7的(b)、(c)和(d)的第1行中的大巴車的分割結(jié)果可以發(fā)現(xiàn),不使用膨脹率使得模型不能完全地將大巴車分辨出來(lái);又如圖7(c)中的第2行中無(wú)分支膨脹卷積的模塊則將草地錯(cuò)誤地分類為了大地類,而第3行中則對(duì)樹(shù)干及小車的預(yù)測(cè)輪廓不夠清晰。從圖7的量化比較結(jié)果可以發(fā)現(xiàn),使用分支膨脹卷積使得模型的分辨能力得以提高,模型有大的接受野。
圖7 無(wú)膨脹率的量化結(jié)果
隨著自動(dòng)駕駛、虛擬現(xiàn)實(shí)等依賴于語(yǔ)義分割方法的應(yīng)用在日常生活中扮演越來(lái)越重要的角色,對(duì)實(shí)時(shí)語(yǔ)義分割的需求也越來(lái)越迫切。本文在SR卷積單元中采用先進(jìn)的1D分離卷積及瓶頸提煉策略使得模型的參數(shù)量?jī)H為30 MB,計(jì)算量?jī)H為8.8×109FLOPS。SR卷積單元兩分支的策略能夠攝取到豐富的語(yǔ)義信息,同時(shí)帶膨脹率的分支又可獲取到較大的接受野,最后通過(guò)使用1×1的卷積完成正確語(yǔ)義信息的選擇提取。SA模塊的使用提高了模型對(duì)淺層特征空間信息的利用,有效地避免淺層特征引入噪聲的缺陷,提升了模型預(yù)測(cè)的準(zhǔn)確性,使得預(yù)測(cè)邊緣更加清晰。此外,消融實(shí)驗(yàn)結(jié)果證實(shí)了SA模塊和SR卷積單元的有效性。在512×1 024×3的Cityscapes數(shù)據(jù)集上以68.3% MIoU實(shí)現(xiàn)12.6 FPS的推理速度,這表明本模型算法能夠在實(shí)時(shí)性和準(zhǔn)確性間取得平衡。
本文模型因?qū)嶒?yàn)條件的限制,模型沒(méi)有在大規(guī)模圖像數(shù)據(jù)集ImageNet上進(jìn)行預(yù)訓(xùn)練。在模型的實(shí)驗(yàn)中未充分考慮到數(shù)據(jù)集Cityscapes中的均衡性,因而模型未使用類權(quán)值進(jìn)行訓(xùn)練。本文模型SR單元中可以考慮使用縱向可分離卷積進(jìn)一步地提高模型的性能。因此,未來(lái)工作可以圍繞上述幾個(gè)方面來(lái)增強(qiáng)模型的性能。
[1] 董陽(yáng),潘海為,崔倩娜,等. 面向多模態(tài)磁共振腦瘤圖像的小樣本分割方法[J]. 計(jì)算機(jī)應(yīng)用, 2021, 41(4): 1049-1054.(DONG Y, PAN H W, CUI Q N, et al. Few-shot segmentation method for multi-modal magnetic resonance images of brain tumor[J]. Journal of Computer Applications, 2021, 41(4): 1049-1054.)
[2] 佘玉龍,張曉龍,程若勤,等. 基于邊緣關(guān)注模型的語(yǔ)義分割方法[J]. 計(jì)算機(jī)應(yīng)用. 2021, 41(2): 343-349.(SHE Y L, ZHANG X L, CHENG R Q, et al. Semantic segmentation method based on edge attention model[J]. Journal of Computer Applications, 2021, 41(2): 343-349.)
[3] 高海軍,曾祥銀,潘大志,等. 基于U-Net改進(jìn)模型的直腸腫瘤分割方法[J]. 計(jì)算機(jī)應(yīng)用, 2020, 40(8): 2392-2397.(GAO H Q, ZENG X Y, PAN D Z, et al. Rectal tumor segmentation method based on improved U-Net model[J]. Journal of Computer Applications, 2020, 40(8): 2392-2397.)
[4] BADRINARAYANAN V, KENDALL A, CIPOLLA R. SegNet: a deep convolutional encoder-decoder architecture for image segmentation[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39(12): 2481-2495.
[5] PASZKE A, CHAURASIA A, KIM S, et al. ENet: a deep neural network architecture for real-time semantic segmentation[EB/OL]. (2016-06-07) [2021-04-10].https://arxiv.org/pdf/1606.02147.pdf.
[6] RONNEBERGER O, FISCHER P, BROX T. U-Net: convolutional networks for biomedical[C]// Proceedings of the 2015 International Conference on Medical Image Computing and Computer-Assisted Intervention, LNCS 9351. Cham: Springer, 2015: 234-241.
[7] TREML M, ARJONA-MEDINA J, UNTERTHINER T, et al. Speeding up semantic segmentation for autonomous driving[EB/OL]. [2021-04-17].https://openreview.net/pdf?id=S1uHiFyyg.
[8] ROMERA E, áLVAREZ J M, BERGASA L M, et al. ERFNet efficient residual factorized ConvNet for real-time semantic segmentation[J]. IEEE Transactions on Intelligent Transportation Systems, 2017, 19(1): 263-272.
[9] YU C Q, WANG J B, PENG C, et al. BiSeNet: bilateral segmentation network for real-time semantic segmentation[C]// Proceedings of the 2018 European Conference on Computer Vision, LNCS 11217. Cham: Springer, 2018: 334-349.
[10] ZHAO H S, QI X J, SHEN X Y, et al. ICNet for real-time semantic segmentation on high-resolution images[C]// Proceedings of the 2018 European Conference on Computer Vision, LNCS 11207. Cham: Springer, 2018: 418-434.
[11] WANG Y, ZHOU Q, LIU J, et al. LEDNet: a lightweight encoder-decoder network for real-time semantic segmentation[C]// Proceedings of the 2019 IEEE International Conference on Image Processing. Piscataway: IEEE, 2019: 1860-1864.
[12] GAMAL M, SIAM M, ABDEL-RAZEK M. ShuffleSeg: real-time semantic segmentation network[EB/OL]. (2018-03-15) [2021-04-11].https://arxiv.org/pdf/1803.03816.pdf.
[13] LI G, KIM J. DABNet: depth-wise asymmetric bottleneck for real-time semantic segmentation[C]// Proceedings of the 2019 British Machine Vision Conference. Durham: BMVA Press, 2019: No.259.
[14] ZHAO H S, SHI J Q, QI X J, et al. Pyramid scene parsing network[C]// Proceedings of the 2017 IEEE Conference on Computer Vision and Pattern Recognition. Piscataway: IEEE, 2017: 6230-6239.
[15] CHEN L C, PAPANDREOU G, KOKKINOS I, et al. DeepLab: semantic image segmentation with deep convolutional nets, atrous convolution, and fully connected CRFs[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2018, 4(40): 834-848.
[16] LONG J, SHELHAMER E, DARRELL T. Fully convolutional networks for semantic segmentation[C]// Proceedings of the 2015 IEEE Conference on Computer Vision and Pattern Recognition. Piscataway: IEEE, 2015: 3431-3440.
[17] CHAURASIA A, CULURCIELLO E. LinkNet: exploiting encoder representations for efficient semantic segmentation[C]// Proceedings of the 2017 IEEE Visual Communications and Image Processing. Piscataway: IEEE, 2017: 1-4.
[18] CHEN P R, HANG H M, CHAN S W, et al. DSNet: an efficient CNN for road scene segmentation[C]// Proceedings of the 2019 Asia-Pacific Signal and Information Processing Association Annual Summit and Conference. Piscataway: IEEE, 2019: 424-432.
[19] PENG C, ZHANG X Y, YU G, et al. Large kernel matters — improve semantic segmentation by global convolutional network[C]// Proceedings of the 2017 IEEE Conference on Computer Vision and Pattern Recognition. Piscataway: IEEE, 2017: 1743-1751.
[20] WANG P Q, CHEN P F, YUAN Y, et al. Understanding convolution for semantic segmentation[C]// Proceedings of the 2018 IEEE Winter Conference on Applications of Computer Vision. Piscataway: IEEE, 2018: 1451-1460.
[21] POUDEL R P K, LIWICKI S, CIPOLLA R. Fast-SCNN: fast semantic segmentation network[C]// Proceedings of the 2019 British Machine Vision Conference. Durham: BMVA Press, 2019: No.289.
[22] ZHAO H Y, ZHANG Y, LIU S, et al. PSANet: point-wise spatial attention network for scene parsing[C]// Proceedings of the 2018 European Conference on Computer Vision, LNCS 11213. Cham: Springer, 2018: 270-286.
[23] YU C Q, WANG J B, PENG C, et al. Learning a discriminative feature network for semantic segmentation[C]// Proceedings of the 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Piscataway: IEEE, 2018: 1857-1866.
[24] HUANG Z L, WANG X G, HUANG L C, et al. CCNet: criss-cross attention for semantic segmentation[C]// Proceedings of the 2019 IEEE/CVF International Conference on Computer Vision. Piscataway: IEEE, 2019: 603-612.
[25] WANG X L, GIRSHICK R, GUPTA A, et al. Non-local neural networks[C]// Proceedings of the 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Piscataway: IEEE, 2018: 7794-7803.
[26] CHEN L C, YANG Y, WANG J, et al. Attention to scale: scale-aware semantic image segmentation[C]// Proceedings of the 2016 IEEE Conference on Computer Vision and Pattern Recognition. Piscataway: IEEE, 2016: 3640-3649.
[27] LIN G S, MILAN A, SHEN C H, et al. RefineNet: multi-path refinement networks for high-resolution semantic segmentation[C]// Proceedings of the 2017 IEEE Conference on Computer Vision and Pattern Recognition. Piscataway: IEEE, 2017: 5168-5177.
WANG Juan, born in 1983, Ph. D., associate professor. Her research interests include artificial intelligence, computer vision, deep learning.
YUAN Xuliang, born in 1992, M. S. candidate. His research interests include artificial intelligence, computer vision, image segmentation.
WU Minghu, born in 1975, Ph. D., professor. His research interests include artificial intelligence, computer vision, deep learning.
GUO Liquan, born in 1997, M. S. candidate. His research interests include artificial intelligence, machine vision.
LIU Zishan, born in 1997, M. S. candidate. Her research interests include artificial intelligence, machine vision.
Real-time semantic segmentation method based on squeezing and refining network
WANG Juan1,2,3, YUAN Xuliang1, WU Minghu1,2,3*, GUO Liquan1, LIU Zishan1
(1,,430068,;2?(),430068,;3’,430068,)
Aiming at the problem that the current semantic segmentation algorithms are difficult to reach the balance between real-time reasoning and high-precision segmentation, a Squeezing and Refining Network (SRNet) was proposed to improve real-time performance of reasoning and accuracy of segmentation. Firstly, One-Dimensional (1D) dilated convolution and bottleneck-like structure unit were introduced into Squeezing and Refining (SR) unit, which greatly reduced the amount of calculation and the number of parameters of model. Secondly, the multi-scale Spatial Attention (SA) confusing module was introduced to make use of the spatial information of shallow layer features efficiently. Finally, the encoder was formed through stacking SR units, and two SA units were used to form the decoder. Simulation shows that SRNet obtains 68.3% Mean Intersection over Union (MIoU) on Cityscapes dataset with only 30 MB parameters and 8.8×109FLoating-point Operation Per Second (FLOPS). Besides, the model reaches a forward reasoning speed of 12.6 Frames Per Second (FPS) with input pixel size of 512×1 024×3 on a single NVIDIA Titan RTX card. Experimental results imply that the designed lightweight model SRNet reaches a good balance between accurate segmentation and real-time reasoning, and is suitable for scenarios with limited computing power and power consumption.
semantic segmentation; lightweight network; real-time reasoning; Spatial Attention (SA) confusing module; one-dimensional dilated convolution
This work is partially supported by National Natural Science Foundation of China (62006073).
TP391.4
A
1001-9081(2022)07-1993-08
10.11772/j.issn.1001-9081.2021050812
2021?05?18;
2021?09?22;
2021?09?24。
國(guó)家自然科學(xué)基金資助項(xiàng)目(62006073)。
王娟(1983—),女,湖北武漢人,副教授,博士,主要研究方向:人工智能、計(jì)算機(jī)視覺(jué)、深度學(xué)習(xí); 袁旭亮(1992—),男,廣西河池人,碩士研究生,主要研究方向:人工智能、機(jī)器視覺(jué)、圖像分割; 武明虎(1975—),男,湖北恩施人,教授,博士,主要研究方向:人工智能、計(jì)算機(jī)視覺(jué)、深度學(xué)習(xí); 郭力權(quán)(1997—),男,湖北黃岡人,碩士研究生,主要研究方向:人工智能、機(jī)器視覺(jué); 劉子杉(1997—),女,湖北武漢人,碩士研究生,主要研究方向:人工智能、機(jī)器視覺(jué)。