本發(fā)明涉及空間定位,具體涉及一種基于深度循環(huán)卷積神經(jīng)網(wǎng)絡(luò)的端到端slam方法。
背景技術(shù):
1、slam(simultaneous?localization?and?mapping)技術(shù)是視覺領(lǐng)域空間定位技術(shù)的前沿方向,它主要用于解決機(jī)器人或相機(jī)在未知環(huán)境運(yùn)動(dòng)時(shí)的定位和地圖構(gòu)建問題,廣泛應(yīng)用于vr/ar、無人機(jī)、無人駕駛等領(lǐng)域。slam(同步定位與地圖構(gòu)建)技術(shù)有多種實(shí)現(xiàn)方式,根據(jù)所使用的傳感器類型、數(shù)據(jù)處理方法以及應(yīng)用場景的不同,可以將slam技術(shù)分為以下幾類:
2、1、視覺slam(visual?slam)
3、視覺slam依賴攝像頭獲取環(huán)境的圖像數(shù)據(jù),通過分析這些圖像中的特征點(diǎn)來實(shí)現(xiàn)定位和地圖構(gòu)建。這種方法通常使用單目、雙目或rgb-d(彩色圖像和深度信息)相機(jī)。
4、2、激光slam(lidar?slam)
5、激光slam基于激光雷達(dá)(lidar)傳感器,通過發(fā)射激光并測量其反射時(shí)間來獲取環(huán)境的深度信息和距離數(shù)據(jù)。這種方法通常用于需要高精度定位和大規(guī)模地圖構(gòu)建的場景。
6、3、聲波slam(acoustic?slam)
7、聲波slam通過使用超聲波或聲波傳感器來測量距離,結(jié)合其他傳感器(如imu或視覺傳感器)來構(gòu)建地圖和進(jìn)行定位。這種方法適用于光線環(huán)境復(fù)雜的場景,通常在特定領(lǐng)域(如水下環(huán)境或空氣動(dòng)力學(xué)應(yīng)用)中使用。
8、當(dāng)前視覺slam技術(shù)的不足之處主要在以下幾個(gè)方面:
9、(1)光照變化敏感。視覺slam高度依賴環(huán)境光線的質(zhì)量和穩(wěn)定性。在光線不足(如夜間或暗室)或過強(qiáng)(如陽光直射)時(shí),攝像頭難以獲取清晰的圖像,這會(huì)影響slam系統(tǒng)的特征提取和定位精度。
10、(2)動(dòng)態(tài)場景問題。在動(dòng)態(tài)場景中,視覺slam容易受到移動(dòng)物體的干擾。例如,攝像頭捕捉到的圖像中如果有大量移動(dòng)物體(如行人、車輛),可能會(huì)導(dǎo)致錯(cuò)誤的特征匹配和不準(zhǔn)確的地圖構(gòu)建。
11、(3)特征貧乏場景。在特征較少或重復(fù)的場景中(如白墻、走廊、沙漠等),視覺slam難以提取足夠的獨(dú)特特征點(diǎn)來進(jìn)行定位,可能導(dǎo)致丟失跟蹤或定位誤差增加。
12、(4)遮擋問題。攝像頭視野可能會(huì)被遮擋,例如用戶的手、其他物體或設(shè)備本身的結(jié)構(gòu)遮擋了攝像頭,這可能會(huì)導(dǎo)致跟蹤的中斷。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的目的是針對現(xiàn)有技術(shù)存在的不足,提供一種基于深度循環(huán)卷積神經(jīng)網(wǎng)絡(luò)的端到端slam方法。
2、為實(shí)現(xiàn)上述目的,本發(fā)明提供了一種基于深度循環(huán)卷積神經(jīng)網(wǎng)絡(luò)的端到端slam方法,包括:
3、通過深度相機(jī)實(shí)時(shí)采集圖像序列幀,并轉(zhuǎn)化為設(shè)定的圖像尺寸后輸出;
4、創(chuàng)建卷積神經(jīng)網(wǎng)絡(luò)模型,以接收并處理深度相機(jī)輸出的圖像序列幀,以對輸入的圖像序列幀依次進(jìn)行特征提取、圖像特征匹配和相機(jī)位姿運(yùn)動(dòng)狀態(tài)估計(jì),并輸出提取出的特征點(diǎn)云坐標(biāo)和描述子信息和相機(jī)位姿的信息,用于建立圖像幾何結(jié)構(gòu)的拓?fù)湫畔ⅲ?/p>
5、創(chuàng)建循環(huán)神經(jīng)網(wǎng)絡(luò)模型,以接收并處理深度相機(jī)輸出的圖像序列幀,以對輸入的圖像序列幀依次進(jìn)行圖像切分、基于注意力機(jī)制的動(dòng)態(tài)特征剔除和語義約束下的特征匹配,并輸出可信語義區(qū)域和可信度在設(shè)定第一閾值以上的物體級路標(biāo)信息;
6、創(chuàng)建具有語義信息的網(wǎng)格地圖,具體如下:
7、利用物體級路標(biāo)信息獲取像素級語義信息,將語義類別標(biāo)注在對應(yīng)的特征點(diǎn)云上,并進(jìn)行增量式貝葉斯更新,使得點(diǎn)云類別標(biāo)簽隨著觀測的增多而收斂至穩(wěn)定,進(jìn)而創(chuàng)建具有語義信息的點(diǎn)云地圖;
8、將每個(gè)帶有語義信息的點(diǎn)云轉(zhuǎn)換為一個(gè)詞袋向量,所述詞袋向量表示每個(gè)視覺單詞的出現(xiàn)頻率,使用詞頻來對頻率進(jìn)行加權(quán);基于詞袋向量的物體級數(shù)據(jù)關(guān)聯(lián)將點(diǎn)云地圖的詞袋向量與已知物體的詞袋向量進(jìn)行匹配,以進(jìn)行相似度計(jì)算,并根據(jù)計(jì)算出的相似度的大小,判斷所述點(diǎn)云地圖包含的物體;
9、將特征點(diǎn)云坐標(biāo)映射到一個(gè)柵格系統(tǒng),然后將特征點(diǎn)云的占用狀態(tài)記錄到網(wǎng)格中;
10、定義一個(gè)網(wǎng)格地圖,將特征點(diǎn)云坐標(biāo)映射到網(wǎng)格地圖的坐標(biāo)系中,并在每次獲取點(diǎn)云坐標(biāo)數(shù)據(jù)后,調(diào)用mapcoordinatestogrid方法,將識別和跟蹤到的物體位置添加到網(wǎng)格中,進(jìn)而構(gòu)建出整個(gè)環(huán)境的網(wǎng)格地圖。
11、進(jìn)一步的,還包括:基于回環(huán)檢測進(jìn)行圖優(yōu)化和閉環(huán)修正,具體如下:
12、通過計(jì)算當(dāng)前圖像幀與預(yù)先選擇的關(guān)鍵幀的特征點(diǎn)的漢明距離來判斷當(dāng)前圖像幀與關(guān)鍵幀之間的相似度,當(dāng)當(dāng)前圖像幀與關(guān)鍵幀之間的相似度超過設(shè)定的第二閾值時(shí),觸發(fā)進(jìn)行回環(huán)檢測;
13、通過?isam增量式圖優(yōu)化算法,構(gòu)建一個(gè)包含相機(jī)軌跡、特征點(diǎn)以及相機(jī)軌跡與特征點(diǎn)之間約束關(guān)系的圖,計(jì)算相機(jī)位姿、特征點(diǎn)和邊,構(gòu)建殘差平方和函數(shù)計(jì)算約束誤差,并通過最小化約束誤差來調(diào)整圖中的節(jié)點(diǎn),使用非線性最小二乘法進(jìn)行優(yōu)化。
14、進(jìn)一步的,所述特征提取的方式具體如下:
15、利用卷積層的卷積操作識別圖像中基礎(chǔ)特征;
16、利用池化層減少基礎(chǔ)特征的空間維度;
17、利用全連接層將池化層輸出的特征進(jìn)行融合,以生成更抽象的全局表示;
18、基于空間注意力機(jī)制聚焦圖像的不同區(qū)域,根據(jù)圖像區(qū)域的重要性為不同區(qū)域賦予不同的權(quán)重,生成一個(gè)權(quán)重圖,并根據(jù)所述權(quán)重圖調(diào)整特征圖的各個(gè)位置的貢獻(xiàn);
19、通過加權(quán)平均或加權(quán)和的方式來聚焦圖像中的重要區(qū)域,生成空間權(quán)重圖來強(qiáng)調(diào)重要區(qū)域的特征;
20、通過輸出層生成圖像的最終特征表示,經(jīng)過sigmoid激活函數(shù)后的概率分布,表示圖像所屬的類別。
21、進(jìn)一步的,所述圖像特征匹配的方式具體如下:
22、
23、其中,為特征a與特征b之間的漢明距離,為計(jì)算特征a中的特征描述與特征b中的特征描述是否相等,n為特征描述的數(shù)量;
24、通過akaze算法可以在不同尺度下提取圖像的特征點(diǎn),并在尺度空間中,基于區(qū)域的方法來檢測關(guān)鍵點(diǎn),并得到特征點(diǎn)的坐標(biāo);
25、akaze采用m-ldb描述子來描述特征點(diǎn)的周圍區(qū)域;
26、通過比較不同圖像之間的m-ldb描述子來進(jìn)行特征匹配,從而識別出圖像中的相似區(qū)域,構(gòu)建出圖像的幾何特征。
27、進(jìn)一步的,所述相機(jī)位姿運(yùn)動(dòng)狀態(tài)估計(jì)的方式具體如下:
28、初始化相機(jī)參數(shù)設(shè)置;
29、將圖像轉(zhuǎn)化為mat矩陣,根據(jù)立體匹配算法,計(jì)算圖像視差值,并將視差值轉(zhuǎn)化為深度值,以獲得圖像的深度圖;
30、根據(jù)圖像特征點(diǎn)的二維像素坐標(biāo)值和深度值得到空間特征點(diǎn)的三維世界坐標(biāo)值,通過pnp算法從已知的二維像素坐標(biāo)值-三維世界坐標(biāo)值的對應(yīng)關(guān)系估計(jì)相機(jī)的位姿;將旋轉(zhuǎn)和平移矩陣轉(zhuǎn)化為數(shù)列,將上一幀姿態(tài)數(shù)列和當(dāng)前姿態(tài)數(shù)列對比,并使用低通和光流濾波過濾;創(chuàng)建4×4轉(zhuǎn)換矩陣,以相機(jī)為中心,將相機(jī)坐標(biāo)依次轉(zhuǎn)化為世界坐標(biāo)、圖像坐標(biāo),調(diào)整相機(jī)姿態(tài)和運(yùn)動(dòng)狀態(tài)估計(jì)。
31、進(jìn)一步的,所述圖像切分用以將圖像劃分為多個(gè)塊圖,每個(gè)塊圖的特征作為循環(huán)神經(jīng)網(wǎng)絡(luò)模型的一個(gè)時(shí)間步輸入。
32、進(jìn)一步的,所述基于注意力機(jī)制的動(dòng)態(tài)特征剔除的方式具體如下:
33、創(chuàng)建lstm層提取出圖像物體的邊緣、角點(diǎn)作為路標(biāo)點(diǎn),再添加注意力層,所述注意力層根據(jù)當(dāng)前輸入和隱藏狀態(tài)動(dòng)態(tài)計(jì)算各個(gè)特征的注意力權(quán)重;
34、根據(jù)路標(biāo)點(diǎn)對應(yīng)的歷史像素語義類別、置信度及重投影深度誤差、光度誤差,不斷更新路標(biāo)點(diǎn)的可靠性評分,剔除可靠性低于設(shè)定第三閾值的路標(biāo)點(diǎn);為每個(gè)新路標(biāo)點(diǎn)給予一個(gè)初始動(dòng)態(tài)概率,若路標(biāo)點(diǎn)對應(yīng)的特征點(diǎn)落在先驗(yàn)動(dòng)態(tài)物體輪廓內(nèi),其動(dòng)態(tài)概率根據(jù)權(quán)重增大,動(dòng)態(tài)概率在幀間進(jìn)行傳播,剔除最終動(dòng)態(tài)概率高于設(shè)定的第四閾值的特征點(diǎn)。
35、進(jìn)一步的,所述語義約束下的特征匹配的方式具體如下:
36、使用yolox模型在特征提取階段著重提取可信語義區(qū)域,構(gòu)建多關(guān)聯(lián)圖來建模各個(gè)可信區(qū)域的空間結(jié)構(gòu)和尺度層級,通過最小化一個(gè)能量函數(shù)實(shí)現(xiàn)圖像物體區(qū)域之間的匹配。
37、有益效果:本發(fā)明將深度循環(huán)卷積神經(jīng)網(wǎng)絡(luò)和slam技術(shù)相結(jié)合,不僅將環(huán)境紋理和光線變換對圖像特征點(diǎn)提取的影響顯著降低,而且能夠識別圖像語義信息,理解圖像中物體的輪廓、所屬種類、形狀外觀等,即使在動(dòng)態(tài)環(huán)境下也能夠創(chuàng)建地圖和實(shí)時(shí)定位;基于深度循環(huán)卷積神經(jīng)網(wǎng)絡(luò)的方法顯著提升視覺slam的智能感知能力,形成集幾何測量、定位定姿、環(huán)境理解等多種功能的視覺語義slam;相比于傳統(tǒng)視覺slam方法僅通過特征點(diǎn)算法提取并構(gòu)建平面幾何地圖,在定位精度、地圖構(gòu)建精度、回環(huán)檢測精度、系統(tǒng)效率和魯棒性等參數(shù)指標(biāo)上具有顯著提升。