本發明屬于點云處理,尤其涉及一種基于delaunay三角和曲率最小的點云完整性提升方法及系統。
背景技術:
1、橋梁作為交通基礎設施的重要組成部分,其健康狀況直接關系到交通安全和暢通。隨著科技的發展,三維激光掃描技術因其高精度、非接觸式測量等優點,被廣泛應用于橋梁檢測中。通過三維激光掃描儀獲取的橋梁構件點云數據,可以準確地反映橋梁的幾何形狀和表面特征。
2、然而,在實際應用中,橋梁構件點云存在一些問題。一方面,點云具有密度變化大的特點,這使得在建立點之間的拓撲關系時不能僅僅依靠空間距離,無論使用何種邊界檢測方法,都面臨著挑戰。另一方面,原始點云模型可能存在缺失邊緣的問題,需要進行修補以生成完整的點云模型。
3、現有的點云修補方法大多針對小尺寸、具有任意復雜曲面、點密度均勻的點云進行研究,對于橋梁構件動輒上百萬甚至千萬數量級的點云,很多算法的使用效率受到影響,不適用于此類大規模點云的處理。
4、因此,亟需解決上述問題。
技術實現思路
1、發明目的:本發明的目的是提供一種基于delaunay三角和曲率最小的點云完整性提升方法,能夠有效地檢測點云的邊界點,生成填充點并對缺失部位進行修補,以提高點云的完整性和準確性。
2、本發明第二目的是提供一種基于delaunay三角和曲率最小的點云完整性提升系統。
3、技術方案:為實現以上目的,本發明公開了一種基于delaunay三角和曲率最小的點云完整性提升方法,包括如下步驟:
4、s100、將三維直角坐標系下的點云轉化到球坐標系下,然后投影到二維的平面坐標系上,形成二維平面點云;
5、s200、將二維平面點云進行delaunay三角化,然后投影回三維直角坐標系下,形成空間二維三角網格;
6、s300、計算每個三角網格的邊長、面積和單位法向量,根據邊長剔除異常的三角網格;
7、s400、根據三角網格邊的拓撲關系來查找點云的邊界點;
8、s500、根據邊界點的對應關系查找缺失部位的邊界點;
9、s600、在缺失部位基于球面投影填充若干點;
10、s700、計算填充點的曲率,迭代使得曲率最小來修正填充點的位置。
11、可選的,所述步驟s100中具體包括如下步驟:根據三維激光掃描儀的原理,點云可轉換到以儀器為原點的球坐標系;參考古典微分幾何中參數曲面的思想,將球坐標系的水平角α和豎直角β作為二維直角坐標系的水平軸和豎直軸,從而將三維點云投影到二維平面上。
12、可選的,所述步驟s200中具體包括如下步驟:基于bowyer-watson法對二維平面點云進行delaunay三角化,然后投影回三維直角坐標系,實現對三維點云的二維網格劃分,形成空間二維三角網格,每個網格中包含了三個頂點以及相互之間的連接關系;具體為先由給定的點集生成一初始網格,然后依次向初始網格內加入剩余點,在原有的三角網格中找出外接圓包含新插入點的三角形,稱為新插入點的影響三角形,刪除三角形的公共邊,將新插入點與影響三角形的全部頂點連接起來生成新的三角形,并根據delaunay標準進行優化,直到所有點添加完畢;對二維點云進行delaunay三角化后,投影回三維直角坐標系下,形成空間二維三角網格,實現對三維點云的二維網格劃分。
13、可選的,所述步驟s300中具體包括如下步驟:通過公式計算每個三角網格的邊長、面積和單位法向量,設置邊長閾值小于0.5m,且三角網格的最長邊與最短邊長的比值不能超過25,刪除異常網格;
14、e1=(x2,y2,z2)-(x3,y3,z3)
15、e2=(x1,y1,z1)-(x3,y3,z3)
16、e3=(x2,y2,z2)-(x1,y1,z1)
17、
18、式中e1,e2,e3為三角網格的三條邊長,s為三角網格的面積,n為三角網格的單位法向量。
19、可選的,所述步驟s500中具體包括如下步驟:對于因遮擋關系產生的缺失問題,根據邊緣網格的連接關系,將邊界點按照所屬的邊界線分為若干個組,在這些組上角度差搜索對應點;如果對應點的平均距離小于一定的閾值,則可認為這兩個組的點構成了一對障礙物邊界與缺失邊界,其中遠離儀器的一個組為缺失邊界,則查找到缺失部位的邊界點。
20、可選的,所述步驟s600中具體包括如下步驟:根據三維激光掃描儀的掃描原理,點云的獲取是基于球坐標系進行的,且儀器發射激光時的角度不受到目標物體的影響,只與儀器自身的狀態有關;球坐標系有三個參數,水平角α、豎直角β和距離s,當忽視s時則點云在球坐標系下成為一個密度均勻的球面,根據掃描分辨率在球面上的缺失部位進行插值,完成對缺失部位點的初步填充。
21、可選的,所述步驟s700中具體包括如下步驟:
22、s701、建立局部坐標系:
23、在三維直角坐標系下,有的曲面難以表示,因此建立局部坐標系,將曲面表示成參數曲面更有利于計算;設:
24、
25、其中x,y,z都是u,v的可微函數,定義域(u,v)是二維空間中的一個區域d,(u,v)=(x(u,v),y(u,v),z(u,v)給出了從二維空間d到三維空間的一個映照,在這個映照下,d的值域就構成了三維空間中的一個曲面d;
26、在點云中的一個點pi(xi,yi,zi)處建立局部坐標系(u,v,w):以點pi(xi,yi,zi)為原點,w軸與點pi處法矢方向一致,u軸和v軸相互正交于切平面內,且與w軸成直角坐標系;
27、將原整體坐標系的原點o移動到pi點處,變換矩陣t為:
28、
29、繞x軸旋轉α角度,旋轉矩陣rx為:
30、
31、其中
32、繞y軸旋轉角度β,旋轉矩陣ry為:
33、
34、其中
35、s702、二次參數曲面擬合:任意曲面的局部形狀可近似由二次曲面,
36、s(u,v)=(u,v,w(u,v))
37、w(u,v)=au2+buv+cv2+eu+fu
38、當一次項的系數e和f為0時,該二次曲面簡化為一個二次拋物面:
39、w(u,v)=au2+buv+cv2
40、由該二次拋物面來對點云局部進行擬合;對點云中的任一點pi,搜索其鄰域點pj∈n(pi),pi在局部坐標系下的坐標值為(ui,vi,wi),其變換矩陣b為:
41、
42、將點pi的鄰域點pj在局部坐標系下的坐標(uj,vj,wj)帶入公式:
43、w(u,v)=au2+buv+cv2
44、得到超定方程組,利用最小二乘法求解,得到最佳擬合二次拋物面的參數a,b,c;
45、s703、曲率計算:計算曲面的法向量、第一基本形式和第二基本形式;
46、曲面用參數化方程表示為:r(u,v)=(x(u,v),y(u,v),z(u,v)),其中u,v是參數,則曲面在點x(u,v),y(u,v),z(u,v)的法向量為:
47、
48、其中和為曲面的兩個切向量,兩者的叉積得到法向量n;
49、第一基本形式表示為ds2=edu2+2fdudv+gdv2,其中e=su·su,f=su·sv,g=sv·sv,s為二次拋物面的參數方程;
50、第二基本形式表示為ii=ldu2+2mdudv+ndv2,其中l=suu·n,m=suu·n,n=suu·n,
51、對于點pi,其在局部坐標系下的坐標為(0,0,0),可求得二次拋物面在點pi處的一階偏導為:
52、su|(0,0)=(1,0,wu)=(1,0,2cu+bu)=(1,0,0)
53、su|(0,0)=(1,0,wv)=(1,0,2cv+bu)=(0,1,0)
54、二次拋物面在點pi處的二階偏導和混合偏導為:
55、suu|(0,0)=(0,0,wuu)=(0,0,b)
56、svv|(0,0)=(0,0,wvv)=(1,0,2c)
57、根據公式k=4ac-b2,h=a+c計算得到高斯曲率k和平均曲率h;
58、s704、修補點云缺失部位:在完成對點云缺失部位的點填充后,得到若干填充點:pt(rcosθcosα,rcosθsinα,rsinθ),其中水平角α和豎直角θ為已知,填充點只有一個未知量,即點到儀器的距離r;選擇距離參考點最近的填充點作為種子點,對種子點pt選擇其最鄰近的參考點的r值作為迭代初始值r0,以固定步長往正向和負向各迭代若干步,計算每一步的高斯曲率,選擇使得高斯曲率的絕對值最小的rmin作為種子點的r值;確定了種子點的位置后,種子點的位置作為參考點供其余填充點計算曲率,然后選擇下一個距離參考點最近的填充點作為種子點,直到確定所有填充點的位置,完成缺失部位的修補。
59、基于相同的發明構思,本發明公開了一種基于delaunay三角和曲率最小的點云完整性提升系統,包括二維轉化模塊,用于將三維直角坐標系下的點云轉化到球坐標系下,然后投影到二維的平面坐標系上,形成二維平面點云;
60、三角化模塊,用于將二維平面點云進行delaunay三角化,然后投影回三維直角坐標系下,形成空間二維三角網格;
61、異常剔除模塊,用于計算每個三角網格的邊長、面積和單位法向量,根據邊長剔除異常的三角網格;
62、邊界查詢模塊,用于根據三角網格邊的拓撲關系來查找點云的邊界點,根據邊界點的對應關系查找缺失部位的邊界點;
63、填充模塊,用于在缺失部位基于球面投影填充若干點;
64、修正模塊,計算填充點的曲率,迭代使得曲率最小來修正填充點的位置。
65、可選的,所述異常剔除模塊中通過公式計算每個三角網格的邊長、面積和單位法向量,設置邊長閾值小于0.5m,且三角網格的最長邊與最短邊長的比值不能超過25,刪除異常網格;
66、e1=(x2,y2,z2)-(x3,y3,z3)
67、e2=(x1,y1,z1)-(x3,y3,z3)
68、e3=(x2,y2,z2)-(x1,y1,z1)
69、
70、式中e1,e2,e3為三角網格的三條邊長,s為三角網格的面積,n為三角網格的單位法向量。
71、可選的,所述修正模塊中建立局部坐標系:
72、在三維直角坐標系下,有的曲面難以表示,因此建立局部坐標系,將曲面表示成參數曲面更有利于計算;設:
73、
74、其中x,y,z都是u,v的可微函數,定義域(u,v)是二維空間中的一個區域d,(u,v)=(x(u,v),y(u,v),z(u,v)給出了從二維空間d到三維空間的一個映照,在這個映照下,d的值域就構成了三維空間中的一個曲面d;
75、在點云中的一個點pi(xi,yi,zi)處建立局部坐標系(u,v,w):以點pi(xi,yi,zi)為原點,w軸與點pi處法矢方向一致,u軸和v軸相互正交于切平面內,且與w軸成直角坐標系;
76、將原整體坐標系的原點o移動到pi點處,變換矩陣t為:
77、
78、繞x軸旋轉α角度,旋轉矩陣rx為:
79、
80、其中
81、繞y軸旋轉角度β,旋轉矩陣ry為:
82、
83、其中
84、二次參數曲面擬合:任意曲面的局部形狀可近似由二次曲面,
85、s(u,v)=(u,v,w(u,v))
86、w(u,v)=au2+buv+cv2+eu+fu
87、當一次項的系數e和f為0時,該二次曲面簡化為一個二次拋物面:
88、w(u,v)=au2+buv+cv2
89、由該二次拋物面來對點云局部進行擬合;對點云中的任一點pi,搜索其鄰域點pj∈n(pi),pi在局部坐標系下的坐標值為(ui,vi,wi),其變換矩陣b為:
90、
91、將點pi的鄰域點pj在局部坐標系下的坐標(uj,vj,wj)帶入公式:
92、w(u,v)=au2+buv+cv2
93、得到超定方程組,利用最小二乘法求解,得到最佳擬合二次拋物面的參數a,b,c;
94、曲率計算:計算曲面的法向量、第一基本形式和第二基本形式;
95、曲面用參數化方程表示為:r(u,v)=(x(u,v),y(u,v),z(u,v)),其中u,v是參數,則曲面在點x(u,v),y(u,v),z(u,v)的法向量為:
96、
97、其中和為曲面的兩個切向量,兩者的叉積得到法向量n;
98、第一基本形式表示為ds2=edu2+2fdudv+gdv2,其中e=su·su,f=su·sv,g=sv·sv,s為二次拋物面的參數方程;
99、第二基本形式表示為ii=ldu2+2mdudv+ndv2,其中l=suu·n,m=suu·n,n=suu·n,
100、對于點pi,其在局部坐標系下的坐標為(0,0,0),可求得二次拋物面在點pi處的一階偏導為:
101、su|(0,0)=(1,0,wu)=(1,0,2cu+bu)=(1,0,0)
102、su|(0,0)=(1,0,wv)=(1,0,2cv+bu)=(0,1,0)
103、二次拋物面在點pi處的二階偏導和混合偏導為:
104、suu|(0,0)=(0,0,wuu)=(0,0,b)
105、svv|(0,0)=(0,0,wvv)=(1,0,2c)
106、根據公式k=4ac-b2,h=a+c計算得到高斯曲率k和平均曲率h;
107、修補點云缺失部位:在完成對點云缺失部位的點填充后,得到若干填充點:pt(rcosθcosα,rcosθsinα,rsinθ),其中水平角α和豎直角θ為已知,填充點只有一個未知量,即點到儀器的距離r;選擇距離參考點最近的填充點作為種子點,對種子點pt選擇其最鄰近的參考點的r值作為迭代初始值r0,以固定步長往正向和負向各迭代若干步,計算每一步的高斯曲率,選擇使得高斯曲率的絕對值最小的rmin作為種子點的r值;確定了種子點的位置后,種子點的位置作為參考點供其余填充點計算曲率,然后選擇下一個距離參考點最近的填充點作為種子點,直到確定所有填充點的位置,完成缺失部位的修補。
108、有益效果:與現有技術相比,本發明具有以下顯著優點:本發明基于球面投影生成delaunay三角網格,提高了網格的準確性,并基于三角網格得到了點云缺失部分的邊界;在缺失部位生成填充點,并根據填充點高斯曲率最小的標準修正填充點的位置,最終完成對缺失部位的修補,提高了點云的完整性;本發明的邊緣檢測對點云密度變化的適應性更強,對邊緣的識別準確率更高;對于橋梁構件表面點云的缺失部位,修補效果較好,且算法準確性高;本發明適用于各種橋梁構件的點云處理,如混凝土橋墩構件和混凝土變截面箱梁構件等,在這些構件上的點云修補效果較好。