APP下载

融合图注意力的摄影测量点云语义分割研究

2022-07-06杜宣萱宋俊锋陆佳炜程振波

小型微型计算机系统 2022年7期
关键词:集上语义局部

徐 俊,杜宣萱,宋俊锋,陆佳炜,程振波,肖 刚

1(浙江工业大学 计算机科学与技术学院,杭州 310023) 2(丽水学院 工学院,浙江 丽水 323000)

1 引 言

近年来,倾斜摄影三维重建被广泛应用于城市规划、古建筑信息保护、大比例尺三维地形图测绘以及虚拟环境创造等领域.通过无人机快速收集高分辨率图形数据,能够在短时间内利用很少的人员和设备资源来创建目标区域的三维点云和网格[1].然而基于无人机倾斜摄影测量技术的三维重建方法所生成的底层点云数据并不包含用于区分对象的语义信息.因此,分割和识别原始点云中不同类型的对象,并在生成的虚拟环境中分配实际的物理属性,是创建真实模拟和实现各种分析的前提.

传统的点云处理方法大多是在对点云数据进行特定人为定义的特征提取的基础上,结合随机森林(Random Forest,RF)、支持向量机(SupportVector Machine,SVM)等分类机,通过训练一组特征分类器来完成点云数据的语义分类和分割任务.特别是对于摄影测量点云的处理,目前大多数还是以传统的多视角摄影测量影像分类算法为主、摄影测量点云为辅对地物进行提取或分类.例如,Rau等[2]将倾斜航空影像和边缘图像结合起来,利用多分辨率分割技术和区域增长的尺度因子来提取图像对象,再根据相应的对象高度图像以进行三维体素分割.这类传统方法通常都比较复杂,且这种人工定义特征依赖阈值,无法完全适用于所有语义分割场景.

三维点云分类和分割的深度学习是目前一个活跃的研究领域,可以在短时间内取代传统的方法.然而,点云模型是对物理世界三维几何形状的低分辨率重采样,仅包含一组描述物体表面信息的非结构化空间离散点,具有信息有限性、表征稀疏性、数据无序性等特征,无形中破坏了深度卷积神经网络应用的前提.Chapmi[3]等扩展了二维图像的像素(Pixel)概念,将原始点云数据转换为体素(Voxel),也就是三维像素的表示,然而这种方法会消耗过多的内存,并且很难捕获高分辨率和细粒度的特征;Boulch[4]等将点云投影到一组合成的二维图像上,然后使用投影在多个二维图像上的像素的预测分数来识别每个点的标签,但通过投影降维的方法会不可避免丢失一些空间信息,对于复杂三维点云来说,会更容易得到一个很糟糕的结果.

最新的深度神经网络设计思路是一种直接以点云作为输入的方法,不需要对点云进行拓扑结构的转换.Qi等提出的PointNet[5]是一种开创性的端到端网络,它通过共享的多层感知器(Multilayer Perceptron MLP)层和变换网络(T-Net)学习单点特征,但该方法仅通过一个最大池化操作聚合所有点特征来表示点云的全局特征,没有考虑点云的局部关系,限制了对精细场景的识别和复杂场景的泛化能力;为了解决上述模型对点云局部信息分析不足的问题,Qi等进一步提出PointNet++[6],通过一些下采样的算法来获取点云的一组采样空间位置,然后提取关键点的局部区域特征;为捕捉点云的空间关系,Wang等提出了一个模型DGCNN[7],通过边缘卷积构造动态局部邻域图来建立点的邻域关系,并递归地更新每个点的表示,但该模型无法证明适用于大规模室外点云的分割任务;另外还有的方法将规则格网与点相结合[8,9],利用规则格网的空间拓扑信息来表示局部信息,但该方法需要对每个点的进行特征提取以及合并规则格网,计算复杂度太高不适用于大型室外点云的语义分割;Wu[10]等设计了一个PDE模块来学习一组关键点,这些关键点是对应于有意义区域的几何和语义代表;Hu等提出的RandLA-Net[11]是一种高效、轻量级的网络,其最大的贡献是开发了一个局部特征聚合模块来弥补随机采样的特征丢失,同时这个模块也能实现逐层增大接受场并学习复杂局部特征.

