時間:2021年07月19日 分類:科學技術論文 次數:
摘要:機器人在利用視覺傳感器進行同步定位與建圖(simultaneouslocalizationandmapping,SLAM)的過程中未使用實例信息,對環境感知不充分,構建的地圖精度低,該文給出了一種融合目標檢測和點云分割的視覺SLAM實例建圖方法。首先,利用改進的輕量級目標檢測算法YOLOV4-tiny提取環境二維圖像的實例信息;其次,給出一種點云分割的方法,將二維圖像信息對應的三維點云進行物體實例分割,提升分割精度;最后,將分割后的實例導入ORB-SLAM2框架中,構建出具有實例信息的高精度點云地圖。實驗結果表明:改進后的YOLOV4-tiny目標檢測算法在構建的數據集上檢測的準確率提升8.1%,改進的點云分割方法與LCCP算法相比,物體平均分割率提升12.5%,真實環境下構建的實例地圖精度優于ORB-SLAM2算法構建的地圖。
關鍵詞:同步定位與建圖(SLAM);目標檢測;點云分割;實例地圖;YOLOV4-tiny
0引言
基于視覺的機器人SLAM[1-2]在很多領域得到了廣泛應用。為了能在地圖中對環境中的物體進行直觀的表示[3],研究者做了大量的工作。文獻[4]將離線提取的物體實例信息存儲在識別碼中,機器人通過對識別碼的解讀,完成物體實例信息的獲取而建圖;文獻[5-6]將目標識別線程并行加入到SLAM框架,物體被成功識別后被插入地圖,但其需要事先生成目標模型。為了能實時構建環境中的物體模型,文獻[7]設計了一種稠密SLAM建圖系統,使機器人能夠以物體級別描述地圖場景。但地圖精度低,地圖中的物體實例不能很好地體現。深度學習方法可以對環境中的物體實例進行有效檢測和分割[8]而被引入視覺SLAM領域。
文獻[9]將視覺SLAM算法與目標檢測框架SSD[10]結合,生成帶有語義信息的地圖;文獻[11]利用目標檢測網絡提取二維圖像標簽,結合三維幾何信息構建出稠密語義地圖;文獻[12]提出的MaskFusion系統不需要已知的對象模型實現地圖構建,但語義分割網絡不能實時運行;文獻[13]利用深度卷積神經網絡對圖像進行像素級分割,采用并行線程,實時提取實例信息。但是上述方法所使用的深度學習網絡結構復雜,對硬件要求高。綜上所述,利用輕量級網絡對物體實例信息進行提取,構建高精度的SLAM點云地圖是研究者們要繼續探討的問題。本文給出了一種融合目標檢測和點云分割的視覺SLAM實例建圖方法。
該方法以ORB-SLAM2算法[14]為框架,通過改進的輕量級目標檢測算法YOLOV4-tiny[15]來提升目標實例的檢測精度;隨后將含有目標檢測框的關鍵幀圖像進行二維分割,分割結果與三維點云分割結果融合,快速實現對物體的實例分割;最后建立存儲物體實例信息的物體庫,設置相應的匹配機制對物體庫進行更新,構建出高精度的實例級點云地圖。
1YOLOV4-tiny算法改進
機器人在現實場景下構建地圖,需要快速對環境實例進行檢測識別,輕量級的檢測模型具有更大的優勢。本文使用的YOLOV4-tiny是一種輕量級檢測網絡,利用2個不同尺度的YOLOHead輸出層,分別負責檢測大目標物體和小目標物體,具有更快的處理速度。但是其檢測精度相對于大型檢測網絡會有所下降,尤其是對小目標物體的檢測;诖,通過調整網絡結構,運用優化策略,對YOLOV4-tiny算法進行改進,提高檢測精度的同時兼顧實時性。
1.1模型改進
相比YOLOV4[16]的深層次結構和巨大參數量,YOLOV4-tiny輕量級網絡結構簡單,網絡參數少,具有更快的檢測速度。由于YOLOV4-tiny在特征加強層只采用了1個特征金字塔結構[17],沒有像YOLOV4那樣再進行下采樣,導致特征信息提取不足;網絡深度不足也會導致高維空間中的冗余信息被過度利用,降低目標檢測的準確性。因此,為了保持精度和速度的平衡,設計2個相同的殘差網絡模塊[18]作為輔助模塊,提取更多的物體特征信息,增強模型對目標的特征提取能力,降低檢測的誤差。
殘差網絡模塊首先利用2個3×3卷積提取全局特征,增加網絡深度,學習輸入圖像中更深層次的信息。原始的高維空間中含有冗余信息,會對目標檢測造成影響,降低準確率。隨后通過引入1×1的卷積層對其實現降維,加快網絡學習速度,減少冗余信息所造成的誤差,提高識別的精度。同時為了獲取更多目標的細節信息,抑制無關物體所對應的信息,使用通道注意力和空間注意力機制[19]提取更有效特征。
由于淺層特征到深層特征的傳遞路徑較長,其邊緣信息特征容易丟失,導致數據利用率低、檢測精度不理想,為充分利用特征信息,采用級聯操作將第1個卷積網絡的輸出特征與空間注意力機制的輸出特征進行特征融合,作為殘差網絡模塊的輸出特征,這樣保留了特征重復使用的特點,提升數據利用效率。最后,將最終的殘差網絡輸出特征與骨干網絡中剩余網絡的輸出特征相結合,作為下一個骨干網絡的輸入特征,使改進后的骨干網絡能夠提取出檢測對象的全局和局部特征,摒棄與檢測目標無關的信息,進一步提高檢測的準確性。
1.2檢測優化
目標檢測算法會輸出多個檢測邊框,原有的YOLOV4-tiny算法利用非極大值抑制(non-maximumsuppression,NMS)算法[20]去除重復的檢測邊框,達到每個物體只有1個檢測結果的目的。若當前檢測框和最高得分檢測框的交并比大于閾值時,會直接將該檢測框的得分置零,這將導致重疊區域較大的目標被漏檢,降低算法的平均檢測率。針對上述問題,采用Soft-NMS抑制算法[21]來提升性能。
Soft-NMS抑制算法可將當前檢測框得分乘以一個權重函數,該函數會衰減與最高得分檢測框M有重疊的相鄰檢測框分數,越是與M框高度重疊的檢測框,其得分衰減越嚴重,但并不會將檢測框直接刪除。為此文中選擇高斯函數為權重函數,從而修改其刪除檢測框的規則,解決物體重疊時的檢測問題。
2點云分割方法
采用RGB-D相機作為視覺傳感器,可以獲取環境的二維彩色圖像和相應像素的深度圖構建出三維點云。而大多數三維點云分割算法僅僅利用環境中的三維點云信息進行分割,忽略了對應的二維圖像信息。為優化實例層次的分割效果,得到準確率更高的物體分割結果,設計一種融合二維圖像信息的三維點云分割方法。
1)二維實例模型分割。采用GrabCut算法[22]對目標檢測后的關鍵幀圖像進行二維實例模型分割。用RGB三通道混合高斯模型(Gaussianmixturemodel,GMM)描述目標模型和背景模型的像素分布,通過迭代學習獲取物體和無關背景的混合高斯模型參數,評估分割的優劣程度,得到最優的物體分割結果。2)三維點云實例分割。物體的實例分割通過三維點云分割實現。
3實例地圖構建
3.1系統框架
在原始ORB-SLAM2框架的跟蹤、建圖和回環檢測三線程結構中加入YOLOV4-tiny目標檢測線程、點云分割線程和物體庫構建模塊,構建本文建圖方法的整體框架。
3.2地圖維護
依前文所述方法構建實例地圖的過程中,需要建立地圖物體庫存儲采集到的實例物體信息,該物體庫包含物體的屬性信息、類別與概率、中心坐標、對應的關鍵幀和目標物體的三維點云模型。為了提高建圖的效率,本文在SLAM建圖的數據關聯環節設置了篩選機制,在新目標物體加入地圖中時進行判定。對于新檢測到的物體,首先根據物體類別進行篩選,然后計算新點云模型與物體庫中候選點云模型的點云重合度,如果重合度大于設定閾值,則認為是同一個目標,完成物體實例與物品庫中對象的目標關聯,共同維護物體模型,否則添加新的物體模型,并更新物品庫中對象的屬性信息。
4實驗與分析
本文實驗運行平臺為Ubuntu16.04的操作系統,處理器型號為GTX2080TiInteli7-6800k。在自己構造的數據集和TUM數據集[24]上進行了實驗,驗證本文建圖方法的可行性。
4.1目標檢測實驗與分析
4.1.1數據集及評價指標
在COCO數據集[25]的基礎上,結合實際的實驗室環境,采集幾種常見的物體數據一起作為樣本數據,構建樣本數據集。將構造的樣本數據集分成獨立的訓練集、測試集和驗證集3個部分,并在訓練之前對數據集進行了預處理。預處理的方式主要有使用原始圖片、對輸入圖像采用隨機尺度、圖片鏡像、隨機調整曝光和飽和度等。
物體類別的選擇應同實驗場景的檢測相符合,主要完成6種室內常見物體的目標檢測,分別為顯示器、鍵盤、鼠標、椅子、杯子和書本。在檢測結果中會顯示為:Tvmonitor、Keyboard、Mouse、Chair、Cup和Book。在構建的數據集上測試目標檢測算法的檢測精度和運行效率,以平均精度均值(meanaverageprecision,MAP)和每秒處理幀率(framespersecond,FPS)作為衡量標準,并與MobileNet-SSD,MobileNetV3,YOLOV3-tiny,YOLOV4-tiny等算法進行比較。
4.2點云分割實驗與分析
4.2.1數據集及評價指標實驗場景的選取
為TUM數據集rgbd_dataset_freiburg1_desk,其中包含了600對RGB彩色圖像和深度圖像。為了評價分割方法的有效性,選取PCL點云庫中的區域增長分割(regionalgrowthsegmentation,RGS)算法和基于凹凸性的分割(locallyconvexconnectedpatches,LCCP)算法與所提方法進行對比,從運行時間和物體平均分割率兩個方面進行分析,物體平均分割率表示對每一物體分割的正確率,衡量物體精準分割的性能。
4.3建圖實驗與分析
將上述目標檢測和點云分割的方法作為單獨的線程加入ORB-SLAM2框架當中,利用實驗室環境對本文建圖方法的有效性進行驗證,并且在建圖精度和方法性能方面進行評價。原始ORB-SLAM2系統構建的地圖精度較低,地圖中的物體實例輪廓不完整且重影大,鼠標等小物體很難在地圖中被識別。顯示本文方法構建的點云地圖能夠更加直觀地表現出實例信息,地圖中物體輪廓表現的更加完整,地圖精度有明顯提升。完成原始地圖與實例地圖的比較后,對真實環境構建的地圖信息進行時間方面的分析,并添加與系統相似的主流方法作為參考。
由于對物體實例進行了目標檢測和點云分割處理,本文構建的實例地圖中所包含的點云數量大約為ORB-SLAM2構建地圖的2倍,能夠提升物體點云的分割率,點云地圖中的物體實例輪廓更完整。同時,檢測線程的增加,使得建圖過程的時間增加,結合YOLOV3的建圖方法由于檢測算法結構復雜,雖然地圖中的點云數量增多,但對場景的單幀平均處理時間相較本文方法慢了0.08s左右,本文對輕量級檢測算法YOLOV4-tiny的改進,有效提高了計算效率。總體來說,本文建圖方法在保證運行時間的同時能夠生成更精確的實例級點云地圖,驗證了本文方法的可行性。
5結語
傳統視覺SLAM不能對周圍環境進行實例信息感知,導致建圖精度不高,本文提出了一種基于視覺SLAM的實例建圖方法。在ORB-SLAM2系統框架下,首先采用改進的YOLOV4-tiny輕量級目標檢測網絡識別物體實例,兼顧實例信息提取的準確性和實時性,相對于原檢測網絡,檢測準確率提升8.1%;其次,利用改進的點云分割方法,將二維圖像信息與三維點云信息的分割結果進行融合,提高對地圖中實例物體的分割精度;最后,通過構建物體庫來進行地圖維護,實現三維物體實例的數據關聯與模型更新,構建出精確的實例級點云地圖。
電子論文投稿刊物:智能系統學報期刊主要刊登神經網絡與神經計算、智能信息處理、自然語言理解、智能系統工程、機器翻譯、復雜系統、機器學習、知識工程與分布式智能、機器人、智能制造、粗糙集與軟計算、免疫系統、機器感知與虛擬現實、智能控制與智能管理、可拓工程、人工智能基礎、生物信息學與人工生命等內容。
實驗結果表明,相較于原始的ORB-SLAM2建圖系統,本文方法構建的點云地圖能夠保留物體的實例信息,小物體也能很好的在地圖中被識別,地圖精度提升顯著。但本文方法的運行時間有所增加,下一步的研究重點在于保證建圖精度的同時提升運行效果。
參考文獻(References):
[1]王霞,左一凡.視覺SLAM研究進展[J].智能系統學報,2020,15(5):825-834. WANGX,ZUOYF.AdvancesinvisualSLAMresearch[J].CAAITransactionsonIntelligentSystems,2020,15(5):825-834.(inChinese)
[2]程禹,王曉華,王文杰,等.基于改進AKAZE算法的圖像特征匹配方法[J].西安工程大學學報,2020,34(4):51-56.CHENGY,WANGXH,WANGWJ,etal.ImagefeaturematchingmethodbasedonimprovedAKAZEalgorithm[J].JournalofXi’anPolytechnicUniversity,2020,34(4):51-56.(inChinese)
[3]DAVISONAJ,REIDID,MOLTONND,etal.MonoSLAM:real-timesinglecameraSLAM[J].IEEETransactionsonPatternAnalysisandMachineIntelligence,2007,29(6):1052-1067.
作者:王曉華,李耀光,王文杰,張蕾