matlab三维点云去除背景,一种点云处理三维重建方法与流程
本發明屬于三維數字化、逆向工程領域,特別是涉及一種點云處理三維重建方法。
背景技術:
::三維掃描是一種高精度的三維坐標測量方法。線結構激光投射到被測表面,攝像機獲取投射圖像,提取光條上點的三維形貌。通過精確控制被測物的平移和旋轉,得到表面完整的三維點云數據。因此,得到的點云數據是線陣列的規則數據。對點云數據進行重構,真實再現三維表面,這種技術可以應用于逆向工程領域。對于模型的重構,點云處理算法起到關鍵的作用。因為,掃描數據不可避免的會有一些冗余信息和噪聲點,一方面,掃描過程中激光線可能會投射到非測量物上,如擺放物體的平臺等,導致冗余數據,另一方面,掃描數據易受環境和系統的影響,從而可能產生干擾噪聲,會嚴重地影響模型的建構。因此,點云處理的原則是在不影響重構曲面精度的前提下,大幅度減少數據并使之光順。所以點云處理算法可以保證重構過程中有可靠精選的點云數據,不僅能提高重構的準確度,更能降低重構過程的消耗。現有技術存在處理效率低,重構效果較差等不足。技術實現要素:針對現有點云處理技術存在的不足,本發明設計了一種點云處理三維重建方法,具有較低的重構誤差,重構效果較好。為解決上述問題,本發明采取的技術方案是:不同于傳統的對三維形式的點云進行處理,本發明所述一種點云處理三維重建方法,步驟是:首先將三維掃描得到的stl點云圖導入matlab中,讀取每個點的三維數據,生成矢量點集。基于具有連續特性的ε微條曲面法,采用評價指標進行誤差分析,避免了mse和r-square這兩種回歸誤差分析評價方法的缺陷,提取某一橫(縱)斷面點集。其次利用橫(縱)斷面點集得到斷面樣條曲線。最后,將足夠數量的橫(縱)斷面樣條曲線在三維空間整合,得到質量較高的三維重構模型。所述具有連續特性的ε微條曲面法,首先從stl文件提取點云的三維數據,在三維坐標系中生成矢量點集,此外有一個斷面與矢量點集相交,若斷面平行于xoz平面,則為縱斷面,若平行于yoz平面,則為橫斷面。所述橫(縱)斷面,其中橫斷面沿著x軸平行移動,縱斷面沿著y軸平行移動,橫縱斷面各有一個起始和終止位置。橫斷面的起始位置為x值最小的坐標,終止位置為x值最大的坐標;橫斷面的起始位置為y值最小的坐標,終止位置為y值最大的坐標。所述橫(縱)斷面,在移動過程中,進行斷面點集提取,判斷點是否分布均勻,不均勻則重新進行斷面點集提取,否則進入斷面曲線插值。移動到終止位置時進行三維網格復原完成三維重構。所述斷面點集提取,將三維掃描得到的stl點云圖導入matlab中,讀取每個點的三維數據,生成矢量點集,構建入三維坐標系中。至于具體的點集提取,基于ε微條曲面法,兼顧了mse和r-square這兩種回歸誤差分析評價方法的評價指標進行誤差分析,提取某一橫(縱)斷面點集。所述斷面曲線插值包含了基于排序的凸包插值算法和分段處理法。與現有技術相比,具有以下優點:1.現有的大多數三維重構都基于整體插值擬合,受噪聲和冗余數據影響較大,重構質量較差,而本發明通過ε微條曲面法,獲取小片局部擬合,最后在三維空間整合,化局部為整體,大大提高了重構的精度。處理效率高,重構質量好。2.提出的點云處理誤差評價指標兼顧了mse和r-square'這兩種回歸誤差分析評價方法,且具有連續特性,可以保證重構過程中有可靠精選的點云數據,不僅能提高重構的準確度,更能降低重構過程的消耗。附圖說明圖1是本發明的三維重構流程示意圖;圖2是基于ε的微條曲面法的點云提取算法流程圖;圖3是實施例1的步驟(1)提取獨角仙前翅,x=2cm橫斷面點集,在不同ε下時的提取效果圖;圖4是實施例1的步驟(1)獨角仙前翅,x=2cm橫斷面提取點誤差隨ε的變化關系。圖5是實施例1的步驟(2)進行分段插值前后的對比圖。圖6是實施例1的步驟(3)所有橫縱斷面樣條曲線形成的三維網格骨架與逆向重構對照圖。具體實施方式下面結合附圖和實施例,來進一步說明本發明技術方案。圖1所示,一種點云處理三維重建方法,包括斷面點集提取,斷面曲線插值和三維網格復原。具體步驟如下:首先,從stl文件提取點云的三維數據,在三維坐標系中生成矢量點集,此外有一個斷面與矢量點集相交,若斷面平行于xoz平面,則為縱斷面,若平行于yoz平面,則為橫斷面。其中橫斷面沿著x軸平行移動,縱斷面沿著y軸平行移動,橫縱斷面各有一個起始和終止位置。橫斷面的起始位置為x值最小的坐標,終止位置為x值最大的坐標;橫斷面的起始位置為y值最小的坐標,終止位置為y值最大的坐標。橫縱斷面在移動過程中,進行斷面點集提取,判斷點是否分布均勻,不均勻則重新進行斷面點集提取,否則進入斷面曲線插值。移動到終止位置時進行三維網格復原完成三維重構。實施例1下面以獨角仙前翅為例,對斷面點集提取,斷面曲線插值和三維網格復原的實施方式進行詳細描述:一、斷面點集提取圖2所示,所述斷面點集提取基于ε微條曲面法,兼顧了mse和r-square這兩種回歸誤差分析評價方法的評價指標進行誤差分析,提取某一橫(縱)斷面點集。首先將三維掃描得到的stl點云圖導入matlab中,讀取每個點的三維數據,生成矢量點集,構建入三維坐標系中。至于具體的點集提取,以橫斷面x=x0為例,由于矢量點集的是離散的,而且密度有限,直接落在這一斷面上的點通常很少,無法滿足重構精度。所述連續特性的ε微條曲面法,先根據x=x0±ε,微區間內的掃描點,利用tablecurve3d軟件獲得寬度為2ε的微條曲面,x=x0截面與這一曲面的相交線,便是一根連續的曲線。圖3所示,例如提取獨角仙前翅在x=2cm斷面處的點集,即使是取了2ε微區間上的點,如果ε過少,總點數少,不能反映這一斷面的真實三維空間信息,更別說只是x=x0的斷面上的點了。反之如過大,所取得的點本身離x=x0截面遠,其精度本身就差。這就需要誤差分析和ε取得的優化。所述連續特性的ε微條曲面法將2ε內微條曲面上的點集都視同為這一斷面上的掃描點(即將這些點都投影到x=x0截面上),并在后述的誤差分析中將其視作實際點集。這樣對應于每一個實際點的x值,勢必能在前述連續曲線上找到與x值相交的點,記為該實際點的提取點,有時會出現兩個相交點,取z值差較小的。不過,此時每個提取點與對應實際點的z坐標值往往是不相等的。因此,需要對每個斷面確定一個最優的ε使得這個截面上所有點產生的誤差精度最小,保證數據真實可靠。以回歸統計中常用的mse和r-square回歸模型的整體誤差分析手法為基礎,提出了經過改進的確定斷面點集提取過程中最優的ε值的誤差分析方法,下面作了簡要介紹。利用如下公式1計算mse,其表征取點數據和實際數據誤差平方和的均值。利用如下公式2計算r-square,其表征實際數據誤差平方和與取點數據和實際數據平均誤差平方和之比的標準化數據。公式1、2中,n為某一ε確定后截面提取點的個數,和zi分別為第i個提取點和對應實際點的z坐標值,為所有對應實際點的z坐標平均值。鑒于公式2中r-square越大時,取點的誤差越小,而公式1中mse則正好相反。為了更加便于比較,公式3直接取公式2中r-square式中最后一項的絕對值作為誤差標準,并記r-square'進行評斷。r-square'(ε)=1-r-square(ε)(公式3)這樣使得取點誤差最小時,mse和r-square'也均為最小值,并將取到最小值的ε分別記作εmse和εr,但通常這兩者不相等。仍然以提取獨角仙前翅在x=2cm橫斷面上的點為例給出了具體的mse和r-square'結果。由圖4可見,εmse=184.8μm,εr=160.6μm并不相等。為此,本申請提出了一個兼顧兩種方法,使綜合取點誤差最小的評價指標公式4中,右邊第一式分母為mse的最大值,這樣就把mse的指標轉化為與r-square'具有同等尺度和量綱的指標。二、斷面曲線插值所述斷面曲線插值利用單個斷面的提取點集,應用基于排序算法的確定平面點集的凸包程序,程序的輸入參數為斷面提取點坐標,可得到相應斷面的一條樣條曲線。需要說明的是,圖5所示,當對斷面插值時,有時會出現鋸齒形的情況,這時候要采取適當措施消除鋸齒。基于分段處理法,編寫程序,輸入參數為樣條曲線數據點坐標,反復進行三次樣條插值,并同時實時監測是否有梯度變化劇烈的數據點,如有,則剔除變化劇烈的點,直到獲得基本光滑無鋸齒的斷面樣條曲線。三、三維網格復原重復前述斷面曲線的求解過程,對所有矢量點集做橫向和縱向斷面進行表面插值;代替均勻斷面,反而在曲面變化劇烈的部位施加密集斷面。最終將橫縱斷面樣條曲線在三維空間整合,保證每條橫向曲線與每條縱向曲線都有交點,獲得由所有橫縱斷面樣條曲線形成的三維網格骨架,完成三維重建。如6所示,本發明通過ε微條曲面法,獲取小片局部擬合,最后在三維空間整合,化局部為整體,與逆向軟件geometrycontrolx2017處理后的獨角仙前翅圖對比,重構質量相差無幾。此外,在保證重構質量的前提下,本專利提出的點云處理誤差評價指標兼顧了mse和r-square這兩種回歸誤差分析評價方法,且具有連續特性,可以保證重構過程中有可靠精選的點云數據,不僅能提高重構的準確度,更能降低重構過程的消耗。當前第1頁1 2 3 當前第1頁1 2 3 
總結
以上是生活随笔為你收集整理的matlab三维点云去除背景,一种点云处理三维重建方法与流程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python绘制饼状图对商品库存进行分析
- 下一篇: Thrift 在Windows环境下的编