徐衛(wèi)紅,彭家真,高紅旗
(浙江華東測繪與工程安全技術有限公司,310014,杭州)
當前遙感點云數據獲取最廣泛的手段包括激光掃描和攝影測量,這2種方式都能獲得高精度的點云數據,生成的點云已廣泛用于各種生產應用[1]。LiDAR使用主動式的探測方式,基于極坐標幾何點位原理快速獲取空間點云信息,存在成本高、點云密度較低、缺乏地物光譜信息等缺點[2]。無人機攝影測量則是一種被動測量目標物的手段,其通過影像密集匹配可以得到比LiDAR點云密度更高、地物幾何特征更加明顯的空間點云。影像中豐富的光譜和紋理特征可以作為LiDAR點云數據的補充,有效地解決了單一數據源信息不足問題。通過LiDAR點云與影像融合,能產生更豐富的地物空間信息和語義信息,而2種點云數據融合的前提條件是進行點云配準。因此,對2種不同的點云數據進行配準是一個至關重要的環(huán)節(jié)。
點云配準是指通過某種配準算法計算得到2組不同點云的剛體變換參數,然后再利用變換參數將2組點云統(tǒng)一到同一坐標系下。國內外研究人員提出了許多點云配準算法,其中ICP算法具有簡單、復雜度低等優(yōu)點,是點云匹配最為常用的算法之一。然而,ICP算法存在計算效率低、魯棒性差、無初值時收斂慢等問題。因此,針對ICP算法效率不高的問題,許多研究人員提出了大量的改進算法[3]。Li等通過動態(tài)調整剛體變換參數的因子減少ICP算法迭代次數,實驗結果表明改進的算法提高了對應點搜索效率,點云配準時間相比于傳統(tǒng)方法要更短,且精度更高[4]。孫煒等針對ICP配準時間長問題,提出了融合輪廓特征快速點云配準方法[5]。李運川等利用重心重合法提高點云重疊度,利用RANSAC算法得到點云配準較好的變換參數初始值,最后改進后的ICP算法實現點云高精度配準,且配準效率高于傳統(tǒng)的ICP算法[6]。這些改進的算法主要是通過減少在2組點云中對應點的搜索時間來提高配準效率。
LiDAR點云與影像匹配點云的配準方法主要分為3種。第1種是將影像匹配得到的點云與LiDAR點云進行配準。劉燕萍等基于影像密集匹配得到三維點云,通過粗配準建筑物屋頂的特征角點,再根據提取屋檐特征線以實現點云的精配準[7]。李彩林等通過影像生成三維稀疏點云,以影像三維點云和激光點云擬合的最鄰近曲面為約束條件,結合共線條件方程實現影像三維點云和激光點云的高精度配準[8]。Stamos等利用運動恢復結構(Structure from Motion,SfM)算法恢復物方稀疏點云,最后將LiDAR點云和攝影測量點云進行配準[9]。第2種是將LiDAR點云轉化為二維圖像,再利用點云配準方法進行匹配。趙中陽等先利用LiDAR點云生成的深度圖像,基于航空影像和深度圖像的面特征采用SIFT算子提取點特征,最后通過面特征到點特征的配準策略實現LiDAR點云與航空影像的配準[10]。徐景中等通過LiDAR點云生成深度圖像,提取深度圖像與對應影像的結構特征,采用粗匹配-精匹配的循環(huán)迭代匹配策略,來實現LiDAR點云與航空影像的自動配準[11]。第3種是建立影像與LiDAR點云之間的直接配準關系。Zhu等提出一種穩(wěn)健有效的由粗到細的配準方法,利用空間約束和Gabor結構特征進行配準,結果表明該配準方法對幾何失真和輻射變化具有較高的魯棒性[12]。Habib等利用直線特征建立遙感影像與激光點云之間的直接映射關系,這種方法對于變化檢測和系統(tǒng)校準應用很有用[13]。王育堅等提出一種基于保局(Principal Component Analysis,PCA)的三維點云配準方法,利用特征尋找點云之間的對應關系來實現配準[14]。然而,大多LiDAR點云與影像配準方法存在數據冗余、自動匹配精度不高或效率低下等問題。
本文基于ICP算法,采用粗-精配準匹配策略來實現LiDAR點云與正射影像的配準,使得點云與影像匹配兼顧精度與效率。首先利用體素濾波器對點云數據進行預處理,再利用PCA算法壓縮數據量和獲得主分量進行點云粗配準來獲得點云剛體變換的初始值,最后采用ICP算法對點云進行高效地精配準。
本文通過無人機采集得到影像,利用Pix4D軟件經過密集匹配得到點云數據,研究區(qū)域的正射影像如圖1所示。同時在激光雷達設備上輸出得到同一研究區(qū)域的激光點云,激光點云高度渲染圖見圖2。由正射影像和LiDAR渲染圖可以看出,正射影像含有豐富的紋理信息,而LiDAR點云具有高精度的空間幾何信息。
圖1 正射影像
圖2 LiDAR點云渲染圖
在進行點云配準之前,為了去除冗余點云數據,減少對應點對搜索時間,本文利用體素濾波方法對點云數據進行預處理。體素濾波在點云下采樣過程中的優(yōu)勢在于去除點云噪聲點和離群點的同時,保留了點云本身的幾何結構。體素濾波的原理是根據輸入的點云計算得到包圍整個點云的立方體,將立方體根據設定的分辨率分割成多個小立方體,最后將小立方體內點云的質心坐標近似為小立方體內的點云。見圖3,體素濾波的計算過程如下:1)計算三維點云數據坐標軸上的最大值和最小值;2)設計體素小柵格的邊長;3)根據得到的坐標軸最值計算點云最小包圍盒的邊長;4)計算體素網格的尺寸;5)計算每個點云在體素小柵格內的索引;6)從大到小排列索引里的元素,并以各體素重心代替其柵格內的所有點,若重心不存在,則用距重心最近的數據點代替柵格內所有點。
ICP算法是被提出用于三維點云配準[15],該算法通過迭代搜索2個點云距離最近的對應點,以各對應點對歐氏距離平方和最小為目標函數,再利用最小二乘計算最優(yōu)的2組點云配準剛體變換參數。
假定有待配準點云集P和基準點云集M,M和P分別包含Nm和Np個點云。以m=[mR|mT]來表示2個點云集間的剛體變換參數。利用矩陣矢量m在基準點云集中搜索對應于待匹配點云集中最近的點,在這個過程當中會搜尋到多個點。為了得到最優(yōu)變換參數,歐氏距離平方和最小的目標函數表達式為:
圖3 體素濾波過程
(1)
式中mi和pi表示點云集M和P中的各個點云。
計算待匹配點云集和基準點云集的重心:
(2)
(3)
計算2個點云集間的互協(xié)方差陣,并利用四元數法計算得到一個4×4的對稱矩陣:
(4)
(5)
再利用公式(6)計算平移向量T:
mT=μm-R(mR)μp
(6)
對點集P中的每一個點pi應用變換函數E得到新的點云集Pnew,并在基準點云集M中搜索Pnew的對應點得到Mnew。
(7)
經過以上過程的多次迭代計算,直到Pnew和Mnew的誤差小于給定的閾值或者達到設定的最大迭代次數時終止迭代,輸出R和T。
PCA是一種經典的高維數據降維方法[16]。PCA算法在點云配準過程中主要用于給精配準階段提供剛體變換參數的初始值,提高點云配準效率。其算法原理是通過計算點云的主方向,然后根據主方向計算得到點云配準的初始值并對初始值進行校正。首先計算2個點云集的協(xié)方差陣,通過協(xié)方差陣求出點云的主軸方向,然后利用主軸方向計算點云集的旋轉矩陣,并通過2個點云集的中心偏移量求出點云集的平移向量[17]?;赑CA方法進行點云粗配準的步驟如下:
計算2組點云的中心:
(8)
(9)
計算2個點云集間的協(xié)方差陣:
(10)
對CP和CM進行奇異值分解,將協(xié)方差陣轉化為由2組點云的主方向UP和UM構成的矩陣:
(11)
通過點云主方向計算旋轉矩陣和平移向量的初始值R0和T0:
(12)
最后,針對初始值R0和T0進行校正,由于各個主軸方向存在反向的可能性,求出的初始R0和T0并不一定能用于點云精配準。因此,還需要對R0和T0的初始值進行校正,校正過程如下。
利用得到的R0和T0和公式(14)對點云進行旋轉:
pnew=P*R0+T0
(13)
在基準點云集M中搜索Pnew的最近距離對應點,計算得到對應點間的距離:
H=pnew-mi
(14)
計算初始配準誤差:
erri=H*HT
(15)
(16)
式中erri為第i個對應點間的誤差,error為2組點云間的平均均方誤差。
將UP中3個列向量(待配準點云的主方向)與目標點云各個軸的方向進行對比,若方向相反,則把相反方向所對應的UP的列向量取反,如公式(17):
UP(i)=-UP(i)
(17)
得到預處理后的點云數后,利用迭代最近點算法對預處理后的點云進行匹配,見圖4,配準過程如下。
1)體素濾波精簡點云。利用體素濾波對待匹配點云P和基準點云M進行采樣,計算獲得精簡后的待匹配點云P′和基準點云M′。
2)ICP迭代搜索最近對應點。對于待匹配點云中的每一個點云pi,在基準點云集中搜索其對應點mi。
4)實施點云變換。對待匹配點云集中的點云pi進行變換得到新的點云集P2。
5)計算變換后的點對距離。
6)迭代終止判斷。若通過變換參數計算得到的Pnew和Mnew的距離誤差小于給定的閾值或超過最大迭代次數時,終止迭代運算。
為驗證本文方法的有效性,本文實驗選取具有代表性的四川某一地區(qū)的LiDAR點云與無人機數字正射影像進行配準實驗。該測區(qū)包含豐富的地物信息如:耕地、林地、建筑物、道路、水塘等地表信息,覆蓋范圍約為1 km2。
LiDAR點云數據獲取采用SKY-LARK輕小型無人機LiDAR測量系統(tǒng),該系統(tǒng)采用橢圓軌跡掃描方式,最高點頻能獲得高達60萬點/s,最大測量距離可達500 m。采用大疆無人機航拍影像,飛行2個架次(每架次飛行時間約為18 min),規(guī)劃航線共8條,相對航高設為150 m,航向與旁向重疊度均設為80%,地面分辨率約為2 cm,整個研究區(qū)的航拍影像為870幅,在Pix4D完成立體像對匹配、相對定向、空中三角測量等處理,并生成數字正射影像圖。本文方法LiDAR點云與正射影像配準后,點云三維渲染圖見圖5,紋理映射后結果圖見圖6。
圖5 LiDAR三維渲染圖
圖6 附帶紋理的三維圖
此外,為對比分析本文方法針對原始的ICP算法的改進效果,在同等軟硬件環(huán)境下,采用相同的數據對ICP算法進行LiDAR點云與無人機正射影像配準,并采集了10個地面控制點(Ground Control Point, GCP)進行精度檢驗見圖7,表1為本文方法與原始ICP算法在迭代運算次數、平均誤差、效率方面的對比。
圖7 LiDAR三維渲染圖
表1 ICP算法與本文方法對比
由對比結果可知,本文提出的方法配準結果明顯優(yōu)于ICP算法,能實現LiDAR點云與正射影像高精度配準。在配準效率方面,采取基于粗-精的配準策略,能去除點云噪聲,并加快配準時間,本文采用體素濾波方法對原始點云數據進行預處理,并且利用PCA算法進行粗配準,以獲取精配準過程中所需的剛體變換參數的初始值,相比于未經過預處理和粗配準的點云配準,處理后的點云配準速度有明顯的加快,這有利于進行點云實時配準。在精度方面,本文通過PCA粗配準和ICP精配準的點云配準策略,實現了點云與正射影像高精度配準。相比原始ICP算法精度和效率分別提高了約1.8倍和3倍。
針對傳統(tǒng)的ICP算法難以滿足LiDAR點云與正射影像高精度、高效的配準的需求,本文結合PCA粗配準與ICP精配準策略來實現LiDAR點云與無人機正射影像配準。為去除LiDAR點云數據中的離群點和噪聲點,本文采用體素濾波方法對點云數據進行預處理以消除冗余數據,提高點云與影像配準效率,然后,利用PCA算法計算點云配準剛體變換參數初值,并校正后作為ICP算法的輸入值,從而提高ICP算法配準的準確性和收斂效率。實驗結果表明,本文的配準策略在點云與正射影像配準方面能獲得了較好的配準結果,能滿足包含復雜地表地物分布的LiDAR點云與影像多源數據配準需求。