一种基于点云数据的预制构件整体尺寸逆向建模方法与流程

文档序号:18271941发布日期:2019-07-27 09:46阅读:411来源:国知局
一种基于点云数据的预制构件整体尺寸逆向建模方法与流程
本发明涉及信息技术与建筑安全管理领域,特别涉及一种基于点云数据的预制构件整体尺寸逆向建模方法。
背景技术
:三维激光扫描技术是一种可以用于测量及实景复原的勘测技术。利用三维激光扫描技术,可以实现对预制构件的轮廓扫描,形成预制构件的外形点云数据。点云数据是由大量的三维空间数据点构成的数据集,包括数据点的三维坐标以及被测物体表面反射率。高密度的点云可以用来实现对预制构件的非接触式检测,通过处理点云数据完成对被测量构件的尺寸评估以及逆向建模。目前,技术人员在对预制构件点云数据进行bim逆向建模时,可以根据建筑图纸进行尺寸复原的翻模,可以根据实际手工测量构件结果进行翻模,也可以导入被测构件的点云数据,按照点云数据的大致轮廓进行人工建模。然而,以上方法均需要通过大量的人工操作从而获得bim模型。根据点云数据获得被扫描物体的bim模型可以用于信息存储、传递与交流。因此,为了避免在大规模数据情况下所有的预制构件点云数据必须依次手动建模的问题,亟需开发一种预制构件整体尺寸逆向建模方法。技术实现要素:本发明的目的是提供一种基于点云数据的预制构件整体尺寸逆向建模方法,以解决现有技术中存在的问题。为实现本发明目的而采用的技术方案是这样的,一种基于点云数据的预制构件整体尺寸逆向建模方法,包括以下步骤:1)输入待处理预制构件点云数据。2)采用最小l0算法对预制构件点云数据进行噪声过滤。3)采用区域生长算法对过滤后的点云数据进行点云面分割,获得点云分割面列表。各点云分割面数据依次进行编号并储存。4)采用ransac算法对各点云分割面进行平面数据提取。5)判断预制构件点云数据中相邻面的关系,创建相邻面关系矩阵并进行记录。6)对步骤3)中获得的各点云分割面分别进行平面数据拟合。选取误差平方和最小的拟合参数结果,并创建拟合系数矩阵进行记录。输出对应的最小误差平方和。7)根据步骤5)获得的相邻面关系矩阵与步骤6)获得的拟合系数矩阵,求解三面相交顶点,并储存至顶点列表。8)根据步骤6)中的误差平方和,修正拟合误差平方和较大平面上的角点。9)根据步骤5)获得的相邻面关系矩阵,利用直线拟合的方法求解两面相交顶点,并添加至顶点列表中。10)采用方向搜索方法,求解单面拐点,并添加至顶点列表中。11)根据顶点列表,利用bim软件完成预制构件整体尺寸逆向建模。进一步,步骤3)中,平滑阈值为5°,曲率阈值为1。进一步,步骤5)中,相邻面检测距离r设置为2cm。若两个面最近点的距离小于r,则判断为相邻面。相邻面关系矩阵中,相邻面表示为1,非相邻面表示为0。进一步,步骤6)中,采用最小二乘法进行平面数据拟合。获得的所有参数按照平面编号顺序依次存储至拟合系数矩阵。进一步,步骤4)中,进行拟合时,随机取样80%的平面点云数据,并重复拟合20次。进一步,步骤8)中,当其中一面的拟合误差平方和超过设定阈值时,选用另外两面的相交直线作为辅助直线。搜索需要修正的顶点在预制构件完整数据中的最近数据点。将搜索获取的数据点向辅助直线上投影得到修正后顶点。本发明的技术效果是毋庸置疑的:a.通过对预制构件的点云数据进行预制构件角点的提取,构成预制构件的顶点集和,可以方便的对预制构件点云数据进行整体尺寸估计;b.结合bim软件以及预制构件的先验知识,可完成预制构件的自动化逆向建模;c.使得预制构件整体逆向建模变得自动化,极大的减轻了大规模预制构件的逆向建模过程。附图说明图1为方法流程图;图2为原始预制构件点云数据与采用最小l0算法过滤后的点云数据示意图;图3为预制构件点云面分割效果图;图4为ransac算法进行面分割数据的平面数据提取示意图;图5为预制构件bim模型示意图;图6为三面相交角点计算修正结果示意图;图7为三面相交角点的修正原理示意图;图8为预制构件点云数据两面相交角点示意图;图9为单面拐点示意图;图10为预制构件整体尺寸逆向建模结果示意图。具体实施方式下面结合实施例对本发明作进一步说明,但不应该理解为本发明上述主题范围仅限于下述实施例。在不脱离本发明上述技术思想的情况下,根据本领域普通技术知识和惯用手段,做出各种替换和变更,均应包括在本发明的保护范围内。实施例1:针对现有预制构件点云数据在bim软件中逆向建模技术存在的自动化程度较低,以及对预制构件点云数据进行质量检测过程中,在数量较大时不具备可操作性等问题,本实施例提供一种基于点云数据的预制构件整体尺寸逆向建模方法。参见图1,逆向建模方法包括以下步骤:1)输入待处理预制构件点云数据。参见图2,本实例中采用的预制构件是预制混凝土楼梯。原始预制构件点云数据如2a所示。2)采用最小l0算法对预制构件点云数据进行噪声过滤。采用最小l0算法对预制混凝土楼梯进行过滤后的预制构件点云数据如2b所示。参见2b,离散数据点均被过滤,且该算法对主体点云数据的边缘特征保护良好。其中,最小l0算法具体包括以下步骤:a)利用pca(principalcomponentanalysis,主成分分析)算法计算各点的法向量,并利用l0范数对法向量进行优化。b)利用l0范数,根据优化后法向量将各数据点在其法向量方向进行坐标优化。c)根据所有求得的新坐标点完成对边缘的优化修复。3)采用区域生长算法(regionseedsgrowing)对过滤后的点云数据进行点云面分割,获得点云分割面列表。被分割的表面数据中,不包括边缘数据部分。各点云分割面数据依次进行编号并储存。预制构件点云面分割效果如图3所示。其中,区域生长算法具体包括以下步骤:a)计算每个点的法向量与曲率。b)选择最小曲率的点(即曲率小于曲率阈值的点)存入种子点集vector。在本实施例中曲率阈值设置为1。c)依次弹出种子点(seedpoint)进行区域生长。种子点作为生长的起点,对比种子点与种子点周围邻域的点,如果领域点满足生长准则,则将领域点与种子点合并起来继续向外生长,直至没有满足条件的点被包括进来。这样一个点云分割面的生长就完成了。其中,生长准则为邻域点与种子点法向量夹角小于平滑阈值。在本实施例中,根据点云密度,在采用区域增长法进行点云面分割时,平滑阈值选择为5°。d)重复迭代直至所有点都被划分并输出所有分割面。4)采用ransac算法(randomsampleconsensus,随机抽样一致算法)对各点云分割面进行平面数据提取。ransac算法可以进一步去除平面上下的噪点。ransac算法可以作为一种过滤手段,为下一步中的平面数据拟合提供更高的拟合精度。所述ransac算法的原理描述为:首先,随机抽取一些点,进行平面方程的系数拟合;其次,满足设置阈值的数据点,作为内点加入内点集;然后,重复上述步骤多次,输出内点集中内点最多的那次平面点集。参见图4,以实施例中的任意一块分割面数据为例,浅色点为ransac算法所提取的平面点云数据,而深色点为平面外数据。5)判断预制构件点云数据中相邻面的关系,创建相邻面关系矩阵并进行记录。在本实施例中,相邻面检测距离r设置为2cm。依次循环计算每个面的所有点到其他面中最近点的距离,若距离小于r则判断为相邻面。相邻面关系矩阵中行与列的指标即为每个面的各自编号,相邻面表示为1,非相邻面为0。若所有分割面的数量为n,则相邻面关系矩阵应该为n×n矩阵。6)采用最小二乘法对步骤3)中获得的各点云分割面分别进行平面数据拟合。进行拟合时,随机取样80%的平面点云数据,并重复拟合20次。选取误差平方和最小的拟合参数结果,并创建拟合系数矩阵进行记录。7)根据步骤5)获得的相邻面关系矩阵与步骤6)获得的拟合系数矩阵,求解三面相交顶点,并储存至顶点列表。依次根据每个面计算3面相交的顶点,创建顶点列表,并依次储存属于一条线段的两端点。按照相邻面关系矩阵,依次遍历矩阵中的行与列,每3个相邻面计算一次角点,将计算所得的角点存入至顶点列表。图5为预制构件bim模型。图6为预制构件三面相交角点计算及修正结果。图中的较小点即为三面相交的角点。计算误差是由于预制混凝土楼梯在制作过程中发生涨模现象,导致楼梯侧表面并非为理想的平面。8)根据步骤6)中的误差平方和,修正拟合误差平方和较大平面上的角点。由于步骤7)中的顶点是由三面计算所得,当其中一面的拟合误差平方和超过设定阈值,根据另外两面的相交的直线方向可以作为辅助方向。搜索需要修正的顶点在预制构件完整数据中的最近数据点,将所得的数据点向辅助直线上投影,所得的投影点即为修正后坐标。参见图7,黑色角点表示计算后所得三面相交角点。由于其中一面拟合误差过大,因此需要在另外两面相交的直线方向进行点的修正,根据需要修正的点找到原始数据中与其距离最近的点(在细曲线上),再向两面相交直线上进行投影即可获得修正点(图中的灰色点所示)。9)根据步骤5)获得的相邻面关系矩阵,利用直线拟合的方法求解两面相交顶点,并添加至顶点列表中。利用预制构件类型的先验知识,根据两条相交边的方向向量获得第三条边的方向向量,并搜寻距离该方向直线上小于一个较小阈值t(取0.1mm)的所有原始数据点,进行数据拟合修正方向直线,并反复迭代至方向向量不再改变。根据所求的方向直线选取一个超过该边长的距离点,并通过该距离点寻找角点。将所得角点存储至顶点列表。10)采用方向搜索方法,求解单面拐点,并添加至顶点列表中。利用预制构件类型的先验知识,根据需要计算的单面拐点位置,确定相关参考方向,从步骤9)中获得的两面相交的角点作为起点,按照参考方向进行搜索,设置相应终止条件,当满足终止条件时,搜索停止,停止点即为拐点。将所有拐点依次存储至顶点列表。如图8和9所示,两面相交角点与单面拐点计算结果均以细节图部分给出,预制混凝土楼梯整体角点均用直线连接。获得整体尺寸评估结果如表1至表5所示。与图5比较可知,所有结果均满足预制混凝土结构的尺寸误差要求。其中,表1表示踏步宽度,模型标准值为280mm,测量平均值为279.22mm,允许误差为±5mm。表2表示踏步及平台长度,模型标准值为1295mm,测量平均值为1296.1mm,允许误差为±5mm。表3表示平台宽度,模型标准值为496mm,测量平均值为495.66mm,允许误差为±5mm。表4表示踏步高度,模型标准值为154.5mm,测量平均值为152.04mm,允许误差为±5mm。表5表示平台高度,模型标准值为140mm,测量平均值为138.0mm,允许误差为±5mm。表1测量值277.5277.9278.2278.2278.5279.0279.2279.2279.2测量值279.3279.3279.4279.4279.5279.7280.0280.1280.3测量值280.3280.3表2表3表4测量值149.5150.3151.0151.0151.4151.5151.5151.7151.7测量值151.7152.2152.4152.5152.6152.6152.8153.0153.0测量值153.2153.4153.8154.4表5测量值135.7135.8142.1138.511)参见图10,根据顶点列表,利用bim软件完成预制构件整体尺寸逆向建模。由于实例中采用的是预制混凝土楼梯,属于预制楼梯族,该族类bim模型是通过楼梯侧表面尺寸进行整体拉伸后得到模型,因此在实际操作中通过将侧表面数据的降维处理,获得二维平面数据后,再进行整体拉伸获得用于展示的预制构件整体尺寸模型。实验效果证明,本实施例公开的逆向建模方法可以为预制构件点云数据的整体尺寸评估提供技术支持,并且能够极大减少在传统预制构件整体尺寸逆向建模过程中所需要的大量人为操作,是切实有效的。值得说明的是,本实施例可以应用于几何形体规则的预制构件,对预制构件点云数据中角点的提取,给出了预制构件点云数据整体尺寸的估计方法,以及逆向建模方法。本实施例解决了常规预制构件扫描数据在进行bim逆向建模中,需要进行大规模的人工操作问题,为大规模的预制构件点云数据的逆向建模提供技术支持。并且,通过预制构件点云数据中的角点计算,进行预制构件的尺寸评估,完成预制构件点云数据中的整体尺寸评估。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1