本发明属于声呐技术和三维数据处理的技术领域;具体涉及一种基于声呐点云数据的水下施工控制事件自动获取方法。
背景技术:
沉排护岸工程是航道整治工程中常用的治理措施之一,沉排工程旨在保护沉排区域内河床底质不被水冲击腐蚀,从而达到护岸,护底,保护工程基础的目的;测量排布的搭接宽度用来评估沉排工程的施工状况,对现场施工进行实时指导。
目前实际使用的排布搭接宽度测量方法有:(1)潜水员下水进行摸测;(2)使用水下激光器或者成像声呐探测沉排区域,由操作员对获得的图像进行人工判读,这些方法均依赖于操作人员的经验与技术水平,且容易受到外部环境的干扰;(3)将多波束探测系统应用于沉排工程的监测,通过构建水下地形达到测量搭接宽度的目的。
技术实现要素:
本发明是一套对三维声呐生成的点云数据进行处理的方法,目的是获取沉排护岸工程中排布搭接宽度。
本发明通过以下技术方案实现:
一种基于声呐点云数据的水下施工控制事件自动获取方法,所述方法包括以下步骤:
步骤1:将初始点云分成底部平面及剩余点云;
步骤2:对剩余点云再次分割,得到上排布平面;
步骤3:对底部平面进行局外点滤除,滤除底部平面中干扰点云,得到下排布平面;
步骤4:对上/下排布平面进行簇分类;
步骤5:通过选取并比较特征点的位置,筛选出边缘簇;
步骤6:对上排布边缘簇进行直线拟合,对下排布边缘簇进行直线拟合,得到两条拟合直线的参数;
步骤7:计算两条拟合直线间距离,得到排布的搭接宽度。
所述步骤1中,对初始点云进行基于ransac理论的平面分割,将底部平面分割出来;
最优平面模型的选取见式:
a,b,c,d最优=a,b,c,d|max{p1,p2,...pi,...pk}
其中a,b,c,d为平面模型参数,pi为局内点数,k为循环次数;
当次循环得到的局内点数大于之前循环得到的最大局内点数,则更新最大局内点数的值,并按照下式计算新的k值:
p为点云分割成功的概率,w为局内点数与点云总数的比值,n为确定一个模型所需点云数;
循环结束后,选取最大局内点数对应的平面模型参数作为平面分割的最优结果。
所述步骤2中,对分割出底面后剩余的点云再次分割,同样使用ransac理论,将上排布平面从剩余点云中分割出来;
所述步骤3中,使用基于统计分析的局外点滤除法对底面进行局外点滤除,滤除底面内散乱点云,得到下排布平面,该方法的要素见下式:
dn为任意点云与其k邻域点云的距离均值,x,y,z为点云的三维坐标,μd和σd分别为底面所有点云的dn的均值和标准差,根据dn的上述统计信息滤除局外点
所述步骤4中,利用基于欧氏距离的簇分类方法对排布平面进行点云簇分类;
对于两组点云pi和pj,若满足式:
则认为两组点云pi和pj形成不同的簇;其中|p1p2|表示两点p1和p2间的欧氏距离,dth为簇分类距离阈值。
所述步骤5中,在簇分类的结果中提取边缘簇:选取点云簇的特征点,通过比较特征点的分布位置确定边缘簇的特征点,反向索引出边缘簇;
所述步骤6中,使用lmeds法和m-estimator法对两块排布平面的边缘簇进行直线拟合,lmeds法的表达式如下:
a,b,c最优=a,b,c|min{med(r1),med(r2),...med(ri),...,med(rk)}
其中a,b,c为空间直线参数,ri为直线拟合残差,med(·)为取中值运算,k为循环次数;选取直线拟合残差中值的最小值对应的直线参数作为最优参数;
m-estimator法的表达式如下:
a,b,c最优=a,b,c|min{∑ρ(r1),∑ρ(r2),...∑ρ(ri),...,∑ρ(rk)}
其中a,b,c为空间直线参数,ri为直线拟合残差,ρ(ri)为残差函数,k为循环次数;ρ(ri)取值为:
t值用以抑制过大的残差分量;选取残差函数之和的最小值对应的直线参数作为最优参数;
针对不同拟合方法及不同参数得到的拟合直线,使用直线拟合残差统计量衡量出最适合的拟合方法及参数。
本发明的有益效果是:本专利提供了一种通过对三维声纳点云数据的处理自动获取搭接宽度的方法,数据及其处理结果直观,而且相比于人工判读方法,结果准确稳定,排除了各种人为因素与环境因素的干扰,适用于多种水文与天气条件,可连续长时间作业。
附图说明
附图1是本发明三维声呐生成的初始三维点云及排布的放置情况。
附图2是本发明对初始点云进行平面分割后得到的底部平面及剩余点云。
附图3是本发明对剩余点云再次进行平面分割后得到的上排布平面。
附图4是本发明对底面点云进行局外点滤除后得到的下排布平面。
附图5是本发明(a)上排布平面进行点云簇分类的结果,(b)下排布平面进行点云簇分类的结果,不同簇用不同颜色标记。
附图6是本发明(a)提取出的上排布边缘簇,(b)提取出的下排布边缘簇。
附图7是本发明(a)上排布边缘簇直线拟合的结果,(b)下排布边缘簇直线拟合的结果。
附图8是本发明提取的两条拟合直线在全局点云中的分布示意图。
具体实施方式
下面将结合本发明实施例中的附图对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
一种基于声呐点云数据的水下施工控制事件自动获取方法,所述方法包括以下步骤:
步骤1:将初始点云分成底部平面及剩余点云;
步骤2:对剩余点云再次分割,得到上排布平面;
步骤3:对底部平面进行局外点滤除,滤除底部平面中干扰点云,得到下排布平面;
步骤4:对上/下排布平面进行簇分类;
步骤5:通过选取并比较特征点的位置,筛选出边缘簇;
步骤6:对上排布边缘簇进行直线拟合,对下排布边缘簇进行直线拟合,得到两条拟合直线的参数;
步骤7:计算两条拟合直线间距离,得到排布的搭接宽度。
图1为初始点云及排布布放情况,定义水平面为xoy平面,与下排布边缘平行的方向为y方向,按右手坐标系定义各坐标轴的方向。
所述步骤1中,对初始点云进行基于ransac理论的平面分割,目的是将底部平面分割出来,底部平面包含下排布平面和散乱点云;
从初始点云中随机选取3个点确定一个平面ax+by+cz+d=0,并计算初始点云中其他点云到该平面的距离di:
其中(a,b,c)为平面法向量,d为原点到平面的距离,设置阈值δ=0.5,若di>δ,将该点云归为局外点,反之纳入局内点,统计局内点数pi作为最大局内点数的初始值,并按照以下公式计算k值作为初始循环次数
其中p为点云分割成功的概率,w为局内点数与点云总数的比值,n为确定一个模型所需点云数;
开始循环,当次循环得到的局内点数大于之前循环得到的最大局内点数,则更新最大局内点数的值,并按照下式计算新的k值,再进入下一次循环;当次循环得到的局内点数小于等于最大局内点数,则直接进入下一次循环;至循环结束,以最大局内点数对应的平面参数作为最优参数:
a,b,c,d最优=a,b,c,d|max{p1,p2,...pi,...pk}
其中a,b,c,d为平面模型参数,pi为局内点数,k为循环次数;
先将底部平面分割出来,如图2所示,其中红色点云为底面的局内点,绿色点云是剩余点云。
所述步骤2中,对分割出底面后剩余的点云再次分割,同样使用ransac理论,设定不同的阈值δ=0.3,对图2中剩余点云再次进行平面分割,得到上排布平面,如图3所示。
所述步骤3中,使用基于统计分析的局外点滤除法对底面进行局外点滤除,滤除底面内散乱点云,得到下排布平面,该方法的要素见下式:
计算底面所有点云的dn,以及dn的总体均值μd和标准差σd:
dn为任意点云与其k邻域点云的距离均值,x,y,z为点云的三维坐标,μd和σd分别为底面所有点云的dn的均值和标准差,根据dn的上述统计信息滤除局外点;
设加权系数β,底面内dn大于μd+βσd的点云被视为局外点并滤除,反之则保留。完成对底面的局外点滤除,得到下排布平面,如图4所示。
所述步骤4中,利用基于欧氏距离的簇分类方法对排布平面进行点云簇分类;
对于两组点云pi和pj,若满足式:
则认为两组点云pi和pj形成不同的簇;其中|p1p2|表示计算两点p1和p2间的欧氏距离,dth为簇分类距离阈值。上排布平面取dth为0.04,下排布平面取dth为0.2,簇分类结果如图5所示。
所述步骤5中,在簇分类的结果中提取边缘簇:选取点云簇的特征点,通过比较特征点的分布位置确定边缘簇的特征点,反向索引出边缘簇;
上排布平面中边缘簇位于最右侧,选取上排布平面每个点云簇中z值最大的点作为特征点,其中x值最大的点为边缘簇特征点,反向索引出上排布边缘簇;下排布平面中边缘簇位于最左侧,选取下排布平面每个点云簇中y值最小的点作为特征点,其中x值最小的点为边缘簇特征点,反向索引出下排布边缘簇,如图6所示。
所述步骤6中,使用lmeds法和m-estimator法对两块排布平面的边缘簇进行直线拟合,lmeds法的表达式如下:
a,b,c最优=a,b,c|min{med(r1),med(r2),...med(ri),...,med(rk)}
其中a,b,c为空间直线参数,ri为直线拟合残差,med(·)为取中值运算,k为循环次数,每次循环中依据残差中值是否小于之前得到的最小残差中值,按照与步骤1中相同的方法更新k值;选取直线拟合残差中值的最小值对应的直线参数作为最优参数;直线拟合结果如图7(a)所示,其中红色点云是位于拟合直线上的点;
m-estimator法的表达式如下:
a,b,c最优=a,b,c|min{∑ρ(r1),∑ρ(r2),...∑ρ(ri),...,∑ρ(rk)}
其中a,b,c为空间直线参数,ri为直线拟合残差,ρ(ri)为残差函数,k为循环次数,每次循环中依据残差函数之和是否小于之前得到的最小残差函数之和,按照与步骤1中相同的方法更新k值;ρ(ri)取值为:
t值用以抑制过大的残差分量;选取残差函数之和的最小值对应的直线参数作为最优参数;直线拟合结果如图7(b)所示,其中红色点云是位于拟合直线上的点;
针对不同拟合方法(lmeds法和m-estimator法)及不同参数得到的拟合直线,使用直线拟合残差统计量衡量出最适合的拟合方法及参数,确定上排布边缘簇采用lmeds法,下排布边缘簇采用m-estimator法(t=0.05)。
得到两条拟合直线(如图8所示)后,根据拟和参数计算两条直线间的距离,即排布的搭接宽度d,表达式如下:
其中s1,s2为拟合直线的方向向量,m,n为拟合直线上任意两点。
在本发明使用的点云数据背景下,计算出搭接宽度d=4.6102m,与搭接宽度的参考值4.702m相比,相对误差为1.952%。