白光亞,宋 濤,李 丹,成七一
1.國家電網(wǎng)有限公司直流建設(shè)分公司,北京100032
2.北京恒華偉業(yè)科技股份有限公司,北京100032
隨著社會的發(fā)展和城市的進(jìn)步,數(shù)字城市的概念逐漸普及。在構(gòu)建數(shù)字城市的過程中,不可避免地要構(gòu)建三維建筑模型[1]。三維激光掃描作為一種新興的測繪技術(shù),可以從目標(biāo)對象的表面收集大量的點(diǎn)云數(shù)據(jù),它具有非接觸、高精度和高速度的特點(diǎn)。這些點(diǎn)云數(shù)據(jù)真實(shí)和準(zhǔn)確的反映了物體表面的實(shí)際狀態(tài),并為重建物體的數(shù)三維模型提供了新的構(gòu)想。因此,該技術(shù)廣泛用于數(shù)字城市、文化遺產(chǎn)保護(hù)和考古測繪等諸多領(lǐng)域[2]。如何處理大量點(diǎn)云數(shù)據(jù),獲得高質(zhì)量點(diǎn)云并提高數(shù)字模型重構(gòu)效率,是當(dāng)前研究的熱點(diǎn)和難點(diǎn)。
目前,國內(nèi)外研究人員對基于三維激光云數(shù)據(jù)的快速提取方法進(jìn)行了大量的研究。在文獻(xiàn)[3]中,根據(jù)現(xiàn)有的二維GIS 數(shù)據(jù),結(jié)合在現(xiàn)場采集的建筑物高程和紋理信息,構(gòu)建建筑物的三維模型。在文獻(xiàn)[4]中,對通過車輛激光掃描系統(tǒng)獲得建筑物的點(diǎn)云數(shù)據(jù)進(jìn)行了研究,提出了一種從未校正的距離影像中提取建筑物信息的方法。在文獻(xiàn)[5]中,利用地面激光掃描儀獲取城市大型復(fù)雜建筑的三維空間信息,建立三維數(shù)據(jù)模型。在文獻(xiàn)[6]中,在分析車載激光點(diǎn)云掃描特性的基礎(chǔ)上,提出了一種點(diǎn)云過濾方法。使用此方法提取建筑物的垂直點(diǎn)信息,同時(shí)提取建筑物立面的詳細(xì)特征。這些研究為基于三維激光點(diǎn)云數(shù)據(jù)的建筑物快速提取方法提供了理論基礎(chǔ)。
在此基礎(chǔ)上,本文提出了一種基于ISS(Intrinsic Shape Signature)特征點(diǎn)的快速CPD(Coherent Point Drift)建筑物L(fēng)iDAR(Light Detection and Ranging)點(diǎn)云配準(zhǔn)算法。通過ISS 算法提取點(diǎn)云數(shù)據(jù)的特征點(diǎn),并通過CPD 算法對這些特征點(diǎn)進(jìn)行配準(zhǔn)。并通過實(shí)驗(yàn)對該算法有效性進(jìn)行驗(yàn)證。
myronenko 和song 在概率統(tǒng)計(jì)的基礎(chǔ)上提出CPD 配準(zhǔn)算法,與ICP 算法相比,提高了抗噪聲和異常點(diǎn)的能力[7]。但是,CPD 算法計(jì)算復(fù)雜,不適合大規(guī)模點(diǎn)云數(shù)據(jù)。針對建筑點(diǎn)云數(shù)據(jù)的大規(guī)模,提出了一種結(jié)合ISS 算法和CPD 算法用于建筑物L(fēng)iDAR 點(diǎn)云配準(zhǔn),利用ISS 算法提取點(diǎn)云數(shù)據(jù)的特征點(diǎn),這些特征點(diǎn)在通過CPD 算法進(jìn)行配準(zhǔn),提高運(yùn)算效率。
特征點(diǎn)(也稱為關(guān)鍵點(diǎn)或興趣點(diǎn))是設(shè)置在點(diǎn)云上的穩(wěn)定且獨(dú)特的點(diǎn)集,是連續(xù)且穩(wěn)定的結(jié)構(gòu)點(diǎn)。在本文中,通過ISS 算法提取點(diǎn)云數(shù)據(jù)的特征點(diǎn)。
設(shè)置點(diǎn)云數(shù)據(jù)的總數(shù)n,(xi,yi,zi),i=0,1,…,n-1,其中,記pi=(xi,yi,zi)。
(1)定義了點(diǎn)云上各點(diǎn)pi的局部坐標(biāo)系,并給出每個(gè)點(diǎn)的搜索半徑r。
(2)對點(diǎn)云數(shù)據(jù)中的每個(gè)點(diǎn)pi在半徑r范圍內(nèi)的所有點(diǎn)查詢,并計(jì)算其權(quán)重,如式(1)所示[8]。
(3)根據(jù)式(2)對各點(diǎn)pi的協(xié)方差矩陣進(jìn)行計(jì)算[9]。
(4)對各點(diǎn)pi的協(xié)方差矩陣特征值進(jìn)行計(jì)算{λ1 i,λ2 i,λ3 i},并按大小順序排列。
(5)設(shè)置閾值ε1與ε2,如果滿足,則將其視為關(guān)鍵點(diǎn)。
根據(jù)建筑物結(jié)構(gòu)的規(guī)律性,提出了一種結(jié)合ISS 算法和CPD 算法點(diǎn)云配準(zhǔn)算法。CPD 算法是一種概率點(diǎn)集配準(zhǔn)算法,可以看作速度場運(yùn)動(dòng)的一致性約束極大似然估計(jì)問題。用變分法表示運(yùn)動(dòng)的一致性約束,得到規(guī)則化極大似然估計(jì)[10]。該算法以兩個(gè)點(diǎn)云數(shù)據(jù)集的配準(zhǔn)為概率密度估計(jì)問題,以一組點(diǎn)云數(shù)據(jù)集為高斯混合模型的質(zhì)心。另一組為其數(shù)據(jù)。最大似然估計(jì)是通過EM(Expectation Maximization)優(yōu)化,找出這兩個(gè)點(diǎn)集之間的關(guān)系,即核心點(diǎn)集到數(shù)據(jù)點(diǎn)集的配準(zhǔn)。首先使用ISS 算法提取建筑物點(diǎn)云的特征點(diǎn),保持建筑物的結(jié)構(gòu)特征,使用傳統(tǒng)CPD 對這些特征點(diǎn)進(jìn)行配準(zhǔn),降低復(fù)雜度和提高配準(zhǔn)效率。ISS-CPD 配準(zhǔn)算法的具體步驟如下。
步驟1:選擇兩個(gè)視角LiDAR 點(diǎn)云重疊區(qū)域。
步驟2:使用ISS 算法提取關(guān)鍵點(diǎn)。
步驟3:初始化參數(shù)旋轉(zhuǎn)變換矩陣R、平移向量t、尺度參數(shù)s、高斯函數(shù)協(xié)方差δ2的值。
步驟4:計(jì)算后驗(yàn)概率p(m|xn)和相關(guān)概率矩陣。
步驟5:EM 算法求解參數(shù)R、s、t、δ2;
步驟6:判斷概率P是否收斂。如果沒有,返回到步驟4 直到它收斂。
步驟7:將R、s、t參數(shù)用于建筑物達(dá)點(diǎn)云數(shù)據(jù)A、B,并完成配準(zhǔn)。
實(shí)驗(yàn)數(shù)據(jù)由奧地利Riegl 公司制造的VZ-400 激光掃描儀獲得。掃描密度為垂直和水平方向上各0.05 度,掃描頻率為300 Hz。點(diǎn)云數(shù)據(jù)中兩個(gè)采樣點(diǎn)間距約為8 cm。使用matlab 實(shí)現(xiàn)該算法。在該實(shí)驗(yàn)中,從兩個(gè)不同的角度對選取的建筑物進(jìn)行點(diǎn)云配準(zhǔn),分別為建筑物1 號和2 號。如圖1 所示,左側(cè)兩個(gè)分別為1 號和2 號。左側(cè)兩幅和右側(cè)兩幅分別是從A、B 視角采集的建筑LiDAR 點(diǎn)云數(shù)據(jù)。
圖1 不同視角Li DAR 點(diǎn)云數(shù)據(jù)Fig.1 Li DAR point cloud data from different perspectives
由圖1 可知,其中1 號幾乎重疊(無噪音),而2 號重疊區(qū)域包含更多的樹和草(更多的噪音)。圖2 所示為建筑Li DAR 點(diǎn)云的重疊區(qū)域。從上到下為1 號和2 號建筑,左側(cè)和右側(cè)分別為從A、B視角獲得的建筑Li DAR 點(diǎn)云數(shù)據(jù)。
圖2 Li DAR 點(diǎn)云數(shù)據(jù)重疊區(qū)域Fig.2 Li DAR point cloud data overlapping regions
通過ISS 算法從重疊區(qū)域提取特征點(diǎn),結(jié)果如圖3 所示。在圖中,左側(cè)兩幅對應(yīng)的是1 號和2號,左側(cè)和右側(cè)分別為從A、B 視角獲得的建筑Li DAR 點(diǎn)云數(shù)據(jù)。
圖3 ISS 算法在重疊區(qū)域提取的特征點(diǎn)Fig.3 Feature points extracted by ISS algorithm in overlapping regions
如圖3 所示,在1 號建筑物重疊區(qū)域提取的點(diǎn)云數(shù)分別為視角A 的12702 和視角B 的11197,2號建筑物點(diǎn)云數(shù)分別為視角A 的105154 和視角B 的92559。ISS 提取特征點(diǎn)的個(gè)數(shù)為1 號建筑物視角A 的837 和視角B 的998,2 號建筑物的視角A 的5265 和視角B 的5057。
為了驗(yàn)證改進(jìn)算法的準(zhǔn)確性和有效性,與傳統(tǒng)的CPD 配準(zhǔn)算法進(jìn)行比較。迭代次數(shù)設(shè)置為100,收斂閾值設(shè)置為1×10-8。圖4 所示配準(zhǔn)結(jié)果。左側(cè)兩幅對應(yīng)的是1 號和2 號,在右側(cè)是本文提出ISS-CPD 算法提取。表1 所示這兩種配準(zhǔn)算法的執(zhí)行時(shí)間。
圖4 改進(jìn)前后配準(zhǔn)結(jié)果比較Fig.4 Comparison of registration results before and after improvement
表1 算法配準(zhǔn)時(shí)間比較Table 1 Comparison of algorithm registration times
將ISS-CPD 算法配準(zhǔn)得到的參數(shù)用于建筑物的整體LiDAR 點(diǎn)云數(shù)據(jù)。結(jié)果如圖5 所示,從左到右,對應(yīng)的是1 號和2 號。
圖8 改進(jìn)前后配準(zhǔn)結(jié)果對比Fig.8 Comparison of registration results before and after improvement
實(shí)驗(yàn)結(jié)果表明,該配準(zhǔn)算法比傳統(tǒng)配準(zhǔn)算法具有更高的效率。與傳統(tǒng)的算法相比,該算法提取特征點(diǎn)所需的時(shí)間可以忽略不計(jì)。改進(jìn)算法的執(zhí)行時(shí)間比傳統(tǒng)算法要短得多,運(yùn)行時(shí)間僅為傳統(tǒng)CPD算法的 1/320左右。
本文提出了一種結(jié)合ISS 算法和CPD 算法用于LiDAR 點(diǎn)云配準(zhǔn)。通過ISS 算法提取了點(diǎn)云數(shù)據(jù)的特征點(diǎn),并通過CPD 算法對這些特征點(diǎn)進(jìn)行了配準(zhǔn),大大提高了算法的效率。實(shí)驗(yàn)驗(yàn)證了算法的有效性,結(jié)果表明,改進(jìn)算法的配準(zhǔn)效率高于傳統(tǒng)算法??紤]到目前的實(shí)驗(yàn)室設(shè)備和數(shù)據(jù)規(guī)模,本文還處于起步階段。在此基礎(chǔ)上,逐步改進(jìn)和完善將成為下一步工作的重點(diǎn)。