本發(fā)明涉及技術(shù)計算機(jī)應(yīng)用領(lǐng)域,具體涉及一種基于幾何重心和質(zhì)心距離比不變性的多尺度點云配準(zhǔn)方法。
背景技術(shù):
:隨著三維點云掃描與處理技術(shù)的不斷進(jìn)步,配準(zhǔn)技術(shù)在逆向工程,在圖像檢索,三維重建和移動視覺檢索等方面有著廣泛應(yīng)用。點云配準(zhǔn)的目的是在兩點云數(shù)據(jù)集之間建立對應(yīng)關(guān)系,求解最優(yōu)狀態(tài)下的空間轉(zhuǎn)換。在眾多算法中,迭代最近點算法(icp)由于其良好的性能和簡潔性,應(yīng)用最為廣泛。眾多學(xué)者在此基礎(chǔ)上,深入研究了icp算法的收斂速度和魯棒性等問題。對于大型物件的點云數(shù)據(jù)集采集,通常涉及多個掃描站點以及不同設(shè)備間的數(shù)據(jù)采集。由于不同掃描設(shè)備的差異以及各個掃描站點與被掃描物體之間距離的不同,各個站點之間的點云除了傳統(tǒng)的旋轉(zhuǎn)和平移變換,還包含尺度變換。原始的icp算法在配準(zhǔn)中沒有考慮比例因子,ying和du等人結(jié)合邊界尺度和傳統(tǒng)icp算法,提出邊界尺度迭代最近點算法(icpbs),但該算法沒有考慮實際應(yīng)用中會影響配準(zhǔn)精確度的離群值和噪聲的問題。andriy等人提出相干點漂移(cpd)算法,該算法將點云配準(zhǔn)作為概率密度估計,通過最大似然估計來匹配待配準(zhǔn)點云與模型點云,該算法配準(zhǔn)結(jié)果與構(gòu)造的高斯模型密切相關(guān),在處理非橢球體點云時不夠理想。du等為處理噪聲問題,引入em估計和尺度因子,結(jié)合傳統(tǒng)icp算法進(jìn)行配準(zhǔn),提出尺度概率迭代最近點算法(spicp)。該算法通過待配準(zhǔn)點云與模型點云之間的最小距離和來確定尺度因子、旋轉(zhuǎn)矩陣和平移矩陣,引入高斯概率函數(shù)減小噪聲和離群值的影響,在尺度因子的計算上依賴于迭代計算,收斂速度較慢,并且沒有考慮不同掃描站點與被掃描物體距離不同引起數(shù)據(jù)不一致的情況。技術(shù)實現(xiàn)要素:發(fā)明目的:針對三維點云配準(zhǔn)中點云尺度不一致和配準(zhǔn)精確度的問題,本發(fā)明提供了一種基于幾何重心和質(zhì)心距離比不變性的多尺度點云配準(zhǔn)方法。本發(fā)明計算待配準(zhǔn)點云的重心和質(zhì)心,根據(jù)待配準(zhǔn)后點云重心與質(zhì)心距離,建立尺度因子計算模型,并計算尺度因子;最后,將計算得到的尺度因子代入icp算法,依據(jù)尺度因子和配準(zhǔn)誤差的函數(shù)關(guān)系,由粗略到精細(xì)迭代計算,得到尺度因子、旋轉(zhuǎn)矩陣和平移變換。與邊界尺度迭代最近點算法(icpbs)和尺度概率迭代最近點算法(spicp)進(jìn)行比較,提出的方法在尺度因子、配準(zhǔn)誤差、旋轉(zhuǎn)矩陣誤和平移向量誤差數(shù)量級分別提升至10-4、10-6、10-3和10-3。提高了配準(zhǔn)精度。為了解決上述技術(shù)問題,本發(fā)明提出以下技術(shù)方案:一種基于幾何重心和質(zhì)心距離比不變性的多尺度點云配準(zhǔn)方法,其特征在于,包括如下步驟:步驟1,分別讀取txt格式的三維點云文件,設(shè)p和q分別為兩不同尺度點云數(shù)據(jù)集;步驟2,運(yùn)用點云數(shù)據(jù)處理中的統(tǒng)計濾波器對點云數(shù)據(jù)集進(jìn)行濾波處理,統(tǒng)計濾波器對點云數(shù)據(jù)中每個數(shù)據(jù)點的鄰域進(jìn)行統(tǒng)計分析,過濾掉不符合要求的數(shù)據(jù)點,以減小噪聲和離群值的影響;步驟3,建立尺度因子計算模型;步驟4,利用點云數(shù)據(jù)集的空間信息,計算點云p重心和質(zhì)心,重心和質(zhì)心歐氏距離dis(pg,pw);步驟5,利用點云數(shù)據(jù)集的空間信息,計算點云q的重心和質(zhì)心,重心和質(zhì)心歐氏距離dis(qg,qw);步驟6,根據(jù)尺度因子模型計算兩個點云數(shù)據(jù)集的尺度;步驟7,建立尺度迭代計算模型;步驟8,對尺度因子s0進(jìn)行取整操作,得到第一次迭代尺度s1,根據(jù)尺度迭代計算模型進(jìn)行第一次迭代計算,設(shè)定尺度因子迭代范圍、精確度;步驟9,利用尺度迭代計算配準(zhǔn)誤差,判斷是否滿足迭代終止條件,若不滿足,根據(jù)步驟6進(jìn)行第二次迭代計算;若滿足,則終止迭代,得到最終尺度因子s實;步驟10,以txt格式輸出多尺度配準(zhǔn)后的點云數(shù)據(jù)集。步驟3包括如下步驟:步驟3-1,設(shè)p和q分別為兩不同尺度點云數(shù)據(jù)集,pi和qi分別為點云數(shù)據(jù)集p和q上的點,可以得到:式中:pg為云點p的重心;pw為云點p的質(zhì)心;m為質(zhì)量;qg為云點q的重心;qw為云點q的質(zhì)心;n為云點的數(shù)量;步驟3-2,考慮到在數(shù)據(jù)采集過程中點云數(shù)據(jù)集有旋轉(zhuǎn)和平移變換,設(shè)點云q經(jīng)點云數(shù)據(jù)集p尺度旋轉(zhuǎn)變換得到,即:qi=srpi+t,其中s為尺度因子,r為旋轉(zhuǎn)矩陣,t為平移向量,下述為書寫方便,省略求和上下限,根據(jù)上述信息,可以得到:又∑mi=1,則上式可化為:又r為旋轉(zhuǎn)矩陣,滿足|r|=1,所以上式為步驟7包括如下步驟:步驟7-1,通過尺度因子計算模型,計算點云重心以及質(zhì)心,得到初始尺度因子s0;步驟7-2,對s初進(jìn)行最鄰近取整操作,得到第一次迭代尺度因子s1;步驟7-3,在區(qū)間[si(1-ci),si(1+ci)](i=1,2,…)區(qū)間內(nèi)使用icp算法進(jìn)行迭代計算,-1<ci<1,實驗中取ci=0.1,得到最小誤差對應(yīng)的尺度因子si;步驟7-4,判斷配準(zhǔn)誤差與迭代次數(shù),若不滿足終止條件,返回步驟7-2,若滿足終止條件,輸出最終尺度因子s實。本發(fā)明的有益效果:用斯坦福三維掃描存儲庫的公共點云數(shù)據(jù)集進(jìn)行仿真,并與邊界尺度迭代最近點算法(icpbs)和尺度概率迭代最近點算法(spicp)進(jìn)行比較。實驗結(jié)果表明,提出的方法在尺度因子、配準(zhǔn)誤差、旋轉(zhuǎn)矩陣誤和平移向量誤差數(shù)量級分別提升至10-4、10-6、10-3和10-3。附圖說明下面結(jié)合附圖和實施例對本發(fā)明作進(jìn)一步說明。圖1兩種尺度不同的原始點云數(shù)據(jù)。圖2第一次尺度迭代得到的初始點云數(shù)據(jù)。圖3最終迭代配準(zhǔn)后的點云數(shù)據(jù)。圖4三次尺度迭代中的配準(zhǔn)誤差。圖5是本發(fā)明基于幾何重心和質(zhì)心距離比不變性的多尺度點云配準(zhǔn)方法的流程圖。具體實施方式在基于幾何重心和質(zhì)心距離比不變性的多尺度點云配準(zhǔn)方法中,考慮在有噪聲、待配準(zhǔn)點云數(shù)據(jù)集數(shù)據(jù)量不一致時,圖1為不同尺度的原始點云數(shù)據(jù),圖3為配準(zhǔn)后的點云數(shù)據(jù),從圖中我們可以看出,原始未配準(zhǔn)點云數(shù)據(jù)集,不僅存在旋轉(zhuǎn)平移變換,也存在尺度變換,經(jīng)由算法配準(zhǔn)后,配準(zhǔn)效果理想,具體實驗數(shù)據(jù)如表1。實驗表格中s真表示真實尺度,s初表示初始尺度,si(i=1,2,…)表示第i次迭代后的尺度值,send表示實驗最終尺度值,εs表示尺度誤差,εreg表示配準(zhǔn)誤差(表格中采用科學(xué)計數(shù)法表示),εr表示旋轉(zhuǎn)矩陣誤差,εt表示平移向量誤差。如圖5所示,基于幾何重心和質(zhì)心距離比不變性的多尺度點云配準(zhǔn)方法的具體實現(xiàn)步驟如下:步驟1,分別讀取txt格式的三維點云文件,設(shè)p和q分別為兩不同尺度點云數(shù)據(jù)集,如圖1所示;步驟2,運(yùn)用點云數(shù)據(jù)處理中的統(tǒng)計濾波器對點云數(shù)據(jù)集進(jìn)行濾波處理,統(tǒng)計濾波器對點云數(shù)據(jù)中每個數(shù)據(jù)點的鄰域進(jìn)行統(tǒng)計分析,過濾掉不符合要求的數(shù)據(jù)點,以減小噪聲和離群值的影響;步驟3,建立尺度因子計算模型;步驟4,利用點云數(shù)據(jù)集的空間信息,計算點云p重心和質(zhì)心,重心和質(zhì)心歐氏距離dis(pg,pw);步驟5,利用點云數(shù)據(jù)集的空間信息,計算點云q的重心和質(zhì)心,重心和質(zhì)心歐氏距離dis(qg,qw);步驟6,根據(jù)尺度因子模型計算兩個點云數(shù)據(jù)集的尺度,得到尺度初值s初=7.356;步驟7,建立尺度迭代計算模型;步驟8,利用尺度迭代計算模型計算配準(zhǔn)誤差,對尺度因子s0進(jìn)行取整操作,得到最小誤差時對應(yīng)的尺度因子s1=7。根據(jù)尺度迭代計算模型進(jìn)行第一次迭代計算,對應(yīng)點云數(shù)據(jù)如圖2所示,尺度因子迭代范圍s∈[3.5:0.7:10.5],精確度0.7;步驟9,利用尺度迭代計算模型計算配準(zhǔn)誤差,得到最小誤差時對應(yīng)的尺度因子s2=7.7.不滿足迭代終止條件,根據(jù)尺度迭代計算模型進(jìn)行第二次迭代計算,尺度因子迭代范圍s∈[7.00:0.07:8.40],精確度0.07;步驟10,利用尺度迭代計算模型計算配準(zhǔn)誤差,得到最小誤差時對應(yīng)的尺度因子s3=7.77。不滿足迭代終止條件,根據(jù)尺度迭代計算模型進(jìn)行第二次迭代計算,尺度因子迭代范圍s∈[7.700:0.007:7.840],精確度0.007;步驟11利用尺度迭代計算模型計算配準(zhǔn)誤差,得到最小誤差時對應(yīng)的尺度因子s=7.756。配準(zhǔn)誤差為1.46×10-4,滿足迭代次數(shù)終止條件,迭代結(jié)束,得到最終尺度因子s實=7.560,尺度誤差為0.52%s實;步驟12以txt格式輸出多尺度配準(zhǔn)后的點云數(shù)據(jù)集,點云數(shù)據(jù)顯示如圖3所示。步驟3包括如下步驟:步驟3-1,設(shè)p和q分別為兩不同尺度點云數(shù)據(jù)集,pi和qi分別為點云數(shù)據(jù)集p和q上的點,可以得到:步驟3-2,考慮到在數(shù)據(jù)采集過程中點云數(shù)據(jù)集有旋轉(zhuǎn)和平移變換,設(shè)點云q經(jīng)點云數(shù)據(jù)集p尺度旋轉(zhuǎn)變換得到,即:qi=srpi+t,其中s為尺度因子,r為旋轉(zhuǎn)矩陣,t為平移向量,下述為書寫方便,省略求和上下限,根據(jù)上述信息,可以得到:又∑mi=1,則上式可化為:又r為旋轉(zhuǎn)矩陣,滿足|r|=1,所以上式為步驟7包括如下步驟:步驟7-1,通過尺度因子計算模型,計算點云重心以及質(zhì)心,得到初始尺度因子s0;步驟7-2,對s初進(jìn)行最鄰近取整操作,得到第一次迭代尺度因子s1;步驟7-3,在區(qū)間[si(1-ci),si(1+ci)](i=1,2,…)區(qū)間內(nèi)使用icp算法進(jìn)行迭代計算,-1<ci<1,實驗中取ci=0.1,得到最小誤差對應(yīng)的尺度因子si;步驟7-4,判斷配準(zhǔn)誤差與迭代次數(shù),若不滿足終止條件,返回步驟7-2,若滿足終止條件,輸出最終尺度因子s實;實驗結(jié)果:如表1所示,實驗結(jié)果舉例說明本發(fā)明提出的方法具有較好的匹配結(jié)果:表1有噪聲有采樣實驗結(jié)果數(shù)據(jù)集s真s初s1s2s3sendεsεregεrεttoy7.767.35677.77.777.7560.52%1.46e-042.33e-045.74e-04如表1與圖4所示,實驗結(jié)果舉例說明本發(fā)明提出的方法具有較好的匹配結(jié)果。本發(fā)明針對三維點云配準(zhǔn)中點云尺度不一致和配準(zhǔn)精確度的問題,提出的基于幾何重心和質(zhì)心距離比不變性的多尺度點云配準(zhǔn)方法,用斯坦福三維掃描存儲庫的公共點云數(shù)據(jù)集進(jìn)行仿真,并與邊界尺度迭代最近點算法(icpbs)和尺度概率迭代最近點算法(spicp)進(jìn)行比較。實驗結(jié)果表明,提出的方法在尺度因子、配準(zhǔn)誤差、旋轉(zhuǎn)矩陣誤和平移向量誤差數(shù)量級分別提升至10-4、10-6、10-3和10-3。本發(fā)明提供了一種基于幾何重心和質(zhì)心距離比不變性的多尺度點云配準(zhǔn)方法,以上所述是本發(fā)明的實施方式,本實施例中未明確的各組成部分均可用現(xiàn)有技術(shù)加以實現(xiàn)。通過上述的說明內(nèi)容,本領(lǐng)域技術(shù)人員完全可以在不偏離本項發(fā)明技術(shù)思想的范圍內(nèi),進(jìn)行多樣的變更以及修改都在本發(fā)明的保護(hù)范圍之內(nèi)。本發(fā)明的未盡事宜,屬于本領(lǐng)域技術(shù)人員的公知常識。當(dāng)前第1頁12