基于深度学习的输电线路杆塔点云分类方法

2022-07-21 06:00董昱程
云南电力技术 2022年3期
关键词:杆塔全局分类

董昱程

(昆明能讯科技有限责任公司,云南 昆明 650217)

0 前言

电力建设是国民经济建设的重要组成部分,其中输电线路和电力杆塔是电力系统的重中之重,是发电厂、变电站、配电设备和电力用户的纽带,电力杆塔又是连接输电线路的重要组成部分。随着国民经济的飞速发展,电网规模日益庞大,电网结构日趋复杂,对电力设施安全性、可靠性及其运行状态的实时性监测要求越来越高。由于输电线路往往距离长、覆盖范围广,因此电力杆塔巡检就成为电网运营维护、确保电力安全可靠运行的一项重要内容。

激光雷达技术(LiDAR)是近20年来发展非常迅速的遥感技术,它通过发射激光脉冲、接收返回的脉冲信号,经过系统处理来获取目标的三维空间信息。机载LiDAR即将LiDAR 系统安置于机载平台(包括飞机、直升机和无人机等)对地物进行扫描来获取地物空间信息,在不需要大量地面控制点的情况下即可快速获取地表各种地物高密度、高精度的三维空间信息,并且能部分地穿透植被获取林下地形信息,因此逐渐被引入到输电线路巡线中,当前的应用主要涉及输电线走廊的激光点云处理。

点云是目前摄影测量、遥感、计算机视觉等多个领域广泛应用的数据源之一,而信息提取是点云处理、分析和应用的必经环节。点云分类又是点云数据处理的重要环节,快速高精度的点云分类有助于后续工作的展开。点云分类的目的是将获取的原始激光点云标记为地面点、植被点、建筑点、输电线路点、杆塔点等,这是生产DEM和分析输电线路安全以及建模的基础。地面点和导线点分类一般可以基于高程特征自动识别;植被点、建筑点、道路点、杆塔点云和绝缘子等精细电力设施往往需要结合相关算法和手动标注。

近年来,深度学习和卷积神经网络的方法由于强大的表达能力和特征抽象能力,在许多领域取得了突破性的成功,利用深度学习来对三维点云进行分类,也成为一个越来越受重视的研究方向。PointNet是其中具有代表性的研究成果,该模型开创性地利用深度学习模型对点云进行分类,取得了较好的效果,可以运用与杆塔点云的精细分类。

1 工作环境

点云分类是点云处理领域中十分重要的一项任务。传统的点云分类方法是通过手工提取的特征来捕捉点云的几何属性,由于手工提取无法完全利用三维点云的全部信息,因而该方法的分类精度存在瓶颈。深度学习兴起之后,研究者开始探索利用深度神经网络学习点云特征。典型的处理方法是将点云数据转换为体素表示,进而在三维深度学习模型上进行特征提取,完成分类任务。三维体素的表示形式完整地保留了原始三维形状信息,因而具有较好的特征鉴别力。但是该方法对内存的开销很大,导致在实际情况下无法使用分辨率高的体素网络。斯坦福大学的Qi[1]等人提出了PointNet模型,开创性地利用深度网络直接处理不规则的三维点云数据,模型以原始的点云作为输入,是一个可以同时进行分类和分割的联合结构,在分类任务上取得了较好的效果。但该模型仍存在一个明显的不足,即没有考虑到点云的局部结构,这也导致其识别细粒度模式的能力以及对复杂场景的泛化能力较差。本文针对此问题,设计了一个基于图卷积网络的分类模型,提出了一个kNN graph 层,通过在点云空间构造k近邻图,利用图结构获取局部信息,进而提高分类准确率。

2 点云相关

2.1 激光雷达技术

LiDAR作为一种快速、全天候、精确获取地面三维数据的技术,在现阶段LiDAR技术随着软硬件的发展也取得了全面的发展并受到了极大的重视。LiDAR(Light Detection And Ranging)集中体现了激光技术、计算机技术、全球定位系统(GPS)和惯性导航系统(INS)3种技术的结合。LiDAR以其快速、全天候、精确、直接获取地面二维数据信息的特点,在城市三维建模中扮演着越来越重要的角色。

随着机载激光雷达传感器的发展,机载LiDAR点云数据的可获得性在不断提高,其自动处理与分类也已成为摄影测量与遥感、计算机视觉等诸多领域的研究重点与热点。尽管机载LiDAR点云数据在如建筑物检测与重建、电力线的识别与建模、植被分类与提取、道路、路边石以及道路标志的提取等方面都有着广泛的应用,但由于点云密度不均、分布离散以及场景复杂等多方面因素的影响,使得机载LiDAR点云的动高精度分类仍存在较大挑战。

2.2 电力杆塔点云

虽然机载LiDAR点云数据具有场景复杂、目标丰富、密度不均匀以及含有噪声等特点,使得现有三维场景目标提取识别方法自动化程度不高、识别准确率不高。且由于现实场景的复杂性以及LiDAR点云数据存在噪声点等原因,导致目前点云后处理中识别和分类的效率较低。电力铁塔的空间结构十分复杂,模型结构多,杆塔形状多。激光雷达采集的电力杆塔点云,很难用传统方法快速准确分类。