值得一提的是,将上述激光扫描点云的处理方法直接用到摄影测量点云上的效果并不好,细粒度语义分割对于高分辨率摄影测量点云来说还是一个挑战,这也使得无人机摄影测量建模的应用普遍存在着无法进行用户级和系统级交互的瓶颈问题.

鉴于此,本文拟建立一种端到端的深度神经网络模型来实现在复杂的城市场景中,完成对摄影测量点云的分割,具体包括以下两个方面:

1)局部邻域信息分层提取:考虑全局空间特征和动态局部空间两种关系,提出使用局部邻域信息分层融合的EdgeConv++方法以动态的捕捉点云局域间的空间关系,以及利用一个融合语义与细节的特征增强机制来更有效的学习复杂的局部结构.

2)通道注意池(Channel Attentive Pooling,CAP)模块:将空间信息显式嵌入到特征通道,使用注意力策略来学习不同通道间的非线性关系,提高模型的表现能力.

2 基于图注意模块的点云分割方法

本文提出的图注意模块(Graph Attention Module,GAB),是一种基于深度神经网络的方法,其将语义分割问题看作对每一个点进行多分类的问题,采用监督学习得到一种融合动态图和通道注意力的点云分割网络(Dynamic Graph Channel Attention Network,DGCA-Net).DGCA-Net直接接受原始点云,并为每个点输出一个分类标签,直接完成语义分割,是一种端到端的方法.从结构上来说,DGCA-Net具有如下特点:为捕捉更加细粒度的空间信息,通过使用一个新的EdgeConv++模块动态更新局部点云结构来实现上下文信息的提取;此外,还引入通道注意池模块以自适应学习通道权重.

2.1 DGCA-Net

本文提出的DGCA-Net是以DGCNN为原型的改进,如图1所示,分割模型以N×6的空间和颜色信息为输入.从权衡效率和效果的角度出发,网络去掉了PointNet和DGCNN用到的空间转换网络Spatial T-Net,可以发现的是,当数据集数量足够的情况下,Spatial T-Net效果并不明显,去除这个单元从结果上来看并不影响模型的效果,同时使模型更加轻量化.

图1 DGCA-Net网络结构Fig.1 DGCA-Net network structure

上述的前向传播过程是处处可微的,本文使用随机梯度下降法(Stochastic Gradient Descent,SGD)来求解训练数据集上语义分割任务的最优模型,将每一个点看作一个多分类问题,目标函数表示为:

(1)

其中ynm是指示变量,取0或1,如果该类别m和样本n的类别相同就是1,否则是0.求最优化参数的算法使用随机梯度下降法的变体Adam,具体细节见本文第3节.

2.2 EdgeConv++模块

特征融合是语义分割中常用的手段.低层次特征和高层次特征本质上是互补的,低层次特征有更丰富的空间细节信息,但缺乏语义信息,包含更多噪声,高层特征具有更强的语义信息,但是分辨率很低,对细节的感知能力较差[12].所以从经验上讲,特征融合可以通过将更多的语义概念引入低级特征或将更多的空间信息嵌入高级特征来增强.如在二维图像的语义分割中,卷积神经网络CNN就是一种典型的高低层次特征融合方式:卷积核汇聚图片的低层次特征并输入到下一层的输入中去,从而不仅考虑了某一像素点周围的特征信息,还自动地将高低层信息汇聚起来,得到了更好的特征表示.由此启发,本文提出EdgeConv++来关注某点的邻域点,将跨层点描述与上下文特征结合起来并逐层汇聚,以此获得更好的特征表示.

(2)

(3)

(4)

本文所定义的g包含了两个尺度参数,其中α被初始化为0,β被初始化为1,由式(4)可以看出顶点特征更新是基于一个加权的串联操作,反映的是逐渐学会为顶点特征和局部特征分配适当权重的过程.因此,它在一定程度上保留了细节描述,并根据动态图选择性地聚合上下文信息.这些顶点特征更新实现了相互增益,使其对位置识别中的噪声具有鲁棒性.

