郭怡 師濤 姚惠敏
摘? 要:點(diǎn)云的去噪、精簡(jiǎn)和預(yù)處理對(duì)基于激光測(cè)量的三維重建具有重要意義,可以為不同視場(chǎng)下的多幅點(diǎn)云數(shù)據(jù)拼接提供較好的基礎(chǔ)。為了使兩幅點(diǎn)云在精確拼接ICP(ICP, Iterative Closest Point)前具有良好的初始位置,本文在點(diǎn)云數(shù)據(jù)拼接中提出了基于線性插值的點(diǎn)云增強(qiáng)技術(shù)來提高拼接算法精度,該算法可以得到完整的點(diǎn)云數(shù)據(jù),有效提高了點(diǎn)云拼接的精度和效率。
關(guān)鍵詞:三維重建? 線性插值? ICP算法? 點(diǎn)云拼接
中圖分類號(hào):TP391? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A? ? ? ? ? ? ? ? ? ? 文章編號(hào):1674-098X(2020)08(c)-0033-03
Abstract: The denoising, reduction and preprocessing of point cloud are of great significance to the 3D reconstruction based on laser measurement, which can provide a good foundation for the point cloud data splicing in different fields of view. In order to make the two point clouds have a good initial position before the precise splicing of ICP (iterative closure point), this paper proposes a point cloud enhancement technology based on linear interpolation to improve the accuracy of the splicing algorithm in the point cloud data splicing, which can obtain complete point cloud data and effectively improve the accuracy and efficiency of point cloud mosaic.
Key Words: 3D reconstruction; Linear interpolation; ICP algorithm; Point cloud mosaic
隨著激光三維測(cè)量技術(shù)的快速發(fā)展,其在航空航天、文物保護(hù)等領(lǐng)域得到了廣泛的應(yīng)用。激光三維測(cè)量技術(shù)采用激光掃描快速準(zhǔn)確的獲取物體表面的點(diǎn)云形態(tài)特征,在此基礎(chǔ)上將不同坐標(biāo)系下的點(diǎn)云數(shù)據(jù)進(jìn)行轉(zhuǎn)換并統(tǒng)一到同一個(gè)坐標(biāo)系中,通過點(diǎn)云數(shù)據(jù)的拼接,形成物體表面的三維輪廓,進(jìn)而完成基于逆向工程的物體三維形貌重構(gòu)。
點(diǎn)云拼接技術(shù)在激光三維重構(gòu)中扮演著至關(guān)重要的角色,同時(shí)也是點(diǎn)云處理的關(guān)鍵步驟。點(diǎn)云拼接算法的實(shí)質(zhì)是把不同坐標(biāo)系的點(diǎn)云通過旋轉(zhuǎn)和平移變換統(tǒng)一到同一坐標(biāo)系中。通過ICP迭代算法可將另外一個(gè)點(diǎn)云轉(zhuǎn)換到參考坐標(biāo)系,從而實(shí)現(xiàn)兩個(gè)點(diǎn)云的坐標(biāo)系一致和拼接。在實(shí)際的應(yīng)用過程中,由于關(guān)鍵點(diǎn)云的缺失從而導(dǎo)致拼接結(jié)果的誤差,如何有效提高拼接精度對(duì)基于激光測(cè)量的三維重構(gòu)具有重要意義。
1? 點(diǎn)云增強(qiáng)技術(shù)研究
ICP算法采用最小二乘計(jì)算變換矩陣,有較好的精度,但是采用迭代算法,導(dǎo)致速度較慢,因此,采用ICP配準(zhǔn)時(shí),對(duì)待配準(zhǔn)點(diǎn)云的初始位置有一定的要求,如果初始位置不合理,容易陷入局部最優(yōu)。
ICP算法的具體過程為在目標(biāo)點(diǎn)云P和源點(diǎn)云中Q中,根據(jù)約束條件,找到目標(biāo)點(diǎn)云和源點(diǎn)云中的最鄰近點(diǎn),并求解出剛體變換過程中的最優(yōu)匹配參數(shù)旋轉(zhuǎn)矩陣R和平移矩陣t,并使得到的誤差函數(shù)最小。誤差函數(shù)如公式(1)所示:
其中n為最鄰近點(diǎn)對(duì)的個(gè)數(shù),為目標(biāo)點(diǎn)云P中的一點(diǎn),為源點(diǎn)云Q中與對(duì)應(yīng)的最近點(diǎn),R為旋轉(zhuǎn)矩陣,t為平移向量。
ICP點(diǎn)云拼接的迭代過程為:
(1)首先在目標(biāo)點(diǎn)云上選取目標(biāo)點(diǎn)集。
(2)對(duì)目標(biāo)點(diǎn)云中的每個(gè)點(diǎn)在參考點(diǎn)云中搜索歐氏距離最近的點(diǎn)作為其對(duì)應(yīng)點(diǎn),得到對(duì)應(yīng)點(diǎn)集。
(3)計(jì)算旋轉(zhuǎn)矩陣與平移矩陣,使得誤差函數(shù)最小。
(4)對(duì)目標(biāo)點(diǎn)集中的每個(gè)點(diǎn)通過步驟(3)中求得的旋轉(zhuǎn)矩陣與平移矩陣進(jìn)行旋轉(zhuǎn)平移變換,得到新的對(duì)應(yīng)點(diǎn)集。
(5)計(jì)算新的對(duì)應(yīng)點(diǎn)集與步驟(2)中參考點(diǎn)云的對(duì)應(yīng)點(diǎn)集之間的平均距離。
(6)若步驟(5)中的平均距離小于給定的閾值,或大于預(yù)定的最大迭代次數(shù),則停止計(jì)算,否則返回步驟(2),直到符合條件為止。
從上述迭代過程可看出,ICP拼接算法實(shí)際上就是不停的重復(fù)“確定對(duì)應(yīng)點(diǎn)集,計(jì)算最優(yōu)剛體變換”的過程。一般來說原始點(diǎn)集的采集方法:均勻采樣法、隨機(jī)采樣法、法矢采樣法等。對(duì)應(yīng)點(diǎn)集的確定方法:點(diǎn)到點(diǎn)法、點(diǎn)到投影法、點(diǎn)到面法等。計(jì)算變化矩陣的方法:四元數(shù)法、SVD奇異值分解法等。
但是在上述拼接過程中,由于激光掃描的盲區(qū)可能導(dǎo)致部分點(diǎn)云數(shù)據(jù)的缺失,點(diǎn)云數(shù)據(jù)的缺失將導(dǎo)致重構(gòu)的物體三維形貌失真,同時(shí)降低了測(cè)量的精度與準(zhǔn)確度。點(diǎn)云增強(qiáng)的基本原理是在原有的點(diǎn)云基礎(chǔ)上增加新的點(diǎn)云數(shù)據(jù),以補(bǔ)齊缺失的點(diǎn)云數(shù)據(jù)。該方法在兩種假設(shè)的基礎(chǔ)上實(shí)現(xiàn):第一,加入的點(diǎn)為ICP拼接算法提供更好的搜索空間;第二,加入的點(diǎn)云數(shù)據(jù)可以有效的彌補(bǔ)原有缺失的點(diǎn)云。
在點(diǎn)增強(qiáng)技術(shù)中,假設(shè)對(duì)每一個(gè)點(diǎn)云數(shù)據(jù)都能用離散函數(shù)表示,如公式(2)所示:
其中,是點(diǎn)云集的數(shù)量,為點(diǎn)云的三維坐標(biāo)。點(diǎn)云增強(qiáng)的步驟為:
第一步:計(jì)算拼接位置的坐標(biāo)值;
第二步:計(jì)算對(duì)應(yīng)的坐標(biāo)值。
點(diǎn)云增強(qiáng)只是被用在拼接部分,主要是檢查增強(qiáng)是否可以搜索ICP算法的解空間,同時(shí)可以獲得更好的拼接效果。目前點(diǎn)云增強(qiáng)主要分為線性插值法和非線性插值法。由于非線性的都是基于全局的圖像增強(qiáng),針對(duì)局部點(diǎn)云插值增強(qiáng),一般利用線性插值實(shí)現(xiàn)數(shù)據(jù)增強(qiáng)。線性插值的使用前提是在數(shù)據(jù)中各點(diǎn)的灰度是呈線性變化的。
灰度值計(jì)算過程如下。
首先計(jì)算出和的灰度值,在此基礎(chǔ)上計(jì)算出 的灰度值,其中:
點(diǎn)云經(jīng)過雙線性插值法后,從整體來看,視覺效果較好,解決了灰度不連續(xù)這一問題。相對(duì)于最近鄰域法,運(yùn)算量相對(duì)較復(fù)雜。雙線性插值是分別從水平方向與垂直方向?qū)Υ鍞?shù)據(jù)中4個(gè)鄰接點(diǎn)的灰度值作線性插值。當(dāng)對(duì)相鄰的4個(gè)點(diǎn)進(jìn)行插值時(shí),所得結(jié)果在鄰接處是吻合的,但插值時(shí)的平滑可能使得插值處的圖像細(xì)節(jié)相較于其他點(diǎn)有所退化。
2? 基于點(diǎn)云增強(qiáng)的ICP拼接算法
對(duì)于兩片從不同視角獲取到的三維點(diǎn)云P與Q點(diǎn)云Q。經(jīng)過粗拼接之后,得到對(duì)應(yīng)匹配點(diǎn)云集合和,設(shè)搜索閾值為,拼接閾值為,則基本步驟如下:
(1)在點(diǎn)云P中,通過上述的最近點(diǎn)對(duì)之間的搜索算法對(duì)特征點(diǎn)集中某點(diǎn),在點(diǎn)云Q的特征點(diǎn)中,尋找符合ICP拼接算法約束條件,并距離最近的3個(gè)點(diǎn)。計(jì)算到此3個(gè)點(diǎn)的距離,并與進(jìn)行比較,若存在某點(diǎn)之間的距離大于,則對(duì)這一范圍的點(diǎn)云數(shù)據(jù)進(jìn)行雙線性點(diǎn)云增強(qiáng),重復(fù)執(zhí)行這一過程,直到這3點(diǎn)之間的距離都小于時(shí)為止,此時(shí),這三點(diǎn)都表示符合要求的點(diǎn)云數(shù)據(jù)。
(2)構(gòu)建ICP精拼接過程中的匹配對(duì)應(yīng)點(diǎn)對(duì),首先連接步驟(1)中離最近的3個(gè)點(diǎn)并形成一個(gè)三角面;接著過點(diǎn)做三角面的垂線,垂足為點(diǎn)的匹配對(duì)應(yīng)點(diǎn),同時(shí)也是距離點(diǎn)最近的點(diǎn);
(3)迭代步驟(2)中求得的匹配對(duì)應(yīng)點(diǎn)對(duì)。通過奇異值分解法尋找到兩片點(diǎn)云數(shù)據(jù)進(jìn)行剛性變換時(shí)的旋轉(zhuǎn)矩陣(R)和平移矩陣(T),直到公式(1)中的值最小時(shí),迭代停止。
(4)對(duì)匹配點(diǎn)云集通過步驟(3)中求得的旋轉(zhuǎn)矩陣(R)和平移矩陣(T)做剛性變換,轉(zhuǎn)換后得到新的點(diǎn)云集。
(5)計(jì)算步驟(4)中得到的點(diǎn)云集與點(diǎn)云集之間的距離,并判斷其與閾值的大小;若大于,則返回步驟(1),重新迭代執(zhí)行此算法,直到其距離小于 。
(6)對(duì)中的所有的點(diǎn)執(zhí)行上述操作,并經(jīng)過計(jì)算得到增強(qiáng)的點(diǎn)云集合。
3? 結(jié)語
本采用線性插值法對(duì)ICP拼接算法進(jìn)行改進(jìn),提高三維點(diǎn)云數(shù)據(jù)在精拼接時(shí)精度。雙線性插值是分別從水平方向與垂直方向?qū)Υ鍞?shù)據(jù)中4個(gè)鄰接點(diǎn)的灰度值作線性插值。點(diǎn)云經(jīng)過雙線性插值法后,從整體來看,視覺效果較好,解決了灰度不連續(xù)這一問題。當(dāng)對(duì)相鄰的4個(gè)點(diǎn)進(jìn)行插值時(shí),所得結(jié)果在鄰接處是吻合的,但插值時(shí)的平滑可能使得插值處的圖像細(xì)節(jié)相較于其他點(diǎn)有所退化。
參考文獻(xiàn)
[1] 史懷璽,曾現(xiàn)彪.激光測(cè)量技術(shù)在飛機(jī)產(chǎn)品檢測(cè)中的應(yīng)用[J].科技創(chuàng)新導(dǎo)報(bào),2018(17):6-8.
[2] 王月,張樹生,白曉亮.點(diǎn)云和視覺特征融合的增強(qiáng)現(xiàn)實(shí)裝配系統(tǒng)三維跟蹤注冊(cè)方法[J].西北工業(yè)大學(xué)學(xué) 報(bào),2019,37(1):143-151.
[3] 楊帆,唐偉智,吳昊.改進(jìn)迭代最近點(diǎn)算法的點(diǎn)云自動(dòng)精配準(zhǔn)[J].遙感信息,2018,33(2):40-45.
[4] 劉濤,高媛,秦品樂,等.基于點(diǎn)云增強(qiáng)優(yōu)化的泊松重建算法[J].計(jì)算機(jī)應(yīng)用研究,2018,35(3):940-948.
[5] 呂學(xué)庚.航空發(fā)動(dòng)機(jī)葉片流曲面重構(gòu)及修復(fù)方法研究[D].哈爾濱:哈爾濱工業(yè)大學(xué),2019.
[6] 李紅彥,王韓波.點(diǎn)云數(shù)據(jù)的配準(zhǔn)算法研究[J].礦山測(cè)量,2020,48(2):74-78.