APP下载

基于滑动图卷积神经网络的输电线路点云分类模型

2023-01-14吴晨曦徐懿华

电工电能新技术 2022年12期
关键词:卷积准确率局部

吴晨曦, 丁 建, 王 彬, 徐懿华, 曹 晖

(1. 国网浙江省电力有限公司超高压分公司输电检修中心, 浙江 杭州 310000; 2. 西安交通大学电气工程学院, 陕西 西安 710049)

1 引言

输电线路是电力传输的关键部分,输电线路的安全运行是电力传输的重要保障。传统的输电线路主要采取人工实地巡检的方式,随着输电线路距离不断增加和技术的不断进步,耗时耗力的人工巡检方式逐渐被智能巡检取代。为适应现代化电网快速发展和安全运行的需要,无人机电力巡检技术应运而生。

通过在无人机上搭载的激光雷达设备,可以获取到海量的点云信息,不仅包含目标物体的三维信息,还包含几何结构、弱纹理和语义等信息,据此可以对输电线路进行三维建模。架空输电线路无人机巡检过程中,机载激光雷达拍摄的输电廊道包含输电线、杆塔、地面、植被等主要目标物。对输电线路走廊进行分析前首先需要进行地面点与非地面点的分离,而后再对非地面点进行输电线、杆塔、植被等精细分类,点云分类算法在其中起到关键作用。不同物体的点云有各自对应特征,利用这些特征,通过一定算法可将不同目标物从点云中分别提取出来,从而帮助细化输电线路三维模型,有效地提高了输电线路的运维效率。点云数据分类是分析输电线路安全的基础,点云分类已成为国内外的热点研究问题。

1994年,Chua等人[1]最早提出基于点的特征描述方法,即点签名法。点签名法通过物体中每个点所在曲线的法向量与参考矢量定义的旋转角度,获得描述表面的三维数据点对应的一维签名,通过签名匹配来实现点的分类。点签名的计算虽然可以不在连续点附近执行,但对噪声数据的处理效果较差,且一个特征点可能有多个描述向量。不同于点签名法中的一维表示,1999年,Johnson等人[2]提出旋转图像法,使用二维图像与三维点云进行联系,通过表面点匹配从而实现物体分类。该方法不仅可以在有遮挡的杂乱场景中识别多个对象,其识别匹配效率也显著增加。但以它为代表的基于局部特征的点云分类方法存在计算量大、计算效率低的问题。近年来,基于机器学习的点云分类方法大量涌现。Agrawal等人[3]提出的基于马尔可夫随机场的点云分类方法在识别室外环境,如识别汽车、建筑物等物体上十分有效。另有学者将支持向量机[4,5]、随机森林[6,7]等机器学习方法引入点云识别分类中,虽然这些方法在识别简单规则物体时性能较好,但在较为复杂的物体与环境识别上仍显不足。随着人工智能的快速发展,PointNet[8]开创性地将深度学习直接用于三维点云任务,引入单对称函数,即最大池化来解决点的无序性问题,设计出一种能够直接对点云数据进行分类的网格结构,简化预处理的同时提升了分类速度。但是该方法不能捕获空间点的局部特征,对于细粒图案的识别能力和复杂场景的泛化性能有所欠缺。针对点云的无序性与不规则性,研究人员提出了PatchCNN[9],该方法通过引入X变换矩阵对学习到的特征赋予权重,并将特征按某种顺序排列,点云分类效果有所提升。在此基础上改进的方法Point-GNN[10]作为图卷积神经网络方法的一种,通过探索所构建图中编码的局部结构来对三维点云数据进行分类,但在复杂场景下,由于X变换矩阵而产生的一系列问题仍较难处理。

以上方法都使用离散的局部点来捕获局部信息,并基于局部几何信息进行点云上的卷积运算,并未考虑点与点之间的相互关联。为解决上述不足,本文提出一种基于滑动图卷积神经网络的点云分类模型:首先,使用最远点采样从原始点云中迭代子采样点集,有效地降低模型复杂度和时间消耗;之后,采用边缘卷积方法滑动地提取局部图特征,对输入点云上的每一个点计算相邻点之间的边缘特征,从而得到该点与其邻域之间的依赖关系;最后,通过在卷积层和池化层中嵌入边缘卷积层,提取和聚合相邻连接节点和中心节点之间的局部特征。该模型在分类精度和模型复杂度上的表现均优于其他模型,并在公用数据集ModelNet40和采集到的输电线路点云数据集上取得较好的分类效果。

2 点云分类模型