如图2所示,采用EdgeConv++模块,随着层数的增加,每一个点的感受野逐步增大,因而逐渐包含了该点周围的上下文信息,从而使得每个点都能表示复杂的点云结构信息.

图2 顶点特征更新示意图Fig.2 Schematic diagram of vertex feature update

本文提出的EdgeConv++模块最大的贡献在于采用了一个可学习的顶点特征更新函数,从而将上层顶点的细节信息融合进来.而在EdgeConv模块中,这一函数被简单的max函数代替.虽然max函数具有置换不变性,但是它将顶点特征和边特征放在一个集合里进行平等处理,造成了较大的信息损失,而且随着网络深度的增加,将逐渐失去细节感知能力.本文提出的方法则有效地捕捉了上一层的细节信息,且ψ的输出对输入eij是排列不变的.

2.3 通道注意池模块

文献[3,5-7]直接利用最大池化(Max Pooling)操作来聚合邻域点的信息,然而这无法权衡邻域不同特征的重要性,忽略了特征信息的优先级问题.为了提高网络的表现力,最近的一些方法[13,14]尝试了加强空间编码来表示并取得了有益效果.注意力可以广泛地看作是一种工具,将可用处理资源的分配偏向于输入信号中信息最丰富的组件[15].而对于一定尺度的事物,特征具有不同程度的判别,其中一些特征可能导致预测虚假标签.因此,有必要选择具有鉴别性和有效性的特征.本文通过建立一个通道注意池模块,将局部空间信息压缩(Squeeze)成一个通道描述器,然后显式的建模网络卷积特征的通道之间的动态、非线性依赖关系以自适应的提高特征的可辨性,最后加权聚合每个通道表示来获得局部通道结构信息.

通道注意池模块旨在改变每个阶段特征的权重,以增强一致性.对于特征矩阵F∈RK×C,其中K是邻域点的数目,C是特征通道的数目,使用局部平均池化(Average Pooling)来获得挤压局部信息描述符,分别从C个通道的K维空间计算向量χ所有元素:

(5)

图3 通道注意池Fig.3 Channel attentive pooling

如图3所示,经过挤压操作的通道1×C描述对局部特征映射具有表现力,接着进行自适应权重校准,使用两个完全连接层来生成通道依赖关系:

s=Ex(χ,W1,W2)=σ(δ(χ,W1),W2)

(6)

其中s=(s1,s2,…,sC),W1为降维层参数,W2为增维层参数.式 (6)中的两个函数应该满足两个标准:首先它应该具备捕捉通道之间的非线性相互作用关系的能力,其次它必须能够在多个通道经过多次激活函数情况下学习多个通道之间非互斥关系.这里δ采用ReLU函数,使一部分神经元的输出为0,由此可以获得稀疏的输出,从而减少过于复杂的相互依存而起到正则化的效果,缓解过拟合问题;第2个激活函数σ使用sigmoid函数,将χc映射为0到1之间.公式(6)输出的通道权重就是每一个通道对于局部信息的重要性表示,即局部信息对于各个通道的依赖关系的一种预测.为了将该预测的依赖关系显式的注入至网络中,uc被进一步更新:

(7)

本文的通道注意池模块在计算上是轻量级的,不限于特定的数据集或任务,它在不同深度上发挥的作用适应了网络的需要,在效率和有效性上也可以满足大规模点云的处理,并且它可以较为简单的集成到现有的网络架构中来有效的增强特征表示.一个值得注意的实现细节是,在本文中,通道注意力池化模块并非作为一个独立的旁支模块被直接插入,而是被设计为与EdgeConv++模块结合,处理时起到相互加强的作用.

3 实验及结果分析

为了验证DGCA-Net网络模型的性能,本文在两个公开的室外基准数据集上进行了评估,包括一个航空激光扫描点云数据集Vaihingen[16]和一个摄影测量点云数据集Campus3D[17].

本文实验的硬件环境为Intel Core i7-9700KF + GTX 1080 8GHg+32GB RAM,软件环境为Ubuntu18.04 x64+CUDA9.0+cuDNN7.1+pytorch1.5+Python3.7.各数据集实验参数设置如表1所示.

表1 实验参数设置Table 1 Experimental parameter settings

