張立國,程 瑤,金 梅,王 娜
(燕山大學 電氣工程學院,河北 秦皇島 066004)
近些年來,人工智能與智能機器人技術日新月異,智能機器人在人們的生活中越來越多的被使用到。隨著各種智慧型建筑越來越常見,人們對室內智能服務型機器人的需求也越來越大;室內智能服務型機器人在導航過程中,為了達到智能化和較好的人機交互能力,主要使用的是室內語義地圖(semantic map)[1],在語義地圖中每個不同的物體都會用相應的標簽集合來表示,以此來方便機器人對環(huán)境的理解,提高工作機器人的人機交互能力。
目前最常使用的語義地圖構建方法有3種,第一種是在度量地圖上使用大量的語義標簽來進行標注[2,3]。這種使用語義標簽標注的方法,當機器人工作環(huán)境一旦改變,就需要重新構建標簽。第二種是使用視覺導航的方法[4~6],通過相機采集的環(huán)境圖像進行特征匹配。此方法受到特征匹配算法和環(huán)境數(shù)據(jù)庫質量的影響,當環(huán)境數(shù)據(jù)庫比較大時,算法響應慢。第三種則是使用深度學習的語義分割技術結合SLAM技術構建語義地圖[7~9]。由于深度學習技術的飛速發(fā)展,使用深度學習語義分割技術對室內場景進行語義識別,然后通過SLAM技術來構建智能機器人語義地圖的方法被越來越多的應用。
然而室內場景復雜多變,室內環(huán)境所含物體類別多,而且每一類物體都有很多種類型,室內環(huán)境中各種物體也經(jīng)常出現(xiàn)相互遮掩。這些問題都是室內環(huán)境語義分割所需要解決的關鍵問題。
針對上述室內環(huán)境語義分割技術的問題,本文在語義分割效果較好的神經(jīng)網(wǎng)絡模型BiSeNet的網(wǎng)絡結構基礎上進行針對性改進,通過在上下文路徑的輕型特征提取網(wǎng)絡末端引入一個空洞金字塔模型,得到深層抽象特征,然后使用一個多尺度特征融合模塊(MsFFM,multi-scale feature fusion module)將輕型特征提取網(wǎng)絡的淺層細節(jié)特征和深層抽象特征進行融合,獲得增強的上下文信息特征。通過改進的上下文路徑,可以獲得更好的室內場景分割結果。
本文主要的研究任務是對室內環(huán)境的各種語義信息進行精準分割。其中創(chuàng)新點是在語義分割任務上表現(xiàn)較好的神經(jīng)網(wǎng)絡模型BiSeNet[10]的基礎上,對其上下文路徑進行針對性改進,增強了上下文路徑中提取的語義特征信息,使網(wǎng)絡的分割性能得到提升。
本文研究的是語義分割任務,所以首先要得到一個分割效果較好的網(wǎng)絡模型。研究使用了雙邊分割網(wǎng)絡BiSeNet進行語義分割訓練。雙邊分割網(wǎng)絡設計有2個分支網(wǎng)絡,空間路徑(spatial path)和上下文路徑(context path),這2個組件分別針對空間信息的丟失和感受野的縮小而設計。2條路徑的設計理念很明確。對于空間路徑,僅使用少數(shù)的、大核的卷積操作,得到較大的特征圖,其中保留了豐富的空間細節(jié)。關于上下文路徑,則在網(wǎng)絡寬、輕量級的特征提取網(wǎng)絡模型的尾部附加一個全局平均池層,其中接收字段是網(wǎng)絡關鍵層的最大值。
2.1.1 空間路徑結構
空間路徑可以保持原始的輸入圖像空間尺寸和編碼豐富空間信息??臻g路徑包含3層。每一層包括一個步幅為2的卷積(CONV,convolution),然后是批標準化(BN,batch normalization)和整流線性(ReLU,rectified linear units)激勵層。因此,該路徑提取的輸出特征映射是原始圖像的1/8,并且由于它使用的特征圖空間尺寸大,所以編碼的空間信息比較豐富。圖1顯示了空間路徑的結構。
圖1 BiSeNet網(wǎng)絡結構示意圖Fig.1 structure of BiSeNet
2.1.2 上下文路徑結構
上下文路徑的主要作用是提供足夠的感受野和語義信息。在BiSeNet原模型的上下文路徑中,使用的輕量級模型Xception[11]可以快速地對特征映射進行降采樣,以獲得大的感受野,該感受野對高級語義上下文信息進行編碼。然后在輕量級模型的尾部添加一個全局平均池,它可以為最大感受野提供全局上下文信息。最后,網(wǎng)絡結合了全局池的上采樣輸出特性和輕量級模型的特性。圖1中展示了上下文路徑結構。
在上下文路徑中,BiSeNet還設計了注意優(yōu)化模塊(ARM,attention refinement module),來優(yōu)化每個階段的特性。如圖2所示,ARM使用全局平均池化來捕獲全局上下文,并計算注意力向量來指導特征學習。該設計可以優(yōu)化上下文路徑中每個階段的輸出特性。還可以輕松地集成全局上下文信息,而無需任何向上采樣操作。因此,計算成本可以忽略不計。
圖2 ARM結構圖Fig.2 structure of ARM
由于空間路徑的輸出是低級別的空間信息特征,而上下文路徑的輸出是高級別的上下文語境信息特征。所以,BiSeNet設計了特定的特征融合模塊(FFM,feature fusion module)專門用來融合這些特征。鑒于特征的不同級別,BiSeNet首先連接空間路徑和上下文路徑的輸出特征。然后利用批量標準化來平衡特征的尺度。接下來,將連接的特征池化為特征向量并計算權重向量。該權重向量可以對特征進行重新加權,這相當于特征選擇和組合的功能。圖3展示了這種設計的結構。
圖3 FFM結構圖Fig.3 structure of FFM
原上下文路徑結構中,使用了Xception模型中底層和較深層的高級抽象語義特征信息進行拼接。這種深層的抽象特征對于物體的尺寸、角度和位置信息有很強的辨識度,這種平移位置、旋轉角度以及縮放大小的不變性等特性對于提升圖像中各物體的分割性能有著關鍵性作用[12]。
但是由于深層抽象特征有著很大的感受野,過強的語義信息會隱式的丟失圖像中部分物體的空間信息,這樣就導致深層網(wǎng)絡的定位精度的優(yōu)勢被損失掉了。而如果直接將深層抽象特征作上采樣操作,則目標分割的邊緣細節(jié)會有較大的損失。因此,將多層級、多尺度的特征信息進行整合,可以讓淺層局部細節(jié)與深層抽象特征互補增強、得到更好的分割效果[13]。但是如果直接進行通道連接,忽視不同階段特征的差異性,會導致分割目標不一致。因此,本研究所使用的改進方法是,首先在Xception模型的末端加上一個空洞金字塔池化層[14],得到底層抽象特征,然后使用本研究設計的多尺度特征融合模塊(MsFFM),由深層往淺層逐步融合,然后將最終融合特征與空間通道特征一起輸入FFM,進行最終分割。
改進后的整體網(wǎng)絡模型如圖4所示。
圖4 改進后的BiSeNet網(wǎng)絡模型Fig.4 Improved BiSeNet
2.2.1 空洞金字塔池化
在改進的上下文路徑中,Xception模型的末端使用了1個空洞金字塔池化對底層特征進行處理。其中包括1個卷積核大小為1*1的卷積操作,3個卷積核為3*3、采樣率分別為6,12,18的空洞卷積操作和1個全局平均池化操作。然后將各個操作得到的特征層進行通道連接,經(jīng)過卷積核為1*1大小的卷積層處理之后,就是ASSP的輸出特征。模型結構如圖5所示。
圖5 空洞金字塔池化層模型Fig.5 Model of ASPP
2.2.2 多尺度特征融合模塊
多尺度特征融合模塊(MsFFM)的結構如圖6所示。
圖6 多尺度特征融合模塊結構Fig.6 Model of MsFFM
在MsFFM中,包含有兩個小模塊A和B。模塊A的主要作用是細化特征信息,模塊B的主要作用是用來進行特征融合。淺層信息首先經(jīng)過模塊A中的1*1卷積將通道數(shù)降低,便于提高模型計算能力,然后利用殘差模塊將特征圖的通道信息進行結合,將特征細化。細化后的淺層特征和深層特征一起輸入模塊B,先經(jīng)過通道相加,然后進行全局平均池化操作,接著兩個1*1卷積以及激勵操作,得到的特征圖與淺層特征相乘,再與深層特征相加,通過深層特征信息對淺層特征進行語義選擇,得到更加具有區(qū)分力的特征。然后將模塊B的輸出再次輸入到一個模塊A中進行特征細化,即完成一次特征融合操作。
BiSeNet中利用主損失函數(shù)加輔助損失函數(shù)來監(jiān)督網(wǎng)絡的訓練。使用主損失函數(shù)來監(jiān)督整個BiSeNet的輸出。此外,還增加了兩個特定的輔助損失函數(shù)來監(jiān)督上下文路徑的輸出。所有損失函數(shù)都是Softmax(交叉熵)損失函數(shù),如式(1)所示。
(1)
式中:p是網(wǎng)絡的預測輸出。
此外,使用參數(shù)α來平衡主損失函數(shù)和輔助損失函數(shù)的權重,如式(2)所示。
(2)
式中:lp是級聯(lián)輸出的主要損失;Xi是Xception模型第i階段的輸出特征;li是第i階段的輔助損失;W是網(wǎng)絡權重;K等于3;L是聯(lián)合損失函數(shù),輔助損失函數(shù)僅僅在網(wǎng)絡訓練時使用。
神經(jīng)網(wǎng)絡的訓練是需要大規(guī)模的數(shù)據(jù)支撐的,本研究主要采用了數(shù)據(jù)集ADE20K中關于室內環(huán)境的圖像數(shù)據(jù),一共篩選收集了RGB圖像數(shù)據(jù)近 3 200 張作為訓練集,近400張圖像作為驗證集,近200張圖片作為測試集。
為了讓訓練數(shù)據(jù)適應網(wǎng)絡結構,對于大小不一的室內圖像進行了適當?shù)牟眉?,使圖像大小接近原尺寸、且為32的倍數(shù)。在ADE20K數(shù)據(jù)集的圖像分割標簽中,使用[R,G,B]三通道中相同的R,G值來表示同一類物體,不同的B值表示同一類物體的不同個體。對數(shù)據(jù)集中記錄物體類別的csv文件進行了刪減,只保留了表示室內物體的近20個類別。
網(wǎng)絡的實際訓練時,使用的空間路徑是分別為7*7、3*3、3*3大小卷積核的3個卷積層;上下文路徑使用的是Xception39網(wǎng)絡模型。訓練使用的優(yōu)化算法是小批量隨機梯度下降算法SGD(stochastic gradient descent)。批量大小設為1,動量為0.9,權重衰減為1 e-4。還使用了學習率衰減策略來控制學習率,其中初始學習率η為2.5 e-2。每次迭代學習的更新公式為:
(3)
式中:iter為當前迭代次數(shù);max_iter為總迭代次數(shù),在本次研究中設為250次(即訓練250個epoch);power值設為0.9;主、輔損失的平衡參數(shù)α設置為1。
網(wǎng)絡結構使用TensorFlow深度學習框架搭建,神經(jīng)網(wǎng)絡訓練的計算平臺配置為單張NVIDIA GTX 1060Ti。
網(wǎng)絡模型的訓練結果以訓練損失函數(shù)loss和分割像素精度PA(pixel accuracy)為可視化指標。
損失函數(shù)loss即為網(wǎng)絡模型訓練時的總損失,如果網(wǎng)絡在訓練中分割性能越來越好,訓練中迭代時的總損失會向0趨近。
訓練過程中,總損失loss隨著每輪訓練的曲線變化圖如圖7所示。
圖7 loss訓練過程曲線變化圖Fig.7 Curve of loss during training
像素精度PA即為分割正確的像素點占總像素的比值,計算公式如式(4)所示。
(4)
式中:需分割類別為k+1類;pii表示屬于i類且被預測分割正確的像素點;pij表示本屬于i類但是被預測分割到j類的像素點。
像素精度PA隨著每輪訓練的曲線變化圖如圖8所示。
圖8 PA訓練過程曲線變化圖Fig.8 Curve of PA during training
從以上兩張訓練過程圖可以看出,神經(jīng)網(wǎng)絡的訓練在70~80個epoch時,開始趨于穩(wěn)定。Loss下降到0.1左右,PA接近92%。訓練結果比較理想。
為了驗證改進方法的可行性,對比了改進前后的模型對室內環(huán)境的分割效果。主要以P-R曲線為分割效果評價指標。其中P(precision)為分割精度,R(recall)為召回率。一般情況下,分割精度和召回率會成大概的反比關系,沒有辦法同時達到很高的水平。所以需要在得到較高精度的同時保證召回率也不低。而且,P-R曲線與坐標軸圍成的面積的幾何意義是平均準確率。文本主要列舉了室內環(huán)境中比較常見的4大類物體在改進前后的P-R曲線,如圖9所示,圖中,實線表示改進前,虛線表示改進后。
圖9 4類主要室內物體的P-R曲線圖Fig.9 P-R curves of 4 main indoor objects
然后以均交并比MIoU(mean intersection over union)為指標[15],對比了3個模型的分割效果。均交并比MIoU為語義分割中,真實值的集合與預測值的集合的交集與并集之比,在每個類上計算IoU之后,取平均值。計算公式如式(5)所示。
(5)
式中:k表示需要分割類別數(shù)為k+1;pii表示屬于i類且被預測分割正確的像素點;pij表示本屬于i類但是被預測分割到j類的像素點;pji表示本屬于j類但是被預測分割到i類的像素點。
分割性能指標的對比如表1所示。
表1 各模型分割指標對比Tab.1 Comparison of segmentation indicators (%)
對測試集的分割情況,改進前后的對比圖如圖10所示。
圖10 分割效果對比圖Fig.10 Comparison of segmentation effects
從圖9可以看出,在室內4大類物體的分割P-R曲線表現(xiàn)中,虛線表示改進后效果比實線表示的改進前效果能達到更加平衡的狀態(tài)。對室內環(huán)境的平均分割精度也更高。表1則給出了BiSeNet網(wǎng)絡模型在改進前后以及和語義分割常用的SegNet網(wǎng)絡模型在實驗數(shù)據(jù)上的表現(xiàn)。從表1中可以看出,改進后的模型能夠達到81.7%的MIoU,比改進前高3.5%,比SegNet高23.5%。經(jīng)過改進后的模型,在MIoU指標上有更好的表現(xiàn)。
從圖10測試圖片的分割中可以看出,改進前BiSeNet在室內環(huán)境中的表現(xiàn)主要是在物體邊緣處的細節(jié)和遮擋處的分割中不夠準確,而經(jīng)過改進后這些問題都被較好地解決了。
本文針對室內環(huán)境語義分割任務中,不同物體類別多,同一物體不同形態(tài)多且大量相互遮擋的問題,在BiSeNet網(wǎng)絡模型的基礎上,對其上下文路徑進行了針對性改進。先通過一個空洞金字塔池化層提取出底層特征信息,通過提出的多尺度特征融合模塊,將底層抽象的高級語義信息與淺層的局部細節(jié)特征信息進行了逐層融合,使局部細節(jié)與抽象特征互補增強,得到增強的上下文內容特征,然后與空間路徑進行特征融合并輸出分割結果。實驗結果表明,改進后的模型在平均精度上得到提升,精度和召回率更加平衡,在MIoU的表現(xiàn)上比SegNet高出23.5%,比改進前高出3.5%。雖然改進后模型對圖像的處理時間有所增加,但是分割效果更好,證明了改進方法的有效性。