2.1 问题描述

本文聚焦点云分类问题。传统方法通常采用手工制作的特征来捕捉点云的几何特性,但分类精度有限。近年来,深度神经网络在图像处理上的成功推动了一种基于数据驱动来学习点云特征的方法。深度点云处理和分析方法正在迅速发展,并在各种任务中优于传统手工特征提取方法。

然而,标准的深度神经网络模型将具有规则结构的数据作为输入,而点云数据是不规则的,即点云数据中点的位置在空间中连续分布,其任何顺序的排列都不会改变空间分布。使用深度学习模型处理点云数据的一种常见方法是首先将原始点云数据转换为体积表示,即3D网格。然而,这种方法通常会引入量化伪影并占据过多的内存,从而难以捕捉高分辨率或细粒度的特征。

当前先进的深度神经网络专门为处理点云的不规则性而设计,它们直接处理原始点云数据,而不是通过中间的规则表示。这种方法由PointNet[8]开创,它通过对每个点进行依赖性操作并随后应用对称函数来积累特征,实现了点的包络不变性。PointNet的各种扩展考虑了点的邻域,而不是独立地作用于每个点;这些允许网络利用局部特征,改善基本模型的性能。这些技术主要是在局部范围内独立地处理点,以保持包络不变性。然而,这种独立性忽略了点之间的几何关系,提出了一个基本的限制,导致局部特征的缺失。

本文设计了一种以无序点集为输入的点云分类网络,将点云表示为一组数量为n的点集P={p1,p2,…,pn},其中每个点pi包含其三维坐标,也可以包含其他一些特征,如颜色、表面法向量等。参照现有方法,本文将点pi的三维坐标信息作为网络的输入。点云分类任务旨在构建一个分类函数fc,将输入点云转换为每个类别r上的概率分布Pr,Pr=fc(P)。

2.2 基于滑动图卷积神经网络的点云分类模型

当前主流方法在局部尺度上独立地提取点特征,没有将局部点互相关联起来,即没考虑点云的局部拓扑信息。基于此,本文提出了一种基于滑动图卷积神经网络的点云分类模型,将局部点信息关联起来,考虑点云局部的拓扑信息,旨在取得更好的分类效果,其结构如图1所示。首先,用最远点采样方法从原始点云中迭代子采样点集,有效地降低模型复杂度和时间消耗;其次,利用多尺度K近邻对最远点采样得到的子采样点集建立局部有向图;之后,采用边缘卷积方法滑动地提取局部图特征,对输入点云上的每一个点计算相邻点之间的边缘特征,从而得到某点与其邻域之间的依赖关系;最后,通过在卷积层和池化层中嵌入边缘卷积层,提取和聚合相邻连接节点和中心节点之间的局部特征,并利用全局最大池化层进行点云分类。

图1 基于滑动图卷积神经网络的点云分类模型Fig.1 Point cloud classification model based on sliding Graph-CNN

最远点采样:最远点采样算法[11,12]是一种用于点云特征学习的数据点采样方法,它随机选择数据点集中的一个数据点作为第一个源,并从所选源中迭代选择最远的数据点。与其他采样方法相比,最远点采样方法可以等距地覆盖到整个样本空间,进而有效降低模型内存复杂性和时间消耗,同时保持模型精度[13]。

假设输入为n个点集M={a1,a2,…,an},输出为L个点集D。则最远点采样算法的原理如下:

(1)随机选择一个起始点并添加到起始点集D中:D={ai}。

(2)计算其余n-1个点和ai点之间的距离,把最远点aj添加到起始点集D中:D={ai,aj}。

(3)计算其余n-2个点和起始点集D中的每一个点的距离,并把最小值作为该点到点集D的距离。这样,可以得到n-2个点到起始点集D之间的距离。

(4)将步骤(3)中得到的最远点ak添加到起始点集D中:D={ai,aj,ak},此时若L=3,则选择结束。

(5)若L>3,重复上述步骤,直至得到L个点集。

局部信息在特征学习中非常重要,但传统的局部特征学习方法往往忽略相邻点之间的几何关系和拓扑信息。K近邻算法可以很好地对点云局部近邻信息进行挖掘和聚合。K近邻可以对最远点采样方法中的每个采样点进行定位并保持top-k最近邻的结构,为特征提取操作做准备。

K近邻是一种基于距离插值和跳跃连接的分层特征传播算法。如式(1)所示,取相邻两个数据点距离的倒数作为特征权重。数据点距离中心节点越近,插值权值越高,插值特征越重要。将K阶邻域内各数据点特征加权,作为新插值数据点的特征。

