屈 航,嵇啟春,段中興
(西安建筑科技大學(xué) 信息與控制工程學(xué)院,西安710055)
E-mail:651092232@qq.com
環(huán)境地圖輔助移動(dòng)機(jī)器人完成定位、導(dǎo)航、路徑規(guī)劃等任務(wù),利用視覺(jué)SLAM[1-3](Simultaneously Localization And Mapping)算法,估計(jì)移動(dòng)機(jī)器人運(yùn)動(dòng)路徑同時(shí),實(shí)現(xiàn)對(duì)外部環(huán)境模型構(gòu)建.隨著移動(dòng)機(jī)器人應(yīng)用于更多場(chǎng)景,僅獲得環(huán)境空間幾何信息難以滿足機(jī)器人完成更復(fù)雜任務(wù),如人機(jī)交互、環(huán)境理解等.通過(guò)構(gòu)造語(yǔ)義地圖,實(shí)現(xiàn)機(jī)器人其所處的空間幾何信息與周圍物體語(yǔ)義信息相聯(lián)系,提高機(jī)器人智能化水平,使機(jī)器人完成更高層次任務(wù)成為可能.將高層次語(yǔ)義信息包含進(jìn)視覺(jué)SLAM中,實(shí)現(xiàn)語(yǔ)義地圖構(gòu)造方面,較早研究是Andreas等人[4],他們首次提出語(yǔ)義地圖概念,首先利用室外機(jī)器人構(gòu)建場(chǎng)景3D點(diǎn)云,再對(duì)場(chǎng)景進(jìn)行解析.隨后,Sunando等人[5]利用條件隨機(jī)場(chǎng),將視覺(jué)傳感器拍攝圖像中每個(gè)像素都賦予一個(gè)物體類別,實(shí)現(xiàn)稠密語(yǔ)義標(biāo)注的3D場(chǎng)景重建.Salas-Moreno等人[6]提出SLAM++系統(tǒng),利用已有的預(yù)先設(shè)定的物體對(duì)象數(shù)據(jù)庫(kù),對(duì)實(shí)際場(chǎng)景的3D物體識(shí)別提供對(duì)象約束,從而生成面向?qū)ο蟮膱?chǎng)景描述.
近年來(lái),深度學(xué)習(xí)算法研究取得巨大進(jìn)展,被廣泛應(yīng)用于圖像分類[7]、目標(biāo)檢測(cè)[8]、語(yǔ)義分割[9,10]等領(lǐng)域,結(jié)合基于深度學(xué)習(xí)的深度神經(jīng)網(wǎng)絡(luò)與SLAM成為語(yǔ)義地圖構(gòu)建新的研究方向[11-13].語(yǔ)義地圖構(gòu)建,重點(diǎn)在于對(duì)環(huán)境中目標(biāo)物體的語(yǔ)義識(shí)別和對(duì)其位置的精確計(jì)算,利用基于卷積神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)方法,可實(shí)現(xiàn)對(duì)目標(biāo)物體高精度語(yǔ)義識(shí)別與標(biāo)注.本文在現(xiàn)有視覺(jué)SLAM系統(tǒng)基礎(chǔ)上,融合Deeplab V3+[14]語(yǔ)義分割模型,實(shí)現(xiàn)三維稠密語(yǔ)義地圖精確構(gòu)建.對(duì)Deeplab V3+模型融合視覺(jué)SLAM難以滿足語(yǔ)義地圖構(gòu)建實(shí)時(shí)性問(wèn)題,改進(jìn)Deeplab V3+網(wǎng)絡(luò)模型,網(wǎng)絡(luò)模型主干網(wǎng)絡(luò)選用輕量級(jí)卷積網(wǎng)絡(luò)MobileNetV3[15]實(shí)現(xiàn)特征提取,減少參數(shù)量,對(duì)空洞空間金字塔池化(Atrous Spatial Pyramid Pooling,ASPP)模塊采用非對(duì)稱卷積進(jìn)一步減少卷積運(yùn)算量.最后利用基于貝葉斯更新方法[16],將二維語(yǔ)義信息融合進(jìn)三維地圖,實(shí)現(xiàn)三維稠密語(yǔ)義地圖構(gòu)建.
語(yǔ)義地圖構(gòu)建框架如圖1所示,使用Kinect相機(jī)作為輸入設(shè)備對(duì)室內(nèi)環(huán)境進(jìn)行移動(dòng)拍攝,采用基于視覺(jué)SLAM算法對(duì)輸入RGB-D圖像進(jìn)行實(shí)時(shí)三維地圖構(gòu)建,同時(shí)采用改進(jìn)Deeplab V3+網(wǎng)絡(luò)模型對(duì)RGB圖像進(jìn)行語(yǔ)義分割,得到語(yǔ)義標(biāo)簽,利用基于貝葉斯更新方法漸進(jìn)式將語(yǔ)義標(biāo)簽與三維地圖融合,實(shí)現(xiàn)二維語(yǔ)義信息到三維空間映射,最終完成三維稠密語(yǔ)義地圖構(gòu)建.本文視覺(jué)SLAM采用ElasticFusion[17]系統(tǒng),ElasticFusion聯(lián)合深度信息和彩色信息計(jì)算相機(jī)運(yùn)動(dòng)軌跡,使用面元(Surfel)模型表示三維場(chǎng)景,通過(guò)隨機(jī)蕨方法進(jìn)行全局閉環(huán)檢測(cè),在閉環(huán)產(chǎn)生的情況下通過(guò)變形圖的方法對(duì)場(chǎng)景進(jìn)行更新,實(shí)現(xiàn)高精度三維稠密地圖構(gòu)建.
圖1 語(yǔ)義地圖構(gòu)建框架Fig.1 Framework of the semantic mapping
自2015年全卷積神經(jīng)網(wǎng)絡(luò)[18](FCN)的提出,語(yǔ)義分割技術(shù)在精確度和實(shí)時(shí)性上得到快速發(fā)展.對(duì)比當(dāng)前主流語(yǔ)義分割網(wǎng)絡(luò)模型,本文采用基于Deeplab V3+網(wǎng)絡(luò)模型實(shí)現(xiàn)語(yǔ)義信息獲取.Deeplab V3+是谷歌于2018年開(kāi)發(fā)的一種用于語(yǔ)義分割典型網(wǎng)絡(luò)框架.網(wǎng)絡(luò)模型使用編碼-解碼器結(jié)構(gòu),結(jié)構(gòu)如圖2所示.針對(duì)DeeplabV3池化和帶步長(zhǎng)卷積會(huì)造成一些物體邊界細(xì)節(jié)信息的丟失問(wèn)題,Deeplab V3+在V3模型基礎(chǔ)上進(jìn)行改進(jìn),將DeeplabV3作為網(wǎng)絡(luò)的編碼器,并在此基礎(chǔ)上增加了解碼器模塊用于恢復(fù)目標(biāo)邊界細(xì)節(jié).編碼器由骨干網(wǎng)絡(luò)Resnet101和ASPP模塊組成,Resnet101提取圖像特征生成高級(jí)語(yǔ)義特征圖,ASPP模塊利用Resnet101得到的高級(jí)語(yǔ)義特征圖采用不同空洞率進(jìn)行多尺度采樣,生成多尺度的特征圖,再通過(guò)1 × 1卷積進(jìn)行通道壓縮.解碼器部分對(duì)編碼器的輸出進(jìn)行上采樣,并與前半層的輸出特征圖融合,最終實(shí)現(xiàn)圖像語(yǔ)義分割.
圖2 DeeplabV3+模型圖Fig.2 Deeplab V3+ model diagram
對(duì)于語(yǔ)義分割,Deeplab V3+滿足高精度輸出結(jié)果要求,將算法運(yùn)用于視覺(jué)SLAM系統(tǒng),相機(jī)追蹤與建圖對(duì)模型分割速率提出更高要求,在Deeplab V3+基礎(chǔ)上,采用輕量級(jí)卷積網(wǎng)絡(luò)MobileNetV3代替Resnet101實(shí)現(xiàn)特征提取,減少參數(shù)量,加快算法分割速率.MobileNetV3是Google在2019年提出的新型輕量化卷積網(wǎng)絡(luò)模型,在MobileNetV2的具有線性瓶頸的逆殘差結(jié)構(gòu)基數(shù)上進(jìn)行改進(jìn),典型卷積塊結(jié)構(gòu)如圖3所示.
圖3 MobileNetV3卷積塊結(jié)構(gòu)Fig.3 MobileNetV3 convolutional block architecture
MobileNetV3在V2逆殘差結(jié)構(gòu)上引入注意力機(jī)制模塊(Squeeze and Excitation,SE),使用SE可以更好地調(diào)整每個(gè)通道的權(quán)重,通過(guò)訓(xùn)練過(guò)程在特征圖上自行分配權(quán)重,使網(wǎng)絡(luò)從全局信息出發(fā)選擇性地放大有價(jià)值的特征通道,并且抑制無(wú)用的特征通道;同時(shí)使用激活函數(shù)H-Swish對(duì)Relu函數(shù)進(jìn)行替換,函數(shù)表達(dá)式如公式(1)所示:
(1)
H-Swish函數(shù)是Swish激活函數(shù)的改進(jìn)型,能夠減少計(jì)算量同時(shí)保持與使用Swish激活函數(shù)相同的精度,實(shí)現(xiàn)精度和運(yùn)算速度上的兼容.MobileNetV3同樣使用深度可分離卷積構(gòu)建深度神經(jīng)網(wǎng)絡(luò),該網(wǎng)絡(luò)可以在保持相似準(zhǔn)確度的情況下有效減少網(wǎng)絡(luò)中的參數(shù)量與計(jì)算量.深度可分離卷積的計(jì)算量與標(biāo)準(zhǔn)卷積計(jì)算量的比值如公式(2)所示:
(2)
表1 MobileNetV3 網(wǎng)絡(luò)模型結(jié)構(gòu)
ASPP由多個(gè)不同空洞率卷積核以并聯(lián)方式組成,空洞率大,卷積核尺度大,有利于算法分割大目標(biāo),空洞率小,卷積核尺度小,利于算法分割小目標(biāo),空洞卷積算法定義如式(3)所示:
(3)
其中,x為輸入特征圖,y為輸出特征圖,w表示卷積核,k表示卷積核尺寸,表示大小為k×k的卷積核;r代表擴(kuò)展率,描述卷積核處理數(shù)據(jù)時(shí)采樣的步幅,調(diào)整擴(kuò)展率可自適應(yīng)的調(diào)整感受野大小.
ASPP利用不同卷積核擴(kuò)張率實(shí)現(xiàn)多尺度語(yǔ)義信息提取,進(jìn)而提高分割精確度.采用3×1和1×3卷積對(duì)3×3空洞卷積進(jìn)行分解,對(duì)比常規(guī)卷積,利用非對(duì)稱卷積可減少33%計(jì)算量.改進(jìn)后ASPP模型如圖4所示.
圖4 改進(jìn)后ASPP模型Fig. 4 Improved ASPP model
(4)
(5)
再次運(yùn)用貝葉斯公式得到:
(6)
(7)
實(shí)驗(yàn)首先采用Pascal VOC2012數(shù)據(jù)集進(jìn)行語(yǔ)義分割測(cè)試,為驗(yàn)證改進(jìn)后圖像語(yǔ)義分割模型實(shí)時(shí)性與精確度,使用分割速度與平均交并比(mIoU)作為評(píng)價(jià)指標(biāo),mIoU是真實(shí)值、預(yù)測(cè)值集合的交集和并集之比,是目前圖像語(yǔ)義分割領(lǐng)域最常用的評(píng)價(jià)指標(biāo).mIoU表達(dá)式如式(8)所示,其中,其中,k表示類別數(shù)量,TP表示預(yù)測(cè)為真正數(shù)量,F(xiàn)N表示預(yù)測(cè)為假負(fù)數(shù)量,F(xiàn)P表示預(yù)測(cè)為假正數(shù)量.
(8)
模型訓(xùn)練平臺(tái)基于Ubuntu16.04操作系統(tǒng),處理器和顯卡分別為Inter Core i7-9750H和NVIDIA GeForce GTX1660TI,8G內(nèi)存.采用基于TensorFlow 深度學(xué)習(xí)框架,設(shè)置批處理大小為8,初始學(xué)習(xí)率為0.001,權(quán)重衰減率設(shè)為0.0005,優(yōu)化器為隨機(jī)梯度下降,動(dòng)量為0.9.損失函數(shù)采用交叉熵?fù)p失,如公式(9)所示:
(9)
表2為Deeplab V3+與改進(jìn)后模型性能測(cè)試對(duì)比,部分分割可視化結(jié)果如圖5所示.
表2 模型分割性能對(duì)比
圖5 基于VOC2012分割結(jié)果Fig. 5 Based on VOC2012 segmentation results
由結(jié)果可知,改進(jìn)后的Deeplab V3+模型在大致輪廓的分割效果與原模型相同,特別是在圖像中只有單一目標(biāo)或目標(biāo)輪廓明顯情況下.對(duì)比原模型,改進(jìn)后模型對(duì)于目標(biāo)細(xì)節(jié)分割有細(xì)微差距,如圖5第1幅圖馬尾以及第2幅圖飛機(jī)尾翼部分.主干網(wǎng)絡(luò)采用輕量級(jí)卷積網(wǎng)絡(luò)MobileNetV3以及對(duì)ASPP卷積操作更改后,改進(jìn)后模型所占內(nèi)存大小和單張圖片處理速度上提升效果明顯,模型大小減少約95%,單張圖片運(yùn)行時(shí)間減少約88%,模型的綜合性能達(dá)到最優(yōu),滿足圖像分割實(shí)時(shí)性要求.
本文采用NYUv2數(shù)據(jù)集進(jìn)行三維稠密語(yǔ)義地圖構(gòu)建實(shí)驗(yàn).NYUv2數(shù)據(jù)集由Microsoft Kinect的RGB和Depth攝像機(jī)記錄的各種室內(nèi)場(chǎng)景的視頻序列組成,包括原始RGB圖像,深度圖像以及相機(jī)加速度數(shù)據(jù),數(shù)據(jù)集包含多種不同場(chǎng)景,如Bedroom,Bathroom、Diningroom等,RGB相機(jī)和深度相機(jī)的采樣率介于20~30fps之間.進(jìn)行三維地圖構(gòu)建前,首先對(duì)NYUv2數(shù)據(jù)進(jìn)行預(yù)處理,包括深度圖像與RGB圖像對(duì)齊,原始深度圖像轉(zhuǎn)換.
利用改進(jìn)后Deeplab V3+在NYUv2數(shù)據(jù)集上重新訓(xùn)練網(wǎng)絡(luò),實(shí)現(xiàn)在NYUv2數(shù)據(jù)集下語(yǔ)義分割.圖6所示為NYUv2數(shù)據(jù)集下語(yǔ)義分割結(jié)果,由結(jié)果可知,針對(duì)室內(nèi)場(chǎng)景,本文使用的語(yǔ)義分割算法仍然表現(xiàn)良好.將改進(jìn)后Deeplab V3+分割模型結(jié)合ElasticFusion系統(tǒng),實(shí)現(xiàn)語(yǔ)義地圖構(gòu)建,結(jié)果如圖7所示.
圖6 NYUv2下語(yǔ)義分割結(jié)果Fig. 6 Semantic segmentation results under NYUv2
圖7 不同場(chǎng)景下三維地圖構(gòu)建Fig.7 3D map construction under different scenes
表3為NYUv2數(shù)據(jù)集下,不同場(chǎng)景下三維稠密語(yǔ)義地圖構(gòu)建程序運(yùn)行時(shí)間,由表得,使用ElasticFusion進(jìn)行三維稠密地圖構(gòu)建,算法平均以29幀/秒速度運(yùn)行,結(jié)合語(yǔ)義分割模型后,語(yǔ)義地圖構(gòu)建平均以22幀/s速度進(jìn)行,結(jié)果表明,利用改進(jìn)后的輕量級(jí)Deeplab V3+語(yǔ)義分割模型,滿足實(shí)時(shí)三維稠密語(yǔ)義地圖構(gòu)建.將本文語(yǔ)義地圖構(gòu)建方法與文獻(xiàn)[19]進(jìn)行對(duì)比,結(jié)果如表4所示,得出在平均像素精度相似情況下,本文算法在構(gòu)圖實(shí)時(shí)性上有明顯提升.
表3 不同場(chǎng)景下三維地圖構(gòu)建時(shí)間Table 3 3D map construction time under different scenes
表4 語(yǔ)義地圖構(gòu)建性能對(duì)比
本文將基于卷積神經(jīng)網(wǎng)絡(luò)的Deeplab V3+語(yǔ)義分割算法應(yīng)用于視覺(jué)SLAM,實(shí)現(xiàn)三維稠密語(yǔ)義地圖構(gòu)建.對(duì)Deeplab V3+可實(shí)現(xiàn)高精度分割,但模型運(yùn)算量大,影響三維稠密語(yǔ)義地圖實(shí)時(shí)構(gòu)造問(wèn)題,采用輕量級(jí)卷積網(wǎng)絡(luò)MobileNetV3代替ResNet101進(jìn)行特征提取,減少計(jì)算參數(shù)量,加快分割速度,同時(shí)對(duì)ASPP模塊中卷積層采用非對(duì)稱卷積進(jìn)行替換,進(jìn)一步減少運(yùn)算量,實(shí)現(xiàn)分割速率提升.實(shí)驗(yàn)表明,改進(jìn)后的的Deeplab V3+應(yīng)用于視覺(jué)SLAM可滿足實(shí)時(shí)高精度三維稠密語(yǔ)義地圖構(gòu)建.在后續(xù)的研究中,利用神經(jīng)網(wǎng)絡(luò)優(yōu)化視覺(jué)SLAM是需進(jìn)一步解決的問(wèn)題.