本發(fā)明涉及逆向工程技術領域,特別是涉及一種無標定曲面點云數據重建圓柱面的方法及裝置。
背景技術:
逆向工程是指根據現有的產品模型,利用數字化測量設備獲取實體數據,然后對這些數據進行分割與擬合,來構建一個完整的cad模型。目前逆向工程技術已經廣泛應用于各種工程領域,如工業(yè)檢測、自主導航和文物保護等。
由于點云數據具有存儲方便,計算靈活的特點,現已成為計算機圖形學中一種重要的元數據形式,點云逆向重建是點云計算中的一項重要技術。近年來,隨著數字化精度的不斷提高以及掃描對象曲面的復雜化,對于三維激光掃描儀或ct掃描儀等設備所獲取的海量點云數據,傳統(tǒng)的點云數據分割處理環(huán)節(jié)非常耗時,因此設計新的算法來解決點云數據分割問題變得十分重要。
技術實現要素:
本發(fā)明的目的是提供一種無標定曲面點云數據重建圓柱面的方法及裝置,實現了將一個包含有三個以內近似圓柱面組成的曲面點云數據進行分割并分別進行圓柱面擬合。
為解決上述技術問題,本發(fā)明提供一種無標定曲面點云數據重建圓柱面的方法,包括:
將掃描獲得的曲面點云數據利用最小二乘法擬合,并利用擬合方程確定擬合特征數據;
利用最小二乘意義對所有點云數據進行圓柱面擬合,并判斷首次擬合是否成功;
若首次擬合失敗,則采用聚類算法將所有點云數據分割為兩個曲面,分別利用最小二乘意義進行圓柱面擬合,并判斷兩個曲面是否均擬合成功;
若第二次擬合失敗,則采用聚類算法將所有點云數據分割為三個曲面,分別利用最小二乘意義進行圓柱面擬合,并判斷三個曲面是否均擬合成功;
若第三次擬合失敗,則判定所述曲面點云數據不可重建為圓柱面。
可選地,所述將掃描獲得的曲面點云數據利用最小二乘法擬合,并利用擬合方程確定擬合特征數據包括:
利用所述擬合方程確定每個點云對應的兩個主曲率,對每個點云選取三維坐標值以及所述主曲率作為對應點云的擬合特征數據。
可選地,判斷曲面是否擬合成功包括:
確定點云與擬合圓柱面的均方根,將所述均方根與預設均方根閾值進行比較;若所述均方根小于所述預設均方根閾值,則判斷曲面擬合成功。
可選地,所述采用聚類算法對點云數據進行分割包括:
采用k-means聚類算法結合密度聚類思想對點云數據進行分割;
在采用聚類算法對點云數據進行分割的過程中,計算平方誤差準則函數是否達到預設閾值,如果是,則輸出分割結果;如果否,則繼續(xù)進行分割。
本發(fā)明還提供了一種無標定曲面點云數據重建圓柱面的裝置,包括:
擬合特征數據確定模塊,用于將掃描獲得的曲面點云數據利用最小二乘法擬合,并利用擬合方程確定擬合特征數據;
首次擬合模塊,用于利用最小二乘意義對所有點云數據進行圓柱面擬合,并判斷首次擬合是否成功;
二次擬合模塊,用于若首次擬合失敗,則采用聚類算法將所有點云數據分割為兩個曲面,分別利用最小二乘意義進行圓柱面擬合,并判斷兩個曲面是否均擬合成功;
三次擬合模塊,用于若第二次擬合失敗,則采用聚類算法將所有點云數據分割為三個曲面,分別利用最小二乘意義進行圓柱面擬合,并判斷三個曲面是否均擬合成功;若第三次擬合失敗,則判定所述曲面點云數據不可重建為圓柱面。
本發(fā)明所提供的無標定曲面點云數據重建圓柱面的方法及裝置,將掃描獲得的曲面點云數據利用最小二乘法擬合,并利用擬合方程確定擬合特征數據;利用最小二乘意義對所有點云數據進行圓柱面擬合,并判斷首次擬合是否成功;若首次擬合失敗,則采用聚類算法將所有點云數據分割為兩個曲面,分別利用最小二乘意義進行圓柱面擬合,并判斷兩個曲面是否均擬合成功;若第二次擬合失敗,則采用聚類算法將所有點云數據分割為三個曲面,分別利用最小二乘意義進行圓柱面擬合,并判斷三個曲面是否均擬合成功。本發(fā)明所提供的無標定曲面點云數據重建圓柱面的方法及裝置,通過k-means聚類算法結合最小二乘意義的圓柱面擬合方法,實現了全無標定的曲面點云數據重建為圓柱面。
附圖說明
為了更清楚的說明本發(fā)明實施例或現有技術的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單的介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
圖1為本發(fā)明所提供的無標定曲面點云數據重建圓柱面的方法的一種具體實施方式的流程圖;
圖2為本發(fā)明所提供的無標定曲面點云數據重建圓柱面的方法的另一種具體實施方式的流程圖;
圖3為本發(fā)明實施例提供的曲面點云被分割并重建為由兩個圓柱面光滑拼接的流程圖;
圖4為本發(fā)明實施例提供的曲面點云被分割并重建為由三個圓柱面光滑拼接的流程圖;
圖5為本發(fā)明實施例提供的無標定曲面點云數據重建圓柱面的裝置的結構框圖。
具體實施方式
為了使本技術領域的人員更好地理解本發(fā)明方案,下面結合附圖和具體實施方式對本發(fā)明作進一步的詳細說明。顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
在實際工程應用中,一個曲面若需重建為圓柱面,最多僅分割為三個面再分別進行圓柱面擬合,否則用多個圓柱面的拼接來代替原來的曲面的簡化過程將失去意義。本發(fā)明所提供的無標定曲面點云數據重建圓柱面的方法的一種具體實施方式的流程圖如圖1所示,該方法包括:
步驟s11:將掃描獲得的曲面點云數據利用最小二乘法擬合,并利用擬合方程確定擬合特征數據;
具體地,本步驟中利用所述擬合方程確定每個點云對應的兩個主曲率,對每個點云選取三維坐標值以及所述主曲率作為對應點云的擬合特征數據。
進一步地,在所述將掃描獲得的曲面點云數據利用最小二乘法擬合,并利用擬合方程確定擬合特征數據之后還包括:對所述擬合特征數據進行歸一化處理。
步驟s12:利用最小二乘意義對所有點云數據進行圓柱面擬合,并判斷首次擬合是否成功;
步驟s13:若首次擬合失敗,則采用聚類算法將所有點云數據分割為兩個曲面,分別利用最小二乘意義進行圓柱面擬合,并判斷兩個曲面是否均擬合成功;
步驟s14:若第二次擬合失敗,則采用聚類算法將所有點云數據分割為三個曲面,分別利用最小二乘意義進行圓柱面擬合,并判斷三個曲面是否均擬合成功,若擬合失敗,則該曲面不可重建為圓柱面。
其中,判斷曲面是否擬合成功包括:確定點云與擬合圓柱面的均方根,將所述均方根與預設均方根閾值進行比較;若所述均方根小于所述預設均方根閾值,則判斷曲面擬合成功。
采用聚類算法對點云數據進行分割的步驟可以具體為:采用k-means聚類算法對點云數據進行分割。在采用聚類算法對點云數據進行分割的過程中,計算平方誤差準則函數是否達到預設閾值,如果是,則輸出分割結果;如果否,則繼續(xù)進行分割。
參照圖2,下面對本發(fā)明所提供的無標定曲面點云數據重建圓柱面的方法的另一種具體實施方式進行進一步詳細闡述。
步驟s21:將掃描獲得的曲面點云數據利用最小二乘法擬合并利用該擬合方程求出每個點云對應的兩個主曲率;對每個點云選取三維坐標值及其對應的兩個主曲率作為代表該點云的5個特征;
對每個點云選取三維坐標值及其對應的兩個主曲率作為代表該點云的5個特征,包括:對于每個點云,其第一特征為x軸坐標值,第二特征為y軸坐標值,第三特征為z軸坐標值,第四特征為兩個主曲率中的最大曲率r1,第五特征為兩個主曲率中的最小曲率r2。
步驟s22:對所有點云數據利用最小二乘意義進行圓柱面擬合,根據點云與擬合圓柱面的均方根誤差判斷是否擬合成功;
對所有點云數據在最小二乘意義下,求出所擬合的圓柱面其軸線上的一點(x0,y0,z0),及該軸線的方向(a,b,c),得到點(x,y,z)到該軸線距離為
根據式子(1)計算每個點云到該軸線距離并求該所有點云到該軸線距離的均值,則該均值即為所擬合圓柱面半徑r,再計算所有點云到該軸線距離與該半徑r的均方根rmse,若該rmse小于預先設定的最小均方根rmsemin,則擬合成功,曲面點云數據被成功重建為一個圓柱面,否則,擬合失敗。
步驟s23:若首次擬合失敗,對所有點云數據利用k-means聚類算法分割為兩個曲面,分別利用最小二乘意義進行圓柱面擬合,并根據點云與擬合圓柱面的均方根誤差判斷兩個曲面是否同時擬合成功;
對所有點云五維數據均歸一化線性壓縮到-1到1之間,求出所有點云的兩個主曲率中的最大曲率r1的絕對值最大值r1max、絕對值最小值r1min和絕對值均值r1m,兩個主曲率中的最小曲率r2的絕對值最大值r2max、絕對值最小值r2min和絕對值均值r2m,x軸坐標值的絕對值均值xm,y軸坐標值的絕對值均值ym,z軸坐標值的絕對值均值zm,并得到xm、ym、zm的最大值maxm,采用帶權重的歐氏距離作為本發(fā)明中k-means聚類的相似度度量,則點(x1,y1,z1,ra1,rb1)和點(x2,y2,z2,ra2,rb2)的距離(相似度)定義為
其中,
根據式(2)求出所有點云間的距離,并得到其中的最大距離dmax和最小距離dmin,設置密度閾值為db1=dmin+0.06(dmax-dmin),根據式(2)計算出每一個點云除去自身外與其他所有點云的距離并得出少于db1的個數n1,個數n1最大的點云則選為本發(fā)明中k-means聚類算法k為2時的第一個聚類中心的初始點(若有多個點同時為最大則在這些點中隨機選取一個),另外,根據式(2)找到距離該第一個聚類中心初始點最遠的點并算出該兩點距離dm1,根據式(2)找到所有點云中距離該第一個聚類中心初始點距離最接近0.82×dm1的點云(若有多個點云同時滿足要求則在這些點中隨機選取一個),并選取該點云作為本發(fā)明中k-means聚類算法k為2時的第二個聚類中心的初始點,由此完成聚類中心初始化,后續(xù)選用平方誤差準則函數作為本發(fā)明中k-means聚類算法k為2時的準則函數并將其最小化。
對于所有點云,根據式(2)分別計算其到兩個聚類中心的距離,并根據該距離將該點云歸類為其中距離相對較小的那個聚類中心中,例如,該點云與第一個聚類中心的距離相對較小,則該點云被分到a1類,否則被分到a2類,由此完成所有點云數據的第一次分割。
較優(yōu)地,點云數據的第一次分割后,計算平方誤差準則函數e是否已經小于設定值e,若滿足要求則輸出分割結果,否則,繼續(xù)進行分割。
較優(yōu)地,對于所有被分到a1類的點云,將其x軸坐標值的均值作為第一個聚類中心的新第一特征的值,y軸坐標值的均值作為第一個聚類中心的新第二特征的值,z軸坐標值的均值作為第一個聚類中心的新第三特征的值,兩個主曲率中的最大曲率r1的均值作為第一個聚類中心的新第四特征的值,x軸坐標值的均值作為第一個聚類中心的新第五特征的值,對于所有被分到a2類的點云,將其x軸坐標值的均值作為第二個聚類中心的新第一特征的值,y軸坐標值的均值作為第二個聚類中心的新第二特征的值,z軸坐標值的均值作為第二個聚類中心的新第三特征的值,兩個主曲率中的最大曲率r1的均值作為第二個聚類中心的新第四特征的值,x軸坐標值的均值作為第二個聚類中心的新第五特征的值,并將上述新聚類中心特征的值均歸一化線性壓縮到-1到1之間。
較優(yōu)地,對于所有點云根據式(2)分別計算其到兩個聚類中心的距離,并根據該距離將該點云歸類為其中距離相對較小的那個聚類中心中,計算平方誤差準則函數e,并判斷其是否已經小于設定值e,若滿足要求則輸出本次分割結果,否則,繼續(xù)進行分割,重新計算兩個新聚類中心,重復上述分類步驟,直至誤差準則函數e小于設定值e,或迭代次數達到設置次數,輸出分割結果。
較優(yōu)地,對于已分割完成的a1類和a2類所有點云,分別根據上述圓柱面擬合步驟進行擬合并判斷是否擬合成功,若a1類和a2類同時擬合成功,則整個點云分割及擬合過程成功,并輸出擬合結果,曲面點云數據被成功分割到a1類和a2類中并被重建為由兩個圓柱面光滑拼接的曲面,否則整個點云分割及擬合過程失敗,即上述第二次擬合失敗。
步驟s24:若第二次擬合失敗,對所有點云數據利用k-means聚類算法分割為三個曲面,分別利用最小二乘意義進行圓柱面擬合,并根據點云與擬合圓柱面的均方根誤差判斷三個曲面是否同時擬合成功。
設置密度閾值為db2=dmin+0.04(dmax-dmin),根據式(2)計算出每一個點云除去自身外與其他所有點云的距離并得出少于db2的個數n2,個數n2最大的點云則選為本發(fā)明中k-means聚類算法k為3時的第一個聚類中心的初始點(若有多個點同時為最大則在這些點中隨機選取一個),另外,根據式(2)找到距離該第一個聚類中心初始點最遠的點并算出該兩點距離dm2,根據式(2)找到所有點云中距離該第一個聚類中心初始點距離最接近且大于0.99×dm2的點云(若有多個點云同時滿足要求則在這些點中隨機選取一個),并選取該點云作為本發(fā)明中k-means聚類算法k為3時的第二個聚類中心的初始點,此外,根據式(2)找到所有點云中與該第一個聚類中心初始點和該第二個聚類中心初始點兩距離之和最大的點并算出該距離之和dm3,根據式(2)找到與該第一個聚類中心初始點和該第二個聚類中心初始點兩距離之和最接近且大于0.99×dm3的點云(若有多個點云同時滿足要求則在這些點中隨機選取一個),并選取該點云作為本發(fā)明中k-means聚類算法k為3時的第三個聚類中心的初始點,由此完成聚類中心初始化,后續(xù)選用平方誤差準則函數作為本發(fā)明中k-means聚類算法k為3時的準則函數并將其最小化。
較優(yōu)地,對于所有點云,根據式(2)分別計算其到三個聚類中心的距離,并根據該距離將該點云歸類為其中距離相對較小的那個聚類中心中,例如,若該點云與第一個聚類中心的距離相對較小,則該點云被分到b1類,若該點云與第二個聚類中心的距離相對較小,則該點云被分到b2類,若該點云與第三個聚類中心的距離相對較小,則該點云被分到b3類,由此完成所有點云數據的第一次分割。
較優(yōu)地,點云數據的第一次分割后,計算平方誤差準則函數e是否已經小于設定值e,若滿足要求則輸出分割結果,否則,繼續(xù)進行分割。
較優(yōu)地,對于所有被分到b1類的點云,將其x軸坐標值的均值作為第一個聚類中心的新第一特征的值,y軸坐標值的均值作為第一個聚類中心的新第二特征的值,z軸坐標值的均值作為第一個聚類中心的新第三特征的值,兩個主曲率中的最大曲率r1的均值作為第一個聚類中心的新第四特征的值,x軸坐標值的均值作為第一個聚類中心的新第五特征的值,對于所有被分到b2類的點云,將其x軸坐標值的均值作為第二個聚類中心的新第一特征的值,y軸坐標值的均值作為第二個聚類中心的新第二特征的值,z軸坐標值的均值作為第二個聚類中心的新第三特征的值,兩個主曲率中的最大曲率r1的均值作為第二個聚類中心的新第四特征的值,x軸坐標值的均值作為第二個聚類中心的新第五特征的值,對于所有被分到b3類的點云,將其x軸坐標值的均值作為第三個聚類中心的新第一特征的值,y軸坐標值的均值作為第三個聚類中心的新第二特征的值,z軸坐標值的均值作為第三個聚類中心的新第三特征的值,兩個主曲率中的最大曲率r1的均值作為第三個聚類中心的新第四特征的值,x軸坐標值的均值作為第三個聚類中心的新第五特征的值,并將上述新聚類中心特征的值均歸一化線性壓縮到-1到1之間。
較優(yōu)地,對于所有點云根據式(2)分別計算其到三個聚類中心的距離,并根據該距離將該點云歸類為其中距離相對較小的那個聚類中心中,計算平方誤差準則函數e,并判斷其是否已經小于設定值e,若滿足要求則輸出本次分割結果,否則,繼續(xù)進行分割,重新計算三個新聚類中心,重復上述分類步驟,直至誤差準則函數e小于設定值e,或迭代次數達到設置次數,輸出分割結果。
較優(yōu)地,對于已分割完成的b1類、b2類和b3類所有點云,分別根據上述圓柱面擬合步驟進行擬合并判斷是否擬合成功,若b1類、b2類和b3類同時擬合成功,則整個點云分割及擬合過程成功,并輸出擬合結果,否則b1類、b2類和b3類中必有其中一類擬合成功,在此為方便論述,假設b1類為此處擬合成功的一類。
較優(yōu)地,將所有點云除去屬于b1類的點云,得到剩下的點云數據集p,將點云數據集p按上述本發(fā)明的k-means聚類算法k為2時的點云分割步驟進行分割,得到已分割完成的c1類和c2類,對于c1類和c2類分別根據上述圓柱面擬合步驟進行擬合并判斷是否擬合成功,若c1類和c2類同時擬合成功,則整個點云分割及擬合過程成功,并輸出擬合結果,曲面點云數據被成功分割到b1類、c1類和c2類中并被重建為由三個圓柱面光滑拼接的曲面,否則整個點云分割及擬合過程失敗,即該曲面不可進行圓柱面擬合。
步驟s25:若仍擬合失敗,則該曲面點云數據不可重建為圓柱面。
請參閱圖3,其示出了本發(fā)明實施例提供的曲面點云被分割并重建為由兩個圓柱面光滑拼接的流程圖,包括:
步驟s31:設置密度閾值,找到基于該密度閾值的密度最大中心點云作為第一個聚類中心的初始點,另外,找到距離該第一個聚類中心初始點最遠距離的0.82位置處的點云作為第二個聚類中心的初始點,由此完成聚類中心初始化。
步驟s32:對于所有點云,分別計算其到兩個聚類中心的距離,并根據該距離將該點云歸類為其中距離相對較小的那個聚類中心中。
步驟s33:計算平方誤差準則函數e是否已經小于設定值e,若滿足要求則輸出分割結果,否則,繼續(xù)進行分割。
步驟s34:對于所有被分類的點云,分別計算本類中各特征的值的均值作為該類新聚類中心的各特征的值并進行歸一化處理,并對于所有點云,分別計算其到兩個新聚類中心的距離,并根據該距離將該點云歸類為其中距離相對較小的那個聚類中心中。
步驟s35:計算平方誤差準則函數e,判斷其是否已經小于設定值e,若滿足要求則輸出本次分割結果,否則,繼續(xù)進行分割,重新計算兩個新聚類中心,重復上述分類步驟,直至誤差準則函數e小于設定值e,或迭代次數達到設置次數,輸出分割結果。
步驟s36:對于已分割完成的所有點云,分別根據本發(fā)明圓柱面擬合步驟進行擬合并判斷是否擬合成功,若兩分類同時擬合成功,則整個點云分割及擬合過程成功,并輸出擬合結果,曲面點云將被成功重建為由兩個圓柱面光滑拼接的曲面,否則整個點云分割及擬合過程失敗。
請參閱圖4,其示出了本發(fā)明實施例提供的曲面點云被分割并重建為由三個圓柱面光滑拼接的流程圖,包括:
步驟s41:設置密度閾值,找到基于該密度閾值的密度最大中心點云作為第一個聚類中心的初始點,另外,找到距離該第一個聚類中心初始點最遠距離的0.99位置處的點云作為第二個聚類中心的初始點,找到與該第一個聚類中心初始點和該第二個聚類中心初始點兩距離之和最大的0.99倍點作為第三個聚類中心的初始點,由此完成聚類中心初始化。
步驟s42:對于所有點云,分別計算其到三個聚類中心的距離,并根據該距離將該點云歸類為其中距離相對較小的那個聚類中心。
步驟s43:計算平方誤差準則函數e是否已經小于設定值e,若滿足要求則輸出分割結果,否則,繼續(xù)進行分割。
步驟s44:對于所有被分類的點云,分別計算本類中各特征的值的均值作為該類新聚類中心的各特征的值并進行歸一化處理,并對于所有點云,分別計算其到三個新聚類中心的距離,并根據該距離將該點云歸類為其中距離相對較小的那個聚類中心中,計算平方誤差準則函數e,判斷其是否已經小于設定值e,若滿足要求則輸出本次分割結果,否則,繼續(xù)進行分割,重新計算兩個新聚類中心,重復上述分類步驟,直至誤差準則函數e小于設定值e,或迭代次數達到設置次數,輸出分割結果。
步驟s45:對于已分割完成的各類所有點云分別根據本發(fā)明圓柱面擬合步驟進行擬合并判斷是否擬合成功,找到唯一擬合成功的b1類。
步驟s46:將所有點云除去屬于b1類的點云,將剩下的點云數據集按上述本發(fā)明的聚類算法k為2時的點云分割步驟進行分割,得到已分割完成的c1類和c2類。
s47:對c1類和c2類分別根據本發(fā)明圓柱面擬合步驟進行擬合并判斷是否擬合成功,若c1類和c2類同時擬合成功,則整個點云分割及擬合過程成功,曲面點云數據被成功分割并重建為由三個圓柱面光滑拼接的曲面,否則該曲面不可進行圓柱面擬合。
下面對本發(fā)明實施例提供的無標定曲面點云數據重建圓柱面的裝置進行介紹,下文描述的無標定曲面點云數據重建圓柱面的裝置與上文描述的無標定曲面點云數據重建圓柱面的方法可相互對應參照。
圖5為本發(fā)明實施例提供的無標定曲面點云數據重建圓柱面的裝置的結構框圖,參照圖5無標定曲面點云數據重建圓柱面的裝置可以包括:
擬合特征數據確定模塊100,用于將掃描獲得的曲面點云數據利用最小二乘法擬合,并利用擬合方程確定擬合特征數據;
首次擬合模塊200,用于利用最小二乘意義對所有點云數據進行圓柱面擬合,并判斷首次擬合是否成功;
二次擬合模塊300,用于若首次擬合失敗,則采用聚類算法將所有點云數據分割為兩個曲面,分別利用最小二乘意義進行圓柱面擬合,并判斷兩個曲面是否均擬合成功;
三次擬合模塊400,用于若第二次擬合失敗,則采用聚類算法將所有點云數據分割為三個曲面,分別利用最小二乘意義進行圓柱面擬合,并判斷三個曲面是否均擬合成功;若第三次擬合失敗,則判定所述曲面點云數據不可重建為圓柱面。
作為一種具體實施方式,本發(fā)明所提供的無標定曲面點云數據重建圓柱面的裝置中,所述擬合特征數據確定模塊具體用于:
利用所述擬合方程確定每個點云對應的兩個主曲率,對每個點云選取三維坐標值以及所述主曲率作為對應點云的擬合特征數據。
本實施例的無標定曲面點云數據重建圓柱面的裝置用于實現前述的無標定曲面點云數據重建圓柱面的方法,因此無標定曲面點云數據重建圓柱面的裝置中的具體實施方式可見前文中的無標定曲面點云數據重建圓柱面的方法的實施例部分,例如,擬合特征數據確定模塊模塊100,首次擬合模塊模塊200,二次擬合模塊模塊300,三次擬合模塊模塊400,分別用于實現上述無標定曲面點云數據重建圓柱面的方法中步驟s101,s102,s103和s104,所以,其具體實施方式可以參照相應的各個部分實施例的描述,在此不再贅述。
本發(fā)明所提供的無標定曲面點云數據重建圓柱面的裝置,將掃描獲得的曲面點云數據利用最小二乘法擬合,并利用擬合方程確定擬合特征數據;利用最小二乘意義對所有點云數據進行圓柱面擬合,并判斷首次擬合是否成功;若首次擬合失敗,則采用聚類算法將所有點云數據分割為兩個曲面,分別利用最小二乘意義進行圓柱面擬合,并判斷兩個曲面是否均擬合成功;若第二次擬合失敗,則采用聚類算法將所有點云數據分割為三個曲面,分別利用最小二乘意義進行圓柱面擬合,并判斷三個曲面是否均擬合成功。本發(fā)明所提供的無標定曲面點云數據重建圓柱面的裝置,通過k-means聚類算法結合最小二乘意義的圓柱面擬合方法,實現了全無標定的曲面點云數據重建為圓柱面。
本說明書中各個實施例采用遞進的方式描述,每個實施例重點說明的都是與其它實施例的不同之處,各個實施例之間相同或相似部分互相參見即可。對于實施例公開的裝置而言,由于其與實施例公開的方法相對應,所以描述的比較簡單,相關之處參見方法部分說明即可。
專業(yè)人員還可以進一步意識到,結合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、計算機軟件或者二者的結合來實現,為了清楚地說明硬件和軟件的可互換性,在上述說明中已經按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術方案的特定應用和設計約束條件。專業(yè)技術人員可以對每個特定的應用來使用不同方法來實現所描述的功能,但是這種實現不應認為超出本發(fā)明的范圍。
結合本文中所公開的實施例描述的方法或算法的步驟可以直接用硬件、處理器執(zhí)行的軟件模塊,或者二者的結合來實施。軟件模塊可以置于隨機存儲器(ram)、內存、只讀存儲器(rom)、電可編程rom、電可擦除可編程rom、寄存器、硬盤、可移動磁盤、cd-rom、或技術領域內所公知的任意其它形式的存儲介質中。
以上對本發(fā)明所提供的無標定曲面點云數據重建圓柱面的方法以及裝置進行了詳細介紹。本文中應用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想。應當指出,對于本技術領域的普通技術人員來說,在不脫離本發(fā)明原理的前提下,還可以對本發(fā)明進行若干改進和修飾,這些改進和修飾也落入本發(fā)明權利要求的保護范圍內。