基于Transformer 的城市三角网格语义分割方法

2024-03-24 03:10资文杰贾庆仁
南京大学学报(自然科学版) 2024年1期
关键词:语义网格分类

资文杰 ,贾庆仁 ,陈 浩,2* ,李 军,2 ,景 宁

(1.国防科技大学电子科学学院,长沙,410073;2.自然资源部南方丘陵区自然资源监测监管重点实验室,长沙,410073)

近年来,随着计算机、传感器、大数据、地理信息系统等的迅速发展,获取城市真实的三维模型数据,即城市三角网格(Urban Triangle Mesh)数据,越来越容易.城市三角网格是一种带纹理的城市场景下的三角网格数据,其可以将使用者引入符合人眼的直观真实世界.城市三角网格语义分割是计算机视觉领域中一项重要任务,旨在识别和分类给定三维真实城市场景中的不同对象,如树木、道路、建筑物、水体等,并将其归为预定的类别.城市三角网格语义分割在智慧城市[1]、数字地球[2]、三维校园[3]等领域有重要的应用价值.

城市三角网格具有不规则、复杂的属性,含有丰富的几何信息,如图1 所示,所以应用在传统二维图像上的网络模型无法直接作用在城市三角网格上,针对该数据的研究也十分罕见[4].并且,现有方法都是针对城市三角网格数据的单一几何信息进行特征提取,简单地融合之后再进行语义分割,导致城市三角网格语义分割的效果不佳,阻碍了其在前文所述领域中的发展.所以,只考虑单一几何信息的方法不再适用于城市三角网格这类大型三维空间数据.

现有的针对城市三角网格语义分割问题的解决方案都分两步.第一步为过度分割,网格数据中具有相似纹理、颜色、方向、三角面片密度等信息的相邻三角面片构成的区域称为超面,分割超面的过程即为过度分割.第二步为分类,即对过度分割生成的超面进行分类.

本文采用基于平面的线性最小二乘法拟合的区域增长方法对城市三角网格数据进行过度分割,再提出一种基于自注意力机制Transformer[5]的网络模型UMeT 对超面进行分类.UMeT 由多层感知机(Multi-Layer Perceptron,MLP)和Transformer 构成.MLP 直接将超面的几何信息映射到高维特征;MeshiT 是基于Transformer 改进的网络模块,UMeT 利用MeshiT 提取超面中各类几何信息间的全局关联性.由于MeshiT 对超面的空间坐标进行了位置编码,因此UMeT 也保证了空间不变性.本文的主要贡献如下.

(1)设计了一种基于Transformer 的网络模型UMeT,可以直接对复杂、不规则的城市三角网格进行语义分割.

(2)首次引入自注意力机制Transformer 解决城市三角网格语义分割问题.另外,MeshiT 模块可以很好地提取超面中各类几何信息间的全局关联性,同时还保证了空间不变性.

(3)在城市三角网格真实数据集SUM-Helsinki[6]上的实验结果表明,本文提出的UMeT 的分割性能优于最先进的模型.

1 相关理论

现有的对三维数据语义分割的研究大多针对点云[7]、单个对象的三角网格[8]数据等,对城市三角网格数据的研究十分罕见.单个对象三角网格数据和城市三角网格数据是几何空间数据.

1.1 机器学习与三角网格数据单个对象网格数据指计算机图形学中的小型网格模型,如人体模型、飞机模型、杯子模型等.利用机器学习对几何空间数据进行分析已经成为一个热门领域[9].而三角网格复杂、不规则,无法直接使用CNN(Convolutional Neural Networks)在三角网格上提取特征.Sinha et al[10]定义了三角网格的全局参数化,使得适用于二维图像的网络模型可以直接为三角网格提取特征,但预测结构的好坏完全取决于参数化的质量.同时,一些研究者获取三角网格模型的多视图,然后使用CNN 对多视图捕获特征,最终对其进行分类[11].由于全局参数方法无法避免三角网格空间几何的失真,Masci et al[12]设计了局部参数方法,定义了测地卷积神经网络,将三角网格数据带曲率的表面平摊在二维平面上.和Masci et al[12]设计的模型相比,He et al[13]设计了含矢量方向性曲率的网络Curvanet 来捕捉局部空间特征.但是,局部参数化的方法只关注三角网格数据局部信息,其性能取决于数据的分辨率.此外,三角网格是一种图数据,利用图神经网络的特性可以获取三角网格全局空间依赖关系[14],但上述方法都没有使用网格的空间结构信息.Hanocka et al[15]设计了MeshCNN 网络,定义了可以直接在网格数据上进行的卷积操作以及池化操作.MeshCNN 是基于网格数据的边所提出的模型,可以保证网格的空间不变性.Hu et al[16]提出基于网格本身的卷积和池化,比MeshCNN更通用,获取的空间几何信息也更丰富.

