王紅君 郝金龍 趙 輝,2 岳有軍
1(天津市復(fù)雜系統(tǒng)控制理論及應(yīng)用重點(diǎn)實(shí)驗(yàn)室 天津 300384)2(天津農(nóng)學(xué)院 天津 300384)
近年來(lái),同時(shí)定位與地圖構(gòu)建技術(shù)(Simultaneous Localization and Mapping,SLAM)在多個(gè)領(lǐng)域被推廣應(yīng)用,但仍有一些問(wèn)題亟待解決。在大規(guī)模復(fù)雜場(chǎng)景下,SLAM系統(tǒng)面對(duì)復(fù)雜環(huán)境變化時(shí)精度和魯棒性差是需要解決的主要問(wèn)題,集中表現(xiàn)在關(guān)鍵幀提取困難、回環(huán)檢測(cè)過(guò)程中回環(huán)位置難以確定、跟蹤性能差等。其中,回環(huán)檢測(cè)是移動(dòng)機(jī)器人抑制累計(jì)誤差的關(guān)鍵,通過(guò)對(duì)同一位置的重識(shí)別,SLAM系統(tǒng)可以對(duì)姿態(tài)和全局地圖進(jìn)行優(yōu)化,提高系統(tǒng)的精度和穩(wěn)定性。
在大規(guī)模復(fù)雜場(chǎng)景下,往往存在著攝像機(jī)視角大幅改變、地貌特征改變、大量移動(dòng)物體、光照劇烈改變和天氣季節(jié)改變等[1]環(huán)境條件的改變,限制了回環(huán)檢測(cè)算法的使用。2013年Milford等提出的SeqSLAM是第一個(gè)大規(guī)模復(fù)雜場(chǎng)景下有一定效果的視覺(jué)定位系統(tǒng)。SeqSLAM通過(guò)當(dāng)前圖像序列來(lái)匹配已有最相近的圖像序列,它關(guān)注的是圖像序列的整體特征而不是單個(gè)圖像的特征,其對(duì)季節(jié)變化擁有良好的應(yīng)對(duì)能力。但SeqSLAM的準(zhǔn)確性與圖像序列的拍攝角度的一致性緊密相關(guān)[2],采用圖像序列匹配也會(huì)使尾部圖像序列無(wú)效[1],采用暴力匹配方式進(jìn)行圖像匹配使得計(jì)算成本隨著場(chǎng)景規(guī)模激增。
2017年Siam等[3]提出的Fast-SeqSLAM是一種高效的SeqSLAM版本。Fast-SeqSLAM的核心是通過(guò)近似最近鄰算法代替了SeqSLAM中暴力匹配的方式,從而在不降低精度的情況下降低了時(shí)間復(fù)雜度。
隨著CNN的發(fā)展,AlexNet[4]、VGG[5]、GoogLeNet[6]和ResNet[7]等被用來(lái)進(jìn)行圖像特征的提取,解決了對(duì)象分類、場(chǎng)景識(shí)別和物體檢測(cè)等識(shí)別問(wèn)題。2017年國(guó)防科技大學(xué)的Bai等[8]提出了一種融合CNN與SeqSLAM的回環(huán)檢測(cè)算法SeqCNNSLAM。該算法使用先前訓(xùn)練好的Places-CNN[9]的第3卷積層或第5池化層來(lái)進(jìn)行圖像特征的提取,再通過(guò)SeqSLAM來(lái)進(jìn)行圖像的序列。在Nordland和Gardens point等數(shù)據(jù)集上驗(yàn)證了SeqCNNSLAM不但有SeqSLAM應(yīng)對(duì)環(huán)境季節(jié)變化的能力,還對(duì)視角變化具有魯棒性。2018年徐建鵬等[10]提出基于Faster-RCNN神經(jīng)網(wǎng)絡(luò)回環(huán)檢測(cè)的優(yōu)化算法,該算法使用Faster-RCNN神經(jīng)網(wǎng)絡(luò)對(duì)圖像序列進(jìn)行檢測(cè),將獲得的圖像語(yǔ)義特征、像素位置及特征圖等構(gòu)建成二維語(yǔ)義特征向量圖,根據(jù)二維語(yǔ)義特征向量圖之間的相似度匹配得到初始回環(huán),再經(jīng)位姿驗(yàn)證獲得最終回環(huán)結(jié)果。徐建鵬的基于Faster-RCNN神經(jīng)網(wǎng)絡(luò)回環(huán)檢測(cè)的優(yōu)化算法和SeqCNNSLAM的成功表明,將CNN與回環(huán)檢測(cè)算法融合能夠改善回環(huán)檢測(cè)算法的精度和魯棒性。
不同于SeqSLAM使用圖像像素值當(dāng)作圖像特征,也不同于SeqCNNSLAM延續(xù)SeqSLAM使用圖像序列進(jìn)行匹配,本文采用ResNet對(duì)關(guān)鍵幀進(jìn)行特征提取,使用詞袋法進(jìn)行單幅圖片的特征匹配,采用弱監(jiān)督的遷移訓(xùn)練方法來(lái)訓(xùn)練ResNet,提出一種基于深度殘差網(wǎng)絡(luò)和利用信息熵改進(jìn)的局部聚合描述符向量的回環(huán)檢測(cè)方法RIV-LCD。
深度殘差網(wǎng)絡(luò)(Deep Residual Network,ResNet)由He等[7]提出,解決了隨著CNN網(wǎng)絡(luò)層數(shù)加深,準(zhǔn)確率下降的問(wèn)題。ResNet在ILSVRC和COCO 2015上取得了五項(xiàng)第一,優(yōu)于其他各種CNN模型在ImageNet數(shù)據(jù)集上的表現(xiàn),TOP5誤差僅為3.57%[7]。ResNet由若干個(gè)building block或bottleneck組成,其結(jié)構(gòu)如圖1所示。不同數(shù)量的building block或bottleneck組成了不同深度的ResNet。本文使用50層的ResNet來(lái)對(duì)圖像進(jìn)行特征提取。
圖1 building block與bottleneck的結(jié)構(gòu)圖
局部聚合描述符向量(VLAD)[12]通過(guò)計(jì)算圖像特征描述子與其所屬的聚類中心的差矢量來(lái)聚合圖像特征。
如果給定N個(gè)D維的本地特征描述子{Xi}作為輸入,K個(gè)聚類中心{Ck}作為VLAD的元素,VLAD的輸出是一個(gè)D×K維的矩陣V。位置元素V(j,k)的計(jì)算公式如下:
(1)
式中:xi(j)和Ck(j)分別是第i個(gè)本地特征描述子和第k個(gè)聚類中心的第j維元素。
詞袋法(Bag-of-Words,BoW)[13]最早出現(xiàn)在自然語(yǔ)言處理和信息檢索領(lǐng)域。該模型忽略文本的語(yǔ)法和語(yǔ)序等要素,將其僅僅看作是若干個(gè)詞匯的集合。BoW使用一組無(wú)序的words來(lái)表達(dá)一段文字或一個(gè)文檔。近年來(lái),BoW模型也被廣泛應(yīng)用于圖像檢索。
對(duì)于訓(xùn)練一個(gè)已知結(jié)構(gòu)的卷積神經(jīng)網(wǎng)絡(luò),最核心的問(wèn)題是數(shù)據(jù)集的獲取和損失函數(shù)的確定。由于回環(huán)檢測(cè)數(shù)據(jù)集規(guī)模偏小,而ResNet的層數(shù)深權(quán)值參數(shù)多,大規(guī)模重復(fù)訓(xùn)練時(shí),容易出現(xiàn)參數(shù)過(guò)擬合問(wèn)題。采用關(guān)聯(lián)數(shù)據(jù)集進(jìn)行預(yù)訓(xùn)練十分重要,可以有效規(guī)避過(guò)擬合問(wèn)題。在第一階段,采用關(guān)聯(lián)性強(qiáng)的場(chǎng)景識(shí)別大型數(shù)據(jù)集Places2[14]進(jìn)行預(yù)訓(xùn)練;在Place2中,選取適合應(yīng)用環(huán)境的圖片對(duì)ResNet進(jìn)行場(chǎng)景識(shí)別訓(xùn)練,使得ResNet可以獲得提取特定環(huán)境圖像特征的能力。對(duì)于第一階段場(chǎng)景識(shí)別的訓(xùn)練,可以使用Softmax分類器和交叉熵?fù)p失函數(shù)。
(2)
第二階段弱監(jiān)督遷移訓(xùn)練需要使用回環(huán)檢測(cè)數(shù)據(jù)集,Nordlandsbanen數(shù)據(jù)集[15]比較適用。Nordlandsbanen數(shù)據(jù)集記錄了特隆赫姆和博德之間729 km的鐵路,在四個(gè)不同季節(jié)的同一條鐵路線路一共拍攝了四次。如圖2所示,圖中依次是春夏秋冬四個(gè)季節(jié)在同一位置拍攝的圖片。由于季節(jié)不同,四次拍攝擁有不同的光照(白天和夜晚)、地貌特征(植被雨雪覆蓋等)和運(yùn)動(dòng)物體(乘客列車等)??梢杂嗅槍?duì)性地應(yīng)用于訓(xùn)練CNN,使其在不同光照、氣候和地表外貌條件下,獲得對(duì)同一地點(diǎn)圖像的共同特征提取能力。
圖2 Nordlandsbanen 數(shù)據(jù)集
由于單輸入網(wǎng)絡(luò)不能直接輸入兩幅圖片進(jìn)行比較,無(wú)法進(jìn)行圖像匹配任務(wù)訓(xùn)練,所以第二階段采用弱監(jiān)督的遷移訓(xùn)練方式進(jìn)行訓(xùn)練。其中,選取損失函數(shù)的關(guān)鍵是要體現(xiàn)出圖片之間的差異,用來(lái)監(jiān)督訓(xùn)練,這種關(guān)聯(lián)變量因數(shù)據(jù)集的特征而定,可以是GPS坐標(biāo),也可以是圖像在序列中的位置。在Nordlandsbanen數(shù)據(jù)集上,用于弱監(jiān)督訓(xùn)練更合適的變量是圖像在序列中的位置,因?yàn)樵摂?shù)據(jù)集四個(gè)視頻流的每一幀都經(jīng)過(guò)對(duì)齊,可以使用Triplet損失函數(shù)[16]進(jìn)行弱監(jiān)督遷移訓(xùn)練。Triplet損失函數(shù)如下:
(3)
兩個(gè)階段的訓(xùn)練流程如圖3所示。
圖3 訓(xùn)練流程示意圖
由于屬于每一個(gè)聚類中心的本地特征描述子所包含的信息量不同,可以設(shè)置一個(gè)權(quán)重參數(shù)ak(xi)當(dāng)作(xi(j)-Ck(j))的權(quán)值[17]來(lái)描述每一個(gè)類本地特征描述子間的關(guān)系:
(4)
可以用信息熵度量屬于每一個(gè)聚類中心的本地特征描述子所包含的信息量。根據(jù)香農(nóng)給出的信息熵定義公式[18],對(duì)于任意一個(gè)隨機(jī)變量X,其信息熵定義如下(單位為比特(bit)):
(5)
仿照式(5),本地特征描述子的信息熵定義如下:
(6)
式中:c為本地特征描述子聚類中心個(gè)數(shù);pk為第k類本地特征描述子在所有本地特征描述子中所占的比例,即第k類的先驗(yàn)概率。該信息熵反映了集合X中的本地特征描述子平衡分布的期望,也可以度量X中包含信息量的大小。
將特征矩陣V信息熵的值Entropy(X)賦給ak(xi),可以得到:
(7)
ResNet提取圖像本地特征和信息熵加權(quán)VLAD,產(chǎn)生本地特征描述子的流程示意圖如圖4所示。
圖4 ResNet與信息熵加權(quán)VLAD提取特征流程示意圖
使用BoW時(shí),要通過(guò)K-means聚類算法聚類出本地特征描述子的K聚類中心,得到一個(gè)字典。匹配時(shí),先將離線數(shù)據(jù)庫(kù)圖片以及在線數(shù)據(jù)庫(kù)圖片的本地特征描述子投射到字典的空間中,得到圖片本地特征描述子相對(duì)應(yīng)的words分布;然后再以同樣的方法,得到待匹配目標(biāo)圖片的本地特征描述子相對(duì)應(yīng)的words分布;最后通過(guò)比較這些words分布的相似性,得到TOP1候選結(jié)果。所使用的BoW的算法流程如圖5所示。
圖5 BoW的離線訓(xùn)練與在線匹配流程示意圖
實(shí)驗(yàn)在一臺(tái)圖像處理服務(wù)器上進(jìn)行,該服務(wù)器配備為64 GB運(yùn)行內(nèi)存、48個(gè)2.20 GHz的Intel Xeon CPU以及2張12 GB顯存的GeForce GTX 1080Ti顯卡。在該實(shí)驗(yàn)平臺(tái)上搭建深度學(xué)習(xí)環(huán)境Anaconda3以及Tensorflow進(jìn)行實(shí)驗(yàn)。在Nordlandsbanen數(shù)據(jù)集上等間距按順序在每個(gè)季節(jié)圖像序列中抽取出33 626幅圖片,四個(gè)季節(jié)共134 504幅圖片作為測(cè)試集。
在Nordlandsbanen數(shù)據(jù)集的測(cè)試集上進(jìn)行測(cè)試,通過(guò)春天圖片匹配夏天相同拍攝位置的圖片,得到可行性驗(yàn)證準(zhǔn)確率召回率曲線,如圖6所示。其中:“ResNet+信息熵加權(quán)VLAD+BoW”為RIV-LCD算法得到的準(zhǔn)確率召回率曲線;“ResNet+無(wú)權(quán)值VLAD+BoW”為使用沒(méi)有權(quán)值原始的VLAD得到的準(zhǔn)確率召回率曲線;“ResNet+BoW”為沒(méi)有使用VLAD得到的準(zhǔn)確率召回率曲線。
圖6 可行性驗(yàn)證precision-recall曲線
可以看出,使用VLAD處理后的圖像特征匹配時(shí),可以明顯提高召回圖像的匹配準(zhǔn)確率,經(jīng)過(guò)信息熵加權(quán)VLAD處理后的圖像特征匹配時(shí),有更高的準(zhǔn)確率。
在Nordlandsbanen數(shù)據(jù)集的測(cè)試集上進(jìn)行測(cè)試,通過(guò)春天的圖片匹配其他季節(jié)相同拍攝位置的圖片,結(jié)果如圖7所示??梢钥闯鲈诠庹?、氣候、地表外貌大幅變化時(shí),RIV-LCD仍可以完成回環(huán)檢測(cè),證明該算法對(duì)環(huán)境條件劇烈變化具有良好的魯棒性。而錯(cuò)誤匹配主要存在于兩種情況:地貌特征十分相似和隧道內(nèi)弱光照的情況,分別如圖8、圖9所示。
圖7 RIV-LCD準(zhǔn)確匹配到的圖像
圖8 地貌相似時(shí)RIV-LCD匹配到的錯(cuò)誤圖像
圖9 隧道內(nèi)弱光照時(shí)RIV-LCD匹配到的錯(cuò)誤圖像
在Nordlandsbanen數(shù)據(jù)集上進(jìn)行測(cè)試,使用秋天的圖像來(lái)匹配夏天的圖像,測(cè)試結(jié)果如圖10所示?!癛IV-LCD”為RIV-LCD算法得到的準(zhǔn)確率召回率曲線,同樣“SeqSLAM”、“Fast-SeqSlam”和“CNN-SeqSlam”分別為SeqSLAM、Fast-SeqSlam和CNN-SeqSlam算法得到的準(zhǔn)確率召回率曲線。
圖10 在Nordlandsbanen數(shù)據(jù)集上得到的precision-recall曲線
對(duì)比圖10中四種回環(huán)檢測(cè)算法準(zhǔn)確率召回率曲線可以看出,隨著召回率的升高,RIV-LCD的準(zhǔn)確率下降最緩慢,在獲得最大召回率時(shí)準(zhǔn)確率為84.8%。相比之下,SeqSLAM的準(zhǔn)確率下降最快,在獲得最大召回率時(shí)準(zhǔn)確率為55.5%。同樣Fast-SeqSlam和CNN-SeqSlam的準(zhǔn)確率下降比RIV-LCD快,在獲得最大召回率時(shí)準(zhǔn)確率分別為69.0%和71.3%。這些都說(shuō)明本文的RIV-LCD在大規(guī)模復(fù)雜場(chǎng)景下精確度和魯棒性更高。
在大規(guī)模復(fù)雜場(chǎng)景下,為解決現(xiàn)有部分回環(huán)檢測(cè)算法無(wú)法使用的問(wèn)題,本文提出了一種新的回環(huán)檢測(cè)算法RIV-LCD。實(shí)驗(yàn)表明:大規(guī)模復(fù)雜場(chǎng)景下RIV-LCD在面對(duì)光照、氣候、地表外貌大幅變化時(shí),仍然可以準(zhǔn)確地進(jìn)行回環(huán)檢測(cè);在同樣的大規(guī)模復(fù)雜場(chǎng)景下,RIV-LCD比SeqSLAM、Fast-SeqSlam和CNN-SeqSlam擁有更高的準(zhǔn)確率和魯棒性。