本发明属于测绘科学和水运交通,尤其涉及一种船载多波束航带点云配准方法和系统。
背景技术:
1、船载多波束系统可用于获取水下地形测量数据。船载多波束系统对水下地形扫测,获得条带状的航带表示地形起伏的点云数据,其航带宽度与水深和扫描开角有关。通常一条航道,需要沿着航行方向的多条航带扫描,并在一定间隔设置垂直航行方向的检查扫描航带,这样才能得到完整水下地形,且数据预处理工作复杂而重要。由于多波束系统在数据采集时受gnss接收机、换能器、惯导等系统本身误差影响,产生航带点云之间不匹配问题,对后期点云分类处理和水下地形建模等造成障碍,甚至造成成果精度不符合要求的严重后果。目前,采用所有航带整体拟合曲面统一改正的方法,这样会忽略局部数据不稳定带来的影响,造成航带间匹配存在粗差。
技术实现思路
1、本发明针对现有技术中的不足,提供一种船载多波束航带点云配准方法和系统。
2、第一方面,本发明提供一种船载多波束航带点云配准方法,其特征在于,包括:
3、获取去噪后的航道点云,以作为第一航道点云;
4、提取第一航道点云中航行轨迹点;
5、根据航行轨迹点转弯角度对第一航道点云进行分段,得到多个航带段点云;
6、提取相邻航带段点云之间的重叠区域的点集;
7、根据重叠区域的点集构建改正值点云;
8、根据改正值点云分别构建各航带段的改正tin模型;
9、判断目标航带段的点所在平面位置是否在tin模型中三角形的内部;
10、如果是,则改正目标航带段内点的高程值;
11、如果否,则不改正目标航带段内点的高程值。
12、进一步地,所述提取第一航道点云中航行轨迹点,包括:
13、获取第一航道点云中的gpstime字段;
14、将位于同一时间的第一航道点云分为一组;
15、将目标组点云中的点按照高程值进行排序,将目标组点云中高程最大的点作为目标组点云的轨迹点;
16、遍历所有分组中的轨迹点,得到第一航道点云中航行轨迹点。
17、进一步地,所述根据航行轨迹点转弯角度对第一航道点云进行分段,得到多个航带段点云,包括:
18、将所有分组中的轨迹点按照gpstime进行排序,取最小值作为起始位置;
19、对排序完成后的轨迹点,任意依次取三个点,根据以下公式计算三个点中以第二个点为顶点的角的角度值θ:
20、θ=arccos((a2+b2-c2)/2ab);
21、其中,a和b分别为以第二个点为顶点的角的相邻两边的长度;c为第二个点的对边长度;
22、将角度大于角度阈值的点作为拐点;
23、任意依次取两个拐点,将位于两个拐点之间的点云作为一个航带段点云。
24、进一步地,所述提取相邻航带段点云之间的重叠区域的点集,包括:
25、对待处理的点云逐航带段构建kd树索引;
26、以目标航带段点云为目标点集,对目标点集的每个点按照预设的半径阈值分别在两个航带段点云中进行搜索;
27、在两次搜索结果均不为空的情况下,确定当前处理的点为重叠点;
28、遍历剩余的航带段点云,得到点集v1和点集v2,将所有重叠点作为相邻航带段点云之间重叠区域的点集。
29、进一步地,所述根据重叠区域的点集构建改正值点云,包括:
30、对点集v1上的每个点位,以目标半径在点集v1上进行搜索,将目标半径范围内所有点的高程平均值作为当前点的高程值h1;
31、对当前点位以目标半径在点集v2上进行搜索,将目标半径范围内所有点的高程平均值作为当前点位的高程值h2,以(h1+h2)/2作为当前点位的平均高程值;
32、对点集vi中的每个点创建一个新的空间点,当点集vi遍历完成,将所有新创建的空间点存放至改正值点云si中,i为航带段编号;其中,新的空间点的创建规则为:平面位置(x,y)与点集vi中对应点的平面位置保持一致,高程值z取点集vi中对应点的平均高程值减去对应点的高程值;
33、对航道进行分区,得到多个航道区块;
34、遍历同一航道区块内所有航带段,得到同一航道区块内所有航带段的改正值点云;
35、遍历航道所有区块,得到航道内目标区块中目标航带段的改正值点云nsi;n为航道区块编号。
36、进一步地,所述改正目标航带段内点的高程值,包括:
37、根据以下公式计算目标航带段内点的高程值:
38、z改正=z当前+(ax+by+d)/c;
39、其中,z改正为目标航带段的点改正后的高程值;z当前为目标航带段的点改正前的高程值;a、b和c分别为三角形平面的法向量的三个分量;d为原点到三角形平面的距离。
40、第二方面,本发明提供一种船载多波束航带点云配准系统,包括:
41、获取模块,用于获取去噪后的航道点云,以作为第一航道点云;
42、第一提取模块,用于提取第一航道点云中航行轨迹点;
43、分段模块,用于根据航行轨迹点转弯角度对第一航道点云进行分段,得到多个航带段点云;
44、第二提取模块,用于提取相邻航带段点云之间的重叠区域的点集;
45、第一构建模块,用于根据重叠区域的点集构建改正值点云;
46、第二构建模块,用于根据改正值点云分别构建各航带段的改正tin模型;
47、判断模块,用于判断目标航带段的点所在平面位置是否在tin模型中三角形的内部;
48、第一改正模块,用于在判断模块确定目标航带段的点所在平面位置在tin模型中三角形的内部的情况下,改正目标航带段内点的高程值;
49、第二改正模块,用于在判断模块确定目标航带段的点所在平面位置不在tin模型中三角形的内部的情况下,不改正目标航带段内点的高程值。
50、第三方面,本发明提供一种计算机设备,包括处理器和存储器;其中,处理器执行存储器中保存的计算机程序时实现第一方面所述的船载多波束航带点云配准方法的步骤。
51、第四方面,本发明提供一种计算机可读存储介质,用于存储计算机程序;计算机程序被处理器执行时实现第一方面所述的船载多波束航带点云配准方法的步骤。
52、本发明提供一种船载多波束航带点云配准方法和系统,其中方法包括获取去噪后的航道点云,以作为第一航道点云;提取第一航道点云中航行轨迹点;根据航行轨迹点转弯角度对第一航道点云进行分段,得到多个航带段点云;提取相邻航带段点云之间的重叠区域的点集;根据重叠区域的点集构建改正值点云;根据改正值点云分别构建各航带段的改正tin模型;判断目标航带段的点所在平面位置是否在tin模型中三角形的内部;如果是,则改正目标航带段内点的高程值;如果否,则不改正目标航带段内点的高程值。本发明对于不同扫描航带段之间重叠区域点云存在的分层现象能够自动匹配,消除数据误差,可为后续点云的分类处理提供精度保证。