3.1 定量结果分析

3.1.1 评价指标

本文用平均交并比(mean Intersection over Union, mIoU)、平均类准确率(mean class Accuracy, mAcc)和总体准确率(Overall Accuracy, OA)3个指标对实验结果进行定量评估并与其他方法进行对比.假设共有k个类别,定义cii表示类别i的预测标签等于真实标签的个数,cij表示类别i的标签预测为类别j的个数.

平均交并比(Mean Intersection over Union, MIoU)为语义分割的标准度量.其计算各类的平均交并比,每个类都对应两个集合,在语义分割的问题中,这两个集合分别表示的是真实值(Ground Truth)和预测值(Predicted Segmentation).计算公式如下:

(8)

总体准确率(Overall Accuracy, OA)定义为预测正确的数目比上样本集合的数目:

(9)

平均类准确率(mean class Accuracy, mAcc)定义为对各类的准确率取平均值:

(10)

3.1.2 基于Vaihingen数据集的定量评估

Vaihingen数据集是在500米航高、45°视场角的条件下,由航空机载激光扫描获取的,平均密度为4 points/m2.数据集共标记了9类分别为电力线、低植被、地面、汽车、围栏、屋顶、立面、灌木和树木.

由于该数据集较小,为防止过拟合现象,因此本文利用数据增强来提升网络的泛化能力[18].本文使用的数据增强方法按目的分类有两种:一是数据标准化,数据标准化的目的是使全体数据都满足某种标准,如坐标点为正值,地面总是在x-y平面上等;二是数据扩增,这一类方法的目的是使得数据具有更加丰富的特征,从而对抗过拟合.本文具体的数据增强从以下5步进行.原始的点云表示为P0={pj}j∈J0⊂R3,其中J0是所有点的下标集合,R3代表三维实数空间.

Step 1.将坐标原点归于(0,0,0),计算正值坐标,得到P1={pj}j∈J0⊂R3;

Step 2.对数据集中所有点做主成分分析(PCA)后变换坐标,保证z轴向上,并由此得到P2={pj}j∈J0⊂R3;

Step 3.对所有点以随机角度绕z轴旋转r次,得到P3={pj}j∈J1⊂R3,其中|J1|=r|J0|;

Step 5.训练时实时随机采样得到集合S={oi⊆R3,i=1,2,…,H},选择3个尺度分别随机取n个点.

其中,Step 4中的前3项归整到0和1之间,有利于模型学习空间信息,同时绝对尺寸保存在后3项中,并未丢失,这样便实现了信息解耦;Step 5中的下采样方法是一种多尺度的随机采样,也可以提高数据的泛化能力,另外本文选择随机采样是因为它具有显著的计算效率,在计算复杂度上与数据点的规模无关,而且也不需要额外的内存来计算,符合大规模室外点云的处理需求.

为了验证本文方法对点云空间几何结构的学习能力,在本实验中,将仅以空间坐标信息作为网络模型的输入,这样方法便独立于用于捕获点云的系统,即不加区分激光扫描点云和摄影测量点云.同时选择4种具有代表性的端到端语义分割方法,并在表2列出了与本文方法的定量结果对比.

表2 不同方法在Vaihingen数据集上的定量结果Table 2 Quantitative results of different methods on the Vaihingen dataset

1)PointNet 将点云通过多层感知器进行高维空间映射,并用最大池化解决了点云的无序性,是直接操作无序点云的开创性方法.

2)PointNet++是为解决PointNet对点云局部信息分析不足的问题而做的进一步优化,其采用分层结构来处理局部特征.

3)DGCNN在ECC动态边缘卷积方法的基础上考虑点的空间位置以及邻域点间的距离信息,构造三维有向图来捕捉局部特征.

4)RandLA-Net提出一种新的局部特征聚合模块,以逐步增加每个点的感受野,从而保留有效的空间几何细节.该方法是大型点云端到端语义分割的最新工作,在Sematic3D集上排名第一.

