rgb红色范围_【论文阅读18】RGB-D Object-Oriented Semantic Mapping
主要內(nèi)容
基于RGB-D數(shù)據(jù)的語義建圖(SLAM幫助語義)。具體過程如下
- 首先利用SSD執(zhí)行單幀RGB圖片(2D)物體檢測。
- 接著基于檢測結(jié)果和深度信息,利用3D分割算法進一步分割3D點云。
- 最終利用ORB-SLAM2的相機位姿信息將每幀的3D點云分割結(jié)果合并到地圖中,建立語義點云地圖。
特色:
- 非物體只維護點云,物體維護點云和類別標號。
- 點云分別在每個觀測幀中維護。好處是閉環(huán)后點云也可以跟著觀測幀的位姿變化。
- 語義更新:簡單累加,取最大值。
未來工作
- 語義幫助SLAM。利用語義信息提高SLAM的精度,魯棒性等。
N. Sunderhauf, T. T. Pham, Y. Latif, M. Milford, I. Reid. Meaningful Maps With Object-Oriented Semantic Mapping. IEEE/RSJ International Conference on Intelligent Robots and Systems, 5079-5085, 2017.
摘要
對于智能機器人與環(huán)境以有意義的方式交互,它們必須同時理解周圍場景的幾何和語義性質(zhì)。至今主要研究已經(jīng)分別解決了這些建圖挑戰(zhàn),專注于幾何或者語義建圖。Sunderhauf等人解決了同時建立包含語義的物體級別的實體和基于點或網(wǎng)格的幾何表示。作者同時建立了已知物體類別的之前未見過實體的幾何點云模型,同時創(chuàng)建以這些物體模型為中心實體的地圖。作者使用了稀疏,基于特征的RGB-D SLAM,基于圖片的深度學(xué)習目標檢測和3D無監(jiān)督分割。
1. 介紹
對于移動機器人和環(huán)境有意義地交互,它們必須獲得一個同時表達幾何和語義信息的世界模型。但是,大多數(shù)現(xiàn)存在機器人建圖和SLAM中的研究專注于建圖一些語義類別但是忽略建模分離的物體實例或者需要一個已知的3D物體模型先驗。
在本文中我們提供了一種創(chuàng)建更多有意義地圖的方法,不需要之前方法的需求和限制:地圖不僅表達了東西在世界的哪里,還包括了它是什么。我們的方法是及時的,由于專注于幾何的機器人SLAM和基于深度學(xué)習的檢測技術(shù)現(xiàn)在都足夠成熟來被融合到一個面向物體的語義建圖系統(tǒng),可以創(chuàng)建豐富標號的地圖,其具有幾十個或者甚至幾百個物體類別,同時維護幾何準確性。
我們的語義建圖是面向物體的,因為單獨的物體實例是在我們地圖中的關(guān)鍵實體。如圖1所示,生成的環(huán)境地圖富含語義信息,以分離的物體實例的形式。這些物體同時攜帶幾何和語義信息以類別標號和置信度的形式。和早期工作的一個重要區(qū)分(如[2])是我們的地圖不僅僅包含標號的獨立3D點通過投影語義信息從圖片到3D結(jié)構(gòu)中。相反,物體是分離的實體,完全獨立于地圖的非物體部分。這允許更高級的場景理解,例如,機器人可以推理所有屬于地圖中的某個物體的3D點在操作中將會一起移動。
圖1. 我們證實使用RGB-D數(shù)據(jù)面向物體的語義建圖是可行的從小型的桌面環(huán)境(左)到辦公室環(huán)境(中)到整個實驗室環(huán)境(右)。圖片展示了物體染色的3D地圖結(jié)構(gòu)。我們沒有僅僅投影語義標號到3D點上,而是維護了地圖中中心實體的的物體,并且不需要先驗3D物體模型[1]。為此,我們的系統(tǒng)創(chuàng)建并擴展3D物體模型同時連續(xù)建圖環(huán)境。物體檢測和分類被執(zhí)行使用卷積網(wǎng)絡(luò),同時一個無監(jiān)督3D分割算法分配3D點的分割為每個物體檢測。這些被分割的物體檢測然后被融合到一個已知物體或者添加到地圖的一個新物體中。ORB-SLAM2提供了一個全局SLAM解決方案,使得我們重建一個環(huán)境的3D模型,同時包含非物體的結(jié)構(gòu)和多種物體的結(jié)構(gòu)。
以物體為中心的方法由實例級別語義分割技術(shù)支持,其組合圖片空間中基于有界框的物體檢測和無監(jiān)督3D分割。與我們的實例級別方法不同,語義分割方法例如[3][4]經(jīng)常沒有物體實例的標記,并且因此在單獨的物體需要在地圖中隨時間被建模和操作的機器人建圖設(shè)置中不可用。
我們的方法創(chuàng)建并擴展3D物體模型當它在建圖環(huán)境時不需要如[1]中的先驗已知3D模型。這在之前的技術(shù)中是非常重要的提高,因為一個語義類別的單獨實例比如椅子可以在單個環(huán)境中變化很大,并且需要準確的3D模型對于這些變體在實際的機器人應(yīng)用中是非常受限的。
在本文剩余部分,我們首先討論相關(guān)工作在詳細描述我們提出的系統(tǒng)之前。一個定量和定性的評估證實了語義建圖系統(tǒng)被提供在第4節(jié)。最后我們討論了結(jié)果和獲得的啟發(fā),接著是在組合幾何和語義建圖領(lǐng)域的未來研究方向的討論。
2. 相關(guān)工作
SLAM問題的幾何方面已經(jīng)被很好地理解并且達到了成熟的程度,其中城市級別地圖可以被實時和準確地建立[5]。但是,這種地圖的結(jié)果是幾何實體(點,面,表面等),其對于建圖和定位任務(wù)是有用的,但是不能在環(huán)境中在展示的實體上安排機器人完成一系列可能的操作。為了與環(huán)境進行交互,一種語義表示是必要的。語義標號的粒度依賴手頭的任務(wù)。一個需要推理從A點移動到B點的機器人需要識別場景(房間,走廊,廚房燈),同時一個操作物體的機器人需要關(guān)于物體的識別和賦能信息(可以對這個物體做什么?如何抓取它?在環(huán)境中它的狀態(tài)如何?)。
A. 語義建圖
語義建圖是一個給建圖的實體賦值語義信息的過程(物體類別,身份,行為等)。它使用SLAM作為一個工具來推理環(huán)境中傳感器的運動和位置,同時語義信息可以從一個不同的源頭被獲得。
第一批嘗試語義建圖的方法設(shè)計地圖重建及重建地圖的語義分割[6]-[8]。Pham等人[8]首先使用KinectFusion[9]從RGB-D圖片中重建一個稠密3D模型,然后分配給每個3D點一個語義標號通過使用一個分層條件隨機場(CRF)模型。Pillai和Leonard[7]使用一個單目SLAM系統(tǒng)來增強視頻序列中物體識別的表現(xiàn)。他們展示了物體識別任務(wù)的表現(xiàn)被提高通過單目SLAM的時序支持。Herbst等人[6]提出一種無監(jiān)督的算法用于物體發(fā)現(xiàn)通過比較通過多次訪問同一場景得到的SLAM重建的3D模型。不像這些方法,我們的方法動態(tài)地跟蹤相機,檢測和重建物體模型。
其他語義建圖方法包括在線場景重建和分割[10]-[16]。Mozos等人[10]分割范圍傳感器構(gòu)建的地圖到功能性的空間(房間,走廊,門口)使用一個隱馬爾科夫模型。他們展示獲得的語義信息可以被用于轉(zhuǎn)化語義地圖到一個拓撲地圖。Pronobis等人[11][13]提出一個在線系統(tǒng)來構(gòu)建環(huán)境的語義地圖同時使用激光和相機。Cadena等人[14]使用不同物體檢測器的機會分布式系統(tǒng)的組合得到的運動估計來超過單獨系統(tǒng)。Vineet等人[15]提出一個在線的稠密重建方法,其解決了語義標號問題通過一個稠密連接的CRF。Kundu等人[16]推導(dǎo)了一個3D空間中的CRF模型,聯(lián)合推理每個柵格的語義類別和占據(jù)。我們的工作,相反,建模物體為分別的實體,已經(jīng)通知機器人它內(nèi)在的性質(zhì)(例如操作中的剛體運動等),其對于逐點標號的地圖來說是不可能的。雖然我們能夠使用一個后3D分割算法從逐點標號的地圖中生成物體實例,這種方法對于在線系統(tǒng)來說是不高效的。
語義信息也能被加入到地圖中通過物體模板匹配。Civera等人[17]匹配使用單目SLAM系統(tǒng)創(chuàng)建的地圖點和一個已知的物體數(shù)據(jù)庫,其使用基于特征的方法進行識別,能夠被插入到地圖中。這種方法創(chuàng)建了更完整的地圖,允許尺度分辨率。類似地,Castle等人[18]在單目SLAM框架中使用平面已知物體。Salas-Moreno等人[1]創(chuàng)建基于物體的地圖,其使用RGB-D信息來識別并插入一直物體模型。我們的工作區(qū)別于這些方法因為沒有物體的先驗數(shù)據(jù)庫。我們的方法在線創(chuàng)建物體模型基于一個物體檢測器的輸出。
B. 物體檢測和語義分割
純幾何對于物體檢測任務(wù)來說是具有奇異性的,受機器學(xué)習領(lǐng)域的當前進步,豐富的先驗?zāi)軌驈臄?shù)據(jù)本身中被學(xué)習。具體地,我們對物體檢測任務(wù)感興趣,其能夠被用于分離地圖中的物體實例。一種用于物體檢測的方法是基于建議的物體檢測方法,其生成
個物體建議,一般以邊界框的形式。每個建議被分類,導(dǎo)致所有類別標號上的 個相互獨立的概率分布。該技術(shù)首先被R-CNN[19]提出,最近被Fast R-CNN[20]和Faster R-CNN[21],YOLO [22]或者SSD[23]進一步發(fā)展。與物體檢測不同,語義分割[4]生成稠密的,逐像素的分類。這種方法用于語義建圖的劣勢在于它們?nèi)鄙侏毩⑽矬w實體的標號。對于重疊物體的像素標號,因此,不允許場景中單個物體的識別,其可能導(dǎo)致SLAM框架中數(shù)據(jù)關(guān)聯(lián)的奇異性。最近使用RGB圖片朝向?qū)嵗墑e語義分割的工作包括[24]-[27]。雖然已經(jīng)取得了巨大的進步,當前這些方法缺乏準確性和用于我們在線框架的速度。
3. 面向物體的語義建圖
在本節(jié),我們刻畫了組成我們語義建圖系統(tǒng)的主要成分。圖2可視化了提出方法的關(guān)鍵步驟,同時圖3可視化了不同成分之間的信息流。
圖2. 在我們提出方法中的關(guān)鍵步驟可視化:(上-左)SSD[23]生成由邊界框組成的物體建議框,類別標號和置信度。(上-右)我們的無監(jiān)督3D分割算法在當前的RGB-D幀中對于每個物體創(chuàng)建了一個3D點云分割。(下一行)我們獲得了一個包含語義實體的地圖:物體攜帶一個語義標號,置信度,和幾何信息。語義標號被染色在下左圖片中。淺藍色:顯示器,粉色:書,紅色:杯子,深藍色:鍵盤。
A. SLAM
我們的語義建圖需要觀測一個場景時當前相機位姿的信息。該信息可能來自一個在后端運行的SLAM系統(tǒng)或者來自在一個已知地圖上的定位。在本工作中,我們使用一個ORB-SLAM2的可用的RGB-D版本[5]來跟蹤和建圖,其同時使用RGB和深度信息用于稀疏跟蹤。由深度通道生成的點云被投影到對應(yīng)的傳感器位置來得到一個環(huán)境的地圖。
我們小心地稱我們的方法是“語義SLAM”因為這需要兩方面的信息流:SLAM幫助語義同時語義幫助SLAM。在提出的方法中,語義流只是單向的,即SLAM幫助語義;SLAM的輸出(相機位姿,地圖)被用于環(huán)境的一致語義標號。因此我們的工作屬于“語義建圖”的類別。但是,該系統(tǒng)可以被擴展到組合雙向信息流但是現(xiàn)在被留到未來工作中。
B. 用于語義建圖的物體檢測
單獨的物體在語義建圖中是重要的實體。因此,一種定位和識別圖片中不同物體實例的方法是需要的。即使這被認為是實例級別語義分割的過程[24]-[28],但是這些工作不足夠快對于我們的語義建圖框架。例如,DeepMask[28]一張圖片需要1.6s。相反地,基于深度學(xué)習的物體檢測方法已經(jīng)展示處良好的結(jié)果和實時性表現(xiàn)[19]-[23]。
我們使用SSD方法[23]對每個關(guān)鍵幀以邊界框的形式生成固定數(shù)量的物體建議框。SSD對每個建議提供一個類別標號和一個置信度得分
。它已經(jīng)證實了高度競爭力的結(jié)果在現(xiàn)存的計算機視覺基準MS COCO[29],PASCAL VOC和ILSVRC[30]中。我們使用在COCO數(shù)據(jù)集上訓(xùn)練的網(wǎng)絡(luò)用于我們的工作,其能夠識別80類。一個前向傳播通過網(wǎng)絡(luò)的
個變量,即,需要建議和分類,在一個TitanX GPU上耗時86ms。C. 3D 分割
基于圖片的物體檢測方法很難返回適合物體的邊界框(見圖2上左)。但是,對于物體模型重建來說,生成一個準確的物體邊界是需要的。為此,我們利用深度信息來生成一個準確的物體分割,然后將每個物體分割關(guān)聯(lián)其中一個檢測的物體標號或者不關(guān)聯(lián)。
為了分割深度圖片到物體中,我們跟隨[31]中提出的無監(jiān)督方法。我們首先過分割深度圖片為超體素,并且構(gòu)建一個連接臨近超體素的鄰接圖。物體分割任務(wù)然后被構(gòu)建為將圖分割為連接的分量。但是,不像[31],它的圖邊通過分類邊為1(保留)或0(切割)來啟發(fā)式地切割,我們在每條邊上設(shè)置一個權(quán)重,然后發(fā)現(xiàn)最優(yōu)的輸出通過使用Kruskal算法[32]。相同物體中的超體素之間的邊應(yīng)該保持地權(quán)重,否則高權(quán)重。令
表示連接超體素 和 之間的邊,其分別具有法向量 和 ,它的權(quán)重被計算如下: 、我們建議讀者參考[31]來了解提取3D場景中支持平面的技術(shù)細節(jié),和[33]用于凸/凹計算。當執(zhí)行時,3D分割一般消耗175ms。
D. 數(shù)據(jù)關(guān)聯(lián)
在分割算法將一個3D點云分配給每個物體檢測后,數(shù)據(jù)關(guān)聯(lián)步驟確定是否被檢測的物體已經(jīng)在地圖中存在或者作為一個新的物體對象被添加到地圖中。我們執(zhí)行這個通過一個兩步流程:首先對于每個檢測,一組候選物體路標被選擇基于對應(yīng)點云中心的歐式距離。然后我們執(zhí)行一個路標和檢測中3D點之間的最近鄰搜索,并計算關(guān)聯(lián)點對的歐式距離。一個K-D樹結(jié)構(gòu)幫助我們保持該步驟是高效的。一個檢測被關(guān)聯(lián)到一個已存在路標如果至少它的3D點的50%具有小于2cm的距離。數(shù)據(jù)關(guān)聯(lián)步驟一般消耗30ms對于每個檢測路標對。
E. 物體模型更新
如圖3所示,在我們地圖中的每個物體(i)分割的具有顏色的3D點云通過數(shù)據(jù)關(guān)聯(lián)步驟關(guān)聯(lián)到每個物體(ii)一個ORB-SLAM的因子圖中路標被觀測到的位姿的變量的索引。(iii)SSD物體檢測器提供的每一類的置信度。后者是一個長度為
的向量,其中 是已知物體的類別集合。無論檢測是否關(guān)聯(lián)到一個地圖物體, 都被更新根據(jù) ,其中 和 是SSD給出的類別ID和對應(yīng)的置信度。每個物體的類別標號被確定通過累積得分 和最終的置信度 可以被分配為 ,其中 是對于那個物體的整體觀測次數(shù)。圖3. 我們語義建圖系統(tǒng)的綜述。ORB-SLAM2執(zhí)行每一幀RGB-D幀的相機定位和建圖,SSD[23]檢測每個RGB幀中的物體。我們改進的3D無監(jiān)督分割方法分配一個3D點云分割到每個檢測中。基于類似ICP匹配的數(shù)據(jù)關(guān)聯(lián)得分決定是否在地圖中創(chuàng)建一個新物體或者關(guān)聯(lián)檢測到一個現(xiàn)存物體中。在后者的情形中,地圖物體的3D模型通過新檢測的3D結(jié)構(gòu)被擴展。每個物體存儲3D點云分割,ORB-SLAM中的位姿圖指針和每一類的置信度得分,當出現(xiàn)新的觀測時被在線更新。
存儲每個物體的點云分割允許我們重建一個物體模型當SLAM系統(tǒng)更新它的軌跡估計時,例如在閉環(huán)后。為了數(shù)據(jù)高效性,我們存儲下采樣點云,具有5mm的空間分辨率。該稀疏模型也被使用在上面描述的數(shù)據(jù)關(guān)聯(lián)步驟中。
F. 地圖生成
在我們系統(tǒng)中的地圖被隱式地維護通過存儲(i)在每個相機關(guān)鍵幀處觀測的3D點云和(ii)存儲分割的3D點云對于每個物體,和ORB的位姿圖的指針。如果地圖(或者它的子集)顯式地被需要,例如用于路徑規(guī)劃或抓取點選擇,我們可以通過根據(jù)對應(yīng)位姿的最優(yōu)估計投影存儲的點云。當以這種方式創(chuàng)建地圖時,我們維護1cm的分辨率對于非物體和0.5cm的分辨率對于物體。依賴應(yīng)用需求,稀疏點云地圖可以被轉(zhuǎn)化為稠密網(wǎng)格通過合適的算法。
為了保證數(shù)據(jù)關(guān)聯(lián)具有最新的信息,我們更新物體的點云模型當它被觀測到時。
總結(jié)
以上是生活随笔為你收集整理的rgb红色范围_【论文阅读18】RGB-D Object-Oriented Semantic Mapping的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IDEA创建SpringBoot
- 下一篇: SpringBoot获取配置文件常量值