黃庭鴻 聶卓赟 王慶國 李 帥 晏來成 郭東生
圖像語義分割(Semantic segmentation)是一種重要的智能感知方法,在無人駕駛、醫(yī)療圖像識別等方面有重要的應(yīng)用價值.圖像語義分割是將圖像中不同物體的像素區(qū)域分開,并對每一塊區(qū)域的類別進(jìn)行標(biāo)注.
針對這類問題,早期以常規(guī)圖像處理方法為主[1-2],即通過閾值優(yōu)化、分水嶺算法等常規(guī)方法進(jìn)行圖像區(qū)域分割,再結(jié)合幾何形狀、紋理等特征對區(qū)域進(jìn)行分類標(biāo)注.隨著統(tǒng)計學(xué)和智能化方法的應(yīng)用,概率圖模型[3]、機(jī)器學(xué)習(xí)[4]等方法逐漸用于圖像語義識別.這類方法適用于特定場景的識別分類,例如:車牌識別、細(xì)胞分割等,但應(yīng)用場景較為簡單,難以適用于復(fù)雜場景.近些年,深度卷積神經(jīng)網(wǎng)絡(luò)(Convolutional neural networks,CNN)[5]逐漸在圖像語義分割中得到應(yīng)用,大幅度提升語義分割算法的準(zhǔn)確性和普適性.因此,基于深度學(xué)習(xí)的語義分割方法受到國內(nèi)外學(xué)者的廣泛關(guān)注.最初,Long等[6]針對CNN 中輸出維度下降的問題,采用轉(zhuǎn)置卷積[7]、雙線性插值(Bilinear interpolation)[8]方法擴(kuò)大CNN 網(wǎng)絡(luò)的輸出維度,實現(xiàn)了圖像的像素級分類.進(jìn)一步,文獻(xiàn)[9-11] 在此基礎(chǔ)上引入輕量卷積神經(jīng)網(wǎng)絡(luò),提出了一種快速語義分割模型,大幅度降低全卷積網(wǎng)絡(luò)的運算量,實現(xiàn)了在嵌入式設(shè)備上進(jìn)行實時語義分割.
然而圖像經(jīng)過CNN 模型處理后,其維度與分辨率下降,導(dǎo)致圖像局部細(xì)節(jié)無法準(zhǔn)確分割.針對該問題,研究者提出前后子特征融合(Context embedding)方法[12-14],其中最具代表性的是跳躍連接結(jié)構(gòu)SkipNet 模型[6].該方法將CNN 網(wǎng)絡(luò)的深層與淺層特征進(jìn)行融合,使得輸出中融入淺層的細(xì)節(jié)特征,改善輸出精度.但是文獻(xiàn)[15] 指出,卷積層的局部感受野(Receptive field)[16]與分割物體的面積相匹配才能取得良好的預(yù)測準(zhǔn)確度,而卷積層的感受野隨著網(wǎng)絡(luò)深度的改變而不同.因此,CNN 中的卷積層對物體具有不同的預(yù)測準(zhǔn)確度,然而SkipNet進(jìn)行特征融合時,對特征圖直接求和得到輸出,這樣對輸入特征的無差別疊加,忽視不同特征層的分割特點,導(dǎo)致模型精度降低.
在街景識別等語義分割任務(wù)中,由于透視等原因?qū)е虏煌瑓^(qū)域中物體面積的差異,為避免感受野與局部的場景物體失配問題,針對SkipNet 模型,本文提出一種區(qū)塊自適應(yīng)特征融合(Block adaptive feature fusion,BAFF)方法.BAFF 具有如下特點:1)對輸入的特征圖進(jìn)行分塊,每個區(qū)塊賦予不同的權(quán)重并進(jìn)行加權(quán)融合,這樣處理可以防止圖像區(qū)域差異導(dǎo)致的局部感受野與物體失配問題;2)構(gòu)建權(quán)值計算網(wǎng)絡(luò),通過訓(xùn)練該網(wǎng)絡(luò),計算出每個區(qū)塊的權(quán)重,從而對不同卷積層進(jìn)行自適應(yīng)權(quán)重分配;3)采用通道分離形式進(jìn)行卷積,使得網(wǎng)絡(luò)在準(zhǔn)確度提高的同時降低了網(wǎng)絡(luò)的參數(shù)量與運算量,從而提高網(wǎng)絡(luò)的運行速度.BAFF 結(jié)構(gòu)如圖1 所示,圖1(a)表示BAFF 方法中的區(qū)塊加權(quán)操作,圖1(b)表示本文提出的BAFF 特征融合方法,圖1(c)表示常規(guī)SkipNet 的特征融合方法.
圖1 區(qū)塊特征融合與SkipNet 疊加融合對比圖Fig.1 The comparison chart of block feature fusion and SkipNet additive fusion
深度學(xué)習(xí)(Deep learning,DL)[5]是由Hinton首次提出,當(dāng)前在各個領(lǐng)域有著廣泛的應(yīng)用.DL 通過多層神經(jīng)網(wǎng)絡(luò),逐層提取對象特征,并輸出對象的抽象高層信息,具有極其優(yōu)異的學(xué)習(xí)能力.CNN 是典型的DL 模型,主要應(yīng)用于圖像處理領(lǐng)域.CNN利用圖像的空間局部關(guān)聯(lián)性,使用卷積進(jìn)行特征提取,大大減少參數(shù)量與運算量.目前CNN 主要由卷積–池化層(Convolution-pooling)組合而成,并插入BN 層(Batch normalization)[17]增強(qiáng)網(wǎng)絡(luò)性能.
為了提高CNN 運行速度,近些年有研究者提出深度可分離卷積(Depthwise separable convolution,DSC)[18]方法.DSC 網(wǎng)絡(luò)對輸入的特征圖逐個采用卷積進(jìn)行運算,再由1×1 卷積將特征映射到輸出層,該方法運行速度快,可以搭建實時性較好的CNN 網(wǎng)絡(luò).文獻(xiàn)[19] 提出的MobileNet-v2 模型就是基于DSC 搭建的一種實時網(wǎng)絡(luò),將其應(yīng)用于語義分割,可大幅減少模型的運算量.
由于CNN 網(wǎng)絡(luò)輸出的維度下降,僅能識別物體大致類別,還需進(jìn)一步對維度還原才可能實現(xiàn)像素級語義分割.目前有兩類維度還原方法,一種是編碼解碼結(jié)構(gòu)[20],另一種是基于膨脹卷積[21]的模型.相較于后者,編碼解碼結(jié)構(gòu)壓縮了卷積層維度,因而運算量較少,更適用于實時語義分割,其結(jié)構(gòu)如圖2所示.其中編碼結(jié)構(gòu)由CNN 網(wǎng)絡(luò)組成用于特征提取,解碼結(jié)構(gòu)由轉(zhuǎn)置卷積組成用于維度還原,而跳躍連接結(jié)構(gòu)則是融合前后文特征改善網(wǎng)絡(luò)精度.文獻(xiàn)[14] 基于該結(jié)構(gòu),采用輕量卷積網(wǎng)絡(luò)作為編碼結(jié)構(gòu)模型,使用基于SkipNet 的解碼結(jié)構(gòu),大幅提高了網(wǎng)絡(luò)的運行速度,實現(xiàn)了實時語義分割.
圖2 編碼—解碼結(jié)構(gòu)Fig.2 The structure chart of encoding-decoding
在CNN 網(wǎng)絡(luò)中,卷積層用于提取圖像特征,而不同卷積層的特征表達(dá)能力有所差異.本文結(jié)合CNN 網(wǎng)絡(luò)的局部感受野,分析卷積層的分割特點,以探討特征圖的融合方法.由于CNN 網(wǎng)絡(luò)采用局部連接方式,其輸出的神經(jīng)元只與輸入層的部分區(qū)域相關(guān)聯(lián).該部分關(guān)聯(lián)區(qū)域稱作感受野,可知輸出神經(jīng)元的信息均來自感受野區(qū)域的圖像.對于語義分割來說,感受野區(qū)域越大,則輸出包含的整體信息越多,分割越體現(xiàn)整體性;相反感受野越小,輸出越體現(xiàn)局部性.
由文獻(xiàn)[16] 可知感受野由卷積層深度、卷積核大小、卷積步長決定.本文抽取MobileNet-v2 中第5、第8、第20 層的輸出進(jìn)行實驗(感受野大小分別為27×27、59×59、475×475),其呈現(xiàn)如圖3 所示結(jié)果.可以發(fā)現(xiàn)深層的分割結(jié)果趨向于整體性,可以很好地分割大面積物體,而淺層的分割結(jié)果則趨于局部性,捕捉細(xì)節(jié)能力更強(qiáng).
圖3 不同卷積層的語義分割測試Fig.3 The test of semantic segmentation for different convolution layer
本文采用的語義分割模型如圖4 所示,其中編碼結(jié)構(gòu)采用了輕量卷積神經(jīng)網(wǎng)絡(luò)MobileNet-v2,解碼結(jié)構(gòu)則在常規(guī)的跳躍連接結(jié)構(gòu)上搭建,并引入一種BAFF 特征融合算法(BAFF-SkipNet),以提高語義分割模型的精度.
圖4 基于BAFF 的語義分割網(wǎng)絡(luò)結(jié)構(gòu)Fig.4 The structure chart of the semantic segmentation network based on BAFF
由前文可知,不同特征層反映物體的整體特征和細(xì)節(jié)特征存在差異.在特征融合過程中,將不同特征進(jìn)行加權(quán)處理,可以突出并保留不同感受野下的圖像特征.
首先,為了能夠描述這種差異特性,本文在固定感受野下,針對同一物體縮放得到不同大小圖像進(jìn)行測試.測試樣本如圖5(a)所示,使用CCN 網(wǎng)絡(luò)對該組圖像進(jìn)行預(yù)測,輸出車輛區(qū)域的概率平均值,得到圖5(b)和圖5(c)所示結(jié)果.可以發(fā)現(xiàn)測試結(jié)果為單峰值函數(shù)分布形式,本文采用高斯函數(shù)對其進(jìn)行擬合
式中,S 表示物體面積,P 表示網(wǎng)絡(luò)輸出,a、b 與c由網(wǎng)絡(luò)層的輸出通過擬合確定,且c 與網(wǎng)絡(luò)局部感受野正相關(guān).
然后,考慮不同卷積層的特征差異,采用形狀和峰值中心不同的高斯曲線對卷積層特性進(jìn)行描述.實驗發(fā)現(xiàn):對于感受野較小情況(CNN 淺層輸出),峰值中心靠近物體尺寸較小的部分(如圖5(b)對應(yīng)MobileNet 第8 層測試圖所示),而對于感受野較大情況(CNN 深層輸出),峰值中心靠近物體較大的部分(如圖5(c)對應(yīng)MobileNet 第20 層測試圖所示).
進(jìn)一步,對第8 層和第20 層進(jìn)行加權(quán)融合,此時加權(quán)過程可以描述成兩類高斯曲線的互補(bǔ)疊加,有
式中,S 表示物體面積,a1,b1,c1表示第8 層輸出曲線擬合的參數(shù),a2,b2,c2表示第20 層輸出曲線擬合的參數(shù),λ 表示加權(quán)值,對于不同權(quán)重其輸出曲線如圖5(d)表示.
圖5 CNN 預(yù)測精度與物體大小關(guān)系Fig.5 The relation between the precision of CNN prediction and the size of objects
在式(2)中,λ 的權(quán)值起到對圖像特征區(qū)域的增強(qiáng)作用.例如,當(dāng)λ=0.5 時,兩個輸入特征無差別疊加,相當(dāng)于常規(guī)SkipNet 特征融合;當(dāng)λ <0.5 時,淺層特征(小面積物體)能夠得到增強(qiáng);當(dāng)λ >0.5時,深層特征(大面積物體)能夠得到增強(qiáng).
最后,考慮實際圖像存在場景透視現(xiàn)象(即物體在圖像中大小與空間距離相關(guān)),同一物體在圖像中所占面積可能存在較大差異.而CNN 中給定卷積層的感受野大小是固定的,為了對局部區(qū)域的感受野大小進(jìn)行調(diào)整,以匹配該區(qū)域的物體面積,本文對特征圖進(jìn)行分區(qū)塊,然后對各個區(qū)塊單獨進(jìn)行加權(quán)融合.
針對車輛識別的區(qū)塊加權(quán)如圖6 所示.可以發(fā)現(xiàn),近處的汽車面積較大而遠(yuǎn)處的汽車面積較小.常規(guī)SkipNet 疊加融合方式,顯然不能同時保留近景、遠(yuǎn)景物體特征,導(dǎo)致兩類特征圖疊加后產(chǎn)生大量噪聲;而本文提出的分區(qū)塊加權(quán)融合方法,能夠較好地處理這類情況,改善特征圖的融合效果.
圖6 區(qū)塊加權(quán)融合效果Fig.6 The effect of block weighted fusion
通過上述分析可知,圖像特征的區(qū)塊加權(quán)融合,能夠有效保留不同感受野下的圖像特征,而權(quán)值計算則成為實現(xiàn)BAFF 的關(guān)鍵問題.文獻(xiàn)[22] 針對卷積層特征圖也進(jìn)行了賦權(quán)操作,并采用全連接網(wǎng)絡(luò)對權(quán)值進(jìn)行計算,但該方法僅用于單卷積層的特征增強(qiáng),不適用于特征融合中雙卷積層融合的權(quán)重計算.本文借鑒該文獻(xiàn)的權(quán)值計算方法,實現(xiàn)特征圖區(qū)塊權(quán)的自適應(yīng)調(diào)節(jié).
權(quán)重計算層的輸入為兩個待融合的卷積層,其中每個卷積層共l 個(l 為語義類別數(shù))大小為w×h的特征圖.針對每組中對應(yīng)的兩個特征圖進(jìn)行信息整合:首先,將兩個特征圖堆疊成w×h×2 大小的三維矩陣塊;然后,采用3×3×2 的卷積核對每個三維矩陣塊進(jìn)行卷積,這樣處理就將兩個輸入特征圖整合成一個特征圖進(jìn)行輸出.為了表示這一特征整合過程,定義算子1 如下.
算子1.設(shè)兩個輸入矩陣為Ia與Ib,大小為κ× ι,o 表示輸出矩陣,則輸入信息的整合過程可表達(dá)為式中,w1與b1表示相對于輸入Ia的權(quán)重與偏置,w2與b2表示相對于輸入Ib的權(quán)重與偏置,函數(shù)σ(x)=1/(1+e-x)表示sigmoid 激活函數(shù),* 表示卷積操作[23].
結(jié)合識別精度和運算量兩類指標(biāo),選取適當(dāng)大小的區(qū)塊進(jìn)行賦權(quán).本文以8×8 大小的區(qū)塊為例討論其實現(xiàn):1)采用維數(shù)為4×4 且步長為4 的卷積核壓縮特征維度;2)使用維數(shù)為2×2 且步長為2的卷積核進(jìn)行卷積使特征達(dá)到所需維度;3)使用sigmoid 函數(shù),將輸出權(quán)重映射到0 到1 之間,這樣就得到區(qū)塊權(quán)重矩陣.
需要說明的是,本文采用深度分離卷積進(jìn)行運算,以此保證各類別間運算的獨立性.這與常規(guī)的卷積是不同的.
由于權(quán)值矩陣的維度往往比特征圖小.為此,在加權(quán)過程中需要提升權(quán)值矩陣維度,才能進(jìn)行加權(quán)運算.本文采用雙線性插值法(Bilinear interpolation)[8]對權(quán)重矩陣維度進(jìn)行放大,該方法在提升權(quán)重矩陣維度的同時,還增加了升維矩陣中不同權(quán)重間邊界的平滑性.區(qū)塊加權(quán)融合的算子定義如下.
算子2.設(shè)兩個輸入矩陣為Ia與Ib,輸出矩陣為o,大小為κ×ι,有
式中,° 表示哈達(dá)瑪積,即矩陣對應(yīng)元素相乘,λ 為擴(kuò)張維度后的權(quán)重矩陣,大小為κ×ι.1κ×ι表示元素均為1、大小為κ×ι 的常數(shù)矩陣.
基于以上分析,結(jié)合算子1和算子2,推導(dǎo)BAFF 的計算過程.設(shè)置兩個輸入卷積層,每個卷積層共l 個特征圖.假設(shè)每層特征圖維度大小為w×h.第1 個卷積層記作za,zja表示該卷積層中第j 個特征圖(0 ≤j ≤l);第2 個卷積層記作zb,zjb表示該卷積層中第j 個特征圖.oj表示輸出層中第j 個特征圖.則BAFF 的計算過程可表示為
式中,up(x)表示雙線性插值的上采樣函數(shù)[8],° 表示哈達(dá)瑪積.表示第1 個隱藏層中第j 個特征圖的權(quán)重與偏置,以此類推分別表示各層中第j 個特征圖的卷積核與偏置,oj表示輸出層中第j 個特征圖,該式中為權(quán)重矩陣,對上采樣得到擴(kuò)維后的權(quán)重矩陣將與輸入加權(quán)得到融合后的輸出oj.
進(jìn)一步,考慮式(5)中的權(quán)值與偏置參數(shù)的訓(xùn)練.根據(jù)文獻(xiàn)[24] 中卷積神經(jīng)網(wǎng)絡(luò)的反向傳播算法,對本文BAFF 算法的參數(shù)進(jìn)行更新.為了方便描述,定義下采樣函數(shù)和矩陣180°旋轉(zhuǎn)函數(shù),統(tǒng)一采用A表示輸入矩陣.
定義1.假設(shè)A 為大小為M × N 的輸入矩陣,其元素為art,對矩陣A 進(jìn)行不重疊分塊,每塊大小為m × n,則下采樣得到的輸出矩陣大小為(M/m)× (N/n),輸出矩陣可表達(dá)為(dij)(M/m)×(N/n),其中dij表示輸出矩陣中下標(biāo)為ij 的元素,(M/m),(N/n)∈Z,下采樣函數(shù)定義為
式中,0 ≤i ≤(Mm)-1,0 ≤j ≤(Nn)-1.
定義2.假設(shè)A 為輸入矩陣,其大小為M×N.旋轉(zhuǎn)180°后輸出矩陣大小保持不變,輸出矩陣表達(dá)為(dij)M×N,則旋轉(zhuǎn)函數(shù)定義為
式中,0 ≤i ≤M-1,0 ≤j ≤N-1.
在實現(xiàn)反向傳播算法時,從模型輸出端依次反向計算各層輸出的殘差.根據(jù)鏈?zhǔn)角髮?dǎo)算法,BAFF各層的殘差計算如式(8)所示.
在式(8)的計算中,殘差偏導(dǎo)的計算涉及到三類處理方式,包括有常規(guī)的鏈?zhǔn)角髮?dǎo)操作如和的計算;利用下采樣式(6)得到該公式對應(yīng)至中插值公式的逆形式,在反向傳播中傳遞插值公式兩端的殘差;由卷積層殘差的反向傳遞公式計算得到.
然后,結(jié)合各層殘差值計算權(quán)重與偏置梯度
由式(5)可得隱藏層與權(quán)重、偏置的運算關(guān)系,式(8)得到各隱藏層的偏導(dǎo),根據(jù)鏈?zhǔn)角髮?dǎo)法則,可得到各層中權(quán)重和偏置的梯度,即得到式(9).以上處理方法在文獻(xiàn)[25] 中有詳細(xì)介紹.
最后,計算權(quán)重和偏置數(shù)值并更新.設(shè)置η 為學(xué)習(xí)率,根據(jù)梯度下降法,得到更新后的參數(shù)如式(10),計算參數(shù)并由式(11)更新
式(10)主要采用常規(guī)的梯度下降算法對新的參數(shù)進(jìn)行計算,該算法具有良好的收斂性能,在一定的訓(xùn)練次數(shù)下,能夠確保模型的準(zhǔn)確性.
本文提出的BAFF 參數(shù)更新方法如算法1 所示.
算法1.BAFF-BP
仿真實驗平臺配置為至強(qiáng)八核處理器2.60 HZ,顯卡為NVIDIA Titan XP,16 GB 內(nèi)存,使用Cityscapes[26]街景數(shù)據(jù)集,該數(shù)據(jù)集可用于測試實驗的共19 類街景物體和1 類背景(即l=20),本文采用該數(shù)據(jù)集中5 000 幅精細(xì)標(biāo)注的圖片,其中3 475 幅用于訓(xùn)練模型,1 525 幅用于測試準(zhǔn)確度,運行環(huán)境為Tensorflow 1.4.
模型訓(xùn)練共兩個階段:第1 個階段是對編碼層訓(xùn)練;第2 個階段是對解碼層與BAFF 模塊進(jìn)行訓(xùn)練.
第1 個階段訓(xùn)練目的是使編碼層模型輸出不同深度的分割圖,為解碼層各階段輸入提供相應(yīng)的特征圖.該階段操作如下:首先,使用1×1 卷積將編碼層的輸出映射至類別概率圖;然后,使用雙線性插值對映射后的卷積層進(jìn)行維度放大;最后,計算總的損失函數(shù)并訓(xùn)練模型.因為本文編碼層采用MobileNet-V2,選取編碼層中維度為輸入圖像1/32、1/16、1/8 大小的特征圖進(jìn)行訓(xùn)練,即第5、第8、第20 卷積層,設(shè)這三層中第j 個類別概率特征圖為設(shè)置yj為第j 個類別的期望輸出,根據(jù)交叉熵公式得到損失函數(shù)為
式中,l 為類別數(shù),0 ≤j ≤l-1,β 為L2 范數(shù)的增益系數(shù).
第2 階段目的是對解碼結(jié)構(gòu)進(jìn)行訓(xùn)練,將編碼層的3 個卷積層輸出進(jìn)行特征融合并逐步擴(kuò)展卷積層維度,輸出更加精細(xì)的分割圖.令^oj為網(wǎng)絡(luò)輸出層的第j 個特征圖,整體損失函數(shù)為
式中,l 為類別數(shù),0 ≤j ≤l-1,β 為L2 范數(shù)的增益系數(shù).
選取CityScapes 數(shù)據(jù)集進(jìn)行模型訓(xùn)練,設(shè)置批次數(shù)為5,初始學(xué)習(xí)率為10-2,L2 范數(shù)的增益參數(shù)設(shè)置為10-4,每批樣本加入噪聲增加樣本的多樣性,其訓(xùn)練過程如圖7 所示.
圖7 模型訓(xùn)練損失值的變化Fig.7 The loss of value during the model training
為了評價語義分割模型的準(zhǔn)確性,本文選用均交并比(Mean intersection over union,MIoU)[27]表示分割物體的精度,其計算式如式(14)所示,該值越高代表分割效果越好.
式中,l 為類別數(shù),0 ≤j ≤l-1,TTj表示第j 個類別中預(yù)測正確的樣本數(shù),TFj與FTj分別表示第j個類別中的真假與假真樣本數(shù),即預(yù)測錯誤的樣本.
為了對整體模型進(jìn)行分析,本文從模型的時間復(fù)雜度(浮點運算量)和空間復(fù)雜度(參數(shù)總量)上分析.在實時語義分割中,其一個重要的指標(biāo)就是網(wǎng)絡(luò)的預(yù)測速度,如果時間復(fù)雜度過高,則會導(dǎo)致模型訓(xùn)練和預(yù)測耗費大量時間,無法做到快速的實時預(yù)測,因此時間復(fù)雜度決定了模型的訓(xùn)練與預(yù)測時間.對于網(wǎng)絡(luò)的空間復(fù)雜度,其決定了模型的參數(shù)數(shù)量.模型的參數(shù)越多,模型所需的內(nèi)存資源就越多,同時訓(xùn)練所需的數(shù)據(jù)量就越大,導(dǎo)致模型訓(xùn)練更容易出現(xiàn)過擬合,使得網(wǎng)絡(luò)的預(yù)測精度下降.
根據(jù)文獻(xiàn)[19],本文模型的時間復(fù)雜度和空間復(fù)雜度計算分別為
式中,Co 表示模型中常規(guī)卷積的數(shù)量,在第i 個常規(guī)卷積層中,M1,i與N1,i表示輸出特征圖的長度與寬度,K1,i表示卷積核維數(shù),表示卷積層輸入的通道數(shù),表示卷積層輸出的通道數(shù).De 表示模型中深度分離卷積的數(shù)量,在第j 個深度分離卷積層中,M2,j與N2,j表示輸出特征圖的長度與寬度,K2,j表示卷積核維數(shù),表示卷積層輸入的通道數(shù),表示卷積層輸出的通道數(shù).
本文提出的BAFF 方法,通過自適應(yīng)加權(quán)可以很好地改善網(wǎng)絡(luò)對不同物體的分割精度.為了驗證BAFF 特征融合的性能,本文抽取特征融合后的特征圖進(jìn)行分析.以客車與卡車類別為例,特征融合后的特征圖如圖8 所示.可以發(fā)現(xiàn)常規(guī)SkipNet 方法不能很好地識別出物體,而BAFF 方法則可以較好地分割出物體.
圖8 特征融合的顯著圖Fig.8 The salient region of the feature fusion
進(jìn)一步,從語義分割預(yù)測精度上進(jìn)行分析,采用MIoU 表示語義分割精度,整體模型如圖4 所示,將其與常規(guī)SkipNet 方法進(jìn)行比較.在CityScapes 數(shù)據(jù)集上訓(xùn)練兩種模型各24 000 次,實驗平臺如第3節(jié)所述.得到圖9 所示的實驗結(jié)果,可以發(fā)現(xiàn),相對于常規(guī)SkipNet 方法,本文方法對物體分割精度的提升較大,主要體現(xiàn)在特征復(fù)雜的種類上,例如:rider (騎車人),mbike (摩托車),train (火車),wall (墻),fence (圍欄)等,其原因在于本文提出的BAFF 方法能夠自適應(yīng)地融合淺層和深層特征.
圖9 模型精確度對比圖Fig.9 The comparison chart of model accuracy
最后,本文從時間復(fù)雜度與空間復(fù)雜度上對比該兩種方法,根據(jù)實驗,得到如表1 所示結(jié)果.可以發(fā)現(xiàn),相比于常規(guī)SkipNet 方法,BAFF-SkipNet 的精度提升了3.7%,而帶來的運算量(時間復(fù)雜度)增長卻只有0.001%,參數(shù)量(空間復(fù)雜度)只增加了0.002% .因此BAFF 可以在幾乎不帶來計算量增長的情況下,有效地提高網(wǎng)絡(luò)模型精度,具有很高的運算效率.
表1 加入BAFF 前后的模型復(fù)雜度對比Table 1 Comparisons of model complexity before and after adding BAFF
為了驗證本文方法的有效性,實驗將基于BAFF 的圖像語義分割網(wǎng)絡(luò)(即MobileNet-BAFFSkipNet)與文獻(xiàn)[28-30] 的方法進(jìn)行對比,統(tǒng)一采用MIoU 來衡量語義分割精度,各模型的訓(xùn)練與測試統(tǒng)一采用CityScapes 進(jìn)行,其訓(xùn)練與測試的數(shù)據(jù)量、實驗的硬件平臺如第3 節(jié)開頭所述,訓(xùn)練次數(shù)均為24 000 次.
對比各個模型的精確度,得到表2 所示結(jié)果,表2 分別列出各個類別的精確度,其中本文模型在墻(wall)、圍欄(fence)、摩托車(mbike)、自行車(bike)上具有較高精確度.
表2 語義分割各類別精度對比(%)Table 2 Semantic segmentation accuracy comparison of different types (%)
進(jìn)一步,從模型復(fù)雜度與空間復(fù)雜度上進(jìn)行分析,得到表3 所示結(jié)果,從實驗比較結(jié)果可以發(fā)現(xiàn),本文模型在參數(shù)量較少的條件下,具有很高的分割精度,同時模型的運算時間也相對較小.可見,本文模型在圖像分割的快速性和準(zhǔn)確性之間做到了很好的平衡,是一種性能優(yōu)良的實時語義分割算法.
表3 實時語義分割模型精度對比Table 3 Accuracy comparison of real-time semantic segmentation models
圖10 中,選取了6 幅街景較為復(fù)雜的圖像作為測試,并與文獻(xiàn)[28-29] 方法的語義分割效果比較.可以看到,本文方法能夠清晰地分割圖像中的一些細(xì)長物體,如方框(1)和(3)所示的細(xì)桿;較好地區(qū)分密集的行人,如方框(2)和(4)所示的人群;識別交通標(biāo)志,如方框(5)所示的交通標(biāo)志;識別大型物體,如方框(6)所示的圍欄.在對比實驗中可以看到,文獻(xiàn)[28-29] 方法在語義分割與識別過程中,雖然能夠很好地識別道路、人行道等特征簡單的類別,但在識別特征復(fù)雜物體時,容易受到其他混雜場景的干擾,且分割的細(xì)節(jié)不夠清晰.可見,本文提出的BAFF 方法具有良好的圖像語義分割能力和識別能力.
圖10 語義分割效果圖對比Fig.10 Semantic segmentation effect contract graph
本文提出了一種基于BAFF 的圖像語義分割網(wǎng)絡(luò),具有識別精度高、模型運算量小的特點,可以應(yīng)用于實時性要求高的圖像語義分割系統(tǒng).與當(dāng)前主要的實時語義分割網(wǎng)絡(luò)比較,本文方法具有以下特點:首先,引入一種分區(qū)塊的自適應(yīng)特征融合機(jī)制,顯著提高了圖像語義分割的精度,提升復(fù)雜環(huán)境下的魯棒性.其次,引入權(quán)重計算網(wǎng)絡(luò),對區(qū)塊權(quán)重進(jìn)行自適應(yīng)計算,且網(wǎng)絡(luò)的計算量非常小,能夠保證模型計算的快速性和實時性.考慮到常規(guī)的編碼–解碼網(wǎng)絡(luò)結(jié)構(gòu)屬于一類黑箱模型,模型內(nèi)部計算參數(shù)缺乏明確的物理含義.本文提出的BAFF 所實現(xiàn)的特征加權(quán)屬于一類可解釋的網(wǎng)絡(luò)模型,更適合實際應(yīng)用和操作.采用神經(jīng)網(wǎng)絡(luò)進(jìn)行動態(tài)加權(quán)融合可以用于解決信息融合問題,在本文基礎(chǔ)上,下一步工作擬將神經(jīng)網(wǎng)絡(luò)動態(tài)加權(quán)融合的思想與傳統(tǒng)控制問題、互補(bǔ)濾波問題進(jìn)行結(jié)合開展研究,以提高其他類似系統(tǒng)的精確和實用性.