2.3 3D点云应用深度学习面临的挑战

2.3.1 点云具有无序性

受采集设施以及空间坐标系的影响,物体运用不同的设施扫描或者在不同的地点扫描,点云数据的次序都会大不相同,所以不容易直接经过模型对其进行相关的处理。

2.3.2 点云具有稀疏性

在自动驾驶和机器人的场景当中,雷达激光的采样点的覆盖尺度相对于场景的所有尺度来说,具有非常大的稀疏性。在KITTI数据集中,如果把未经过加工处理的雷达激光点云映射到相应的彩色图片上,大约只有4%的像素才能有相对应的雷达点。因此,让基于点云数据的分类和语义感知成为了难题。

2.3.3 点云信息量有限

点云的数据结构是由一些三维空间的点的坐标构成的点集,实质上是对世界三维几何形态的弱分辨率的重采样,所以只能得到比较少的几何信息。

2.4 基于点云本身的方法

在深度学习中,为了充分利用点云数据的特性,降低网络的计算复杂度,基于原始点云的网络模型逐渐被提出。PointNet是直接对无结构的点云应用深度学习的网络架构来处理点云的分类及分割任务。该框架主要解决点云稀疏性、置换不变性和转换不变性问题。考虑到点云的稀疏性,PointNet的研究人员并未将点云转换为多视图或是体素网格,而是对点直接进行处理。针对置换不变性,采用多层感知机(MLP)对每个点独立的提取特征,进而使用最大池化层将所有点的信息聚合得到全局特征。此外,该框架还引入了转换网络,通过构造转换矩阵对输入点云和特征进行空间对齐以解决转换不变性问题。虽然PointNet对点云分类及分割取得的效果良好,但并未考虑点与点之间的关系及局部邻域信息,因此,在处理大场景点云时,会导致细节信息的丢失。

3 PointNet

PointNet是一种直接消耗原始点云的新型深度神经网络,很好地处理了输入点集的无序性。PointNet运用深度神经网络中的最大池函数来解决点云的无序性难题,运用共享网络参数的形式来解决维度的改变问题,并且都取得了不错的成绩。

3.1 PointNet工作原理

3.1.1 PointNet体系结构

如图1所示为PointNet的网络结构,分类网络N个点作为输入,输入的点和特征经过转化,然后用max pooling聚合点的特征。最后分别输出K个类的分类分数。分割网络是对分类网络的扩充,它可以聚合全局特征和局部特征然后输出每个点的分数。“MLP”代表多层感知器,括号内的数字是每层的大小。所有层的Batchnorm用的是Relu函数。分类网络中的最后一个MLP使用的是Dropout层。

图1 PointNet网络结构示意图

PointNet的网络有3个关键模块:解决无序性问题的对称函数、聚合局部和全局的信息和共享对齐网络。

3.1.2 解决无序性问题的对称函数

为了实现一个不受输入顺序影响的网络模块,PointNet运用一个对称函数来聚合每个点的信息。这里对称函数将n个向量作为输入,并输出一个与输入顺序无关的新向量。对称函数近似定义一个在点集上的一般函数:

当f:2RN→R,h:RN→Rk,是对称函数。

这个基本模块用多层感知器网络来近似h,g由单个变量函数和最大池函数组成。实验发现,经过h集合,网络能够学习一些f来捕捉集合的差异特性。虽然模块看起来简单,但它实现效果好。

3.1.3 聚合局部和全局的信息

上一节的输出形成一个向量[f1,...fk]它是输入点集的全局标签。PointNet能够很容易的在全局特征上训练SVM或者多层感知机来进行形状分类。然而点的分割需要局部和全局特征的结合。其实可以用一种简单而高效的方式来实现这一点。解决方案可以在图1中的分割网络部分看到。在计算好全局点云特征向量之后,将全局特征与每个点的特征串联起来,将其反馈到每个点的特征。而后基于组合点的特征提取新的点的特征,此时每点特征都包含部分和全局的特征信息。

3.1.4 共享对齐网络参数

当点云经历某些几何变换(如刚性变换)时,点云的语义标签是不变的。因此,我们期望我们的点集可以通过学习使得网络对这些转换不改变点云的语义标签。一种处理方法是在特征提取之前将全部输入点集与标准空间对齐。关于此方法Jaderberg等人引入了空间变换的思想,在GPU上通过采样和插值在一个特定的定制层来实现2D图像的对齐。而PointNet的点云输入形式使我们能够以更简单的方式实现这一目标。PointNet由一个迷你网络(图1中的T-net)来预测仿射变换矩阵,从而直接将此转换矩阵应用于原始点的坐标。这个迷你网络自身接近于一个大型网络,由点的独立特征提取、最大池层和全连层这些基本模块组成。这个方法能够进一步的扩展到特征空间的对齐。PointNet能够预测特征转换矩阵,并在点的特征上插入另一个对齐网络,以便实现来自不同输入点的特征对齐。但是,特征空间中的变换矩阵比空间变换矩阵具有更高的维数,极大的提高了优化的难度。因此,PointNet增加了softmax函数来计算与标注样本间的损失。PointNet将特征变换矩阵近似为正交矩阵:

