摘要:針對(duì)基于雙目深度圖的室外大規(guī)模地圖構(gòu)建計(jì)算冗長(zhǎng),而在無人系統(tǒng)的有限算力下,計(jì)算效率需求顯著的情況,文中提出一種基于雙目視覺立體匹配的三維地圖構(gòu)建方法。首先針對(duì)由立體匹配算法及原圖引入的噪聲誤差等問題,采用雙線性插值優(yōu)化視差圖;其次通過中值濾波以平滑視差圖;最后利用Sobel算子實(shí)現(xiàn)對(duì)環(huán)境物體邊緣特征點(diǎn)的提取,并二值化邊緣特征圖,優(yōu)化深度值計(jì)算環(huán)節(jié),在一定程度上提高地圖構(gòu)建的效率。實(shí)驗(yàn)結(jié)果表明,通過對(duì)KITTI數(shù)據(jù)集的地圖構(gòu)建,可得到的良好八叉樹地圖,效率提高了50%,證明了文中算法的可行性與有效性,能夠滿足無人系統(tǒng)在室外路徑探索對(duì)三維地圖的需求。
0 引 言
隨著無人系統(tǒng)對(duì)地圖環(huán)境的亟需,定位與即時(shí)建圖(SLAM)[1]的研究越來越成為的熱點(diǎn),并被認(rèn)為是實(shí)現(xiàn)移動(dòng)機(jī)器人自主化的核心技術(shù),有關(guān)SLAM技術(shù)的應(yīng)用也逐漸從室內(nèi)小規(guī)模環(huán)境向室外大規(guī)模環(huán)境發(fā)展。相比之下,室外大規(guī)模環(huán)境由于所需傳感器作用距離遠(yuǎn),環(huán)境非結(jié)構(gòu)特征顯著,因此更加復(fù)雜,實(shí)時(shí)構(gòu)建的難度更大,硬件成本更高。為實(shí)現(xiàn)無人系統(tǒng)在室外大規(guī)模場(chǎng)下的路徑探索并能及時(shí)反饋周圍環(huán)境信息,構(gòu)建出高效、低成本、可視化的室外地圖成為了亟待解決的關(guān)鍵。近年來,隨著計(jì)算機(jī)視覺技術(shù)及相關(guān)硬件工藝的發(fā)展,出現(xiàn)了許多經(jīng)典的SLAM方法[2]并被應(yīng)用于各個(gè)領(lǐng)域[3],尤其在復(fù)雜的室外環(huán)境下構(gòu)建三維地圖的精度和實(shí)時(shí)性方面。以往有基于視覺稠密點(diǎn)云的 SLAM方法,但存在計(jì)算冗長(zhǎng)、精度不高的問題?,F(xiàn)如今出現(xiàn)不同類型傳感器用于三維建圖,如激光雷達(dá)、RGB?D相機(jī)[4]等。其中,基于激光雷達(dá)的室外建圖方法[5?6]得到的室外地圖精度較高,更為接近真實(shí)環(huán)境,但該方法重建的效果缺乏紋理,僅能反映三維空間信息,且成本較高;基于RGB?D相機(jī)的方法重建的紋理較為清晰,但由于傳感器一般有效距離較短、成本較高、干擾性差,因此不適用于室外復(fù)雜的大規(guī)模建圖。相比之下,基于雙目視覺立體匹配的SLAM方法可通過模擬人類雙眼,利用立體視覺原理從二維圖像中獲取三維信息,適應(yīng)復(fù)雜室外環(huán)境,具有進(jìn)行自動(dòng)、在線、非接觸性檢測(cè),靈活性高、成本低、紋理清晰等優(yōu)點(diǎn),可用于構(gòu)建室外大規(guī)模環(huán)境三維地圖。
基于雙目視覺SLAM的方法雖然優(yōu)點(diǎn)很多,但應(yīng)用于室外大規(guī)模建圖仍然存在計(jì)算冗長(zhǎng)、實(shí)時(shí)性不高、復(fù)雜場(chǎng)景信息導(dǎo)致的深度值誤匹配等問題。針對(duì)基于雙目視覺地圖構(gòu)建的不足和缺點(diǎn),本文在原有的立體匹配算法的基礎(chǔ)上進(jìn)行優(yōu)化和改進(jìn),首先對(duì)原圖像進(jìn)行灰度預(yù)處理并立體校正,基于傳統(tǒng)匹配算法得到視差圖,通過采用左右一致性檢測(cè)出(Left?Right Check)奇異失真點(diǎn);其次利用雙線性插值和中值濾波進(jìn)行修復(fù)優(yōu)化;接著提出一種基于環(huán)境物體邊緣特征點(diǎn)提取的方法;最后結(jié)合位姿信息,構(gòu)建出一種基于邊緣信息的八叉樹地圖,該方法可優(yōu)化地圖構(gòu)建中深度計(jì)算環(huán)節(jié),提高系統(tǒng)的運(yùn)行速度、抗干擾性以及八叉樹地圖的準(zhǔn)確度。
1 雙目立體視覺三維建圖系統(tǒng)
本文系統(tǒng)是根據(jù)左右二維圖像及相機(jī)位姿信息來獲取世界三維空間信息并構(gòu)建八叉樹地圖,具體思路如圖1所示。
1.1 左右圖像校準(zhǔn)
實(shí)際情況下, 雙目相機(jī)得到的原始圖像往往都會(huì)出現(xiàn)畸變, 獲取的雙目圖像對(duì)的共軛極線并不在同一水平上, 通過加入極線約束條件[7], 使得左右圖像的對(duì)極線在同一水平線上,再經(jīng)過一定變換校準(zhǔn)[8],校正相機(jī)引入的誤差。因此,根據(jù)相機(jī)標(biāo)定得到的相機(jī)內(nèi)參矩陣、畸變參數(shù)以及相機(jī)外參(旋轉(zhuǎn)矩陣和平移向量)對(duì)左右圖像進(jìn)行校準(zhǔn)。具體步驟為:首先對(duì)原彩色圖像進(jìn)行灰度處理,得到單通道的灰色圖像;然后根據(jù)相機(jī)標(biāo)定參數(shù)并調(diào)用基于OpenCV[9]的stereoRectify[10]立體校準(zhǔn)函數(shù)得到校正后的旋轉(zhuǎn)矩陣和投影矩陣;接著調(diào)用initUndistortRectifyMap[10]映射變換計(jì)算函數(shù)得到X,Y 方向上映射變換矩陣;最后調(diào)用 remap[10]幾何變換函數(shù)得到校準(zhǔn)后的左右圖像。
1.2 立體匹配算法
本文采用的立體匹配方法[11]是基于SGBM立體匹配方法,以校準(zhǔn)后圖像對(duì)作為立體匹配原圖輸入,得到相對(duì)應(yīng)的視差圖,并獲取正確的環(huán)境深度信息。1)立體匹配原理。立體匹配是根據(jù)左右圖像重疊區(qū)域所提取的特征點(diǎn)來建立左右圖像之間的一種對(duì)應(yīng)關(guān)系,從而找到三維物理空間點(diǎn)位置,并根據(jù)在左右圖像所對(duì)應(yīng)的二維成像點(diǎn),最終得到物理空間點(diǎn)對(duì)應(yīng)的二維視差圖。
2)基于SGBM的視差計(jì)算方法。半全局立體匹配算法SGBM主要源于SGM(Semi?Global Matching)算法,該算法是2005年提出的一種立體匹配算法,現(xiàn)已納入OpenCV庫函數(shù)中。SGM算法是通過計(jì)算像素匹配點(diǎn)的成本,合計(jì)來自8個(gè)或者16 個(gè)方向的匹配代價(jià),根據(jù)相鄰點(diǎn)計(jì)算視差,得到的視差圖更真實(shí)。算法核心步驟為:匹配代價(jià)合計(jì),代價(jià)成本聚合,視差計(jì)算、優(yōu)化及校正。SGM算法核心思想是基于能量函數(shù)估計(jì)視差值,采用的能量函數(shù)如下:
式中:E (D)是半全局能量函數(shù);p為匹配目標(biāo)像素點(diǎn);q是點(diǎn)p的鄰域像素點(diǎn);C(p,Dp)是像素點(diǎn)p與匹配點(diǎn)視差Dp的匹配代價(jià)函數(shù);Dp為目標(biāo)像素點(diǎn)對(duì)應(yīng)的視差值;Dq是鄰域點(diǎn)對(duì)應(yīng)的視差值;P1是對(duì)相鄰像素點(diǎn)視差等于1的懲罰因子;P2是對(duì)相鄰像素點(diǎn)視差大于1的懲罰因子,且P2大于P1。
相比SGM算法, SGBM算法是半全局塊匹配算法,在計(jì)算匹配代價(jià)函數(shù)時(shí),采用塊匹配算 法(SAD)。SGBM算法沒有采用基于互熵信息的匹配代價(jià)的方法,而是增加了預(yù)處理算法,其中SAD窗口的大小決定了視差圖的匹配效率和誤匹配的大小。
3)視差圖后處理。立體匹配過程中,由于多種因素導(dǎo)致獲取的原圖像對(duì)存在不同的遮擋區(qū)域和紋理平滑區(qū)域,半全局算法無法得到準(zhǔn)確的視差,從而會(huì)造成部分視差失真。為了消除失真點(diǎn),本文通過采用左右一致性檢測(cè)出左視差圖存在的失真點(diǎn),并利用雙線性插值和中值濾波對(duì)失真點(diǎn)進(jìn)行修復(fù)優(yōu)化,最后調(diào)用copyMakeBorder函數(shù)[10]進(jìn)行邊界處理, 得到優(yōu)化后的左視差圖, 以及 Middlebury提供的Teddy實(shí)驗(yàn)數(shù)據(jù),結(jié)果如圖2所示。
2 基于邊緣特征點(diǎn)的深度計(jì)算
基于雙目圖像立體匹配得到深度信息,若該過程中計(jì)算了視差圖所有的像素點(diǎn)的深度信息,將會(huì)導(dǎo)致計(jì)算冗長(zhǎng),而視差圖中像素點(diǎn)包含有特征點(diǎn)和非特征點(diǎn)視差值,因此通過邊緣提取并計(jì)算得到邊緣特征點(diǎn)的深度信息,減少了視差中非特征像素點(diǎn)參與的深度計(jì)算,從而降低了系統(tǒng)的整體計(jì)算冗長(zhǎng)。最終根據(jù)相機(jī)位姿和特征點(diǎn)深度信息,構(gòu)建出環(huán)境物體邊緣特征點(diǎn)的八叉樹地圖,可提升地圖構(gòu)建系統(tǒng)的速度,降低地圖構(gòu)建系統(tǒng)的運(yùn)行內(nèi)存強(qiáng)度,從而提高地圖構(gòu)建的實(shí)時(shí)性。首先基于特征點(diǎn)的提取,本文采用雙邊濾波的方式平滑圖像,既可降噪平滑又能極大地保持邊緣信息;接著利用Sobel邊緣算子[12]提取邊緣信息,該算子相比Canny算子[13]效率更高,既能較好地消除噪聲干擾,又可得到較為精準(zhǔn)的邊緣方向信息;最后利用一種自適應(yīng)二值化處理得到基于邊緣特征點(diǎn)的二值圖,并根據(jù)邊緣特征點(diǎn)得到對(duì)應(yīng)特征點(diǎn)的深度信息。
2.1 雙邊濾波平滑圖像
雙邊濾波器[14]是一種非線性濾波,與高斯平滑效果相似,可達(dá)到降噪平滑的效果,但相比高斯濾波[15]又可以很好地保持邊緣信息。其中,雙邊濾波對(duì)每個(gè)像素及其域內(nèi)的像素進(jìn)行了加權(quán)平均處理。其權(quán)重由兩部分組成,一部分是高斯平滑;另一部分是高斯權(quán)重,二者的不同在于高斯不是基于空間距離而是由色彩強(qiáng)度差計(jì)算得來,在多通道圖像上強(qiáng)度差由各分量的加權(quán)累加代替。原理上,雙邊濾波可當(dāng)作是高斯濾波與截尾均值濾波的結(jié)合,權(quán)重原理為與空間相關(guān)的高斯函數(shù)和與灰度距離相關(guān)的高斯函數(shù)相乘,濾波核由空間域核和值域核組成??臻g域核是由像素位置歐氏距離決定的模板權(quán)值,表示為:
值域核是由像素值的差值決定的模板權(quán)值,表示為:
由式(2)和式(3)可推導(dǎo)出雙邊濾波的權(quán)重系數(shù)w,公式如下:
式中:(i, j)為模板窗口當(dāng)前點(diǎn)坐標(biāo);(k,l)為模板窗口的中心坐標(biāo)點(diǎn);σd為空間域的標(biāo)準(zhǔn)差;σr 為值域的標(biāo)準(zhǔn)差。一定情況下,雙邊濾波可當(dāng)作高斯平滑,只是相似程度更高的像素權(quán)值更高,邊緣更明顯,對(duì)比度更高,效果如圖3所示。
2.2 Sobel邊緣算子
Sobel算子[16]是一種離散性差分算子,采用Sobel算子分別計(jì)算圖像在橫向和縱向差分近似值, 分別記作Fx,Fy。
Sobel算子在橫向上的卷積因子記作X方向,X方向上的卷積因子如下:
Sobel算子在縱向上的卷積因子記作Y方向,Y方向上的卷積因子如下:
上述X,Y方向上的Sobel算子,可分別與雙邊濾波后的圖像像素點(diǎn)卷積得到近似值,定義如下:
式中:f(i, j)是圖像坐標(biāo)為(i,j)的灰度值;圖像近似灰度梯度幅值表示為F(i,j)=|Fx|+|Fy|。選取適當(dāng)?shù)拈撝礣, 若F(i, j)>T,則(i, j)記為邊緣點(diǎn),并計(jì)算所有的像素點(diǎn)與T比較,得到的邊緣點(diǎn)集合為邊緣提取的圖像, 結(jié)果見圖4。
2.3 二值化
圖像二值化是數(shù)字圖像處理的一個(gè)重要內(nèi)容,將圖像處理成像素值為0或255,使圖像呈現(xiàn)出明顯黑白的可視效果。然后設(shè)定合適的閾值,當(dāng)圖像某點(diǎn)像素值大于設(shè)定的閾值,則該點(diǎn)的像素值替換成255或0;反之, 該點(diǎn)的像素值替換成0或255。在一定程度上,圖像二值化可呈現(xiàn)出部分特征并降低圖像運(yùn)算。本文采用均值加權(quán)自適應(yīng)二值化,相比固定閾值的二值化,自適應(yīng)二值化采用基于均值加權(quán)算法得到的閾值,由此得到邊緣二值圖更準(zhǔn)確,效果更好,之后調(diào)用copyMakeBorder函數(shù)進(jìn)行邊界處理,最終得到與處理后視差圖相同尺寸的二值圖,結(jié)果如圖5所示。
2.4 深度值計(jì)算
深度值計(jì)算[17]是根據(jù)雙目測(cè)距模型[18]和視差圖獲得空間三維點(diǎn)的過程,其過程主要分為兩部分:提取邊緣特征點(diǎn)和深度值計(jì)算。由于室外環(huán)境復(fù)雜、規(guī)模大,采用水平雙目模型可行性高,其深度值計(jì)算原理如圖6、圖7所示。
假設(shè)三維空間上的一點(diǎn)p(x,y,z),以左相機(jī)為參考坐標(biāo)系,在水平放置的雙目相機(jī)左右鏡頭上的投影點(diǎn)分別為L(zhǎng)(xl,yl),R(xr,yr),Ol,Or 分別為左右鏡頭的中心點(diǎn),f是相機(jī)的焦距,B是雙目相機(jī)的基線,根據(jù)透視變換三角相似性原理可知:
在該模型下視差可表示為:
由式(7)、式(8)可推導(dǎo)出點(diǎn)p的空間坐標(biāo)以及深度值為:
根據(jù)上述三維空間點(diǎn)坐標(biāo)和深度值求解過程, 為滿足室外大規(guī)模復(fù)雜環(huán)境的八叉樹地圖構(gòu)建的精度和效率, 需要提取環(huán)境二維邊緣特征點(diǎn), 并求解出特征點(diǎn)對(duì)應(yīng)的三維空間坐標(biāo)點(diǎn), 而特征點(diǎn)的分布與環(huán)境信息密切相關(guān), 合理的特征點(diǎn)提取方法既能保持地圖的完整性, 又可以降低系統(tǒng)的運(yùn)行復(fù)雜度, 從而保證了系統(tǒng)的實(shí)時(shí)性和高效性。因此, 本文提出一種基于邊緣二值圖的特征點(diǎn)提取的方法, 通過查找邊緣二值圖的特征點(diǎn)坐標(biāo),進(jìn)而得到由視差圖對(duì)應(yīng)特征點(diǎn)視差值,并計(jì)算出空間坐標(biāo)與深度值。
2.5 八叉樹地圖
八叉樹[19]是一種用于三維空間細(xì)分的分層數(shù)據(jù)結(jié)構(gòu),能夠快速存儲(chǔ)三維環(huán)境信息。點(diǎn)云圖是由一系列的三維坐標(biāo)結(jié)合位姿信息計(jì)算得到世界空間點(diǎn)集,且點(diǎn)云地圖規(guī)模較大,需耗費(fèi)大量存儲(chǔ)空間,難以保持地圖高效。因此,相比于點(diǎn)云地圖,在室外大規(guī)模復(fù)雜環(huán)境下,采用八叉樹構(gòu)建地圖可節(jié)省大量?jī)?chǔ)存空間并提高建圖的效率。
3 實(shí)驗(yàn)結(jié)果與分析
通過兩個(gè)算例對(duì)本文提出的基于特征點(diǎn)地圖構(gòu)建的方法進(jìn)行分析,本文采用的數(shù)據(jù)集是目前國(guó)際上最大的室外自動(dòng)駕駛場(chǎng)景下的計(jì)算機(jī)視覺算法評(píng)測(cè)數(shù)據(jù)集——KITTI 數(shù)據(jù)集,數(shù)據(jù)集圖像尺寸大小為1241×376。實(shí)驗(yàn)操作系統(tǒng)是Ubuntu 16.04系統(tǒng),計(jì)算機(jī)硬件配置參數(shù)為:Intel Core i5?3230M處理器、GT720M顯卡、4GB內(nèi)存,其實(shí)驗(yàn)全部在相同參數(shù)下進(jìn)行的。3.1 算例 1
本算例采用KITTI數(shù)據(jù)集中30組雙目采集的圖像對(duì)通過本文算法構(gòu)建的八叉樹地圖與對(duì)應(yīng)環(huán)境深度圖構(gòu)建的八叉樹地圖進(jìn)行對(duì)比,實(shí)驗(yàn)結(jié)果如圖8~圖10所示。
根據(jù)實(shí)驗(yàn)結(jié)果可知,在室外大規(guī)模復(fù)雜環(huán)境下,本文算法構(gòu)建的八叉樹地圖相比采用 RGB?D 相機(jī)獲取的深度圖結(jié)合位姿信息構(gòu)建出的八叉樹地圖,環(huán)境紋理更加清晰,有效距離更遠(yuǎn),構(gòu)建的地圖更完整。
3.2 算例 2
本算例采用KITTI數(shù)據(jù)集中30組雙目采集的原始圖像,對(duì)通過本文算法構(gòu)建的八叉樹地圖與基于原視差圖構(gòu)建的八叉樹地圖進(jìn)行對(duì)比,實(shí)驗(yàn)算例分別記作Example1和 Example2。實(shí)驗(yàn)結(jié)果如圖11~圖13及表1所示,其中表1的時(shí)間取10次實(shí)驗(yàn)的平均值。
由圖11~圖13可知,在室外大規(guī)模復(fù)雜環(huán)境下,圖12、圖13構(gòu)建的八叉樹與圖11的原環(huán)境場(chǎng)景圖進(jìn)行場(chǎng)景對(duì)比,圖11構(gòu)建的地圖最上邊出現(xiàn)了較為明顯的矩形模塊八叉樹地圖誤差,可知本文算法構(gòu)建的八叉樹地圖相比未經(jīng)過特征點(diǎn)提取構(gòu)建的八叉樹地圖更準(zhǔn)確。由表1可知,在消耗的時(shí)間上,實(shí)驗(yàn)編號(hào)為Example1和Example2所消耗的時(shí)間分別占 Example1與Example2之和的總時(shí)間的33.94% 和66.06%,可知本文算法構(gòu)建的八叉樹地圖所消耗的時(shí)間大約只有未經(jīng)過特征點(diǎn)提取構(gòu)建的八叉樹地圖所消耗的時(shí)間的12,地圖構(gòu)建的效率提高了將近 50%。因此,本文算法構(gòu)建出的八叉樹地圖精度更高,并在一定程度上提高了構(gòu)建的效率。
4 結(jié) 語
本文提出一種基于SGBM算法的雙目視覺的八叉樹地圖構(gòu)建的方法,首先針對(duì)立體匹配算法局限性及原圖引入的噪聲誤差等問題,利用雙線性插值和中值濾波修復(fù)優(yōu)化;其次通過 Sobel算子邊緣檢測(cè)并二值化,實(shí)現(xiàn)對(duì)環(huán)境的邊緣特征點(diǎn)的提取,優(yōu)化了深度值計(jì)算環(huán)節(jié),在保證地圖構(gòu)建完整性的情況下,提高了建圖效率。實(shí)驗(yàn)結(jié)果表明,本文提出的算法在一定程度上提高了地圖構(gòu)建的效率和魯棒性,適合室外大規(guī)模地圖構(gòu)建,未來將對(duì)地圖構(gòu)建實(shí)時(shí)性開展進(jìn)一步研究。
作者簡(jiǎn)介:
周思達(dá)(1984—),男,湖南湘潭人,博士研究生,教授,主要研究方向?yàn)闊o人系統(tǒng)導(dǎo)航與控制。
談海浪(1993—),男,湖北黃石人,碩士研究生,主要研究方向?yàn)橛?jì)算機(jī)視覺。
唐嘉寧(1984—),女,云南石屏人,博士研究生,研究員,主要研究方向?yàn)閰f(xié)同制導(dǎo)與控制。
蔣聰成(1995—),男,河南開封人,碩士研究生,主要研究方向?yàn)橛?jì)算機(jī)視覺。
審核編輯:湯梓紅
-
三維
+關(guān)注
關(guān)注
1文章
489瀏覽量
28923 -
雙目視覺
+關(guān)注
關(guān)注
2文章
34瀏覽量
14173
原文標(biāo)題:基于邊緣特征的雙目視覺室外地圖構(gòu)建方法研究 | 論文速覽
文章出處:【微信號(hào):現(xiàn)代電子技術(shù),微信公眾號(hào):現(xiàn)代電子技術(shù)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論