针对点云缺失情况下的导线分割算法研究

2020-08-28 17:15吴绍华余容赵健
机电信息 2020年24期

吴绍华 余容 赵健

摘  要:提出了一种导线模型(XY面投影重合、XY面投影不重合,简称“模型一”和“模型二”)识别方法和基于该模型的导线分割算法,解决了点云缺失情况下导线分割困难、分割精度低的问题。经实验验证,模型一和模型二分割准确度为92.5%、90.9%。

关键词:点云;输电走廊;导线分割

0    引言

导线分割是输电走廊隐患检测工作中十分关键的步骤。导线局部聚类具有较高准确性,档内具有相对完整性,本文基于导线XY面投影直线模型的适用性,提出两种导线模型点云缺失的分割算法[1]。分段后的导线采用的聚类算法为k-means[2-3],k-means具有算法效率高、实现相对简单等优点。

1    具体步骤

1.1    模型判断

模型一导线实际数量远大于导线在XY平面投影后的投影数量,模型二导线实际数量等于导线在XY平面投影后的数量。两种模型在XY平面和XYZ空间分布上有较明显的区分特征。

算法主要研究模型一、模型二两种导线模型,两种模型在XY平面和XYZ空间有较明显的区分特征,根据区分特征可以进行导线模型识别。

(1)将单档导线沿该档导线实际走向按经验步长分割成n段。

(2)对n段数据分别用k-means进行XYZ三维空间聚类,并记录每段聚类簇的数量,由于单档导线数据具有相对完整性,只存在部分缺失,所以统计出现次数最多的聚类簇数量即为导线的总数量,记为lineNum。

(3)同时对n段数据分别用k-means进行XY平面聚类,同时记录每段聚类簇的数量,统计出现次数最多的簇数量即为XY平面聚类数量,记为clusterNumXY。

(4)模型判断,如果lineNum等于clusterNumXY,即判断输入导线为模型二,否则是模型一。

1.2    模型一导线分割

模型一导线在XY面上投影重合。模型一在XYZ空間分段聚类结果统计确定实际导线数量,根据在XY面分段聚类结果统计确定导线重合情况进行直线模型分割,将导线分割为若干个在XY平面投影重合的部分,每个部分根据每一段聚类结果的z值高低关系确定每一根导线。图1是模型一导线,有三处点云缺失,该点云在XY平面投影重合为两个部分,每部分包括四根导线。

模型一导线分割流程如下:

(1)按经验步长沿导线走向分割为n段。

(2)对分割后n段导线分别用k-means进行XY面聚类,统计每段簇数量,出现最多的簇数量为XY平面分割数clusterNumXY,代表XY平面上聚类数。

(3)聚类完成后导线两端向中间遍历,找到两段簇数量等于clusterNumXY的段,分为clusterPart1和clusterPart2,如图1所示。

(4)在clusterPart1和clusterPart2中各取出一点,分别按y坐标升序排列,记为sortPoint1和sortPoint2,此时两组对应的点就在一条导线上,如图1所示。

(5)sortPoint1[i]和sortPoint2[i](0≤i≤lineNum1)点确定导线在XY平面投影直线lineNum1条,根据公式求得lineNum1个导线投影表达式。如图1所示,上一步取出的两个点,确定了图中的两条直线模型。

(6)根据上一步所求表达式,应用XY平面点到直线距离公式遍历点云,按距离阈值将点划分入各部分。图1通过XY平面划分为两个部分;如图2所示,是经过XY平面分割后的一个部分,即图中4条导线在XY面投影重合。

(7)对每个部分(3 m)沿导线走向分割为m段。

(8)对分割后的m段导线分别用k-means进行XYZ空间聚类,出现最多的簇数量即为XY投影重合部分导线数量partLineNum,如图2中partLineNum为4。

(9)取出本部分聚类簇数量等于partLineNum的段,然后按高低进行导线分割。即每段中的每簇取一个点,按z值高低排列,把每段中z值最高的簇取出构成一条导线,z值第二高的簇取出构成一条导线,以此类推,分割成partLineNum个导线。如图2中①②两段中都有4簇,即为完整段,段内簇按取出点z排序,然后①②两段依次按z的高度提取,拼接成单根导线。

(10)对聚类簇数不等于partLineNum的段,采用取点邻近匹配原则,划分到对应的导线。图2中③仅三簇,取每一簇中的一个点,和临近段内每簇点进行z坐标对比,根据邻近匹配划入各导线。

1.3    模型二导线分割

针对模型二,采用基于局部聚类确定直线模型方程的方法进行导线分割。如图3所示,该导线包含五根导线,导线在XY面投影不重合,有两处导线严重缺失,另外有若干处一般性点云缺失。

分割流程如下:

(1)按经验步长沿导线走向分割为n段。

(2)对分割后n段导线分别用k-means聚类,统计每段的聚类簇数量。

(3)从聚类后导线两端向中间遍历,找到两段段内聚类数等于lineNum的段分别记为clusterPart1和clusterPart2。如图3所示,导线两端各取出一段,每段有5簇。

(4)在clusterPart1和clusterPart2每簇中取一个点,共取2×lineNum个点。如图3所示,在每段各簇中各取出一个点,每段取5个点。

(5)导线中点的y坐标有顺序性,对clusterPart1和cluster-

Part2取出的点分别按y坐标升序排列,记作sortPoint1和sortPoint2,此时两组对应的点就在一条导线上。如图3所示,在XY平面确定五个直线模型。

(6)根据sortPoint1[j]和sortPoint2[j](0≤j

(7)根据上一步求得的导线投影模型,用XY平面点到直线距离公式分别遍历点云,按距离阈值将点划分入各导线。

2    实验与分析

研发平台为Visual Studio 2015,硬件为HP ZBook,内存64GB,处理器Xeon E5。

模型一采用某线110 kV导线,线路长0.6 km;档包含8根导线,在XY平面投影重合为两个部分,即每四根重合为一个部分。模型二采用某线500 kV导线数据,线路总长0.5 km;档包含5根导线,且5根导线在XY面投影不重合。

图4为模型一单档导线分割效果图,每根导线均有不同程度缺失,分割结果用不同颜色区分,从图中可以看出分割结果实际导线数量一致,分割效果准确。图5为模型二单档导线分割效果图,该档导线有两处较为明显的缺失,分割结果用不同颜色区分,从图5可以看出分割结果与实际导线数量一致,分割效果准确。

对模型一和模型二实验结果进行统计,再用Cloud Compare软件手动提取导线并统计,最后统计准确率,如表1和表2所示。

實验表明,导线分割结果与实际手动提取结果吻合度高,验证了算法的有效性和适用性,模型一和模型二分割准确度分别为92.5%、90.9%。

3    结语

针对导线缺失这一情况,提出了一种导线模型判断和分割算法,实现了导线分割自动化。实验表明,导线分割算法对导线空间排列方式、导线不规则断裂等因素不敏感,且分割结果正确、精度较高。

[参考文献]

[1] 林祥国,宁晓刚,夏少波.特征空间聚类的电力线激光雷达点云分割方法[J].测绘科学,2016,41(5):60-63.

[2] 沈小军,杜勇,王仁德,等.基于地面激光雷达的输电线路铁塔倾斜度测量[J].电子测量与仪器学报,2017,31(4):516-521.

[3] 吴绍华,李少波,侯稀垟,等.基于高维数据聚类的制造过程数据分析平台[J].微型机与应用,2017,36(1):86-88.

收稿日期:2020-03-24

作者简介:吴绍华(1989—),男,黑龙江人,工程师,研究方向:软件研发。