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