1.2 城市三角网格语义分割尽管有大量针对小型三角网格模型数据的研究,但对于大型数据城市三角网格的分析十分少有.Rouhani et al[17]利用马尔科夫随机场(Markov Random Field,MRF)来过度分割城市三角网格得到超面,再使用随机森林模型对超面进行分类.Gao et al[6]利用基于平面的线性最小二乘法拟合的区域增长方法对城市三角网格进行过度分割获取超面,区域增长可以避免MRF 中附近三角面的干扰,只需考虑设定的阈值.但上述算法都没有考虑各种几何信息之间的隐含联系.

1.3 自注意力机制TransformerTransformer[6]最初是一种用于自然语言处理任务的深度学习模型,如文本分类[18]和语言翻译[19]等.由于Transformer 的强大性能,众多计算机视觉的研究者将其扩展到自己的领 域.Dosovitskiy et al[20]设计了ViT(Vision Transformer)模型用于图像识别,通过引 入Transformer 结构在Image-Net[21]上取得了举世瞩目的成绩.Carion et al[22]设计了DERT(Detection Transformer)模型,将目标检测任务转化为一个序列预测问题,采用Transformer的编码器和解码器结构对图像特征进行压缩编码以及恢复,虽然模型结构简单,但预测性能强劲.Chu et al[23]提 出CPVT(Conditional Position Encoding Vision Transformer)模 型,去掉了Transformer 中的绝对位置编码,使Transformer 的泛化性更强,适应性更广.Gao et al[24]将Transformer应用到道路三维姿态估计上,证明Transformer 适用于三维空间数据.d′Ascoli et al[25]提 出ConViT(Convolution Vision Transformer)网络模型,利用CNN 中归纳偏差的优点来改进Transformer,并且加入门控位置自注意力机制来获取局部位置特征,其在ImageNet 数据集上的分类性能优于最先进的模型.

2 算法描述

2.1 算法框架由于城市三角网格是复杂的三维几何数据,直接对其进行分割会导致物体边缘的三角面片分类不准,将有相似特征的三角面片进行聚类,即过度分割,可以很好地解决边缘分割不准的问题.本文提出的语义分割方法分两步:其一为过度分割,即将数据分割为超面;另一为分类,即对超面分类.具体如图2 所示.

图2 城市三角网格语义分割流程图Fig.2 The workflow of urban triangle mesh semantic segmentation

2.2 过度分割借鉴文献[7],本文采用的过度分割方法是基于平面的线性最小二乘法拟合的区域增长算法.采用此算法是为了找出城市三角网格数据中的所有平面区域,为此,将距离阈值设置为0.5 m,该阈值指定了希望过分割方法识别的最小几何特征,即基于区域生长的过分割方法将无法区分两个距离小于此阈值的平行面.将三角面片的角度的阈值设置为90 度,这足以应对高水平的噪声(例如,距离值很小,但三角形法向与平面法向之间的夹角很大).此外,最小面积设置为零,以允许任意大小的平面段.结果如图3 所示.

图3 城市三角网格(a)和超面(b)Fig.3 Urban triangle mesh (a) and superfacet (b)

2.3 超面分类本文提出的基于Transformer 的城市三角网格数据语义分割模型UMeT 由MLP和MeshiT 模块构成,如图4 所示.包含四个MeshiT 模块,即图中N=4;Q,K和V是可学习参数,分别表示注意力机制中的query,key 和value;Re-Attention 表示MeshiT 模块采用的注意力机制;⊕表示相加,连接初始特征和高维特征,形成残差结构.首先,将过度分割产生的超面通过MLP 提取其空间特征;然后,将超面的空间坐标与特征进行聚合,生成位置嵌入特征;第三步,将位置嵌入特征输入MeshiT 模块,获取高维抽象特征;最后,通过MLP 进行分类.

图4 UMeT 模型的整体概览Fig.4 An overview of the UMeT model

