HTML
-
由机载激光雷达(light detection and ranging,LiDAR)扫描获得的输电走廊数据除了电力线点云数据外,还包含大量的地物点和电塔点,因此在提取电力线之前,要对原始点云数据进行预处理。本文中在考虑地形起伏变化以及地物点分布异常的复杂环境下,基于空间网格划分法,对网格采用自顶向下的方法分离地物点,并利用密度描述子分离电塔点,实现复杂环境下电力线提取的预处理。预处理流程如图 1所示。
-
激光雷达扫描获取的数据中常见的地物点包括地面点、建筑物点、植被点等。对于地势起伏变化较大的输电线路,常常会出现低地势的电力点和高地势的地物点在高度上重叠的现象。但是若将长距离输电线路划分成多个空间网格,则每个网格近似于平坦地面的点云分布,于是可以对每个网格进行处理并有效解决地势起伏带来的问题。此外,由于地物点分布无序、杂乱,而高空中的电力点云受地物点影响较小。结合这些特点,本文中提出基于空间网格化的自顶向下方法来剔除地物点。具体实现方法如下。
(1) 利用主成分分析法[20]计算输电线路走向:建立点云数据的协方差矩阵,矩阵中最大特征值对应的特征向量就表示点云主方向,即输电线路走向,设其为x轴方向。
(2) 空间网格划分:设置沿x轴的划分尺度为dx,将原始点云空间S0沿x轴划分为n个空间网格Si(i=1, 2, 3, …, n),其中n和Si定义为:
式中, maxx(S0)和minx(S0)分别表示原始点云空间S0在x轴上的最大和最小的x坐标值,px表示S0中任意点p的x轴坐标值,i表示沿着x轴划分的空间网格的序号,$\left\lceil\ \right\rceil $表示向上取整。
(3) 单元格划分:沿着z轴以dz为划分尺度,将第i个空间网格沿z轴划分为mi(i=1, 2, 3, …, n)个单元格,表示为Si, j(i=1, 2, 3, …, n; j=1, 2, 3, …, mi):
式中, maxz(Si)和minz(Si)分别表示第i个空间网格沿z轴最大和最小的z坐标值,j表示沿着z轴划分的子空间的序号。原始点云空间网格划分过程如图 2所示。
(4) 使用自顶向下搜索算法剔除地物点:对每个空间网格Si(i=1, 2, 3, …, n)进行处理。由于输电走廊宽度与电塔横担宽度相近,因此通过不同塔型的大致宽度,设置横向电力线初始间距为d,结合地物点所在平面宽度陡然变化的特点,将地物点所在平面之上的最大和最小的y坐标值确定为边界值ymax和ymin,通过删除边界值之外的点云实现大量地物点的剔除;然后结合点云投影在xOz面电力线的条数nline,对处理后的空间网格自顶向下进行搜索,当搜索到的电力线条数等于输入的电力线条数nline时,对应搜索完成的高度k即为切割阈值,删除高度k以下的点云,实现电力线垂直距离下的地物点的剔除。最终完成对每个空间网格内地物点的剔除。具体算法过程如表 1所示。
input:cell Si, j after the division of the ith spatial grid the number of lines
projected on the xOz plane nlined←5
ymax←maxy(Si, m)
ymin←miny(Si, m)
for j←m to 1 do
if maxy(Si, j)-miny(Si, j) > d then
if maxy(Si, j)-ymax > d or ymin-maxy(Si, j) > d then
break
ymax←max(ymax, maxy(Si, j))
ymin←min(ymin, miny(Si, j))
Si, t*={p∣p∈Si, t∧ymin≤py≤ymax}
count←0
for k←m to 2 do
if not isempty(Si, k*) and isempty(Si, k-1*) then
count←count+1
if count=nline then
break
return ${S_i}^* = \mathop \cup \limits_{t = k}^m {s_{i,j}}^*$output:subspace Si* after removing points of ground objects Table 1. Algorithms for eliminating object points in spatial grids
-
经上述算法处理后,仅保留下了线塔点云以及少量高空噪声点云,其中噪声点云通常为高空飞点,并不影响后续电力线的提取。为了实现多个杆塔间电力线的自动提取,接下来需将杆塔点云剔除。利用电塔点云密度大,相邻电力线点云密度较小的特点,通过点云密度统计法分割电塔,具体实现过程如下。
对剔除地物点后的空间网格Si*(i=1, 2, 3, …, n)进行分割:沿着y轴以dy为划分尺度,沿y轴将空间网格分割为mi个单元格,每个单元格表示为Si, j*(i=1, 2, 3, …, n; j=1, 2, 3, …, mi):
式中, maxy(Si*)和miny(Si*)分别表示第i个空间网格沿y轴最大和最小的y坐标值。
具体划分过程如图 3所示。fi, j表示第i个空间网格的第j个子网格中是否有点云。对于第i个空间网格,若单元格内有点云,fi, j=1,否则fi, j=0,于是密度描述子δi表示为:
通过设定合适的密度描述子阈值即可完整地分割线塔点云,根据分割出的电塔点云所在位置,即可将多档点云数据划分为单档数据,以便于后续单条电力线的提取。经实验验证该方法可以简单有效地剔除电塔点云。
1.1. 基于空间网格化的自顶向下地物点云分割
1.2. 基于密度描述子的线塔点云分割
-
为了验证本文中所提方法在复杂环境下的可行性和鲁棒性,选取了不同复杂地形以及包含不同塔型的3组机载激光点云数据进行实验。数据1覆盖面积为1347.50m×280m,包含6221968个3维数据点,输电走廊所处地形凹凸不平,周围有大量植被干扰,连接电力线的杆塔塔型为羊角塔;数据2覆盖面积为1482.10m×261m,包含3288538个3维数据点,输电走廊所处地形陡然变化,高空中有噪声点干扰,连接电力线的杆塔塔型为酒杯塔;数据3覆盖面积为625.10m×826.50m,包含7752188个3维数据点,输电走廊所处地形平坦,电力线呈等腰三角形分布,连接电力线的杆塔塔型为猫头塔。
实验中涉及的参量主要包括dx, dy以及dz,其中dx主要基于杆塔厚度进行设置,通常为3m~6m;dy和dz是在考虑电力线水平及垂直间隔的基础上进行设置,通常小于线间距的1/2。本次实验中设置dx=4m,dy=dz=1m,从而沿着主方向将数据1划分为337个空间网格,数据2划分为374个空间网格,数据3划分为230个空间网格。
-
在对原始点云数据进行空间网格划分的基础上,使用自顶向下滤波算法分割出地物点云数据和线塔点云数据,原始实验数据及分割结果如图 4和图 5所示。从实验结果可见,本文中提出的自顶向下滤波算法对不同复杂度的地形都有很好的适应性,能够完整地剔除地物点,同时可见,实验结果中有部分电塔的基座也被剔除,由于本文中只关注电力线的提取,因此对电塔的完整性暂时不予考虑。
接下来,计算剔除地物点后的每个空间网格的密度描述子,将统计结果用折线图表示,如图 6所示。从图中可见,无论输电走廊所处地形如何变化、包含的杆塔类型如何变化,电塔点所在的空间网格密度描述子均近似于1。因此在分离线塔点云的过程中,将描述子阈值设置为接近1的值,即可将电力线点云数据从线塔点云中分离出来,剔除电塔点后的实验结果如图 7所示。
-
对剔除电塔点云后保留下来的电力线点云,使用半径搜索算法搜索单条电力线。分别对3组数据进行实验,并选取3组数据中的任一档数据进行结果展示,对提取出的单条电力线用不同颜色进行染色区分,如图 8所示。可以看出,半径搜索算法能完整地实现单条电力线的分离。
-
为了验证单条电力线的提取精度,对以上实验结果中的总计18条电力线的提取精度进行评估,评估标准是电力线点云提取率(提取率=提取点云数/标定点云数),统计结果如表 2所示。由表 2可知,电力线的总提取精度高达99.69%。因此,无论是不同塔型连接的电力线点云数据,还是受地形或植被干扰的点云数据,本文中提出的电力线提取方法都能适配。
data number of point cloudscalibrated number of point clouds extracted extraction rate/% data 1 744 740 99.46 1543 1541 99.87 1205 1205 100.00 1215 1214 99.92 784 769 99.08 1657 1656 99.94 1147 1133 99.78 1138 1131 99.38 data 2 2318 2315 99.87 2143 2133 99.53 11982 11980 99.98 11779 11779 100.00 11284 11278 99.95 data 3 1672 1656 99.04 1682 1667 99.11 7623 7571 99.32 7759 7721 99.51 7342 7298 99.40 total 75017 74786 99.69 Table 2. Accuracy evaluation of power line extraction