由表2可见,在仅依赖几何信息的前提下,本文方法在Vaihingen数据集上的平均交并比(mIoU)、总体准确率(OA)和平均准确率(mAcc)分别为38.4%、69.2%、51.3%,达到了较好的性能,且在空间几何结构的学习能力上明显优于以上几种端到端的语义分割方法.虽然RandLA-Net在Semantic3D数据集上表现出最优越的效果,但在Vaihingen数据集上的效果却相反,表现得很差.分析由于RandLA-Net在局部空间编码模块中对每个中心采样点使用了KNN(K-Nearest?Neighbor)的邻近点搜索算法,而这种算法对点云分布密度比较敏感,当点云分布稀疏且密度不均时,所获取的邻域点可能全部来自采样点的同一个方向,此时捕捉的邻域点不能准确反映采样点的局部结构,因此其对Vaihingen数据集的空间几何结构变化不够敏感.

为进一步验证局部结构捕获能力及空间特征学习能力,本文将Edgecov++和CAP替换并集成到DGCNN中,而不使用任何特征转换,得到每个类别的IoU绘制如图4所示的对比曲线(其中汽车类别由于点数过少被忽略).由图4可以看出,总体上DGCA-Net相比DGCNN有显著的性能提升,特别是地面类别的IoU提高了近两倍;基于Edgecov的DGCNN无法识别出电力线和围栏类别,在替换了Edgecov++之后,IoU分别提高了35%和12%;而DGCNN+CAP对于低植被、地面和屋顶3个类别IoU的提升效果更好,分析其原因可能是在网络中堆叠的CAP使来自网络的全局接收字段的信息能够被其下层所利用,同时因为促进了特征重要性的学习,使一些分布广且数据量大的类别能被更好的分割出来.

图4 Vaihingen数据集上每个类别的IoUFig.4 IoU for each category on the Vaihingen dataset

3.1.3 基于Campus3D数据集的定量评估

Campus3D数据集是一个基于无人机影像,利用多视角立体视觉的运动结构技术(SFM-MVS)构建的三维摄影测量点云.无人机航拍捕捉的丰富的真实纹理,使Campus3D包含了复杂城市结构的真实颜色信息.该数据集被标记为5级标签树,其中每个层次结构中的标签可以完全划分整个数据集,即每个点都对应着5个并行的语义标签.为了执行实际训练,本文在原始点云上以0.15米的采样大小获取实验数据,将FASS、PGP、RA、UCC和YIH共5个区域作为训练集,FOE区域作为测试集,并在表3给出了这6个区域点云的详细信息.

表3 各区域点云的详细信息Table 3 Detailed information of the point cloud in each area

本实验将以点云的空间坐标信息和真实颜色信息作为网络模型的输入,并为每个粒度级别分别训练了一个独立的分割分类器以验证本文方法对摄影测量点云分割的有效性.在去除带有“未分类”(未标记)的地物真实标签的点后,计算5个粒度级别上的每个类IoU和mIoU.由表4可知,随着粒度级别从C1到C5,逐渐出现几何模糊现象,分割性能以不同程度降低,这表明问题的难度随着标签实例变小且分布稀疏而增加.

表4 DGCA-Net在Campus3D数据集上的测试结果Table 4 Test results of DGCA-Net on the Campus3D dataset

为评价算法的性能,将本文方法与PointNet++进行实验对比,分析其在不同粒度级别上的总体准确率,其中PointNet++相关实验结果摘自文献[17].此外,本文还进一步在多分类器的基础上应用了一个分层集合(Hierarchical Ensemble, HE).HE是一种用于初始预测结果的后处理方法,它计算树T中所有根到叶路径上的似然分数的加权和,与最大分数相关的路径即最终的预测解,定义为:

(11)

其中,ph(·)是在类集合Ch上预测的似然分布,ψFC是所有解决方案的集合,包括了树T中从根到叶节点的所有路径.

分析表5可知,本文方法在Campus3D数据集的5个粒度级别上的总体准确率都显著高于PointNet++,证明了本文方法具有较强的分割能力;各个方法的分割总体准确率随着标签粒度的细化而逐渐降低;在应用HE后,分割性能在各个粒度级别上都得到了提升,表明HE可以通过强制维持等级关系来提高表现.