2.3.1 MLP参考文献[6],过度分割得到超面,经过特征计算得到基于特征根的特征、海拔、面积、颜色等特征.将上述特征聚合成一个特征向量X,输入MLP,将其映射为抽象的空间特征Xs.MLP 的具体操作如下:

其中,Linear 表示线性变化;ReLU 是线性整流函数,是一种激活函数;Dropout 是随机失活某些神经元.设定随机丢弃率为0.5,即50%.MLP 共有三层,第一层隐含层有128 个神经元,第二层隐含层有256 个神经元,输出层有509 个神经元.MeshiT 模块中的MLP 为一层,其作用是将抽象的高维空间几何特征分类[26].

2.3.2 MeshiTMeshiT 模块由两个归一化层、六头注意力机制Re-Attention 和MLP 构成.其中,归一化层与Re-Attention 组成一个残差结构,可以有效地避免过拟合;其他的归一化层和MLP构成另一个残差结构.

将空间特征Xs与空间位置进行聚合得到位置几何特征Xp,对其进行归一化得到归一化的特征Xn.归一化如下所示:

其中,Xmin表示特征上在值最小的数值,Xmax表示特征上在值最大的数值.Xn通过线性变化得到可学习参数Q,K和V,再通过多头注意力机制.本文采用六头注意力机制Re-Attention,即图2 中h=6.六头注意力机制表明使用六个同网络但初始化参数不同的Re-Attention,对计算的结果进行相加融合.Re-Attention 的计算如下:

其中,M是人为定义的可学习变换矩阵,MT表示M的转置矩阵;d是一个超参数,大小为64;Softmax 是归一化指数函数,可以将多个神经元进行归一化,使得神经元的输出在(0,1).Re-Attention的优点是双重的:首先,利用不同注意力头之间的相互作用,收集它们的补充信息,并对注意力图多样性进行改进;此外,它是有效且易于实现的.

MeshiT 包含两个残差结构,使网络可以加深,并且能训练出有效的特征表示,提高了网络的泛化能力.由于UMeT 使用了四个MeshiT 模块,所以加入残差结构十分必要.

2.3.3 损失函数UMeT 的损失函数采用交叉熵函数,可以很好地处理多分类问题中的类别不平衡的问题.具体计算如下:

其中,yij表示第i个样本在第j个超面的标签,表示第i个样本在第j个超面的预测值,n表示样本数,m表示类别数.

3 实验结果与分析

3.1 数据集采用开源数据集SUM-Helsinki,其是语义城市网格的最大基准数据集,覆盖芬兰赫尔辛基约四平方公里,共有六种物体类别:地面、高植物、建筑物、水、车辆和船.整个数据集包含64 块地图,每块覆盖250 m×250 m 的区域.使用40 块地图(整个数据集的62.5%)作为训练集,12 块地图(18.75%)作为测试集,另外12 块地图作为验证集.

3.2 评估指标采用召回率(Recall,R)、精确度(Precision,P)、F1 分数(F1)、平均准确率(Mean Accuracy,mAcc)和 平均交并比(Mean Intersection-over-Union,mIoU)作为评价指标.如式(5)~式(9)所示:

其中,TP,FP,TN,FN分别表示正样本判定为正、正样本判定为负、负样本判定为负、负样本判定为正.

3.3 实验设置在NVIDIA Tesla V100 GPU 32 GB RAM 32 GB VRAM 的服务器上进行实验.学习率设置为6×10-4,每50 轮训练学习率下降50%.

3.4 实验结果与分析为了验证本文的UMeT算法的有效性,引入目前最先进的算法进行对比实验,包括MRF-RF[17],SUM-RF[6]和KPConv[27].

MRF-RF 采用马尔可夫随机场对城市三角网格进行过度分割,然后使用随机森林对超面进行分类,实现语义分割.

SUM-RF 是采用基于平面的线性最小二乘法拟合的区域增长算法,再调用随机森林算法进行分类.

KPConv 是直接将卷积应用到点云的方法.

