本發(fā)明涉及slam,具體涉及一種應(yīng)用于醫(yī)療移動(dòng)機(jī)器人的即時(shí)定位與地圖構(gòu)建方法、系統(tǒng)、存儲(chǔ)介質(zhì)和電子設(shè)備。
背景技術(shù):
1、如今,即時(shí)定位與地圖構(gòu)建(simultaneous?localization?and?mapping,簡(jiǎn)稱slam)技術(shù)應(yīng)用于各種各樣的場(chǎng)景,主要用于解決醫(yī)療移動(dòng)機(jī)器人在未知環(huán)境運(yùn)動(dòng)時(shí)的定位和地圖構(gòu)建問(wèn)題。
2、相關(guān)技術(shù)中,論文《nice-slam:neural?implicit?scalable?encoding?for?slam》(zihan?zhu,songyou?peng,viktor?larsson,weiwei?xu,hujun?bao,zhaopeng?cui,martin?r.oswald,marc?pollefeys;proceedings?of?the?ieee/cvf?conference?oncomputer?vision?and?pattern?recognition(cvpr),2022,pp.12786-12796)公開(kāi)的一種可行方案,其使用rgb-d相機(jī)作為圖像輸入的傳感器,四個(gè)特征網(wǎng)格及其相應(yīng)的解碼器表示場(chǎng)景幾何形狀和外觀,由此場(chǎng)景被劃分為一個(gè)又一個(gè)體素網(wǎng)格,使用利用colmap工具估計(jì)的相機(jī)校準(zhǔn)跟蹤每個(gè)像素的觀看光線。通過(guò)沿著觀察光線上的采樣點(diǎn)并找到對(duì)應(yīng)所處的體素正方體網(wǎng)格,通過(guò)三線性插值的方式由網(wǎng)格正方體的八個(gè)頂點(diǎn)來(lái)表示點(diǎn)的特征,由此輸入到四個(gè)解碼器內(nèi)得出從粗到細(xì)粒度的占用值,然后渲染該光線的深度和顏色值。通過(guò)最小化深度和顏色的重新渲染損失,優(yōu)化選定的關(guān)鍵幀的深度和顏色值,以交替優(yōu)化的方式顯示相機(jī)位姿和場(chǎng)景幾何形狀。
3、然而,上述nice-slam技術(shù)只輸入視頻流圖像和相機(jī)位姿,訓(xùn)練網(wǎng)絡(luò)收斂時(shí)間較長(zhǎng),若移植到實(shí)體機(jī)器人上實(shí)時(shí)性有待提高。
技術(shù)實(shí)現(xiàn)思路
1、(一)解決的技術(shù)問(wèn)題
2、針對(duì)現(xiàn)有技術(shù)的不足,本發(fā)明提供了一種應(yīng)用于醫(yī)療移動(dòng)機(jī)器人的即時(shí)定位與地圖構(gòu)建方法、系統(tǒng)、存儲(chǔ)介質(zhì)和電子設(shè)備,解決了實(shí)時(shí)性有待提高的技術(shù)問(wèn)題。
3、(二)技術(shù)方案
4、為實(shí)現(xiàn)以上目的,本發(fā)明通過(guò)以下技術(shù)方案予以實(shí)現(xiàn):
5、一種應(yīng)用于醫(yī)療移動(dòng)機(jī)器人的即時(shí)定位與地圖構(gòu)建方法,包括:
6、通過(guò)所述醫(yī)療移動(dòng)機(jī)器人內(nèi)置的單目rgb攝像頭,采集真實(shí)世界場(chǎng)景的視頻流,并利用colmap從所述視頻流中提取若干個(gè)關(guān)鍵幀圖像,構(gòu)建關(guān)鍵幀列表;
7、遍歷所述關(guān)鍵幀列表中的關(guān)鍵幀圖像,通過(guò)卷積門控循環(huán)單元利用不同所述關(guān)鍵幀圖像間的光流,估計(jì)每一所述關(guān)鍵幀圖像對(duì)應(yīng)的深度圖像、相機(jī)位姿以及逆深度邊緣協(xié)方差;
8、基于每一所述關(guān)鍵幀圖像的深度圖像、相機(jī)位姿以及顏色信息,預(yù)構(gòu)建所述真實(shí)世界場(chǎng)景的粗糙3d地圖,并將所述粗糙3d地圖按三種不同大小的分辨率劃分體素網(wǎng)格,獲取分層的粗粒度、中粒度和細(xì)粒度場(chǎng)景圖;其中每一所述體素網(wǎng)格內(nèi)采用哈希編碼存儲(chǔ)網(wǎng)格的八個(gè)頂點(diǎn)特征;
9、基于當(dāng)前關(guān)鍵幀圖像對(duì)應(yīng)的相機(jī)位姿及其圖像上的各個(gè)像素,采用基于興趣點(diǎn)為中心的擴(kuò)張掩碼的方式采樣,并通過(guò)哈希編碼搜索每一采樣點(diǎn)在不同粒度場(chǎng)景圖上所處的體素網(wǎng)格;
10、基于每一層所述體素網(wǎng)格對(duì)應(yīng)的多層感知機(jī),獲取每一所述采樣點(diǎn)的占用值和顏色,并體渲染生成rgb圖像和深度圖像;
11、基于每一所述關(guān)鍵幀圖像及其對(duì)應(yīng)的深度圖像、相機(jī)位姿、渲染rgb圖像、渲染深度圖像,添加基于所述逆深度邊緣協(xié)方差計(jì)算得到的深度不確定度,構(gòu)建損失函數(shù);
12、最小化所述損失函數(shù),確定每一層所述多層感知機(jī)的最優(yōu)參數(shù),以渲染出實(shí)時(shí)3d地圖。
13、優(yōu)選的,所述醫(yī)療移動(dòng)機(jī)器人的底盤包括可伸縮的萬(wàn)向輪組件,所述即時(shí)定位與地圖構(gòu)建方法還包括:
14、基于所述實(shí)時(shí)3d地圖,判斷所述醫(yī)療移動(dòng)機(jī)器人當(dāng)前位姿下前方的路況,以及預(yù)估所述醫(yī)療移動(dòng)機(jī)器人與周圍物體的距離;
15、在局部地勢(shì)垂直方向差大于等于預(yù)設(shè)第一閾值且所述距離小于等于第二閾值時(shí),控制所述醫(yī)療移動(dòng)機(jī)器人自適應(yīng)伸展所述萬(wàn)向輪組件,以降低所述醫(yī)療移動(dòng)機(jī)器人的重心;否則,保持收縮所述萬(wàn)向輪組件的狀態(tài)。
16、優(yōu)選的,通過(guò)卷積門控循環(huán)單元利用不同所述關(guān)鍵幀圖像間的光流,估計(jì)當(dāng)前關(guān)鍵幀圖像對(duì)應(yīng)的深度圖像、相機(jī)位姿以及逆深度邊緣協(xié)方差;包括:
17、將當(dāng)前關(guān)鍵幀圖像經(jīng)過(guò)卷積層得到第一特征圖,將所述第一特征圖和前一關(guān)鍵幀圖像的隱藏狀態(tài)向量拼接一起,輸入門控循環(huán)單元,并根據(jù)所述門控循環(huán)單元的計(jì)算結(jié)果,得到當(dāng)前關(guān)鍵幀圖像的隱藏狀態(tài)向量,再經(jīng)過(guò)一層卷積層得到第二特征圖;
18、基于所述第一特征圖,計(jì)算當(dāng)前光流測(cè)量值;并引入平滑性假設(shè),基于所述第二特征圖,通過(guò)最小化能量函數(shù)更新當(dāng)前光流測(cè)量值及其權(quán)重;
19、基于當(dāng)前光流測(cè)量值及其權(quán)重,將圖像間重投影誤差方程組線性化為相機(jī)/深度箭頭狀的塊稀疏海塞矩陣;
20、利用所述塊稀疏海塞矩陣的schur補(bǔ)計(jì)算簡(jiǎn)約相機(jī)矩陣,對(duì)所述簡(jiǎn)約相機(jī)矩進(jìn)行cholesky分解,并通過(guò)前次迭代和后次迭代求解當(dāng)前關(guān)鍵幀圖像對(duì)應(yīng)的相機(jī)位姿以及深度圖像;
21、基于所述相機(jī)位姿以及深度圖像,分別計(jì)算得到當(dāng)前關(guān)鍵幀圖像對(duì)應(yīng)的逆深度邊緣協(xié)方差和相機(jī)位姿邊緣協(xié)方差。
22、優(yōu)選的,所述基于興趣點(diǎn)為中心的擴(kuò)張掩碼的方式采樣是指:
23、判斷當(dāng)前關(guān)鍵幀圖像的顏色和亮度分布,找到圖像中顏色最突出的區(qū)域或亮度變化最顯著的區(qū)域,將該區(qū)域的中心點(diǎn)作為興趣點(diǎn),并將區(qū)間范圍設(shè)定為固定數(shù)量像素的正方形,以作為興趣區(qū)域進(jìn)行迭代式采樣。
24、優(yōu)選的,所述基于每一層所述體素網(wǎng)格對(duì)應(yīng)的多層感知機(jī),獲取每一所述采樣點(diǎn)的占用值和顏色;表示為:
25、
26、
27、其中,op表示p點(diǎn)的占用值;l表示體素網(wǎng)格的層數(shù)索引;表示p點(diǎn)在第l層體素網(wǎng)格下的占用值;p表示采樣點(diǎn)的三維坐標(biāo);表示p點(diǎn)在l層體素網(wǎng)格的特征向量,該特征向量通過(guò)網(wǎng)格的八個(gè)頂點(diǎn)特征三線差值計(jì)算得到;θ表示多層感知機(jī)的參數(shù);cp表示p點(diǎn)的顏色值,僅利用細(xì)粒度分辨率體素網(wǎng)格對(duì)應(yīng)的多層感知機(jī)解碼;gβ表示為用于解碼顏色的多層感知機(jī)。
28、優(yōu)選的,所述損失函數(shù)的構(gòu)建的過(guò)程;具體包括:
29、(1)構(gòu)建顏色損失:
30、lrgb(t,θ)=||i-i′(t,θ)||2
31、其中,i′表示渲染rgb圖像的像素顏色值;i表示當(dāng)前關(guān)鍵幀圖像的像素顏色值;t表示相機(jī)位姿;θ是多層感知機(jī)參數(shù);||·||2表示2范數(shù);
32、(2)構(gòu)建深度損失:
33、
34、其中,d′表示渲染深度圖像;∑d表示深度不確定度,用于監(jiān)督網(wǎng)絡(luò)學(xué)習(xí);
35、(3)構(gòu)建顏色一致性損失:
36、
37、其中,對(duì)于當(dāng)前關(guān)鍵幀圖像m中的像素,記為rm;當(dāng)前關(guān)鍵幀圖像m在與其相鄰的關(guān)鍵幀圖像n中投影的像素記為rm→n;r表示每次迭代興趣區(qū)域采樣的像素;km表示關(guān)鍵幀列表,且不包括當(dāng)前關(guān)鍵幀圖像m本身;i(·)表示像素顏色值;||·||1表示1范數(shù);
38、(4)構(gòu)建光流損失
39、
40、其中,gm(·)表示光流估計(jì)。
41、(5)構(gòu)建總損失函數(shù)
42、l=αrgblrgb(t,θ)+αdld(t,θ)+αwarplwarp+αflowlflow
43、其中,αrgb表示顏色損失的權(quán)重,αd表示深度損失的權(quán)重,αwarp表示顏色一致性損失的權(quán)重,αflow表示光流損失的權(quán)重。
44、一種應(yīng)用于醫(yī)療移動(dòng)機(jī)器人的即時(shí)定位與地圖構(gòu)建系統(tǒng),包括:
45、提取模塊,用于通過(guò)所述醫(yī)療移動(dòng)機(jī)器人內(nèi)置的單目rgb攝像頭,采集真實(shí)世界場(chǎng)景的視頻流,并利用colmap從所述視頻流中提取若干個(gè)關(guān)鍵幀圖像,構(gòu)建關(guān)鍵幀列表;
46、定位模塊,用于遍歷所述關(guān)鍵幀列表中的關(guān)鍵幀圖像,通過(guò)卷積門控循環(huán)單元利用不同所述關(guān)鍵幀圖像間的光流,估計(jì)每一所述關(guān)鍵幀圖像對(duì)應(yīng)的深度圖像、相機(jī)位姿以及逆深度邊緣協(xié)方差;
47、建圖模塊,用于基于每一所述關(guān)鍵幀圖像的深度圖像、相機(jī)位姿以及顏色信息,預(yù)構(gòu)建所述真實(shí)世界場(chǎng)景的粗糙3d地圖,并將所述粗糙3d地圖按三種不同大小的分辨率劃分體素網(wǎng)格,獲取分層的粗粒度、中粒度和細(xì)粒度場(chǎng)景圖;其中每一所述體素網(wǎng)格內(nèi)采用哈希編碼存儲(chǔ)網(wǎng)格的八個(gè)頂點(diǎn)特征;
48、用于基于當(dāng)前關(guān)鍵幀圖像對(duì)應(yīng)的相機(jī)位姿及其圖像上的各個(gè)像素,采用基于興趣點(diǎn)為中心的擴(kuò)張掩碼的方式采樣,并通過(guò)哈希編碼搜索每一采樣點(diǎn)在不同粒度場(chǎng)景圖上所處的體素網(wǎng)格;
49、用于基于每一層所述體素網(wǎng)格對(duì)應(yīng)的多層感知機(jī),獲取每一所述采樣點(diǎn)的占用值和顏色,并體渲染生成rgb圖像和深度圖像;
50、用于基于每一所述關(guān)鍵幀圖像及其對(duì)應(yīng)的深度圖像、相機(jī)位姿、渲染rgb圖像、渲染深度圖像,添加基于所述逆深度邊緣協(xié)方差計(jì)算得到的深度不確定度,構(gòu)建損失函數(shù);
51、以及用于最小化所述損失函數(shù),確定每一層所述多層感知機(jī)的最優(yōu)參數(shù),以渲染出實(shí)時(shí)3d地圖。
52、優(yōu)選的,所述醫(yī)療移動(dòng)機(jī)器人的底盤包括可伸縮的萬(wàn)向輪組件,所述即時(shí)定位與地圖構(gòu)建系統(tǒng)還包括:
53、控制模塊,用于基于所述實(shí)時(shí)3d地圖,判斷所述醫(yī)療移動(dòng)機(jī)器人當(dāng)前位姿下前方的路況,以及預(yù)估所述醫(yī)療移動(dòng)機(jī)器人與周圍物體的距離;
54、以及用于在局部地勢(shì)垂直方向差大于等于預(yù)設(shè)第一閾值且所述距離小于等于第二閾值時(shí),控制所述醫(yī)療移動(dòng)機(jī)器人自適應(yīng)伸展所述萬(wàn)向輪組件,以降低所述醫(yī)療移動(dòng)機(jī)器人的重心;否則,保持收縮所述萬(wàn)向輪組件的狀態(tài)。
55、一種存儲(chǔ)介質(zhì),其特征在于,其存儲(chǔ)有用于應(yīng)用于醫(yī)療移動(dòng)機(jī)器人的即時(shí)定位與地圖構(gòu)建的計(jì)算機(jī)程序,其中,所述計(jì)算機(jī)程序使得計(jì)算機(jī)執(zhí)行如上所述的即時(shí)定位與地圖構(gòu)建方法。
56、一種電子設(shè)備,包括:
57、一個(gè)或多個(gè)處理器;存儲(chǔ)器;以及一個(gè)或多個(gè)程序,其中所述一個(gè)或多個(gè)程序被存儲(chǔ)在所述存儲(chǔ)器中,并且被配置成由所述一個(gè)或多個(gè)處理器執(zhí)行,所述程序包括用于執(zhí)行如上所述的即時(shí)定位與地圖構(gòu)建方法。
58、(三)有益效果
59、本發(fā)明提供了一種應(yīng)用于醫(yī)療移動(dòng)機(jī)器人的即時(shí)定位與地圖構(gòu)建方法、系統(tǒng)、存儲(chǔ)介質(zhì)和電子設(shè)備。與現(xiàn)有技術(shù)相比,具備以下有益效果:
60、本發(fā)明可應(yīng)用于但不局限于室內(nèi)活動(dòng)的醫(yī)療移動(dòng)機(jī)器人。首先選用適合復(fù)雜環(huán)境且成本更低的單目rgb攝像頭采集真實(shí)世界場(chǎng)景的視頻流,并通過(guò)卷積門控循環(huán)單元利用不同關(guān)鍵幀圖像間的光流,估計(jì)每一關(guān)鍵幀圖像對(duì)應(yīng)的深度信息及相機(jī)位姿。接著,融合神經(jīng)輻射場(chǎng)的體渲染能力與分層體素網(wǎng)格的捕捉全局和局部場(chǎng)景信息的能力,并使用存儲(chǔ)空間小且容易搜索采樣點(diǎn)對(duì)應(yīng)網(wǎng)格的哈希編碼方式,實(shí)現(xiàn)在有限資源的情況下,快速渲染出更大場(chǎng)景。此外,通過(guò)不確定性估計(jì)添加深度監(jiān)督為在移動(dòng)中構(gòu)建場(chǎng)景的神經(jīng)輻射場(chǎng)提供了正確的信息,進(jìn)一步加快收斂速度,以實(shí)現(xiàn)將關(guān)鍵幀圖像渲染出高精度且實(shí)時(shí)的3d地圖。