(1)

(2)

式中,fj(x)为数据点j的特征;wi(x)为邻域点i的特征权值;d(x,xi)为点xi与中心点x的距离;C为所有点的通道总数量。

局部有向图:通用的卷积神经网络要求输入必须是规则数据,而点云的红绿蓝色彩及景深数据是不规则的,即点云数据中点的位置在空间中连续分布,其任何顺序的排列都不会改变空间分布。因此不能以点云数据作为网络直接输入,构建端到端的点云分类模型。考虑到图卷积神经网络不需考虑节点的输入次序,而是在每个节点上独立传播,通过提取节点间的边特征来学习两个节点间的依赖关系[14],因此非常适用于点云的处理。若将图卷积神经网络应用于点云处理,需先将其转换为有向图。

通过K近邻算法[15]构造一个局部有向图G,图G由顶点V和边F组成:G=(V,F),V⊆D,F⊆V×V。如图2所示。在局部有向图G中,每个点Ti都是一个中心节点,并计算中心节点与其K个相邻点之间的边fi,具体如式(3)所示。

图2 点云局部有向图Fig.2 Point cloud partially directed graph

(3)

式中,Tij和fij分别为中心点Ti的一个相邻节点以及从Tij到中心点Ti的有向边。

边缘卷积:构造局部有向图后,基于边缘卷积层滑动地提取局部图特征,捕获点云数据的拓扑信息。特征提取函数fe对于所有点都相同,因此以其中一个中心点pi及其K个相邻节点为例来表示边缘卷积运算。边缘卷积操作如下:以中心点pi的局部图作为输入,输出是点云局部特征li,其表达式为:

(4)

式中,h(pi,eij)为中心点pi和一个边缘向量eij的隐含特征向量。将对称聚合函数,例如求和或最大池化,应用于每个顶点与其他节点的所有相互关联的边缘特征。由于边缘卷积不受相邻节点次序的影响,并且需要提取所有边特征向量中最主要的特征,因而本文使用最大池化操作。隐含特征向量h(pi,eij)通过多层感知器[16]提取,即:

(5)

式中,pic和pij c为通道c中的中心点pi及其相邻节点pij的值;c和c′分别为输入点pi和输出隐含特征向量h(pi,eij)的通道数;hc′(pi,eij)为隐含特征向量的通道c′中的值,且wc′c,wc′(c+c′)和bc′为多层感知机的可训练参数。与通用卷积相比,边缘卷积整合点云中每个点与相邻点之间的边缘特征,并在每次迭代过程中动态更新邻域图,充分利用了点云数据的几何结构和拓扑信息,因而分类准确率更高。

(6)

式中,wi,j为顶点i与顶点j之间边的权重;σ为一常量参数;Ak(i)为顶点i的k个最近邻节点的集合,i,j=1,2,…,n。

给定图的对称加权邻接矩阵W∈n×n和加权对角矩阵D,设表示归一化拉普拉斯矩阵。那么一种带系数α0,…,αk的线性顶点域图滤波器,通过将一个图形信号z变换成另一个图形信号y:

(7)

式中,θk为变换参数。设T0(L)=I,T1(L)=L,则有以下递推关系:

Tk(L)=2LTk-1(L)-Tk-2(L)

(8)

根据拉普拉斯的本征分解L=UΛUT,图形滤波器有一种光谱解释:

(9)

3 实验与结果分析

3.1 输电线路点云数据集

采用北醒光子的TF系列激光雷达,可以对输电线路场景进行扫描,从而得到输电线路的点云数据。本文利用Cloud Compare软件对输电线路的输电线、杆塔、地面、植被4类对象进行了分割和标注,得到了拥有个443个实例的标注数据集,每类对象的实例数量见表1。此外,杆塔、输电线、植被和地面的点云可视化如图3所示。

表1 输电线路点云实例数量Tab.1 Number of point cloud instances of transmission lines

图3 杆塔、输电线、植被和地面的点云可视化Fig.3 Point cloud visualization of towers, transmission lines, vegetation and ground

通过随机选择的方式对输电线路点云数据集进行划分,使用其中的70%进行训练,其余作为测试集,并在预训练的滑动图卷积神经网络模型上进行微调。

3.2 网络参数设置和预处理