本文的UMeT 与对比模型的实验结果如表1所示,表中黑体字表示性能最优.由表可见,UMeT在全方位上优于其他各个模型.平均交并比mIoU,UMeT 是MRF-RF 和KPConv 的两倍多,因为UMeT 的MeshiT 模块可以很好地提取超面中各类几何信息间的全局关联性,同时,加入空间绝对坐标可以提取隐含的空间位置关系,且保证了空间不变性.SUM-RF 在各方面优于MRF-RF,说明基于平面的线性最小二乘法拟合的区域增长算法优于马尔可夫随机场过度分割算法,因为基于平面的线性最小二乘法拟合的区域增长算法可以很好地区分平边与凹凸不平的三角面片.UMeT包含四个MeshiT 的串联,这种结构很容易过拟合,但是加入的残差结构可以将网络层数叠得很深,且不会过拟合.MeshiT 的Re-Attention 是六头注意力机制,即同时训练六个相同的注意力机制,并对输出结果相加融合,这使UMeT 有更强的鲁棒性和泛化性.虽然UMeT 的平均准确率mAcc和SUM-RF 一致,但是其F1,R和mIoU优于SUM-RF,说明UMeT 的综合性能更强,对各个类别物体的识别率都较高.这是因为UMeT 不仅可以利用MLP 提取高维特征,还可以利用MeshiT 模块计算各种几何信息之间的关联性,并有效挖掘城市三角网格数据中隐含的关联.

表1 UMeT 及对比模型的实验结果Table 1 Experimental results of UMeT and baselines

表2 为UMeT 和对比模型在SUM-Helsinki数据集六个类别上的F1,表中黑体字表示性能最优.F1 越高,模型的性能越好.由表可知,除了高植物类别,UMeT 在其他类别上的F1 都超过了对比模型,证明UMeT的鲁棒性强于各个对比模型.MRF-RF 的F1 都十分低,说明采用马尔可夫随机场对城市三角网格进行过度分割不合适.对车辆类别的分割,UMeT 的F1 比KPConv 提 升23.4%,比SUM-RF 提升3.1%,证明UMeT 对小物体的识别强于其他模型.对船类别的分割,MLP 的F1 为0.124,UMeT 为0.173,证 明UMeT 中的MLP 能够很好地将城市三角网格的特征映射到抽象的空间特征向量中,并且,MeshiT 模块能够捕获超面中各类几何信息间的全局关联性,而对比模型只是简单地将各类特征进行特征提取与映射,最后再简单地叠加融合,使这些模型的语义分割性能较弱.

表2 UMeT 及对比模型的F1 分数Table 2 F1 score of UMeT and baselines

图5 展示了UMeT 和对比模型对城市三角网格进行语义分割的结果.由图可见,MRF-RF 会大量地将地面预测成建筑物,也会将地面错误地预测成水体.MLP 对建筑物底端的物体常常误判,正确率较低.和SUM-RF 相比,UMeT 对小物体(车辆)和细节的识别更准确,因为UMeT 中的MLP 能够很好地将城市三角网格的特征映射到抽象的空间特征向量中,MeshiT 模块能捕获超面中各类几何信息间的全局关联性.

图5 城市三角网格语义分割的结果Fig.5 The semantic segmentation result of urban triangle mesh

3.5 消融实验本文提出的UMeT 由MLP 和MeshiT 组成.MLP 直接将超面的几何信息映射到高维特征,该特征可以直接用于分类;MeshiT是基于Transformer 改进的网络模块,UMeT 利用MeshiT 提取超面中各类几何信息间的全局关联性,使UMeT 的分类结果更准确.为了验证各模块的有效性,对UMeT 进行了消融实验,实验结果如表3 所示,表中黑体字表示性能最优.由表可见,和MLP 相比,UMeT 的性能有大幅提升,F1提升16.5%,mIoU提升16.1%,体现了MeshiT模块的重要性.MeshiT 模块可以很好地提取超面中各类几何信息间的全局关联性,同时,加入空间绝对坐标可以提取隐含的空间位置关系,并保证空间不变性.

表3 UMeT 的消融实验结果Table 3 Results of the ablation experiments of UMeT

4 结论

本文提出一种基于Transformer 的城市三角网格语义分割的网络模型UMeT.UMeT 由MLP和四个MeshiT 模块构成,MLP 能够将城市三角网格特征映射成抽象的空间特征;MeshiT 模块包含一个六头的注意力机制,能够捕获超面中各类几何信息间的全局关联性.

基于此模型框架,探索更深层次的空间几何特征和全局空间相似度是下一步的工作.

猜你喜欢
语义网格分类
用全等三角形破解网格题
分类算一算
语言与语义
反射的椭圆随机偏微分方程的网格逼近
分类讨论求坐标
数据分析中的分类讨论
重叠网格装配中的一种改进ADT搜索方法
教你一招:数的分类
基于曲面展开的自由曲面网格划分
“上”与“下”语义的不对称性及其认知阐释