表5 不同方法在Campus3D数据集上的测试结果(OA%)Table 5 Test results of DGCA-Net on the Campus3D dataset

3.2 可视化分析

为了更直观的展示DGCA-Net网络模型的语义分割效果,本文将带有标签的点云在航空扫描点云数据集和摄影测量点云数据集上分别进行了可视化分析.

图5展示了Vaihingen数据集的Ground-truth和不同方法下的分割结果(由于目标区域内电力线点数过少,本文未在图中标出),由图可知,PointNet在地面和灌木区分上表现不佳,容易将地面分割为灌木,而地面点和灌木点在空间分布上相近,这说明PointNet 对空间细节的学习能力不好,这与模型本身忽视了局部特征关系有关,特别是其在共享的多层感知机后直接使用全局最大池化操作,丢失了空间信息;PointNet++基本无法区分除地面以外的地物对象,其提出的MSG(Muti-Scale Grouping)和MRG(Muti-Resolution Grouping)方法在Vaihingen地物几何识别上效果并不好;RandLA-Net受灌木和地面的干扰严重,对建筑物屋顶对象的识别效果不好,易将树木点错分为屋顶点;DGCNN 在植被和建筑物间的分割结果呈模糊状,特别是对于植被,DGCNN 几乎无法从植被群点与建筑物点中学习到有效的信息;相比其他4种方法,本文方法的分割结果更贴近于场景的真实标记,可以区分大部分建筑物和地面,而且能够从植被群点和建筑物点中学到有效的鉴别信息.

图5 Vaihingen数据集上的语义分割对比Fig.5 Comparison of semantic segmentation on Vaihingen dataset

本文选取了C1、C3、C5这3个级别进行可视化分析,在图6中直观展示了DGCA-Net在Campus3D数据集上的语义分割效果.可以发现,本文方法对地面、建筑物和树木这3类地物分割效果相对更好,对车辆、路灯和人工景观等地物的分割效果相对较差,不同类别之间存在显著的性能差距.这是因为对城市地区中不同地物的分类性能的优劣取决于对应地物用于训练的数据量大小及其低层次特征和其他地物的相似程度,模型会倾向于与主要类别相适应,更难学习到次要类别的鲁棒特征.虽然在更细粒度的C5级别中,由于地面和屋顶在几何上很相似,建筑物屋顶点部分被错误的识别为地面点,但从总体上看,随着标签粒度的逐层细化,本文方法仍能保持较优的分割效果.

图6 DGCA-Net在Campus3D数据集上的语义分割效果Fig.6 Semantic segmentation effects of DGCA-Net on Campus3D dataset

4 总 结

本文针对现存的摄影测量点云地物分割处理环节多、特征提取复杂等问题,将端到端的卷积神经网络引入摄影测量点云的语义分割中,同时分析了现有的卷积神经网络存在的局部细粒度特征捕捉不够和特征通道之间关系缺失问题,提出一种融合图注意力的摄影测量点云语义分割方法.首先提出EdgeConv++,通过融合其跨层点描述和上下文特征来丰富每个点的表示;其次,提出了一个通道注意池模块,显式的建模网络卷积特征的通道之间的动态、非线性依赖关系以自适应的提高特征的可辨性,以进一步与局部细粒度特征进行优势互补.在两个公开的室外基准数据集上进行了定量和可视化实验,证明了本文提出的摄影测量点云语义分割方法能够显著提升网络对局部拓扑特征信息的学习能力,且对复杂场景点云语义分割具有良好的泛化能力.然而本文对于分层标记的数据,没有考虑其跨粒度级别的相互关系,只为每个粒度级别训练了独立的分割分类器,如何利用标签层之间的内在关系,捕获额外的几何信息以提高语义分割的性能,是下一步研究工作的重点.

猜你喜欢

集上语义局部
真实场景水下语义分割方法及数据集
日常的神性:局部(随笔)
关于短文本匹配的泛化性和迁移性的研究分析
凡·高《夜晚露天咖啡座》局部[荷兰]
丁学军作品
师如明灯,清凉温润
汉语依凭介词的语义范畴
几道导数题引发的解题思考
局部求解也生动
2008年高考考前模拟试题(二)及略解