一种重建LiDAR原始点云建筑物轮廓线的方法与流程

文档序号:19193937发布日期:2019-11-25 21:26阅读:来源:国知局

技术特征:

1.一种重建lidar原始点云建筑物轮廓线的方法,包括:

步骤a:在lidar离散点云的基础上,按照delaunay三角网的构建原则建立三角网格,将三角网格中存在长边的三角形中高程值大的两个点提取出来,并将其以点对形式存储;然后将该点对作为数据链条节;

步骤a实现从原始lidar点数据中直接提取突起物的边缘点;

步骤a中输入为原始点云数据、阈值h1和阈值h2;步骤a中输出为突起物边缘点的总集合,步骤a包括:

步骤a1:数据预处理,去除奇异点;

步骤a2:采用delaunay三角网格,构建点数据之间关联关系;

步骤a3:计算delaunay三角网中三角形每个边的边长和平均边长;

步骤a4:提取突起物边缘点;

步骤a1包括:

步骤a1-1:设定搜索距离;设三维空间x-y-z坐标系每个轴上的搜索距离为δx、δy和δz;

步骤a1-2:建立每个点的搜索长方体:以每一个点为中心,向x、y和z轴的正向和负向分别扩展δx、δy和δz的搜索距离,形成每个点的搜索长方体;

步骤a1-3:设定扩展长方体内点数量的阈值h1,h1=1;

步骤a1-4:删除奇异点:统计落在每个点扩展长方体中点的数量ai;如果ai大于阈值h1,则保留,如果ai小于阈值h1,则将该点从数据集中删除;最终得到新的点集o1;

选取作为δx、δy和δz的值,为平均相邻离散点间距;

步骤a2包括:

步骤a2-1:建立delaunay三角形:在点集o1中任意寻找一点,然后查找距离此点最近的点,连接起来作为初始线;寻找一个离初始线最近的点,作为第三点;生成一个delaunay三角形;

步骤a2-2:建立delaunay三角网:以delaunay三角形新生成的两条边,作为新的基线;重复步骤a2-1、步骤a2-2,直到所有的基线处理完毕,得到delaunay三角网格;

步骤a4包括:

步骤a4-1:设定边长阈值h2:设定delaunay三角网格的平均边长c为阈值h2;

步骤a4-2:提取符合特征的三角形的顶点:将h2与每个三角形的边长c进行比较,如果同一三角形内有两条边长超过阈值h2,则将该三角形三个顶点i,j,k的坐标提取出来;

步骤a4-3:计算最大与最小高程点的高程平均值:取出三个点中高程最大点i和高程最小点k,并求这两个点高程的平均值

步骤a4-4:边缘点判定:比较第三个点的高程hj与高程平均值的大小,如果则将i,j提取出来,并以点对的形式存储在新的集合e中;否则,判断下一个三角形,直到delaunay三角网格内的三角形都判断完毕;

步骤a4-5:去除重复数据:将提取出来重复的点合并,得到突起物边缘点的集合a;

步骤b:根据数据链条节的连接关系形成数据链条节集合,完成每个突起物边缘点的聚类,形成突起物边缘点集合,统计每个突起物边缘点集合内点的数量,筛除非建筑物边缘点集合;

步骤c:构建每个建筑物边缘点集的环形数据链条,按照环形数据链条顺序将点加入拟合数据集合,进行直线拟合,当新加入的点到当前拟合直线的距离小于设定的阈值,则将该点加入当前拟合数据集合,重新拟合当前直线;当新加入的点到当前拟合直线的距离大于设定的阈值,则将该点视作下一个边的起始点,以该点与环形数据链条顺序中的下一点拟合新的直线;求出相邻两条拟合直线的交点并顺次连接,最终得到建筑物的轮廓线。

2.如权利要求1所述的一种重建lidar原始点云建筑物轮廓线的方法,其特征在于:

步骤b实现从突起物点集合中提取建筑物点并将同一建筑物的点聚类;

步骤b输入为突起物边缘点的总集合、阈值h3和阈值h4;步骤b输出为每个建筑物边缘点的集合,步骤b包括:

步骤b1:在边缘点集a中建立deluanay三角网格;

步骤b2:建筑物边缘点聚类;

步骤b3:滤除突起物边缘点集合中的非建筑物边缘点集合;