为在输电线路点云数据集上取得更好的效果,模型先在大型公开数据集ModelNet40[17]上进行预训练,然后在采集的输电线路数据集上使用微调的方法进行模型训练。ModelNet40包含40个对象类别的12 311个CAD模型。该数据集被分为9 843个模型的训练集和2 468个模型的测试集。本文以相同的数据集划分比例进行实验,并在测试集上显示分类结果。

网络参数方面,本文与DGCNN设置相同。对于每个模型,从网格面均匀采样1 024个点,并归一化到单位球。丢弃原始网格,只使用采样点的(x,y,z)坐标。同时,通过对目标的缩放和随机旋转,以及对目标和点位置的扰动来扩展训练数据集。在本文实验中,使用Adam优化器进行优化,初始学习率设置为0.001,每20轮训练学习率减半。每个边缘卷积层都使用线性整流函数(ReLU)和批量归一化。批量大小设置为12,总共进行250轮训练。所有的实验都是基于深度学习框架Pytorch在英伟达显卡GTX1060上实现的。

3.3 点云分类实验结果分析

首先在ModelNet40数据集上进行预训练,然后在输电线路点云数据集上进行微调。为了验证本文算法的优越性,与最新点云分类算法进行了对比实验,结果见表2。

表2 本文算法与其他算法的分类准确率Tab.2 Classification accuracy comparison

为了更清晰地展示模型的训练过程,本文展示模型在不同训练阶段的损失,平均类准确率和总体准确率如图4所示。30轮训练后,平均类准确率达到70%以上;100轮训练之后,平均类准确率达到80%以上;160轮训练之后,平均类准确率稳定90%之上,并在最终达到98.6%。

图4 模型训练效果Fig.4 Model training effect

之后,在使用测试集来测试模型性能时,同样,本文展示在不同阶段的损失,平均类准确率和总体准确率如图5所示。10轮训练之后,平均类准确率达到70%以上;50轮训练之后,平均类准确率达到80%以上;130轮训练之后,平均类准确率稳定在85%之上,并在最终达到89.5%。

图5 模型测试效果Fig.5 Model testing effect

最后,比较了本文算法与其他优秀算法的模型复杂度见表3。本文算法在模型大小、传递时间和准确率上取得最好的折中。与PointNet相比,本文算法的平均准确率提高三个百分点,且模型大小(模型参数量)减少一半;与PointNet++比较,本文算法的分类准确率提高1.5%,同时传递时间减少68.1 s。

表3 不同算法模型复杂度比较Tab.3 Comparison of complexity of different algorithm models

本文将在ModelNet40数据集上预训练的模型用于输电线路点云数据的分类,其点云分布如图6所示。

图6 输电线路点云分布Fig.6 Point cloud distribution of transmission lines

4 结论

为了提高点云分类的效率和准确性,本文提出一种基于滑动图卷积神经网络的点云分类模型。由于点云数据格式的不规则性,通用的卷积神经网络不能直接应用于点云处理,因而本文引入图卷积将点云初始数据直接输入模型中。当前主流方法在局部尺度上独立地提取点特征,没有将局部点互相关联起来,即没考虑点云的局部拓扑信息。基于此,本文提出了一种基于滑动图卷积神经网络的点云分类模型,将局部点信息关联起来,考虑点云局部的拓扑信息,旨在取得更好的分类效果。

本文模型首先用最远点采样方法从原始点云中迭代子采样点集,有效地降低模型复杂度和时间消耗;之后运用边缘卷积方法滑动地提取局部图特征,对输入点云上的每一个点计算相邻点之间的边缘特征,从而得到某点与其邻域之间的依赖关系;最后,通过在卷积层和池化层中嵌入边缘卷积层,用于提取和聚合相邻连接节点和中心节点之间的局部特征,并利用全局最大池化层提取全局语义特征进行点云分类。

本文模型先使用点云公用数据集ModelNet40进行预训练,然后使用输电线路点云数据集对预训练后的网络进行微调。实验结果表明,该模型在分类精度和模型复杂度上的表现均优于其他模型,在准确性和稳定性上呈现出较好的效果。但本文网络的结构仍然存在较为复杂的特点,下一步的工作内容将集中在保证模型准确性和稳定性的同时,降低网络的结构复杂程度,使得整个网络更为简单高效。

猜你喜欢

卷积准确率局部
爨体兰亭集序(局部)
基于3D-Winograd的快速卷积算法设计及FPGA实现
非局部AB-NLS方程的双线性Bäcklund和Darboux变换与非线性波
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
卷积神经网络的分析与设计
从滤波器理解卷积
超精密车削出现局部振纹的诊断及消除
高速公路车牌识别标识站准确率验证法