陳孟元,錢潤(rùn)邦,郭行榮,龔光強(qiáng)
(1.安徽工程大學(xué) 電氣工程學(xué)院,蕪湖 241000;2.高端裝備先進(jìn)感知與智能控制教育部重點(diǎn)實(shí)驗(yàn)室,蕪湖 241000)
同步定位與地圖構(gòu)建(Simultaneous Localization and Mapping,SLAM)是移動(dòng)機(jī)器人在缺乏所處環(huán)境先驗(yàn)信息的情況下,使用搭載傳感器(相機(jī)、激光雷達(dá)等)觀測(cè)到的地圖特征信息定位自身位置和姿態(tài),同時(shí)構(gòu)建局部地圖,為機(jī)器人自主定位、避障、導(dǎo)航、路徑規(guī)劃等任務(wù)提供必要支持[1-3]。根據(jù)機(jī)器人使用傳感器的不同,SLAM 主要分為激光SLAM 和視覺(jué)SLAM(Visual SLAM,VSLAM)兩大類。激光發(fā)生器在獲取信息量、功耗、體積等方面的劣勢(shì)限制了激光SLAM 的應(yīng)用,使得獲取更豐富信息的視覺(jué)SLAM 逐漸成為SLAM 領(lǐng)域的一個(gè)熱門研究方向[4]。
目前較為成熟的視覺(jué)SLAM 系統(tǒng)有ORB-SLAM[5]和MonoSLAM[6]等。當(dāng)前大多數(shù)主流視覺(jué)SLAM 系統(tǒng)都在靜止不變的環(huán)境中實(shí)現(xiàn)了高精度的定位與構(gòu)圖,但當(dāng)環(huán)境中存在運(yùn)動(dòng)物體時(shí),系統(tǒng)會(huì)誤認(rèn)為相機(jī)存在運(yùn)動(dòng),從而難以進(jìn)行準(zhǔn)確的位姿估計(jì)與構(gòu)圖。針對(duì)動(dòng)態(tài)場(chǎng)景中SLAM 系統(tǒng)的定位問(wèn)題,張慧娟等人[7]利用幀間的初始變換矩陣計(jì)算出線特征靜態(tài)權(quán)重,并在視覺(jué)里程計(jì)中使用靜態(tài)直線特征進(jìn)行環(huán)境探測(cè),降低了動(dòng)態(tài)物體對(duì)SLAM 系統(tǒng)魯棒性的影響,但該方法使用隨機(jī)采樣一致性算法(Random Sample Consensus,RANSAC)剔除外點(diǎn)的誤差較大。為進(jìn)一步提高潛在動(dòng)態(tài)物體運(yùn)動(dòng)狀態(tài)判斷準(zhǔn)確性,Sun 等人[8]提出了一種基于RGB-D 相機(jī)的動(dòng)態(tài)環(huán)境下SLAM 剔除運(yùn)動(dòng)物體算法,在靜態(tài)假設(shè)的前提下利用深度圖像檢測(cè)平面區(qū)域,并將經(jīng)過(guò)重投影誤差估計(jì)得到的粗略運(yùn)動(dòng)區(qū)域檢測(cè)結(jié)果與平面區(qū)域檢測(cè)結(jié)果相結(jié)合,進(jìn)一步準(zhǔn)確劃分物體運(yùn)動(dòng)區(qū)域。Zhang 等人[9]提出一種基于光流殘差的動(dòng)態(tài)分割與稠密融合的FlowFusion 算法,通過(guò)最小聚類的平均殘差計(jì)算構(gòu)建3D 地圖點(diǎn)的運(yùn)動(dòng)概率模型,實(shí)現(xiàn)了對(duì)動(dòng)態(tài)物體的移除,并利用幾何約束剔除動(dòng)態(tài)點(diǎn),但其所構(gòu)建的地圖無(wú)法獲取更高級(jí)的語(yǔ)義信息。隨著深度學(xué)習(xí)的不斷發(fā)展,Xiao 等人[10]提出Dynamic-SLAM 算法,采用單步多框目標(biāo)檢測(cè)算法(Single Shot MultiBox Detector,SSD)進(jìn)行先驗(yàn)?zāi)繕?biāo)檢測(cè),根據(jù)標(biāo)記的目標(biāo)區(qū)域進(jìn)行運(yùn)動(dòng)狀態(tài)判斷并剔除動(dòng)態(tài)特征點(diǎn),但該系統(tǒng)難以準(zhǔn)確識(shí)別潛在動(dòng)態(tài)物體。Zhong 等人[11]提出Detect-SLAM 算法對(duì)檢測(cè)到的語(yǔ)義目標(biāo)所在區(qū)域特征點(diǎn)進(jìn)行運(yùn)動(dòng)概率傳播。在位姿估計(jì)階段,該算法使用更新物體運(yùn)動(dòng)概率值策略,結(jié)合閾值保留靜態(tài)點(diǎn),提高了動(dòng)態(tài)物體識(shí)別的準(zhǔn)確率。Bescos 等人[12]提出利用實(shí)例分割網(wǎng)絡(luò)Mask RCNN 對(duì)目標(biāo)區(qū)域進(jìn)行實(shí)例分割,并結(jié)合多視圖幾何檢測(cè)潛在動(dòng)態(tài)物體。該算法依據(jù)兩幀中同一關(guān)鍵點(diǎn)的變化角度判斷該點(diǎn)是否屬于動(dòng)態(tài)點(diǎn),但在特征跟蹤過(guò)程中關(guān)鍵點(diǎn)變化的角度對(duì)低動(dòng)態(tài)物體不敏感,并且該實(shí)例分割網(wǎng)絡(luò)在面對(duì)較大視野潛在動(dòng)態(tài)物體時(shí)分割效果較差。Yu 等人[13]提出基于RGB-D 的DS-SLAM 系統(tǒng),聯(lián)合SegNet 語(yǔ)義分割線程和運(yùn)動(dòng)一致性判斷線程檢測(cè)動(dòng)態(tài)目標(biāo),提高了SLAM 系統(tǒng)在高動(dòng)態(tài)環(huán)境下運(yùn)行的魯棒性,但該算法存在誤剔除靜態(tài)點(diǎn)過(guò)多,易導(dǎo)致特征跟蹤失敗。Cui 等人[14]提出SOF-SLAM 算法,采用SegNet 實(shí)現(xiàn)語(yǔ)義分割,根據(jù)光流法匹配的特征點(diǎn)計(jì)算幀間的基礎(chǔ)矩陣,再結(jié)合幾何運(yùn)動(dòng)判別法判斷并剔除動(dòng)態(tài)點(diǎn),但該算法采用光流法跟蹤特征點(diǎn)易受環(huán)境噪音影響,且SegNet易出現(xiàn)難以完整分割潛在動(dòng)態(tài)物體的問(wèn)題。
綜上所述,針對(duì)現(xiàn)有SLAM 算法在動(dòng)態(tài)環(huán)境下難以完整標(biāo)記潛在動(dòng)態(tài)物體、難以準(zhǔn)確判斷潛在動(dòng)態(tài)物體運(yùn)動(dòng)等問(wèn)題,提出一種動(dòng)態(tài)場(chǎng)景下基于實(shí)例分割與運(yùn)動(dòng)一致性約束的VSLAM 算法(VSLAM Algorithm based on Instance Segmentation and Motion Consistency Constraints under Dynamic Scenes,IMD-SLAM)。通過(guò)改進(jìn)Transformer[15,16]模塊編碼層的注意力機(jī)制[17]和引入混合權(quán)重特征金字塔網(wǎng)絡(luò)[18](Feature Pyramid Networks,FPN)實(shí)現(xiàn)實(shí)例分割,利用運(yùn)動(dòng)一致性約束判斷潛在動(dòng)態(tài)物體運(yùn)動(dòng)狀態(tài),構(gòu)建運(yùn)動(dòng)狀態(tài)模型并剔除動(dòng)態(tài)物體。在公開(kāi)數(shù)據(jù)集TUM 和真實(shí)場(chǎng)景中對(duì)本文算法進(jìn)行驗(yàn)證,實(shí)驗(yàn)結(jié)果表明 IMD-SLAM 與ORB_SLAM2[19]、DS-SLAM、DynaSLAM 算法相比,在動(dòng)態(tài)物體判斷方面有較大優(yōu)勢(shì),表現(xiàn)出較好的構(gòu)圖能力。
本文算法包含潛在動(dòng)態(tài)物體分割和物體運(yùn)動(dòng)狀態(tài)判斷兩個(gè)環(huán)節(jié)。在潛在動(dòng)態(tài)物體分割階段,通過(guò)本文提出的實(shí)例分割網(wǎng)絡(luò)ITNET(Improved Transformer Encoder Network for Instance Segmentation)完成潛在動(dòng)態(tài)物體的實(shí)例分割。在潛在物體運(yùn)動(dòng)狀態(tài)判斷環(huán)節(jié),通過(guò)位姿估計(jì)和構(gòu)建運(yùn)動(dòng)狀態(tài)模型獲取物體的偏轉(zhuǎn)誤差,標(biāo)記動(dòng)態(tài)點(diǎn)并剔除動(dòng)態(tài)物體。IMD-SLAM 算法框圖如圖1 所示。
圖1 系統(tǒng)框架Fig.1 System framework diagram
為了解決傳統(tǒng)實(shí)例分割算法在分割大物體和小物體方面造成分割失效或者分割效果較差等問(wèn)題,本文提出一種融合區(qū)域注意力機(jī)制和混合權(quán)重FPN 的實(shí)例分割網(wǎng)絡(luò)ITNET。該網(wǎng)絡(luò)包含提取圖像特征的主干網(wǎng)絡(luò)模塊和提高語(yǔ)義信息融合準(zhǔn)確率的分割模塊。主干網(wǎng)絡(luò)模塊的 ReT-encoder(Region Transformer encoder)層使用區(qū)域多頭注意力機(jī)制(Region Multihead Self Attention,RMSA)和多頭注意力機(jī)制(Multihead Self Attention,MSA)關(guān)注圖像中潛在動(dòng)態(tài)物體的全局特征信息和局部特征信息,從而生成更具有判別能力和表達(dá)能力的特征圖,并將得到的具有高維豐富信息的特征圖輸入分割模塊。分割模塊中的混合權(quán)重FPN(M-FPN)模塊通過(guò)權(quán)重系數(shù)融合并學(xué)習(xí)大物體和小物體的特征信息,提高標(biāo)記潛在動(dòng)態(tài)物體所在區(qū)域的準(zhǔn)確率。本文提出的ITNET 如圖2 所示。
圖2 ITNET 分割網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.2 ITNET segmented network structure diagram
VSLAM 系統(tǒng)運(yùn)行過(guò)程中易受動(dòng)態(tài)物體的影響,若無(wú)法識(shí)別出其中的動(dòng)態(tài)物體,將會(huì)降低SLAM 系統(tǒng)的魯棒性。傳統(tǒng)Transformer 模塊的注意力機(jī)制在關(guān)注中、大型物體特征信息方面有著出色的表現(xiàn),但在關(guān)注小物體特征信息方面準(zhǔn)確率較低,難以生成具有判別能力的小物體特征信息。為了更準(zhǔn)確地提取潛在動(dòng)態(tài)物體特征信息,本文設(shè)計(jì)了一種ReT-encoder 模塊,該模塊是由兩個(gè)Transformer encoder 層和一個(gè)改進(jìn)的Transformer encoder 層組成。將特征圖Fn-1輸入ReTencoder 模塊,經(jīng)過(guò)Transformer encoder 層得到具有全局特征信息的特征圖F1,并將F1輸入改進(jìn)的Transformer encoder 層得到具有豐富局部特征信息的特征圖F2,從而生成更具有判別能力的小物體特征信息。通過(guò)Transformer encoder 層建立特征圖F2中各個(gè)局部特征信息的全局聯(lián)系,最后得到具有豐富局部特征信息和全局特征信息的特征圖Fn。ReT-encoder 模塊不僅能充分獲取大物體特征信息,還能聯(lián)合RMSA和MSA 機(jī)制更準(zhǔn)確地關(guān)注并學(xué)習(xí)小物體特征信息,從而更準(zhǔn)確地分割潛在動(dòng)態(tài)物體,如圖3 所示為ReTencoder 結(jié)構(gòu)圖。
圖3 ReT-encoder 結(jié)構(gòu)圖Fig.3 ReT-encoder structure diagram
圖4 為RMSA 機(jī)制原理圖。RMSA 機(jī)制的作用為將特征圖劃分為四個(gè)相同大小的子區(qū)域,引導(dǎo)模型關(guān)注各個(gè)子區(qū)域的全局特征信息,進(jìn)而更準(zhǔn)確地學(xué)習(xí)潛在動(dòng)態(tài)物體的特征。將尺寸大小為H×W的特征圖F分為四個(gè)尺寸大小相同的子特征圖,并將得到的子特征圖輸入多頭注意力機(jī)制中,引導(dǎo)模型關(guān)注子特征圖區(qū)域,從而得到子特征圖內(nèi)部的全局聯(lián)系信息。經(jīng)過(guò)注意力機(jī)制關(guān)注的子特征圖進(jìn)行Reshape 融合后得到具有豐富局部特征信息的特征圖Fr,更好地對(duì)潛在動(dòng)態(tài)物體特征進(jìn)行學(xué)習(xí)。
圖4 RMSA 機(jī)制原理圖Fig.4 Schematic diagram of RMSA mechanism
SLAM 系統(tǒng)的穩(wěn)定性易受環(huán)境中潛在動(dòng)態(tài)物體的影響,為了更準(zhǔn)確地標(biāo)記潛在動(dòng)態(tài)物體所在區(qū)域,本文設(shè)計(jì)了一種混合權(quán)重的FPN 模塊。該模塊由融合小物體特征的 SW-FPN 模塊和融合大物體特征的LW-FPN 模塊組成。將特征圖F輸入LW-FPN 模塊和SW-FPN 模塊將分別得到特征圖FL和特征圖FS,并將得到的特征圖進(jìn)行concat 融合和1×1 卷積得到特征圖Fm,從而得到更具有判別能力的特征圖?;旌蠙?quán)重FPN 模塊不僅有效融合了小物體的特征信息,還更準(zhǔn)確表達(dá)了大物體所在區(qū)域的特征,充分突出潛在動(dòng)態(tài)物體所在區(qū)域的有效信息?;旌蠙?quán)重FPN 模塊結(jié)構(gòu)如圖5 所示。
圖5 混合權(quán)重FPN 模塊結(jié)構(gòu)Fig.5 Mixed weight FPN module structure
SW-FPN 模塊和LW-FPN 模塊可通過(guò)設(shè)置融合權(quán)重FPN 模塊的權(quán)重系數(shù)得到,圖6 為融合權(quán)重FPN模塊的結(jié)構(gòu)圖。融合權(quán)重FPN 模塊通過(guò)分配不同的權(quán)重系數(shù),從而在上采樣過(guò)程中融合不同類型的特征,可以更高效地學(xué)到潛在動(dòng)態(tài)物體的特征。
如圖6 所示,將來(lái)自主干網(wǎng)絡(luò)模塊的特征圖F輸入到融合權(quán)重FPN 模塊中的L4層,特征圖F依次經(jīng)過(guò)L4、L3、L2和L1卷積層卷積后,得到特征圖P4、P3、P2和P1,對(duì)應(yīng)的通道數(shù)為C4、C3、C2和C1。將特征圖P1、P2、P3和P4進(jìn)行權(quán)重分配和特征融合后得到特征圖D1、D2、D3和D4,并輸出其中具有最多特征信息的特征圖D1,從而得到了具有豐富特征的特征圖F′,更好地對(duì)潛在動(dòng)態(tài)物體特征進(jìn)行學(xué)習(xí)。經(jīng)融合權(quán)重FPN 模塊獲得特征圖的計(jì)算方法如式(1)所示。
其中,li表示當(dāng)前層i的權(quán)重系數(shù)表示當(dāng)前層i的上采樣因子表示當(dāng)前層i的1×1 卷積因子。
在融合權(quán)重FPN 網(wǎng)絡(luò)中,其深層位置的特征圖P3和P4分別含有較為豐富的大物體特征信息和豐富的大物體特征信息,而淺層位置的特征圖P1和P2分別含有較為豐富的小物體特征信息和豐富的小物體特征信息。本文通過(guò)網(wǎng)絡(luò)層數(shù)關(guān)系,將權(quán)重系數(shù)建模成一個(gè)與當(dāng)前層位置i相關(guān)的實(shí)體,因此不同的權(quán)重分配方式將分別得到融合大物體的LW-FPN 模塊權(quán)重系數(shù)和融合小物體的SW-FPN 模塊權(quán)重系數(shù),計(jì)算方法如式(2)所示。
其中,M表示網(wǎng)絡(luò)總層數(shù)。
在潛在動(dòng)態(tài)物體分割環(huán)節(jié)中使用實(shí)例分割網(wǎng)絡(luò)僅能標(biāo)記潛在動(dòng)態(tài)物體所在區(qū)域,對(duì)于潛在動(dòng)態(tài)物體是否運(yùn)動(dòng)缺少一定的判斷條件。針對(duì)該問(wèn)題,本文通過(guò)位姿估計(jì)、物體運(yùn)動(dòng)估計(jì)與判斷來(lái)剔除動(dòng)態(tài)物體,如圖7 所示。
圖7 潛在動(dòng)態(tài)物體運(yùn)動(dòng)判斷Fig.7 Motion judgment of potential dynamic objects
在位姿估計(jì)環(huán)節(jié),由于運(yùn)動(dòng)幅度小的物體在相鄰幀之間的實(shí)際運(yùn)動(dòng)狀態(tài)難以被準(zhǔn)確觀測(cè),因此本文間隔一定幀數(shù)進(jìn)行位姿估計(jì),從而在物體運(yùn)動(dòng)估計(jì)與判斷環(huán)節(jié)能更準(zhǔn)確地表征潛在動(dòng)態(tài)物體的運(yùn)動(dòng)狀態(tài)。在物體運(yùn)動(dòng)估計(jì)與判斷環(huán)節(jié),通過(guò)運(yùn)動(dòng)一致性約束獲取潛在動(dòng)態(tài)物體的偏轉(zhuǎn)誤差,判斷和剔除動(dòng)態(tài)物體。
為了準(zhǔn)確估計(jì)相對(duì)位姿變換矩陣Wk+N,k,本文構(gòu)建了重投影誤差項(xiàng),并聯(lián)合最小二乘法和高斯-牛頓法優(yōu)化求解得到最優(yōu)解,最后得到相對(duì)位姿變換矩陣的最優(yōu)解Wk+N,k,計(jì)算方法如式(4)所示。
其中,wk+N,k?se(3)表示k幀到k+N幀的相機(jī)位姿的相對(duì)位姿變換向量;?p表示重投影誤差的協(xié)方差矩陣;ρHuber表示懲罰因子;n表示在第k幀中與第k+N幀所匹配特征點(diǎn)的數(shù)量;ei為重投影誤差因子。
本文實(shí)驗(yàn)所用平臺(tái)軟硬件配置為:CPU 為Inter i9-12900K 處理器,主頻3.2 GHZ,內(nèi)存16 GB;GPU 為RTX3090 顯卡,顯存24 GB;系統(tǒng)為Ubuntu18.04。深度學(xué)習(xí)框架由開(kāi)源的PyTorch 實(shí)現(xiàn)。
本文選擇MS-COCO 數(shù)據(jù)集對(duì)各個(gè)模塊組合的算法進(jìn)行實(shí)驗(yàn)。MS-COCO(2017)數(shù)據(jù)集包含了11.8 萬(wàn)張圖片的訓(xùn)練數(shù)據(jù)集(train2017)、0.5 萬(wàn)張圖片的驗(yàn)證數(shù)據(jù)集(val2017)以及4.1 萬(wàn)張圖片的測(cè)試數(shù)據(jù)集,常用于目標(biāo)檢測(cè)以及實(shí)例分割等場(chǎng)景。在本文所述各模塊組合算法中,主干網(wǎng)絡(luò)模塊分別采用了ResNet-101-FPN、ReT-encoder(MSA)和ReT-encoder,分割模塊分別使用了FPN 和M-FPN。其中,ReT-encoder(MSA)表示將ReT-encoder 層中的RMSA 模塊替換為MSA 模塊。在訓(xùn)練過(guò)程中,考慮到服務(wù)器配置,本文選取了訓(xùn)練數(shù)據(jù)集中的4 萬(wàn)張圖片進(jìn)行訓(xùn)練,訓(xùn)練模型的批處理尺寸(batch size)設(shè)置為16,epoch 設(shè)置為32,學(xué)習(xí)率(learning rate)采用了Adam 優(yōu)化訓(xùn)練網(wǎng)絡(luò)。主干網(wǎng)絡(luò)模塊為ResNet-101-FPN 的初始學(xué)習(xí)率設(shè)置為2×10-4,主干網(wǎng)絡(luò)模塊為ReT-encode(rMSA)和ReT-encoder 的初始學(xué)習(xí)率設(shè)置為1×10-3。
本文選取測(cè)試數(shù)據(jù)集中的1 萬(wàn)張圖片,對(duì)AP(Average Precision)、AP50(AP at IOU(Intersection over Union),IOU>=50%)、AP75(AP at IOU,IOU>=75%)、APS(AP for Small Objects)、APM(AP for Medium Objects)和APL(AP for Large Objects)進(jìn)行評(píng)估以驗(yàn)證本文ITNET 實(shí)例分割網(wǎng)絡(luò)的分割精度。表1 為不同組合算法AP 值數(shù)據(jù)對(duì)比結(jié)果。從表1 可知,ReT-encoder 層和M-FPN 模塊能有效提高物體分割的AP 值,因此本文設(shè)計(jì)的ITNET 網(wǎng)絡(luò)能更準(zhǔn)確地分割潛在動(dòng)態(tài)物體。
表1 不同組合算法的AP 值數(shù)據(jù)對(duì)比Tab.1 Comparison of AP value for different combination algorithms
本文在TUM數(shù)據(jù)集中選擇所需的動(dòng)態(tài)場(chǎng)景序列,用來(lái)驗(yàn)證ITNET 分割網(wǎng)絡(luò)在動(dòng)態(tài)場(chǎng)景下的實(shí)例分割性能。圖8 為SOLO[20]、Yolact[21]和ITNET 三種算法在TUM 數(shù)據(jù)集不同序列的實(shí)例分割結(jié)果對(duì)比,紅色框?yàn)楸疚膶?shí)驗(yàn)所做的輔助標(biāo)記框。圖8(a)-(c)為場(chǎng)景中存在大物體時(shí)的實(shí)例分割效果圖,從圖中可以看出:Yolact 算法和SOLO 算法由于缺乏對(duì)視野占據(jù)面積較大區(qū)域的特征聯(lián)系機(jī)制,因此對(duì)潛在動(dòng)態(tài)物體中的大物體進(jìn)行實(shí)例分割時(shí)無(wú)法完整分割大物體;ITNET 算法與前兩種算法相比,其主干網(wǎng)絡(luò)模塊由于采用了多頭注意力機(jī)制,加強(qiáng)了大物體的全局特征聯(lián)系,并結(jié)合混合權(quán)重FPN 模塊得到大物體特征所在區(qū)域,更準(zhǔn)確地引導(dǎo)模型標(biāo)記出潛在動(dòng)態(tài)物體的區(qū)域,從而能夠正確完成實(shí)例分割。圖8(d)-(f)為小物體的分割效果圖,由于小物體在視野中占比面積小且特征相對(duì)較弱,SOLO 算法和Yolact 算法沒(méi)有加強(qiáng)對(duì)小物體的特征學(xué)習(xí),難以高效學(xué)習(xí)小物體特征,因此無(wú)法完整分割小物體;ITNET 算法在主干模塊中采用了區(qū)域注意力機(jī)制關(guān)注局部特征信息,提高了提取小物體特征信息的完整性和準(zhǔn)確性,同時(shí)混合權(quán)重FPN 模塊加強(qiáng)了對(duì)小物體的區(qū)域特征的學(xué)習(xí),從而提高了小物體實(shí)例分割的準(zhǔn)確率。如圖8(f)所示,其小物體實(shí)例分割效果明顯優(yōu)于前兩種算法,驗(yàn)證了ITNET 實(shí)例分割網(wǎng)絡(luò)在大物體分割和小物體分割方面有突出效果。
圖8 三種算法分割效果比較圖Fig.8 Comparison of segmentation effects of three algorithms
表2 為Yolact、SOLO 和本文ITNET 三種實(shí)例分割算法的各類AP 值對(duì)比。從表中可知,ITNET 算法各類AP 的平均值與Yolact 算法相比提高了43.22%,與SOLO 算法相比提高了17.15%。
表2 三種實(shí)例分割算法AP 值數(shù)據(jù)對(duì)比Tab.2 Comparison of AP value data of three instance segmentation algorithms
本算法選取TUM 數(shù)據(jù)集中動(dòng)態(tài)物體序列fr3_wa lking_xyz(w_xyz)、fr3_walking_halfsphere(w_half)、fr 3_walking_static(w_static)和fr3_walking_rpy(w_rpy)對(duì)潛在動(dòng)態(tài)物體運(yùn)動(dòng)判斷效果進(jìn)行評(píng)估。圖9 從上到下依次為ORB-SLAM2、DynaSLAM 和本文IMD-SL AM 算法在上述四個(gè)數(shù)據(jù)集中某一幀動(dòng)態(tài)點(diǎn)剔除效果對(duì)比圖,其中紅色框?yàn)楸疚妮o助標(biāo)記框。由圖9(a)-(d)可知,ORB-SLAM2 顯然無(wú)法剔除潛在動(dòng)態(tài)物體上的特征點(diǎn),這是因?yàn)镺RB-SLAM2 沒(méi)有對(duì)潛在動(dòng)態(tài)物體進(jìn)行的分割模塊且缺乏判斷動(dòng)態(tài)點(diǎn)運(yùn)動(dòng)狀態(tài)的條件,因此ORB-SLAM2 不能完成動(dòng)態(tài)點(diǎn)的剔除。由圖9(e)-(h)可知,DynaSLAM 只能剔除部分動(dòng)態(tài)特征點(diǎn),這是由于其對(duì)特征點(diǎn)運(yùn)動(dòng)狀態(tài)的判斷依賴于兩幀之間同一特征點(diǎn)的夾角。當(dāng)潛在動(dòng)態(tài)物體移動(dòng)幅度較小且運(yùn)動(dòng)狀態(tài)不能被觀測(cè)到時(shí),則不能準(zhǔn)確判斷動(dòng)態(tài)點(diǎn),進(jìn)而不能剔除動(dòng)態(tài)點(diǎn)。圖9(i)-(l)為IMD-SLAM 動(dòng)態(tài)點(diǎn)剔除效果圖,該算法通過(guò)ITNET 分割網(wǎng)絡(luò)確定潛在動(dòng)態(tài)物體區(qū)域,結(jié)合位姿估計(jì)和偏轉(zhuǎn)誤差估計(jì)動(dòng)態(tài)物體的運(yùn)動(dòng)狀態(tài),最后通過(guò)設(shè)定的閾值有效地判斷出動(dòng)態(tài)點(diǎn),減少了幀間運(yùn)動(dòng)角度的波動(dòng)對(duì)運(yùn)動(dòng)狀態(tài)的影響。因此,本文算法能更有效地剔除動(dòng)態(tài)點(diǎn)。
圖9 三種算法在不同動(dòng)態(tài)場(chǎng)景序列剔除動(dòng)態(tài)點(diǎn)效果對(duì)比圖Fig.9 Comparison of the effects of three algorithms in different dynamic scene sequences to eliminate dynamic points
本文選取TUM 數(shù)據(jù)集中動(dòng)態(tài)場(chǎng)景序列w_half、w_xyz、w_rpy 和w_static 驗(yàn)證本文算法的有效性,比較ORB_SLAM2、DS_SLAM、DynaSLAM 以及IMDSLAM 的絕對(duì)軌跡誤差。圖10 為ORB-SLAM2、DSSLAM、DynaSLAM 和本文IMD-SLAM 四種算法在不同動(dòng)態(tài)環(huán)境下構(gòu)建的軌跡圖,其中,圖中的黑色線表示相機(jī)運(yùn)動(dòng)真實(shí)軌跡,藍(lán)色線表示SLAM 系統(tǒng)依據(jù)算法估計(jì)出的相機(jī)運(yùn)動(dòng)軌跡,紅色線表示軌跡誤差。從圖10 可以看出,由于傳統(tǒng)的ORB-SLAM2 無(wú)法識(shí)別場(chǎng)景下的動(dòng)態(tài)物體,其算法的構(gòu)建軌跡效果差。DSSLAM 算法和DynaSLAM 算法利用實(shí)例分割網(wǎng)絡(luò)標(biāo)記潛在動(dòng)態(tài)物體并利用幾何約束剔除動(dòng)態(tài)物體,減小動(dòng)態(tài)物體對(duì)位姿估計(jì)環(huán)節(jié)的影響,但無(wú)法識(shí)別動(dòng)態(tài)場(chǎng)景中潛在運(yùn)動(dòng)的小物體且難以對(duì)潛在動(dòng)態(tài)物體的運(yùn)動(dòng)狀態(tài)進(jìn)行判斷,從而影響算法的定位精度。本文IMDSLAM 算法由于引入了ITNET 實(shí)例分割網(wǎng)絡(luò),能夠識(shí)別并標(biāo)記動(dòng)態(tài)場(chǎng)景下移動(dòng)的大物體和小物體,結(jié)合偏轉(zhuǎn)誤差觀測(cè)并剔除動(dòng)態(tài)物體,減少了動(dòng)態(tài)物體對(duì)位姿估計(jì)的影響,因此本文算法的軌跡誤差更小,構(gòu)建的軌跡圖更接近真實(shí)軌跡。
圖10 四種不同算法軌跡效果對(duì)比圖Fig.10 Comparison of trajectory effects of four different algorithms
ORB-SLAM2、DS-SLAM、DynaSLAM 和本文IMD-SLAM 四種算法的絕對(duì)軌跡均方根誤差如表3 所示。從表3 可知,本文算法與ORB-SLAM2、DS-SLAM和DynaSLAM 相比,平均絕對(duì)軌跡均方根誤差分別降低了95.23%、46.85%和15.88%,因此本文算法有效提高了動(dòng)態(tài)場(chǎng)景下的定位精度。
表3 四種算法絕對(duì)軌跡均方根誤差(單位:m)Tab.3 Absolute trajectory root mean square error of four algorithms (Unit: m)
在真實(shí)場(chǎng)景實(shí)驗(yàn)中,潛在動(dòng)態(tài)物體的實(shí)例分割環(huán)節(jié)作為系統(tǒng)輸入是由PC 端離線生成。實(shí)驗(yàn)平臺(tái)為Husky 輪式移動(dòng)機(jī)器人,其硬件配置為:CPU 為i7-10875H 處理器,內(nèi)存8 G,GPU 為GTX1080,操作系統(tǒng)為Ubuntu 18.04,其外觀如圖11(a)所示。圖11(b)為真實(shí)實(shí)驗(yàn)環(huán)境。圖11(c)為真實(shí)場(chǎng)景的平面布局,其中淺藍(lán)色部分為工作臺(tái),淺綠色部分為課桌,機(jī)器人從A 開(kāi)始,沿著標(biāo)記方向的路線行進(jìn)到達(dá)終點(diǎn)B,C~D段為行人往返線路。
圖11 實(shí)驗(yàn)平臺(tái)及實(shí)驗(yàn)真實(shí)環(huán)境Fig.11 Experimental platform and real environment
4.5.1 潛在動(dòng)態(tài)物體分割實(shí)驗(yàn)
圖12 為輪式移動(dòng)機(jī)器人在真實(shí)動(dòng)態(tài)環(huán)境運(yùn)行過(guò)程中獲取的某兩幀圖像信息,其中紅色框?yàn)檩o助標(biāo)記框。本文提出的ITNET 實(shí)例分割網(wǎng)絡(luò)在真實(shí)場(chǎng)景實(shí)驗(yàn)中的APS值為17.3,APL為71.2,因此能更準(zhǔn)確地分割出動(dòng)態(tài)場(chǎng)景下的小物體鼠標(biāo)以及大物體行人。
圖12 潛在動(dòng)態(tài)物體分割效果圖Fig.12 Potential dynamic object segmentation effect
4.5.2 動(dòng)態(tài)點(diǎn)剔除實(shí)驗(yàn)
圖13 為經(jīng)過(guò)動(dòng)態(tài)物體運(yùn)動(dòng)判斷剔除動(dòng)態(tài)點(diǎn)的效果圖,其中,紅色框?yàn)楸疚乃鬏o助標(biāo)記框。從圖中可以看出,本文聯(lián)合位姿估計(jì)和偏轉(zhuǎn)誤差有效地判斷出小物體所在區(qū)域的動(dòng)態(tài)點(diǎn)和大物體區(qū)域的動(dòng)態(tài)點(diǎn),并高效剔除了動(dòng)態(tài)點(diǎn),證明了本文算法剔除動(dòng)態(tài)點(diǎn)的有效性。
圖13 動(dòng)態(tài)點(diǎn)剔除效果圖Fig.13 Effect of dynamic point removal
4.5.3 軌跡地圖構(gòu)建
圖14 為本文算法和ORB-SLAM2 算法與真實(shí)軌跡的比較圖。在真實(shí)場(chǎng)景實(shí)驗(yàn)中,本文算法絕對(duì)軌跡均方根誤差為0.0329 m,ORB-SLAM2 的絕對(duì)軌跡均方根誤差為0.481 m。相較于ORB-SLAM2 算法,本文算法的定位精度提高了93.16%。在動(dòng)態(tài)環(huán)境下,與ORB-SLAM2 算法相比,本文算法能更接近真實(shí)軌跡,這是由于ITNET 實(shí)例分割網(wǎng)絡(luò)可以標(biāo)記出動(dòng)態(tài)場(chǎng)景中潛在的動(dòng)態(tài)物體,并通過(guò)位姿估計(jì)和偏轉(zhuǎn)誤差準(zhǔn)確判斷動(dòng)態(tài)物體的運(yùn)動(dòng)狀態(tài),從而更精確地剔除動(dòng)態(tài)物體,大幅減少了動(dòng)態(tài)特征點(diǎn)參與軌跡圖的構(gòu)建,有效提高了靜態(tài)點(diǎn)參與位姿估計(jì)的準(zhǔn)確性,因此本文算法在動(dòng)態(tài)環(huán)境下具有較高的穩(wěn)定性。
圖14 兩種算法與真實(shí)軌跡比較圖Fig.14 Comparison between two algorithms and real trajectories
為了提高移動(dòng)機(jī)器人在動(dòng)態(tài)場(chǎng)景中運(yùn)行的魯棒性,本文提出了一種基于實(shí)例分割和運(yùn)動(dòng)一致性約束的IMD-SLAM 算法。本文所提算法的優(yōu)點(diǎn)如下:1)改善了動(dòng)態(tài)環(huán)境對(duì)VSLAM 系統(tǒng)的影響,使得移動(dòng)機(jī)器人能夠在動(dòng)態(tài)環(huán)境中進(jìn)行同時(shí)定位與建圖。2)引入?yún)^(qū)域多頭注意力機(jī)制和混合權(quán)重FPN 模塊,改善了潛在動(dòng)態(tài)大物體和小物體分割效果差的問(wèn)題,提高了潛在動(dòng)態(tài)物體分割的準(zhǔn)確率。3)采用位姿估計(jì)和偏轉(zhuǎn)誤差判斷潛在動(dòng)態(tài)物體的運(yùn)動(dòng)狀態(tài),提高了動(dòng)態(tài)物體剔除的精度。本文算法使用公開(kāi)數(shù)據(jù)集TUM進(jìn)行了驗(yàn)證,結(jié)果表明本文算法與ORB-SLAM2、DS-SLAM、DynaSLAM 相比,在位姿估計(jì)和定位方面有著較大優(yōu)勢(shì),并表現(xiàn)出較好的構(gòu)圖能力。下一步將在本文研究的基礎(chǔ)上,融合IMU、激光雷達(dá)等精確的傳感器提高機(jī)器人遇到動(dòng)態(tài)物體時(shí)的魯棒性。