步骤c实现将离散的边缘点拟合规格化,得到连续的建筑物轮廓线;

步骤c输入为每一个建筑物边缘点的集合和残差阈值r,步骤c输出为每一个建筑物的规则轮廓线,步骤c包括:

步骤c1:形成每个建筑物边缘点集的闭合环路;

步骤c2:按照环形数据链条的顺序进行直线拟合;

步骤c3:计算残差;

步骤c4:确定拐点;

步骤c5:生成规则轮廓线。

3.如权利要求2所述的一种重建lidar原始点云建筑物轮廓线的方法,其特征在于:

步骤b2包括:

步骤b2-1:提取数据链条节:求三角网中每个三角形的边长δx′i,δy′i,δz′i分别为构成三角形边长的两个端点的x轴、y轴、z轴方向上的差值;设定阈值h3,h3=h2;将边长长度小于h3的边的两个端点提取出来,并以点对的形式存储,放在集合e中;

步骤b2-2:构建数据链条节集合,实现不同突起物边缘点的聚类:将起始点对放入到搜索集合l1中;以集合e的第一个点对为起始,放入到集合rbi中,其中下标i代表第i个突起物边缘点集合;搜索集合e中内包含集合l1点中任意一点的点对,将搜索的结果以点的形式放入到临时集合l2中;删除集合e中搜索得到的点对;将l1里面的点更新为存在于集合l2但不存在于集合rbi的点;将更新后l1中的点放入集合rbi中;重复上述步骤直到点集rbi不再发生变化,即第i个突起物的点集不再更新;重复上述步骤直到将集合e变为空集,即所有点都分配到各自的突起物边缘点集合中;

步骤b3:滤除突起物边缘点集合中的非建筑物边缘点集合:统计每一个突起物点集rbi中点的数量sumi;运用otsu法计算确定阈值h4;如果点集rbi中点的数量sumi大于阈值h4,则保留点集;如果点集rbi中点的数量sumi小于阈值h4,则删除整个点集;

步骤c1包括:

步骤c1-1:分别建立每个点集rbi的delaunay三角网格;

步骤c1-2:选取数据链条连接起点:以点集rbi中一个点pi开始,并将其存到新的点集rri中;

步骤c1-3:寻找相同的链条节点:搜索三角网格中存在点pi的三角形,将三角形的顶点放入集合g中;将集合g中仅出现一次的点放进集合h中;将h中的两个点插到点集rri中位置的第一个和最后一个;

将新插入的点作为新的搜索点,按照步骤c1-3的方法进行搜索,得到新的两个点;

步骤c1-4:链条连接:将点集rri中第一个点进行搜索得到的点插入到点集rri中第一个位置,将点集rri中最后一个点进行搜索得到的点插入到点集rri中最后一个位置;

步骤c1-5:重复步骤c1-3,步骤c1-4直到点集rri中第一个点与最后一个点相同;

步骤c3中定义点pj+2到前面拟合直线的距离为残差dj,点pj+2坐标为(px,py,pz),得到的拟合直线方程为la·x+lb·y+lc·z+ld=0,其中la、lb、lc、ld是直线方程的参数,x,y,z是直线方程的变量,残差dj计算公式为:

步骤c4中设定逐点拟合的残差阈值r,判断残差dj与阈值r的大小,如果dj<r,则将点pj+2加入当前拟合数据集合,返回步骤c2重新拟合当前直线,如果dj>r,则将点pj+2作为下一条边的起始,以点pj+2与环形数据链条顺序中的下一点返回步骤c2拟合新的直线;

步骤c5中按照拟合得到直线的顺序,依次求得直线的交点x1,x2,x3,……xi;将x1,x2,x3,……xi依次连接,得到最终的轮廓线。

4.如权利要求2所述的一种重建lidar原始点云建筑物轮廓线的方法,其特征在于:c1中闭合环路的形成方法为选取第一个点为起始点,不断搜索三角网格内由该点构成的边长,该边长只存在于一个三角形中;将搜索到的端点再定为搜索点,继续搜索下一个点,直到将整个点集的点连接成一个闭合的环路。

5.如权利要求1至4中任意权利要求所述的一种重建lidar原始点云建筑物轮廓线的方法,其特征在于:轮廓线规则化后加入建筑物边缘点高程信息。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1