牛佳鈺,王智煒,陳蘇,胡青龍,王世峰,3
(1.長(zhǎng)春理工大學(xué) 光電工程學(xué)院,長(zhǎng)春 130022;(2.中國(guó)空間技術(shù)研究院西安分院,西安 710000;3.長(zhǎng)春理工大學(xué) 中山研究院,中山 528437)
隨著當(dāng)今社會(huì)科技的不斷進(jìn)步,三維重建變得越來(lái)越重要。無(wú)論是在當(dāng)今最熱的無(wú)人車技術(shù)方面[1],還是在對(duì)有危險(xiǎn)且不適合人類探索的環(huán)境中,都需要應(yīng)用激光雷達(dá)對(duì)周圍的環(huán)境進(jìn)行三維重建。三維重建技術(shù)如今已經(jīng)應(yīng)用在各個(gè)行業(yè)領(lǐng)域。
目前,在對(duì)環(huán)境感知與三維重建方面主要有兩種實(shí)現(xiàn)方法。一種是基于相機(jī)視覺的三維重建,一種是基于激光雷達(dá)的三維重建[2]。漆麗君等人[3]利用雙目視覺測(cè)量原理,在不同的拍攝位置拍攝同一場(chǎng)景,根據(jù)得到兩幅圖像的視覺差構(gòu)建三維模型。于寧波等人[4]提出了一種基于RGB-D相機(jī)采集數(shù)據(jù)進(jìn)行三維構(gòu)建。這類方法對(duì)光照強(qiáng)度的要求特別嚴(yán)格,而且易受光照影響,這就導(dǎo)致該類方法具有不穩(wěn)定性。針對(duì)無(wú)法360°全方位重構(gòu)這一問(wèn)題。楊力等人[5]采用Ladybug3全景相機(jī)與Velodyne HDL 64E多線激光雷達(dá)進(jìn)行數(shù)據(jù)融合,來(lái)實(shí)現(xiàn)360°全方位三維重建。雖然該方法實(shí)現(xiàn)了全方位的三維重建,但無(wú)論是Ladybug3全景相機(jī)還是Velodyne HDL 64E多線激光雷達(dá)價(jià)格都是昂貴的,這兩個(gè)傳感器采集的數(shù)據(jù)很大,導(dǎo)致在數(shù)據(jù)融合與處理上會(huì)花費(fèi)大量的時(shí)間。2014年,Achmad H等人[6]采用Hokuyo URG-04與6-DOF IMU進(jìn)行數(shù)據(jù)相融,Achmad H使用IMU測(cè)得的Hokuyo旋轉(zhuǎn)的角度值并且與Hokuyo所測(cè)得的距離值進(jìn)行匹配,從而實(shí)現(xiàn)三維重建。該方案成本較低、操作簡(jiǎn)單,但進(jìn)行兩種傳感器數(shù)據(jù)融合會(huì)存在無(wú)法消除的誤差,從而導(dǎo)致實(shí)驗(yàn)結(jié)果誤差較大。2020年,Ni Y等人[7]提出了目標(biāo)3D重建和姿勢(shì)測(cè)量的方法,根據(jù)圖像對(duì)應(yīng)點(diǎn)的幾何關(guān)系,使用可見雙筒望遠(yuǎn)鏡相機(jī)可以恢復(fù)場(chǎng)景的3D信息,該方法效果較好,但是成本高,操作復(fù)雜。根據(jù)以上對(duì)激光雷達(dá)三維重建目前存在問(wèn)題及研究需求的分析,本文設(shè)計(jì)了一套360°旋轉(zhuǎn)的UTM-30LX單線激光雷達(dá)掃描系統(tǒng),該設(shè)計(jì)無(wú)需與IMU相結(jié)合,而是結(jié)合步進(jìn)電機(jī),完成全周掃描任務(wù)。本文將空間坐標(biāo)算法與3D-NDT算法相結(jié)合,完成單線激光雷達(dá)對(duì)小范圍空間場(chǎng)景的三維重建。
傳統(tǒng)的方法是將單線激光雷達(dá)與IMU相結(jié)合,對(duì)環(huán)境進(jìn)行三維重建,由IMU去采集單線激光雷達(dá)的旋轉(zhuǎn)角度。本文的設(shè)計(jì)不需要與IMU相結(jié)合,而是將UTM-30LX單線激光雷達(dá)旋轉(zhuǎn)90°后固定在步進(jìn)電機(jī)的旋轉(zhuǎn)軸上,順時(shí)針旋轉(zhuǎn)。步進(jìn)電機(jī)的結(jié)構(gòu)設(shè)計(jì)如圖1所示。
圖1 步進(jìn)電機(jī)結(jié)構(gòu)設(shè)計(jì)
UTM-30LX單線激光雷達(dá)測(cè)量角度范圍是270°,每幀數(shù)據(jù)有1 081個(gè)點(diǎn)。測(cè)量區(qū)域示意圖如圖2所示。UTM-30LX單線激光雷達(dá)的性能參數(shù)如下:工作電壓為12.0 V DC±10%;環(huán)境溫度控制在-10 °C~50 °C范圍內(nèi);測(cè)量精度在0.1~10 m范圍內(nèi)達(dá)到±30 mm,在10~30 m范圍內(nèi)達(dá)到±50 mm;掃描頻率為40 Hz。
圖2 測(cè)量區(qū)域示意圖
根據(jù)UTM-30LX單線激光雷達(dá)的特性設(shè)單線激光雷達(dá)每一幀的數(shù)據(jù)有n′個(gè)點(diǎn),掃描一周的時(shí)間為s1(s1=25 ms),它所測(cè)得的距離數(shù)據(jù)為p,單線激光雷達(dá)旋轉(zhuǎn)一周的時(shí)間為s2(s2=3000 ms),單線激光雷達(dá)發(fā)射相鄰兩個(gè)點(diǎn)與單線激光雷達(dá)連線的夾角a為:
單線激光雷達(dá)發(fā)射的每個(gè)點(diǎn)的時(shí)間間隔c為:
單線激光雷達(dá)在c時(shí)間內(nèi)旋轉(zhuǎn)角度b為:
以單線激光雷達(dá)的位置為原點(diǎn),令單線激光雷達(dá)正面為x軸,右側(cè)面為y軸,上方為z軸建立直角坐標(biāo)系??芍獑尉€激光雷達(dá)第一個(gè)點(diǎn)與單線激光雷達(dá)的連線和x軸負(fù)半軸夾角為45°。這樣單線激光雷達(dá)第一個(gè)點(diǎn)的坐標(biāo)可以寫成:
當(dāng)ni為1 081時(shí)返回初始值ni=1,直到mi為32 430結(jié)束。以此類推,可以計(jì)算出單線激光雷達(dá)在旋轉(zhuǎn)到其他角度的點(diǎn)云空間坐標(biāo)方程。
正態(tài)分布變換算法(3D-NDT)是Magnusson等人[7]根據(jù)2D-DNT算法改進(jìn)而來(lái)。該算法是將離散的點(diǎn),用分段、連續(xù)、可微的概率密度函數(shù)表示出來(lái),根據(jù)概率密度函數(shù)將點(diǎn)云配準(zhǔn)。該算法首先將第一組點(diǎn)云x作為目標(biāo)點(diǎn)云,將該組點(diǎn)云分成若干個(gè)單元,計(jì)算每個(gè)單元的均值u與協(xié)方差矩陣Σ,其中xk=1,2,…,m是單元中點(diǎn)的位置。均值u表示為:
假設(shè)參考掃描表面點(diǎn)的位置是由D維正態(tài)隨機(jī)過(guò)程產(chǎn)生的,將每個(gè)單元內(nèi)點(diǎn)云的概率密度相加:
利用牛頓優(yōu)化算法對(duì)p(x′)進(jìn)行優(yōu)化,尋找適合的變換參數(shù)P,使得p(x′)為最大值。利用變換參數(shù)P可將兩組點(diǎn)云配準(zhǔn)。
點(diǎn)云配準(zhǔn)評(píng)價(jià)算法是對(duì)點(diǎn)云配準(zhǔn)后的精度分析,更加準(zhǔn)確的對(duì)配準(zhǔn)精度進(jìn)行量化衡量[9]。該算法是通過(guò)計(jì)算配準(zhǔn)后對(duì)應(yīng)點(diǎn)對(duì)的歐氏距離,再進(jìn)行求和后除以配準(zhǔn)點(diǎn)總數(shù)得到的平均距離差值,即為得分S。pi是源點(diǎn)云中的一點(diǎn),qi是目標(biāo)點(diǎn)云經(jīng)過(guò)旋轉(zhuǎn)變換得到的點(diǎn),且qi是距離pi最鄰近的點(diǎn)。n為目標(biāo)點(diǎn)云或是目標(biāo)點(diǎn)云的點(diǎn)云數(shù)。得分S可表示為:
在激光雷達(dá)采集數(shù)據(jù)時(shí),會(huì)產(chǎn)生測(cè)量誤差,導(dǎo)致產(chǎn)生個(gè)別的離群點(diǎn),會(huì)嚴(yán)重影響三維重建的效果。而稀疏離群點(diǎn)移除算法(Statistical Outlier Removal)則可以解決這一問(wèn)題。該算法是將空間中的每一個(gè)點(diǎn)的鄰域進(jìn)行統(tǒng)計(jì)分析,對(duì)每個(gè)點(diǎn),計(jì)算它到它的所有臨近點(diǎn)的平均距離。該平均距離為di( )i=1,2,3,…,N,N為周圍點(diǎn)的個(gè)數(shù)。計(jì)算距離平均值為:
得到的結(jié)果為高斯分布,根據(jù)實(shí)際情況確定最佳的闕值σ。用σ與計(jì)算后得到的它到它的所有臨近點(diǎn)的平均距離做對(duì)比。當(dāng)<σ時(shí)認(rèn)為該點(diǎn)為離群點(diǎn)。
本實(shí)驗(yàn)利用由UTM-30LX單線激光雷達(dá)與步進(jìn)電機(jī)相結(jié)合的掃描系統(tǒng)對(duì)室內(nèi)場(chǎng)景進(jìn)行三維重建與點(diǎn)云的配準(zhǔn),并將配準(zhǔn)后的效果與16線激光雷達(dá)進(jìn)行對(duì)比。該套實(shí)驗(yàn)裝置主要由UTM-30LX單線激光雷達(dá)、STM32處理器、步進(jìn)電機(jī)以及電源所組成,整個(gè)實(shí)驗(yàn)系統(tǒng)實(shí)物圖如圖3所示。
圖3 實(shí)驗(yàn)系統(tǒng)實(shí)物圖
在進(jìn)行360°全周掃描過(guò)程中可能會(huì)對(duì)某一特定區(qū)域感興趣。根據(jù)目標(biāo)的類型和尺寸信息不同,該設(shè)計(jì)可以對(duì)水平掃描角在5°~120°范圍內(nèi)進(jìn)行數(shù)據(jù)采集。含有檢測(cè)目標(biāo)的局部點(diǎn)云數(shù)據(jù)稱為感興趣區(qū)域。在對(duì)感興趣區(qū)域掃描時(shí)能夠提高檢測(cè)系統(tǒng)的采樣頻率,從而實(shí)現(xiàn)較高幀頻的目標(biāo)檢測(cè)以及跟蹤。
首先,實(shí)驗(yàn)的識(shí)別目標(biāo)選擇了一個(gè)室內(nèi)環(huán)境中的曲面空間,空間主要由窗戶、墻壁、柜子以及其他設(shè)施構(gòu)成,相機(jī)拍攝的實(shí)驗(yàn)空間場(chǎng)景如圖4所示。
圖4 相機(jī)拍攝的實(shí)驗(yàn)空間場(chǎng)景
驅(qū)動(dòng)步進(jìn)電機(jī),使步進(jìn)電機(jī)在以Z軸為旋轉(zhuǎn)軸,XOY水平面為旋轉(zhuǎn)平面,角速度w=2×pi/3 rad/s的速度順時(shí)針旋轉(zhuǎn),相鄰的兩線之間的夾角為0.249 8°。由于該設(shè)計(jì)的單線激光雷達(dá)是豎直掃描,所以取電機(jī)完整旋轉(zhuǎn)一周時(shí)激光雷達(dá)所采集的數(shù)據(jù)作為一幀點(diǎn)云數(shù)據(jù),這樣就可以對(duì)整個(gè)環(huán)境進(jìn)行三維重建。在空間中的一個(gè)固定位置采集單次數(shù)據(jù),用空間坐標(biāo)算法對(duì)采集到的距離數(shù)據(jù)轉(zhuǎn)換成空間直角坐標(biāo)系下的坐標(biāo),如圖5所示。
圖5 單次掃描的點(diǎn)云數(shù)據(jù)
圖5所示的點(diǎn)云數(shù)據(jù)中,感興趣的掃描范圍角度為90°,掃描頻率為1.3 Hz,共采集32 430個(gè)點(diǎn)云數(shù)據(jù)。進(jìn)一步,改變步進(jìn)電機(jī)的掃描角速度,增加采集的點(diǎn)云點(diǎn)數(shù),同時(shí)調(diào)整掃描角度,在同一空間位置的兩個(gè)不同角度起止點(diǎn)內(nèi),進(jìn)行兩幀數(shù)據(jù)采集。多次掃描的點(diǎn)云數(shù)據(jù)如圖6所示。
圖6 多次掃描的點(diǎn)云數(shù)據(jù)
如圖 6所示,圖 6(a)、圖 6(b)分別為兩次采集的點(diǎn)云數(shù)據(jù)。該掃描范圍的角度均為90°,掃描時(shí)間為1.5 s,分別有69 846個(gè)和66 644個(gè)點(diǎn)云數(shù)據(jù)。圖6與圖5進(jìn)行對(duì)比,點(diǎn)云密度更加致密。通過(guò)調(diào)節(jié)步進(jìn)電機(jī)的旋轉(zhuǎn)速度,即改變角速度,判斷步進(jìn)電機(jī)旋轉(zhuǎn)速度對(duì)于實(shí)驗(yàn)中點(diǎn)云采集的影響??刂茠呙杞嵌炔蛔儯诓煌撬俣认?,點(diǎn)云數(shù)目、掃描頻率、點(diǎn)云致密程度(距離雷達(dá)1 m遠(yuǎn)處,1 m2的點(diǎn)數(shù))的變化,如表1所示。
表1 不同角速度下各個(gè)參數(shù)的變化
無(wú)需對(duì)點(diǎn)云進(jìn)行分割,直接用采集到的兩組數(shù)據(jù)進(jìn)行3D-NDT算法配準(zhǔn)。其中終止條件的最小轉(zhuǎn)換差異為0.01,More-Thuente線搜索設(shè)置最大步長(zhǎng)為0.1,3D-DNT網(wǎng)格結(jié)構(gòu)分辨率為1,最大迭代次數(shù)為35次。使用3D-NDT算法對(duì)兩組點(diǎn)云數(shù)據(jù)進(jìn)行配準(zhǔn)效果,如圖7所示。
圖7 3D-NDT算法配準(zhǔn)后的點(diǎn)云
本實(shí)驗(yàn)驗(yàn)證了該測(cè)量方法對(duì)于實(shí)現(xiàn)低成本快速空間三維重建的可行性??刂菩D(zhuǎn)轉(zhuǎn)臺(tái)沿水平方向,繞Z軸順時(shí)針旋轉(zhuǎn)帶動(dòng)單線雷達(dá)進(jìn)行掃描,至少經(jīng)過(guò)360°掃描就可以對(duì)周圍環(huán)境完成一幀數(shù)據(jù)的采集。隨著平臺(tái)的移動(dòng),新產(chǎn)生的第n幀數(shù)據(jù)與n-1幀數(shù)據(jù)進(jìn)行特征點(diǎn)配準(zhǔn)并估算出位姿,從而對(duì)兩幀數(shù)據(jù)進(jìn)行配準(zhǔn),構(gòu)建出增量式環(huán)境地圖。
表2所示,通過(guò)價(jià)格對(duì)比可知,該設(shè)備與多線雷達(dá)進(jìn)行價(jià)格對(duì)比具有明顯的優(yōu)勢(shì)。
表2 成本對(duì)比
該實(shí)驗(yàn)平臺(tái)為處理器(CPU)3.7 GHz,內(nèi)存16 G,獨(dú)立顯卡8 G,Windows10操作系統(tǒng),VS 2013版本配置PCL環(huán)境實(shí)驗(yàn)配準(zhǔn)、降噪以及三維重建。對(duì)3D-NDT配準(zhǔn)算法與常用的ICP配準(zhǔn)算法進(jìn)行精度評(píng)估,結(jié)果如表3所示。
表3 配準(zhǔn)算法對(duì)比
由表3可知,3D-NDT配準(zhǔn)算法更加適用于本文的空間坐標(biāo)算法所獲得的3D點(diǎn)云數(shù)據(jù),3D-NDT配準(zhǔn)算法獲得的得分遠(yuǎn)遠(yuǎn)高于ICP算法所獲得的得分。3D-NDT算法的配準(zhǔn)效果更好,計(jì)算速度更快,因此3D-NDT配準(zhǔn)算法更適用于該實(shí)驗(yàn)。
對(duì)于復(fù)雜曲面的重建通常采用Delaunay三角剖分法[10]。Delaunay三角剖分法的兩大優(yōu)點(diǎn):一是最大化最小角,“最接近于規(guī)則化”的三角網(wǎng);二是唯一性,即任意四點(diǎn)不能共圓[11]。空?qǐng)A特性其實(shí)就是對(duì)于兩個(gè)共邊的三角形,任意一個(gè)三角形的外接圓中都不能包含有另一個(gè)三角形的頂點(diǎn),這種形式的剖分產(chǎn)生的最小角最大。
假設(shè)V是二維實(shí)數(shù)域上的有限點(diǎn)集,邊e是由點(diǎn)集中的點(diǎn)作為端點(diǎn)構(gòu)成的封閉線段,E為e的集合。那么該點(diǎn)集V的一個(gè)三角剖分T=(V,E)是一個(gè)平面圖G,該平面圖滿足條件:(1)除了端點(diǎn),平面圖中的邊不包含點(diǎn)集中的任何點(diǎn);(2)邊和邊沒(méi)有交叉點(diǎn);(3)平面圖中所有的面都是三角面,且所有三角面的合集是散點(diǎn)集V的凸包。凸包就是將最外層的點(diǎn)連接起來(lái)構(gòu)成的凸多邊形,它能包含點(diǎn)集中所有的點(diǎn)。二維三角剖分原理圖如圖8所示。
圖8 二維三角剖分原理圖
貪婪投影三角化算法[12]先將點(diǎn)云通過(guò)法線投影到某一二維坐標(biāo)平面內(nèi),然后對(duì)投影得到的點(diǎn)云做平面內(nèi)的三角化,從而得到各點(diǎn)之間的拓?fù)潢P(guān)系。在平面三角化的過(guò)程中用到了基于Delaunay的空間區(qū)域增長(zhǎng)算法。最后根據(jù)投影點(diǎn)云的連接關(guān)系確定各原始三維點(diǎn)之間的拓?fù)溥B接,所得三角網(wǎng)格即為重建得到的曲面模型。該算法的優(yōu)點(diǎn)是可以處理來(lái)自一個(gè)或多個(gè)掃描儀掃描得到并且有多個(gè)連接處的點(diǎn)云。但該算法有一定的局限性,它更適用于采樣點(diǎn)云來(lái)自于表面連續(xù)光滑的曲面且點(diǎn)云密度變化比較均勻的情況。
在二維三角剖分的理論基礎(chǔ)上,也可以直接對(duì)三維點(diǎn)云數(shù)據(jù)進(jìn)行三維三角刨分,三維三角剖分原理如圖9所示。
圖9 三維三角剖分原理圖
利用Delaunay三角剖分法,對(duì)本實(shí)驗(yàn)所采集的空間三維點(diǎn)云進(jìn)行曲面重建處理,結(jié)果如圖10—圖12所示。
圖10 二維三角剖分處理結(jié)果
圖11 三維三角剖分處理結(jié)果
圖12 局部三角剖分處理結(jié)果
本設(shè)計(jì)采用單線激光雷達(dá)與步進(jìn)電機(jī)相結(jié)合的方式,使激光雷達(dá)在水平方向,繞Z軸順時(shí)針旋轉(zhuǎn)來(lái)采集數(shù)據(jù),利用空間坐標(biāo)算法對(duì)采集的二維數(shù)據(jù)轉(zhuǎn)化為三維坐標(biāo),采用3D-NDT算法對(duì)點(diǎn)云數(shù)據(jù)進(jìn)行配準(zhǔn),從而實(shí)現(xiàn)了三維空間重建。該設(shè)計(jì)與多線激光雷達(dá)做對(duì)比,可以得出該設(shè)計(jì)大大節(jié)約了使用成本。同時(shí),該設(shè)計(jì)相鄰線的夾角大于多線激光雷達(dá)相鄰兩條線的夾角,使得該設(shè)計(jì)掃描更加致密、完整。該設(shè)計(jì)還可以對(duì)特定區(qū)域進(jìn)行反復(fù)掃描,從而極大提高了對(duì)該特定區(qū)域的空間掃描頻率。用3D-NDT算法對(duì)該設(shè)計(jì)采集到的數(shù)據(jù)進(jìn)行配準(zhǔn),并且對(duì)配準(zhǔn)效果進(jìn)行量化衡量,由最后得分可知該設(shè)備采集的數(shù)據(jù)類型更加適用于3D-NDT配準(zhǔn)算法。最后利用Delaunay三角剖分法對(duì)場(chǎng)景中的復(fù)雜曲面進(jìn)行曲面重建,未來(lái)的工作中,將對(duì)曲面重建方法進(jìn)行改進(jìn)以優(yōu)化重構(gòu)效果,實(shí)現(xiàn)低成本較大復(fù)雜曲面的重建。