張釜愷,芮挺,何雷,楊成松
(1.中國人民解放軍陸軍工程大學(xué) 研究生院,南京210000; 2.中國人民解放軍陸軍工程大學(xué) 野戰(zhàn)工程學(xué)院,南京210000)
近年來,隨著計(jì)算機(jī)、傳感器以及圖像處理技術(shù)[1]的進(jìn)步,機(jī)器人技術(shù)也得到了蓬勃的發(fā)展?;谝曈X的同步定位與建圖(Simultaneous Localization and Mapping,SLAM)[2]技術(shù)是機(jī)器人領(lǐng)域的重要技術(shù)之一。SLAM 可以利用輸入的連續(xù)圖像來實(shí)時(shí)解算攝像機(jī)的運(yùn)動(dòng)軌跡,并且構(gòu)建場景的地圖用以指導(dǎo)機(jī)器人的行進(jìn)。
室內(nèi)環(huán)境是目前小型機(jī)器人的主要應(yīng)用領(lǐng)域。在包括倉儲(chǔ)物流、工廠物料搬運(yùn)、家居服務(wù)等應(yīng)用場景中,小型機(jī)器人都有很大的應(yīng)用潛力。對于以室內(nèi)為主要工作環(huán)境的小型機(jī)器人來說,單目攝像頭視覺傳感器由于較低的成本、較小的體積以及較高的布置靈活性,是機(jī)器人獲取周圍信息的主要來源。利用單目視覺信息獲取場景信息以指導(dǎo)機(jī)器人的行動(dòng),是相關(guān)研究的重點(diǎn)方向之一。其中,地面可通行區(qū)域的信息,包含了地面的紋理與可通行地面的范圍,可以直接用于對機(jī)器人的導(dǎo)航。地面可通行區(qū)域的建??梢詾橹笇?dǎo)機(jī)器人的行動(dòng)提供很大的便利。
然而,由于室內(nèi)小型機(jī)器人的體積小、視角低、運(yùn)算能力弱、視場有限,應(yīng)用視覺SLAM 方法來實(shí)時(shí)理解場景較為困難。能夠構(gòu)建稠密地圖的SLAM方法對于計(jì)算資源有著較高的要求,不適合運(yùn)算能力較弱的小型機(jī)器人使用。而且,由于其視野內(nèi)的主要部分為地面且紋理特征較少,基于特征與梯度的SLAM方法只能獲得極為稀疏的地圖,對于場景的表現(xiàn)能力較差,無法指導(dǎo)機(jī)器人行動(dòng)。但另一方面,絕大多數(shù)室內(nèi)地面均為平面,而且紋理分布較為均勻,這又為地面的建模提供了方便。
針對此問題,本文提出了一種融合圖像分割與單目SLAM的室內(nèi)地面快速建模方法來獲取機(jī)器人的可通行區(qū)域。該方法基于單目特征點(diǎn)SLAM,并結(jié)合圖像分割,利用SLAM 生成的點(diǎn)云與圖像分割之間的相互印證來提高地面構(gòu)建的準(zhǔn)確性。最終,生成地面可通行區(qū)域的稠密建模,用以指導(dǎo)機(jī)器人的行動(dòng)。
通過實(shí)驗(yàn)與對比,在小型移動(dòng)機(jī)器人平臺(tái)上,相對于主流SLAM 方案,本文方法可以顯著提高對于地面建模的效果,并且滿足在移動(dòng)平臺(tái)上實(shí)時(shí)處理的要求。相比較于經(jīng)典的單目SLAM 方法,本文方法的運(yùn)行速度接近特征點(diǎn)SLAM,而對地面可通行區(qū)域的建模效果則接近稠密,對于機(jī)器人的行動(dòng)有較大的參考價(jià)值。
SLAM問題自1988年被提出,經(jīng)過近30年的發(fā)展,取得了豐碩的成果。單目SLAM 目前主要有2條技術(shù)路線。直接法SLAM直接利用像素的亮度或梯度來匹配圖像間的像素,并可以在解算相機(jī)運(yùn)動(dòng)的同時(shí)生成稠密[3-4]或者半稠密[5-6]的場景地圖。特征法SLAM 利用點(diǎn)[7-8]或者線特征[9]來匹配圖像間的點(diǎn)或者線,進(jìn)而解算相機(jī)運(yùn)動(dòng)并生成只包括特征點(diǎn)或線的場景地圖。
在建模方面,直接法生成的稠密或半稠密地圖相對于特征法生成的稀疏地圖有著更多的點(diǎn),對于場景的描述也更加具有表現(xiàn)力。其中,代表性的系統(tǒng)有2011年的DTAM(Dense Tracking and Mapping)[10]、2014年 的LSD-SLAM(Large-Scale Direct monocular SLAM)[11]等。然而,雖然基于特征的SLAM系統(tǒng)只能獲得稀疏的地圖,但是一般來說具有更快的速度。而且由于便于使用束集調(diào)整(Bundle Adjustment,BA[12])進(jìn)行優(yōu)化,并進(jìn)行回環(huán)檢測[13],特征法獲取的軌跡一般來說更加準(zhǔn)確與魯棒。在特征法SLAM 中,2007年的Mono-SLAM系統(tǒng)[14]與同一年的PTAM(Parallel Tracking and Mapping)[15]是這一領(lǐng)域具有開創(chuàng)性的成果。2015 年 的 ORB-SLAM (ORiented Brief SLAM)[16]系統(tǒng)各項(xiàng)功能較為完備,已經(jīng)被廣大研究者用作后續(xù)二次開發(fā)研究的基礎(chǔ)系統(tǒng)。
為了在保持穩(wěn)定跟蹤的同時(shí),獲得更加稠密的地圖,有一些方法在特征法的基礎(chǔ)上進(jìn)行場景重建。2010年,Newcombe和Davison[17]提出的方法是在獲取了相機(jī)位姿與稀疏點(diǎn)云的基礎(chǔ)上,利用光流來重建場景表面。2015年,Murartal和Tardos基于ORB-SLAM系統(tǒng),利用逆深度濾波像素匹配,構(gòu)建了基于概率的半稠密場景地圖[18]。一般來說,此類方法的基本思想為基于SLAM 獲得的相機(jī)軌跡對圖像像素進(jìn)行匹配,并計(jì)算其空間位置。此類思路雖然可以結(jié)合直接法和特征點(diǎn)法的優(yōu)點(diǎn),但是運(yùn)算量也大大提升,并不符合小型移動(dòng)平臺(tái)的運(yùn)算能力。
為了提高運(yùn)算的速度,以適應(yīng)小型移動(dòng)平臺(tái)較低的運(yùn)算能力,近年來,基于視覺的低成本建模方法也成為了一個(gè)有意義的研究方向。2016年,Hinzmann等[19]提出了一種針對無人機(jī)平臺(tái)的低成本地面建模方法,利用無人機(jī)自身的傳感器感知姿態(tài),并結(jié)合圖像處理方法獲得對于地面的稠密建模。但是,該方法基于的圖像內(nèi)容全部為地面,不適用于小型地面無人車。2017年,蒙山和唐文名將直線引入點(diǎn)特征單目SLAM,并通過點(diǎn)線特征以及直線增強(qiáng)的J-Linkage算法構(gòu)建包含特征平面的場景地圖[20],但是該地圖相對于純特征點(diǎn)地圖,對場景描述效果的提升有限。2017年,von Stumberg等[21]針對小型旋翼無人機(jī),基于LSD-SLAM提出了一種本地探索避障策略與體素模型構(gòu)建方法,但是對于地面的建模效果較差。2018年,蔣林等[22]對基于嵌入式平臺(tái)三維重建算法進(jìn)行了研究,針對差動(dòng)式機(jī)器人的運(yùn)動(dòng)特點(diǎn)對算法進(jìn)行了針對性的簡化,但是所利用的視覺傳感器為深度相機(jī)而非單目相機(jī)。
總體來說,現(xiàn)有的主流單目SLAM 系統(tǒng)在小型室內(nèi)機(jī)器人上運(yùn)行時(shí),由于平臺(tái)自身的特點(diǎn),或是地圖構(gòu)建過于稀疏;或是雖地圖稠密,但不能實(shí)現(xiàn)實(shí)時(shí)運(yùn)行。一般并不能在構(gòu)建場景方面取得令人滿意的效果。而現(xiàn)有的低成本建模方法中,針對小型地面機(jī)器人特點(diǎn)的研究不多,尚未出現(xiàn)較為合適的地面區(qū)域低成本建模方法。
本文提出的融合圖像分割與單目SLAM的室內(nèi)地面快速建模方法構(gòu)建在單目特征點(diǎn)SLAM的基礎(chǔ)上,利用SLAM 系統(tǒng)獲得的相機(jī)位姿與稀疏點(diǎn)云,結(jié)合地面區(qū)域的分割圖像獲得地面的稠密建模。
系統(tǒng)的基本流程如下:首先,利用SLAM系統(tǒng)獲得的相機(jī)位姿與稀疏點(diǎn)云。其次,利用地面區(qū)域的分割圖像,將稀疏點(diǎn)云中投影在地面區(qū)域的點(diǎn)提取出來,獲取粗略的地面稀疏點(diǎn)云。然后,進(jìn)行濾波后,利用優(yōu)化模型對這些地面點(diǎn)擬合平面,獲取地平面的數(shù)學(xué)表達(dá)。之后,通過計(jì)算稀疏點(diǎn)云中的點(diǎn)與該地平面之間的位置關(guān)系,將它們相對精確地分為地面與非地面點(diǎn)云。再利用該分類來篩選地面分割圖像。最后,通過相機(jī)的位姿,將篩選過的地面分割圖像投影到地面平面上,并進(jìn)行濾波與降噪,獲得稠密的地面建模。整個(gè)系統(tǒng)的流程示意圖如圖1所示。
后文將對本文方法流程中的各主要功能模塊逐一進(jìn)行介紹。
圖1 本文方法整體流程圖Fig.1 Flowchart of proposed method
本文使用ORB-SLAM[16]作為系統(tǒng)的單目SLAM模塊。ORB-SLAM 是一個(gè)功能完善,接口便捷的單目SLAM 系統(tǒng)。整個(gè)系統(tǒng)圍繞ORB點(diǎn)特征建立,在效率與精度之間達(dá)到了較好的平衡,自發(fā)表以來就被研究者們所廣泛使用。該系統(tǒng)包含3個(gè)平行的線程:跟蹤線程(tracking thread)、局部建圖線程(local mapping thread)和回環(huán)檢測線程(loop closing thread)。其中,跟蹤線程負(fù)責(zé)計(jì)算相機(jī)的運(yùn)動(dòng),以及指定關(guān)鍵幀,并在跟蹤丟失時(shí)負(fù)責(zé)重定位;局部建圖線程主要負(fù)責(zé)用局部束集調(diào)整(local BA)來對局部地圖進(jìn)行優(yōu)化,以及地圖點(diǎn)的插入和刪除;回環(huán)檢測線程主要負(fù)責(zé)進(jìn)行回環(huán)檢測,在有回環(huán)出現(xiàn)時(shí)進(jìn)行閉環(huán)全局優(yōu)化。
在SLAM進(jìn)程對相機(jī)位姿進(jìn)行跟蹤的同時(shí),系統(tǒng)對每一幀輸入圖像進(jìn)行分割,以獲得地面區(qū)域的分割圖像。由于系統(tǒng)獲得的是一個(gè)地面分割的圖像序列,并且還需要和點(diǎn)云數(shù)據(jù)進(jìn)行比對,所以對于單張地面分割圖像的精度要求不高,但是對于圖像分割的速度有著較高的要求,這使得采用目前主流的深度學(xué)習(xí)語義分割的方法[23]較為困難?;谝陨戏治觯疚牟捎没贖SV(Hue,Saturation,Value)色彩空間的自適應(yīng)閾值分割方法來對地面區(qū)域進(jìn)行分割。
計(jì)算機(jī)存儲(chǔ)和處理圖片時(shí)一般采用的顏色編碼方式是RGB顏色空間,其將顏色按紅、綠、藍(lán)3個(gè)維度上的分量進(jìn)行編碼,而HSV顏色空間是按照色度、飽和度和亮度來進(jìn)行編碼,分別對應(yīng)H、S、V 3個(gè)分量,更貼近人眼的視覺感知,受光照的影響也更小[24]。在本文的分割方法中,先將待分割的圖像轉(zhuǎn)化到HSV色彩空間。
由于室內(nèi)小型機(jī)器人在運(yùn)動(dòng)過程中會(huì)與障礙物保持一定距離,所以其攝像頭拍攝圖像的中間底部一般為地面區(qū)域?;诖思僭O(shè),對于輸入圖像I,本系統(tǒng)設(shè)定圖像的底部中間區(qū)域?yàn)槟J(rèn)地面區(qū)域MG,其位置與尺寸如圖2(a)所示。首先,統(tǒng)計(jì)得到默認(rèn)地面區(qū)域MG內(nèi)H、S、V 3個(gè)分量的最值。然后對全圖像的每個(gè)像素pi進(jìn)行判斷:
式中:HG、SG、VG分別為默認(rèn)地面區(qū)域MG中所有像素H、S、V分量的集合;hi、si、vi分別為像素pi的H、S、V分量。若像素pi的3個(gè)分量均在默認(rèn)地面區(qū)域MG的分量范圍內(nèi),該像素就被加入候選地面區(qū)域G1,如圖2(b)所示。
在獲取候選地面區(qū)域之后,還需要進(jìn)行后續(xù)的濾波與處理。首先進(jìn)行開操作(采用運(yùn)算符號“○”表示)。開操作用于使對象的輪廓變得光滑,斷開狹窄的間斷和消除細(xì)的突出物。開操作的流程是先用結(jié)構(gòu)元素S對G1腐蝕(采用運(yùn)算符號“⊕”表示),然后再用S對結(jié)果進(jìn)行膨脹(采用運(yùn)算符號“?”表示)[25]。將候選地面區(qū)域G1用開操作處理后,得到區(qū)域G2:
區(qū)域G2如圖2(c)所示。其中,本文方法采用的結(jié)構(gòu)元素S為半徑為2像素的圓形結(jié)構(gòu)。
最后對區(qū)域進(jìn)行連通域劃分,劃分結(jié)果如圖2(d)所示。選取默認(rèn)地面區(qū)域MG所在的連通域作為分割得到的地面區(qū)域G3,如圖2(e)所示。獲得的地面分割圖像如圖2(f)所示。
在SLAM模塊向稀疏點(diǎn)云地圖中添加每一個(gè)空間地圖點(diǎn)Qi時(shí),都會(huì)判斷該點(diǎn)在其對應(yīng)的地面分割圖像上是否位于地面區(qū)域。如果位于地面區(qū)域,則將該點(diǎn)加入地面點(diǎn)云Cg。
然后,利用該地面點(diǎn)云來獲得地平面的數(shù)學(xué)表達(dá)。由于點(diǎn)云位置計(jì)算誤差以及地面分割誤差的存在,在后續(xù)處理之前,需要先去除地面點(diǎn)云中明顯的誤差離群點(diǎn)。本文采用統(tǒng)計(jì)濾波的方法進(jìn)行離群點(diǎn)的去除[26]:
1)計(jì)算點(diǎn)Qi與其鄰域范圍內(nèi)k個(gè)鄰域點(diǎn)的平均距離。
2)分析所有點(diǎn)k鄰域平均距離,計(jì)算其均值m和標(biāo)準(zhǔn)差σ。
3)設(shè)置標(biāo)準(zhǔn)差倍數(shù)閾值std,確定距離閾值為
4)若點(diǎn)Qi的k鄰域平均距離大于距離閾值d,則為噪聲點(diǎn),去除。
本文方法的應(yīng)用環(huán)境是地面為平面的室內(nèi)環(huán)境。建立優(yōu)化模型對經(jīng)過統(tǒng)計(jì)濾波的地面點(diǎn)云Cg′進(jìn)行平面擬合,使點(diǎn)到平面的總距離最小。設(shè)地平面F的表達(dá)式為
優(yōu)化模型為
在獲取了地平面F的表達(dá)式后,系統(tǒng)對地面分割圖像進(jìn)行篩選。對于每一個(gè)關(guān)鍵幀,系統(tǒng)計(jì)算其觀察到的所有地圖點(diǎn)與地平面F的位置關(guān)系,并將所有位于地平面F上方μ(單位為cm)以上的點(diǎn)視為非地面點(diǎn),其余視為地面點(diǎn)。
若某張地面分割圖像的地面區(qū)域上有超過n個(gè)非地面點(diǎn)的投影,則略去這張分割。在本文的實(shí)驗(yàn)中,略去的分割如圖3所示(其中紅色為非地面點(diǎn),綠色為地面點(diǎn))。
從圖3可以看出,將墻體下沿的部分瓷磚也劃入了地面分割,從而包括了大量非地面點(diǎn),并因此被略去。
圖3 被略去的地面分割圖像示例Fig.3 An example of excluded ground segmentation image
至此,系統(tǒng)通過對稀疏點(diǎn)云與地面分割圖像的交叉比對,已經(jīng)獲得了相對精確的地平面與分割圖像。利用關(guān)鍵幀的位姿,將地面分割圖像投影到地平面上即可得到稠密的地面點(diǎn)云模型,如圖4所示。
首先,通過相機(jī)內(nèi)參矩陣K,將地面分割圖像上的像素pi從圖像坐標(biāo)[u,v]T反投影到相機(jī)坐標(biāo)系中,獲得相機(jī)坐標(biāo)系下的坐標(biāo)PC=[Xc,Yc,]T:
式中:深度值ZC為未知量。
然后,通過該幀的相機(jī)位姿變換矩陣Twc,將相機(jī)坐標(biāo)系下的坐標(biāo)轉(zhuǎn)換到世界坐標(biāo)系坐標(biāo)Pw,即
圖4 將分割圖像投影到地平面對地面建模Fig.4 Projecting segmented images to groundplane for ground modeling
該世界坐標(biāo)(xw,yw,zw)應(yīng)該在平面F上,即
利用式(8)解出未知深度ZC,即可以得到該像素點(diǎn)對應(yīng)的世界坐標(biāo)。對所有地面分割圖像如此操作后,再進(jìn)行體素濾波,設(shè)定濾波半徑為0.01,即半徑0.01的范圍內(nèi)只保留一個(gè)點(diǎn)。最終,得到地面的稠密點(diǎn)云模型。
為了驗(yàn)證本文方法的可行性與實(shí)用性,使用搭載了單目攝像頭的小型機(jī)器人獲取數(shù)據(jù)。數(shù)據(jù)的處理使用筆記本電腦,搭載Ubuntu 16.04系統(tǒng),處理器(CPU)為Intel 4 200 H,內(nèi)存4 G。并同樣的環(huán)境中用同樣的平臺(tái)運(yùn)行了ORB-SLAM 系統(tǒng),與本文的系統(tǒng)相對比。
分別以辦公室與教室作為實(shí)驗(yàn)環(huán)境。其中,辦公室的地面為瓷磚,顏色與紋理相對連續(xù),但是如圖5(a)所示,地面存在很嚴(yán)重的倒影現(xiàn)象。教室場景較為簡單,光照較為均勻,但是如圖5(b)所示,教室的地面上存在明顯的黑色地磚縫,地面色彩與紋理不連續(xù)。2個(gè)實(shí)驗(yàn)環(huán)境對于地面區(qū)域的建模均具有一定的挑戰(zhàn)。
經(jīng)過預(yù)實(shí)驗(yàn),在實(shí)驗(yàn)中將點(diǎn)云的統(tǒng)計(jì)濾波參數(shù)設(shè)置為k=10,std=1,將地面分割圖像篩選過程中的參數(shù)設(shè)置為μ=3 cm,n=50。
圖5 實(shí)驗(yàn)環(huán)境Fig.5 Experimental environment
3.1.1 辦公室場景
辦公室環(huán)境和機(jī)器人的運(yùn)動(dòng)軌跡如圖6所示。本文方法得到的稠密地面建模與非地面稀疏點(diǎn)云如圖7所示。ORB-SLAM得到的場景稀疏點(diǎn)云如圖8所示。
圖6 辦公室環(huán)境與機(jī)器人運(yùn)動(dòng)軌跡Fig.6 Office environment and robot movement track
辦公室場景的地面可通行區(qū)域邊界本身就并不明晰,所以建模的邊緣并不規(guī)則。但是本文方法得到的模型能夠基本準(zhǔn)確地反映通路的寬窄與通過情況,例如中間一段通路中最細(xì)的部分反映了因墻面突起造成的障礙。
圖7 本文方法得到的辦公室稠密地面建模與非地面稀疏點(diǎn)云Fig.7 Office dense ground modeling and non-ground sparse point cloud obtained by proposed method
圖8 ORB-SLAM得到的辦公室稀疏點(diǎn)云Fig.8 Office sparse point cloud obtained by ORB-SLAM
3.1.2 教室場景
教室環(huán)境和機(jī)器人的運(yùn)動(dòng)軌跡如圖9所示。本文方法得到的稠密地面建模與非地面稀疏點(diǎn)云如圖10所示。ORB-SLAM 得到的場景稀疏點(diǎn)云如圖11所示。
圖9 教室環(huán)境與機(jī)器人運(yùn)動(dòng)軌跡Fig.9 Classroom environment and robot movement track
圖10 本文方法得到的教室稠密地面建模與非地面稀疏點(diǎn)云Fig.10 Classroom dense ground modeling and non-ground sparse point cloud obtained by proposed method
圖11 ORB-SLAM得到的教室稀疏點(diǎn)云Fig.11 Classroom sparse point cloud obtained by ORB-SLAM
教室場景的地面比較規(guī)則,本文方法所建的模型較好地還原了通行區(qū)域的地面情況。但是由于通路狹窄,在轉(zhuǎn)彎的位置相機(jī)面對旁邊的課桌,地面的圖像區(qū)域不足,造成轉(zhuǎn)彎部分建模效果稍差。
3.1.3 建模效果
從圖11中可以看出,原ORB-SLAM 生成的點(diǎn)云十分稀疏,只是標(biāo)記了特征點(diǎn)的位置,根本無法從中獲得地面的位置以及場景的有效信息,對場景的還原效果較差,基本不能用于對場景的描述,指導(dǎo)機(jī)器人行動(dòng)。而本文方法獲得了對于地平面的稠密建模,基本涵蓋了機(jī)器人視野范圍內(nèi)的可通行區(qū)域。相比較原ORB-SLAM 算法,本文方法生成的地圖更具有實(shí)用性。
在實(shí)際的運(yùn)行中,本文方法與ORB-SLAM 算法平均每一幀各階段的運(yùn)算時(shí)間如表1所示。
從表1數(shù)據(jù)可以看出,相比較于ORB-SLAM,本文方法中的SLAM運(yùn)算時(shí)間基本不變。增加的計(jì)算時(shí)間中,占比最大的部分是圖像的分割與地面稠密建模。由于本文方法添加的操作全部是基于關(guān)鍵幀的,所以實(shí)際平均到每一幀的時(shí)間都很短。總體來看,本文方法能夠達(dá)到21幀/s的平均運(yùn)行速度,ORB-SLAM的平均運(yùn)行速度約為30幀/s。本文方法約為ORB-SLAM的70%,能夠滿足預(yù)期的應(yīng)用要求。
表1 平均每幀運(yùn)算時(shí)間Table 1 Average operation time per frame
由于單目SLAM方法生成的空間數(shù)據(jù)具有尺度不確定性,所以為分析本文方法的建模精度,首先將生成的相機(jī)軌跡與真實(shí)的軌跡進(jìn)行配準(zhǔn),得到數(shù)據(jù)的正確尺度后,再與實(shí)際數(shù)據(jù)相對比,進(jìn)行精度分析。而ORB-SLAM得到的稀疏點(diǎn)云地圖則過于稀疏,基本上無法從中提取通路的位置與具體范圍,精度也無從談起,故不對其進(jìn)行精度分析。
3.3.1 地平面的位置還原精度
本文方法對地面進(jìn)行還原的重要步驟是擬合地平面。由于搭載的相機(jī)高度已知,通過對比相機(jī)真實(shí)高度與相機(jī)和擬合地平面之間的平均距離,可以得到地平面的位置還原精度,如表2所示??梢姡仄矫嫖恢玫倪€原平均絕對誤差為5.8%。
3.3.2 場景建模精度
在2個(gè)場景中,分別在系統(tǒng)生成的稠密地面模型上選取3處通路的寬度進(jìn)行測量,與實(shí)際地面上通路的寬度進(jìn)行對比,以分析方法的場景建模精度。由于轉(zhuǎn)彎處存在遮擋,相機(jī)拍不到通路的全貌,故選取直線前行的部分通路作為實(shí)驗(yàn)分析的對象。
1)辦公室
對地面上3段通路的寬度進(jìn)行測量(見圖12)。
與真實(shí)的寬度進(jìn)行對比,得到的結(jié)果如表3所示。
通過對地面3處通路的寬度進(jìn)行測量后,我們發(fā)現(xiàn)a處和b處精度較高,而c處誤差較大。經(jīng)分析,這部分的誤差較大主要是由于地面倒影的影響,分析詳見后文3.4.1節(jié)。
2)教室
對系統(tǒng)生成的稠密地面模型進(jìn)行測量,對地面上3段通路的寬度進(jìn)行測量(見圖13)。
表2 地平面位置還原精度Table 2 Accuracy of ground plane position restoration
圖12 辦公室通路寬度測量Fig.12 Path width measurement of office
表3 辦公室地面建模精度Table 3 Ground modeling accuracy of office
圖13 教室通路寬度測量Fig.13 Path width measurement of classroom
與真實(shí)的寬度進(jìn)行對比,得到的結(jié)果如表4所示(b處下方藍(lán)圈內(nèi)為兩條通路交叉的位置,并非通路寬度)。
通過對地面3處通路的寬度進(jìn)行測量后,發(fā)現(xiàn)a處和b處精度較高,而c處相對誤差較大。經(jīng)分析,該部分誤差主要由地面紋理不連續(xù)造成,分析詳見后文3.4.2節(jié)。
表4 教室地面建模精度Table 4 Ground modeling accuracy of classroom
3.4.1 地面倒影
在圖12辦公室建模的c處,這一區(qū)域攝像機(jī)面向窗戶,由于室外亮度較大,在地面瓷磚上產(chǎn)生了倒影,使得地面中間區(qū)域亮度較高,地面的顏色出現(xiàn)了較大區(qū)別。對于地面劃分出現(xiàn)了一定的誤差,如圖14所示。
圖14 地面倒影對圖像分割的影響Fig.14 Effect of ground reflection on image segmentation
3.4.2 地面不均勻紋理
地面的不均勻紋理對于本文方法存在一定的影響。在教室中,地面存在明顯的地磚縫,導(dǎo)致有少部分圖像對于地面區(qū)域的分割不連續(xù),經(jīng)過連通域計(jì)算后只留下一塊地磚內(nèi)的地面,如圖15所示。
根據(jù)對于重建效果的觀察和重建精度的分析,雖然存在倒影與地面紋理不均勻造成的圖像分割誤差,但是它們對于整體的地面重建效果影響較為有限。由于本文方法利用了圖像的序列整體信息,對于部分圖像的信息缺失,可以通過序列中其他相對正確的分割投影所掩蓋。
圖15 地面不均勻紋理對圖像分割的影響Fig.15 Effect of uneven texture of ground on image segmentation
關(guān)于場景的建模,從場景中獲取有意義的信息。速度與效果間的矛盾一直是研究中一個(gè)繞不過去的問題。近年來,國內(nèi)外有許多研究試圖在二者之間達(dá)到合適的平衡。本文結(jié)論如下:
1)對于室內(nèi)小型機(jī)器人這一特定應(yīng)用平臺(tái),以及室內(nèi)環(huán)境這一特定場景,很多問題可以得到簡化。
2)本文方法最大限度地利用了特定環(huán)境與特定需求,將對全場景的建模簡化為地面的建模,將圖片深度的求取簡化為直接投影在地平面上,可以用盡可能小的計(jì)算量來為機(jī)器人實(shí)時(shí)提供盡可能多的信息。
3)實(shí)驗(yàn)證明,本文方法可以以接近特征點(diǎn)SLAM 的速度,生成較為準(zhǔn)確的地面可通行區(qū)域稠密建模。點(diǎn)云與分割的交叉驗(yàn)證以及圖像序列的使用也可以在相當(dāng)程度上抵消地面倒影、地面分割困難等不利情況的影響。