劉德兒,劉 鵬,肖 健
(1.江西理工大學(xué)建筑與測(cè)繪工程學(xué)院,江西 贛州 341000;2.江西理工大學(xué)外語(yǔ)外貿(mào)學(xué)院,江西 贛州 341000)
隨著城市化建設(shè)的不斷推進(jìn),構(gòu)建智慧城市已經(jīng)成為提升城市競(jìng)爭(zhēng)力的主要方法,因此對(duì)建筑物的精細(xì)化建模也提出更高的要求[1]。無(wú)人機(jī)傾斜攝影能夠獲取建筑物俯視角度及立面豐富的表面紋理信息,而后使用高效的重建算法將多視角的影像解算出空間結(jié)構(gòu)信息,從而得到三維模型[2]??扇缃癯鞘薪ㄖ拿芗瘜?duì)建筑立面造成的遮檔和光線的削弱,使得建筑立面信息的采集不夠完整,因此模型精度也將受到影響,容易出現(xiàn)空洞和拉花。因此,使用跨源數(shù)據(jù)構(gòu)建完整的精細(xì)化模型將是未來(lái)的發(fā)展趨勢(shì)[3-4]。
融合配準(zhǔn)[5]是三維重建流程中的核心步驟,如今的主流方法為粗配準(zhǔn)和精確配準(zhǔn)算法相結(jié)合[6-7]。如劉劍等[8]人在計(jì)算快速點(diǎn)特征直方圖(Fast Point Feature Histograms,FPFH)的局部特征信息描述符后,與三角網(wǎng)相結(jié)合,使特征提取問(wèn)題簡(jiǎn)潔化,因此能夠提高特征點(diǎn)的粗匹配的效率;田青華等[9]人提出了將方向直方圖簽名描述子(Signature of Histograms of OrienTation,SHOT)和空間位置相結(jié)合,再采用最小方差法尋找正確的對(duì)應(yīng)點(diǎn)對(duì)估算轉(zhuǎn)換關(guān)系;秦楠楠等[10]人利用主成分分析(Principal Component Analysis,PCA)得到點(diǎn)云數(shù)據(jù)的特征向量和質(zhì)心,從而對(duì)點(diǎn)云數(shù)據(jù)進(jìn)行空間變換,得到初始匹配結(jié)果;劉江[11]使用數(shù)據(jù)中心重合法的粗配準(zhǔn)方法得到初始位置。精確配準(zhǔn)算法應(yīng)用最多的是迭代最近點(diǎn)(Iterative Closest Point,ICP)算法,由Besl[12]等人提出,是一個(gè)拼接效果極佳的算法。針對(duì)ICP算法的優(yōu)缺點(diǎn),衍生出許多改進(jìn)算法。文獻(xiàn)[13]使用最優(yōu)節(jié)點(diǎn)優(yōu)先算法來(lái)提升K-D樹(shù)對(duì)鄰近點(diǎn)的搜索速度,降低計(jì)算復(fù)雜度,從而提高迭代計(jì)算的效率;Chetverikov[14]等人提出TrICP(TrimmedIterative Closest Point,TrICP)算法,計(jì)算速度快,對(duì)于重疊區(qū)域低的數(shù)據(jù)具有較高的魯棒性。以上配準(zhǔn)方法大多是針對(duì)數(shù)據(jù)完整、重疊率高的條件下進(jìn)行的,但是對(duì)于缺乏對(duì)稱性和低重疊率的數(shù)據(jù),則不能保證其適用性。
為獲取完整的三維模型,本文將融合傾斜影像和激光點(diǎn)云數(shù)據(jù)用于建筑物的無(wú)縫三維重建。其中三維激光點(diǎn)云和航拍影像屬于異維異質(zhì)數(shù)據(jù),故先將傾斜影像幾何重構(gòu)生成影像點(diǎn)云再與激光點(diǎn)云融合建模。本文提出使用PCA方法確定跨源點(diǎn)云的姿態(tài)方向?qū)R,然后利用幾何中心重合法完成數(shù)據(jù)矯正,最后運(yùn)用TrICP算法進(jìn)行精確配準(zhǔn),獲得高精度的轉(zhuǎn)換關(guān)系,最終得到數(shù)據(jù)完整的無(wú)縫三維模型。
本文實(shí)驗(yàn)數(shù)據(jù)為江西理工大學(xué)校本部圖書(shū)館。通過(guò)圖1可以看出受高大樹(shù)木及其他建筑的遮擋,使得數(shù)據(jù)采集有著不小的難度。使用獨(dú)立的數(shù)據(jù)采集方法,會(huì)不可避免地出現(xiàn)數(shù)據(jù)缺失,所以此建筑的數(shù)據(jù)可以很好地驗(yàn)證本文的三維重建方法。
圖1 建筑物實(shí)景
激光點(diǎn)云數(shù)據(jù)由Riegl公司型號(hào)VZ1000的三維激光掃描儀采集獲得,由于高大數(shù)木對(duì)建筑立面遮擋嚴(yán)重且建筑物形狀復(fù)雜,故掃描站次較多。
將建筑點(diǎn)云源數(shù)據(jù)進(jìn)行相應(yīng)的預(yù)處理[15-16],首先對(duì)數(shù)據(jù)的離群點(diǎn)去噪,而后拼接配準(zhǔn),并手動(dòng)分割出圖書(shū)館點(diǎn)云數(shù)據(jù)。運(yùn)用文獻(xiàn)[16]的方法去除噪聲,該方法主要運(yùn)用二維的Gamma分布,將鄰域均值以及鄰域距離的變化斜率作為兩個(gè)限制條件剔除噪聲點(diǎn)。通過(guò)手動(dòng)選取同名點(diǎn)粗配準(zhǔn)和ICP精確配準(zhǔn)。手動(dòng)配準(zhǔn)時(shí)根據(jù)兩個(gè)站點(diǎn)掃描場(chǎng)景的重疊區(qū)域挑選出至少4對(duì)同名點(diǎn),隨之計(jì)算出變換矩陣,將第2站點(diǎn)數(shù)據(jù)轉(zhuǎn)換到第1站點(diǎn)坐標(biāo)系中,然后使用ICP算法實(shí)現(xiàn)兩個(gè)站點(diǎn)的精確拼接,以此逐步拼接。為避免累積誤差,依次將第3,4,…,12站的數(shù)據(jù)轉(zhuǎn)換到第1站點(diǎn)云數(shù)據(jù)的坐標(biāo)系中,即所有站點(diǎn)的數(shù)據(jù)都處于統(tǒng)一的全局坐標(biāo)系中。完整的激光點(diǎn)云數(shù)據(jù)如圖2所示。
圖2 激光點(diǎn)云預(yù)處理拼接
校園的傾斜影像通過(guò)搭載五鏡頭的無(wú)人機(jī)航拍采集獲取,采集前應(yīng)預(yù)先制訂好航行路線,設(shè)置相應(yīng)的重疊度參數(shù),選定空曠的起降區(qū)域。為了更好的驗(yàn)證本文三維重建方法,從拍攝的海量影像中挑選出含有此建筑的影像179張,經(jīng)過(guò)現(xiàn)場(chǎng)及后期檢查,獲取的影像清晰容易辨別,亮暗適中,可用于后期航片解算。
傾斜攝影有著4個(gè)傾斜角度鏡頭,因此影像的同名點(diǎn)數(shù)量增多,雖然計(jì)算復(fù)雜度增加,但計(jì)算精度得到提升。CotextCapture軟件具備高效的匹配算法以及區(qū)域切塊處理的技術(shù),可以輕松地完成高計(jì)算復(fù)雜度的任務(wù)。將挑選出的影像加載進(jìn)CotextCapture軟件的新建工程中,剔除不合格影像和勻光勻色處理。為了保證影像點(diǎn)云與激光點(diǎn)云的尺度一致,在進(jìn)行空中三角測(cè)量計(jì)算之前加入尺度約束,從而降低尺度問(wèn)題引起的配準(zhǔn)難度。為方便后續(xù)三維重建處理,對(duì)影像點(diǎn)云手動(dòng)分割修整去除目標(biāo)建筑物以外的物體。高密度點(diǎn)云如圖3所示,可以看出建筑立面的數(shù)據(jù)缺失嚴(yán)重。
圖3 影像處理結(jié)果
3.1.1 PCA坐標(biāo)系求解
PCA作為一種經(jīng)常使用的數(shù)據(jù)分析方法,是通過(guò)將高維的原始數(shù)據(jù)降成各維度線性無(wú)關(guān)的低維數(shù)據(jù),從而有利于提取數(shù)據(jù)的特征分量,將方差較小的數(shù)據(jù)特征忽略掉,達(dá)到降維處理的目的,突出數(shù)據(jù)最主要的方面,甚至可以實(shí)現(xiàn)去噪的效果。本文對(duì)于點(diǎn)云數(shù)據(jù)進(jìn)行降維分析只需找到相互垂直的三個(gè)主要特征分量,即對(duì)方差貢獻(xiàn)最大的三個(gè)向量,用以對(duì)應(yīng)點(diǎn)云的分布方向以及表達(dá)點(diǎn)的空間位置。
(1)
(2)
(3)
對(duì)Cov(X,Y,Z)進(jìn)行奇異值分解,得到特征值λi對(duì)應(yīng)的特征向量wi,并對(duì)特征值λi進(jìn)行降序排列得到對(duì)角矩陣∑=diag[λi,λ2,λ3],和兩組正交矩陣U(3×3)、V(3×3)。
Cov(X,Y,Z)=U∑VT
(4)
其中,正交矩陣U由∑對(duì)應(yīng)的特征向量組成,表示點(diǎn)云PCA坐標(biāo)系三個(gè)主軸的方向向量。U中三個(gè)向量分別表示點(diǎn)云三個(gè)主元方向,并且三個(gè)向量相互垂直,如圖4所示,其中第一個(gè)向量表示點(diǎn)在空間分布趨勢(shì)最大的方向。在提取出主成分后,將激光點(diǎn)云和影像點(diǎn)云轉(zhuǎn)換到同一個(gè)坐標(biāo)系下,其中轉(zhuǎn)換關(guān)系就是協(xié)方差矩陣的對(duì)應(yīng)關(guān)系,對(duì)兩個(gè)點(diǎn)云經(jīng)過(guò)全局進(jìn)行轉(zhuǎn)換,從而達(dá)到點(diǎn)云粗配準(zhǔn)的效果。
圖4 跨源點(diǎn)云的主元方向
3.1.2 矯正PCA坐標(biāo)系
通過(guò)航空影像獲取的影像點(diǎn)云在建筑體表面分布均勻,密度較高,且呈現(xiàn)單層次分布;而三維激光掃描儀工作時(shí)受到站點(diǎn)視角以及障礙物遮擋等情況的影響,使得激光點(diǎn)云在空間中的分布并不均勻,有的區(qū)域密度很高,有的區(qū)域點(diǎn)云分布稀少,以及建筑物頂部數(shù)據(jù)的缺失。所以通過(guò)這兩種方式獲取的點(diǎn)云數(shù)據(jù)具有不一樣的特性,從而導(dǎo)致兩個(gè)點(diǎn)云數(shù)據(jù)PCA配準(zhǔn)的結(jié)果并不是很準(zhǔn)確。其中坐標(biāo)軸的方向大致平行,但是偶爾出現(xiàn)反向的情況,以及數(shù)據(jù)質(zhì)心的偏差。
首先通過(guò)點(diǎn)云的包圍盒來(lái)矯正PCA坐標(biāo)系的原點(diǎn)。點(diǎn)云的外包盒一般有球形、方向包圍盒和軸向包圍盒AABB(Axis-Aligned Bounding Boxes,AABB)三種,其中AABB包圍盒是平行于坐標(biāo)軸,即每一個(gè)面都有與其相互垂直的坐標(biāo)軸。由于PCA配準(zhǔn)后兩個(gè)點(diǎn)云的主方向大致確定,不再將其方向二次旋轉(zhuǎn),且AABB包圍盒對(duì)方向很敏感,所以選擇AABB包圍盒進(jìn)行二次匹配。
1)使用源點(diǎn)云A和目標(biāo)點(diǎn)云B的包圍盒頂點(diǎn)的極值坐標(biāo)計(jì)算包圍盒幾何中心μa和μb,其極值為點(diǎn)云包圍盒的頂點(diǎn)坐標(biāo)的極大值A(chǔ)Max、BMax和極小值A(chǔ)Min、BMin。
(5)
(6)
2)得到幾何中心μa和μb后,計(jì)算它們的差值,也就是源點(diǎn)云的二次平移向量T′。
(7)
3)利用新計(jì)算的二次平移向量T′對(duì)源點(diǎn)云進(jìn)行平移。
(8)
式中,A′為源點(diǎn)云平移后的數(shù)據(jù)點(diǎn)集。
對(duì)于三個(gè)軸向的正反方向情形將引起23種對(duì)應(yīng)關(guān)系,本文將設(shè)定一個(gè)距離閾值d,使用K-D樹(shù)加速搜索對(duì)應(yīng)點(diǎn)對(duì),小于該閾值d的對(duì)應(yīng)點(diǎn)將被標(biāo)記,然后計(jì)算被標(biāo)記的點(diǎn)云數(shù)量所占目標(biāo)點(diǎn)云PM的重疊率γ=Ir/PM,比較這8種對(duì)應(yīng)關(guān)系的重疊率γ大小,將重疊率最大的對(duì)應(yīng)關(guān)系作為主軸的方向。
(9)
將兩類點(diǎn)云的幾何中心匹配和矯正坐標(biāo)軸方向,可以減小兩類點(diǎn)云的歐式距離,縮小粗配準(zhǔn)的偏差,此方法也能夠得到兩類點(diǎn)云更大區(qū)域的重疊,較優(yōu)的粗配準(zhǔn)效果,為精配準(zhǔn)提供更佳的位姿狀態(tài)。
經(jīng)典ICP配準(zhǔn)算法主要思想是通過(guò)源點(diǎn)云向目標(biāo)點(diǎn)云尋找歐氏距離最近的點(diǎn),使每一個(gè)源點(diǎn)都有著對(duì)應(yīng)目標(biāo)點(diǎn),解算出變換矩陣完成轉(zhuǎn)換;然后進(jìn)行第二次尋找最近點(diǎn),再解算出新的變換矩陣完成轉(zhuǎn)換;如此往復(fù)迭代,直到滿足迭代終止條件。
TrICP算法則是使用重疊率Υ來(lái)自適應(yīng)的匹配算法,將非匹配點(diǎn)去除以改進(jìn)ICP算法。從算法結(jié)果來(lái)看,與原算法主要的區(qū)別在于可以通過(guò)不同的重疊率來(lái)影響配準(zhǔn)結(jié)果;從算法原理來(lái)看,改變了MSE的統(tǒng)計(jì)方法,即算法的全過(guò)程都使用截?cái)嘧钚《?The Least Trimmed Squares,LTS)計(jì)算誤差平方和。如式(10)所示,當(dāng)h=n時(shí),把所有的殘差考慮在內(nèi),等價(jià)于原始算法。
(10)
qcl(i,R,T)=argmin||q-pi(R,T)||
(11)
(12)
(13)
(14)
式中,Sumdi代表Npo個(gè)重疊點(diǎn)對(duì)的殘差平方和,本次迭代的MSE=Sumdi/Npo,隨之判斷是否滿足終止條件,選擇是否繼續(xù)迭代計(jì)算;
(3)通過(guò)奇異值分解計(jì)算出變換關(guān)系(R,T),使得滿足Npo點(diǎn)對(duì)的Sumdi最?。?/p>
(4)將源點(diǎn)云按照變換關(guān)系(R,T)向目標(biāo)點(diǎn)云方向運(yùn)動(dòng),重復(fù)步驟(1)。
為了驗(yàn)證本文算法對(duì)于跨源數(shù)據(jù)三維重建的有效性,將在Inteli5 CPU、Nvidia1060顯卡以及16GB內(nèi)存的PC設(shè)備上進(jìn)行實(shí)驗(yàn),并使用PCL(Point Cloud Library)庫(kù)編程實(shí)驗(yàn)進(jìn)行分析。使用經(jīng)過(guò)了預(yù)處理的激光點(diǎn)云和傾斜影像數(shù)據(jù),如圖3和圖4所示,并通過(guò)體素網(wǎng)格下采樣方法對(duì)點(diǎn)云數(shù)據(jù)進(jìn)行抽稀,最終用于驗(yàn)證本文算法的激光點(diǎn)云數(shù)據(jù)的數(shù)目為998545,影像點(diǎn)云數(shù)目為1428361。
跨源點(diǎn)云經(jīng)過(guò)預(yù)處理后,首先進(jìn)行各自的PCA分析,計(jì)算出兩類點(diǎn)云各自質(zhì)心以及三個(gè)最大的特征向量,進(jìn)行點(diǎn)云旋轉(zhuǎn)和平移,完成PCA變換。其中激光點(diǎn)云質(zhì)心O1(9.9412,47.6741,6.2562),影像點(diǎn)云質(zhì)心O2(-20.5584,-47.7046,9.5665)。通過(guò)PCA變換,如圖4,質(zhì)心O1和O2將作為新坐標(biāo)系的原點(diǎn),并完成幾何中心的匹配。比較了另外兩種常見(jiàn)算法,以及相應(yīng)的精度比較。由于跨源點(diǎn)云的差異性,配準(zhǔn)后也難以使兩個(gè)點(diǎn)云完美的貼合在一起,且不一樣的精度統(tǒng)計(jì)方法,得到的精度結(jié)果也大不一樣。考慮到本文實(shí)驗(yàn)數(shù)據(jù)重疊率低的特點(diǎn),即源點(diǎn)云不是目標(biāo)點(diǎn)云的子集,且各自有較大面積的非對(duì)應(yīng)區(qū)域。所以本文在精度統(tǒng)計(jì)時(shí),將非對(duì)應(yīng)點(diǎn)剔除,統(tǒng)計(jì)對(duì)應(yīng)點(diǎn)的距離,然后使用計(jì)算出的均方根值(RMS)作為精度表達(dá)。
對(duì)實(shí)驗(yàn)數(shù)據(jù)進(jìn)行多種常規(guī)的點(diǎn)云粗配準(zhǔn)方法實(shí)驗(yàn)后,如圖5所示,展示點(diǎn)云變換后的正視、側(cè)視和俯視配準(zhǔn)效果,(a)為建筑正視圖;(b)為建筑側(cè)視圖;(c)為YOZ平面切片。其中正態(tài)分布變換(NDT)對(duì)于跨源點(diǎn)云的粗配準(zhǔn)效果不佳,遠(yuǎn)達(dá)不到精配準(zhǔn)的初始位姿要求。基于FPFH的采樣一致性粗配算法對(duì)跨源點(diǎn)云具有一定的適用性,只是對(duì)于本實(shí)驗(yàn)數(shù)據(jù)需要設(shè)置較大的計(jì)算參數(shù)。本文的粗配方法為經(jīng)過(guò)PCA變換后矯正點(diǎn)云中心和軸向,使得跨源點(diǎn)云較為緊密的拼接在一起,從圖中觀察可知效果明顯優(yōu)于另外兩種方法,并由表1可知,初始位姿誤差也遠(yuǎn)遠(yuǎn)低于另外兩種方法,達(dá)到了0.32 m,將其作為后續(xù)精配準(zhǔn)工作的初始位姿。
圖5 粗配準(zhǔn)實(shí)驗(yàn)結(jié)果對(duì)比
表1 初始配準(zhǔn)精度比較
在激光點(diǎn)云得到初始位姿后,使用參數(shù)為60 %重疊度和最大30次迭代次數(shù)的TrICP算法對(duì)其進(jìn)行精確配準(zhǔn),并與參數(shù)為最大30次迭代次數(shù)的經(jīng)典ICP算法、GICP算法和FPFH+NDT算法[17]結(jié)果進(jìn)行比較。如圖6所示,在本文粗配準(zhǔn)方法獲得的初始位姿條件下,比較了ICP、GICP和TrICP精配結(jié)果的局部差異??砂l(fā)現(xiàn)三種算法對(duì)俯視角的配準(zhǔn)效果基本一致,但是多個(gè)立面的頂部區(qū)域有著細(xì)微的差異,可以看出在經(jīng)典ICP算法結(jié)果中,激光點(diǎn)云整體上移,陷入了局部最優(yōu)。
在表2的誤差分析中,統(tǒng)計(jì)了各個(gè)立面之間的獨(dú)立誤差。其中文獻(xiàn)[17]使用的FPFH+NDT算法對(duì)于本文實(shí)驗(yàn)效果較差,不適用于此類跨源點(diǎn)云的配準(zhǔn)工作。對(duì)NDT算法分別進(jìn)行粗配準(zhǔn)和精配準(zhǔn)的實(shí)驗(yàn)可以看出,NDT算法同樣需要一個(gè)初值才能獲得更好的運(yùn)行效果。在三個(gè)立面的誤差分析中,正立面和側(cè)立面的誤差,TrICP要明顯小于ICP和GICP;背立面的誤差,TrICP卻大于ICP和GICP。在整體精度中,TrICP的精度相對(duì)于傳統(tǒng)ICP,總體提高了53.5 %,達(dá)到了0.0811 m。
圖6 精配準(zhǔn)的細(xì)節(jié)對(duì)比
表2 精配準(zhǔn)誤差分析(包括不同立面的單獨(dú)誤差,總誤差)
圖7所示為最終跨源點(diǎn)云的配準(zhǔn)結(jié)果。配準(zhǔn)誤差較大的部分點(diǎn)云主要集中在靠近地面區(qū)域,誤差偏小的點(diǎn)大多分布在遠(yuǎn)離地面的建筑立面上,因此說(shuō)明傾斜影像獲取立面信息的準(zhǔn)確度不一致。影像點(diǎn)云的數(shù)據(jù)缺失在建筑兩側(cè)的立面區(qū)域最為嚴(yán)重,圖7中顯示激光點(diǎn)云能夠?qū)ζ溆枰孕扪a(bǔ)??偟膩?lái)說(shuō),配準(zhǔn)誤差由建筑立面從上往下逐漸增大??紤]到激光雷達(dá)的高精度掃描,影像點(diǎn)云越接近于地面時(shí),獲取的立面信息偏差也增大,跨源點(diǎn)云的配準(zhǔn)精度也隨之降低。從實(shí)驗(yàn)結(jié)果看來(lái),本文通過(guò)實(shí)驗(yàn)完成了異維異質(zhì)的跨源數(shù)據(jù)配準(zhǔn),對(duì)于這類聯(lián)合多源數(shù)據(jù)的三維重建問(wèn)題具有一定的指導(dǎo)意義。
圖7 精配準(zhǔn)結(jié)果
本文提出一種跨源數(shù)據(jù)融合配準(zhǔn)的三維重建方法。該方法通過(guò)PCA變換后的點(diǎn)云,并用中心匹配來(lái)獲取一個(gè)較好的初始位姿狀態(tài),然后使用TrICP算法完成精配準(zhǔn)工作。針對(duì)激光點(diǎn)云數(shù)據(jù)獲取時(shí)受到視角的影響難以獲取建筑頂部信息,以及傾斜影像對(duì)立面信息獲取的不完整性,使用兩種數(shù)據(jù)融合完成三維重建,能夠彌補(bǔ)激光點(diǎn)云視角的限制和傾斜影像在建筑物立面的空洞、紋理扭曲等缺陷,提高建筑物的三維模型的信息完整性。如何消除建筑立面上小下大的誤差分布特點(diǎn),將是后續(xù)的主要研究工作。