式中:I为;A为

结果发现通过增加函数softmax,优化变得比之前稳定,而且使模型实现了更好的功能。

3.2 PointNet的应用

如图2所示这部分展示的是PointNet的应用。从左到右依次是点云的物体分类,部分分割和场景语义分割。点云分类是将输入的点云数据给出类别名称(比如:杯子、桌子、汽车);部分分割是将物体的部分类标签给出并用不同颜色表示(比如机身、机翼、机尾);场景语义分割是将一个场景中同一类的物体用相同的颜色表示(比如:人、椅子、桌子、墙)。

图2 PointNet功能示意图

4 杆塔点云分类设计

4.1 杆塔点云分类

PointNet通过学习全局点云的特征来实现对物体的分类。对于电力杆塔的点云有很好的效果,并且PointNet的网络获得了强大的推理速度,也可以很容易实现CPU的并行,容易推广使用。

4.2 工作流程设计

激光雷达扫描后的点云是连续一片的,我们所做的是对杆塔部分点云进行分类,先手动抠出杆塔部分,并将杆塔部分的点云分成7类,如表1所示。

表1 杆塔点云分类类别

之后对杆塔点云进行人工标记构建杆塔点云数据集,再利用PointNet进行训练,得到杆塔点云分类模型,就可以利用该模型对其他杆塔点云进行分类,如图3。

图3 杆塔点云分类流程图

4.3 构建杆塔点云数据集

我们只对杆塔部分的点云进行分类,先对整体的点云扣取杆塔,如图4,并对每一个杆塔的坐标点进行归一化:

图4 单个杆塔示意图

对坐标的y和z做相同的操作。

然后人工标记杆塔数据,为每一个点打上标签。因为激光雷达采集的点云非常密集,通常一个杆塔部分的点数量在十万以上,所以采取随机采样的方法来来构建杆塔数据集,随机抽取杆塔中的2048个点作为一个样本,因为人工标记成本较高,可对一个杆塔多次随机采样,我们对每个杆塔点云随机采样50~80次,一共得到10万组样本作为原始数据训练样本,作为杆塔点云数据集。

4.4 训练PointNet

将杆塔点云数据集分出的90%作为训练集,剩下10%作为测试集。在训练时使用NVIIDA GTX 1080TI GPU进行加速,训练30Epoch,batch_size设为32,训练用时20 h。

5 点云分类应用分析

5.1 模型测试

用杆塔数据集的剩余10%进行测试,准确率为0.912。如果预测的点标签与原始数据集中的标签相同,则认为这个点预测正确。

在GPU模式下预测10万点的杆塔平均用时6 s,在CPU模式下预测10万点的杆塔平均用时9 s。

5.2 杆塔部件提取

现在我们已经有了已经分类的杆塔区域,如图5,通过空间几何关系和聚类的方法,可以单独提取杆塔部件,绝缘子,跳线等,如图6~7所示。

图5 PointNet分类杆塔示意图

图6 分离出的绝缘子示意图

图7 分离出的跳线示意图

5.3 点云数据抽稀测试

实验证明PointNet已经实现了非常好的性能并且大大简化了点云数据的目标分类任务。但是关于抽稀点云数据的目标分类和语义分割还有待研究。因此,为了验证PointNet在数据抽稀情况下的效果,我们先对点云进行随机抽稀,做了如下实验,测试数据在抽稀情况下的准确率。

对数据抽稀,然后将其抽稀数据的测试结果与原始数据测试结果进行对比。实验过程与结果如表2所示。

表2 抽稀后点云准确率

测试结果如图8展示了PointNet虽然简单但是有效,当点云数据输入超过原始数据的2/3时对各种损坏输入都具有很好的鲁棒性,但是当数据抽稀超过1/2时精度下降严重,需要进一步的研究和攻克。

图8 抽稀点云准确率示意图

6 结束语

PointNet对无序点云特征的优异学习能力,在训练时间和识别时间上都很有优势,对点云分类的精度很高。将PointNet运用在电力杆塔分类中也取得了较好的效果,相信该工作在未来的电力使用场景中能发挥更大作用。另外PointNet还有很大的改良空间,比如解决点云的密度不均匀问题、抽稀数据识别率下降问题等等,值得进一步的学习和研究。

猜你喜欢
杆塔全局分类
基于改进空间通道信息的全局烟雾注意网络
基于北斗的高压输电杆塔智能实时监测技术与应用
分类算一算
基于ZigBee与GPRS的输电杆塔倾斜监测预警系统
落子山东,意在全局
记忆型非经典扩散方程在中的全局吸引子
教你一招:数的分类
说说分类那些事
高超声速飞行器全局有限时间姿态控制方法
给塑料分分类吧