基于图注意力网络的三维网格分割算法
A 3D mesh segmentation algorithm based on graph attention network
通讯作者:
收稿日期: 2023-06-21 修回日期: 2023-07-20 接受日期: 2023-07-28
基金资助: |
|
Received: 2023-06-21 Revised: 2023-07-20 Accepted: 2023-07-28
作者简介 About authors
李文婷(1999—),ORCID:https://orcid.org/0009-0000-7344-9499,女,硕士研究生,主要从事计算机图形学、深度学习研究,E-mail:
关键词:
Keywords:
本文引用格式
李文婷, 吴璐璐, 周杰, 赵勇.
LI Wenting, WU Lulu, ZHOU Jie, ZHAO Yong.
在计算机图形学和计算机视觉领域,随着三维数据捕获设备的普及和三维建模技术的发展,产生了许多复杂的三维网格模型。三维网格分割就是将网格模型分解成不同的符合视觉感知的语义信息,是三维几何分析的重要内容之一,有助于特征识别、纹理映射、网格变形和动画等。早期方法大多利用模型的几何特征将相似部分合并为一个区域,并对分割边界进行优化。随着机器学习的不断发展,出现了利用神经网络进行网格分割的方法,但三维网格模型分割问题仍存在一些难点。
近年来,随着图注意力网络的发展,利用自注意力层解决了以往图卷积的缺点,能够隐式地为邻域中的不同节点指定不同的权值。本文提出的感知几何图注意力网络,可完成三维网格模型的分割任务。首先,对网格模型进行过分割,得到超面片,并提取超面片的几何特征,作为图注意力网络的输入。然后,在图注意力层中,定义感知几何的图注意力系数,其既包括网络学习得到的注意力系数,也包括体现网格模型局部几何信息的注意力系数。同时,通过调整网络架构,增强了网络的稳定性。最后,在PSB数据集上进行大量分割实验,并与经典算法在分割准确率、兰德指数等定量指标上进行比较。
1 相关工作
最初的分割方法大多基于三维模型的几何信息。SHLAFMAN等[1]利用迭代的K-Means聚类得到分割结果;LAI等[2]将随机游走算法运用于网格分割;CHEN等[3]提供了网格模型分割数据集、人工分割结果及分割基准,有助于网格分割算法的定量与定性比较;LIU等[4]通过定义凹度将模型分割问题转化为线性规划问题。也有一些通过用户交互提高分割准确率的方法。ZHENG等[5]允许用户通过绘制笔触进行分割;FAN等[6]提出了只需划定前景区域的交互式分割方法,提高了效率;ZHENG等[7]进一步简化了交互方式,并利用定向搜索投票策略,得到了指定点附近的分割边界。近年来,TONG等[8]通过分析Fiedler向量,先将网格分割问题表述为L0优化问题,再采用由粗到细的方法进行优化。LIN等[9]提出了一种中轴变换的方法,利用编码几何和结构信息进行分割,在分割质量和分割速度上都有所提升。
之后,随着深度神经网络的发展,XIE等[14]利用极限学习机进行三维形状分割和标记;KALOGERAKIS等[15]建立了端到端的分割框架,先对三维模型进行多角度投影,再利用全卷积网络和条件随机场进行分割;KUNDU等[16]选择三维网格的不同虚拟视图训练二维语义分割模型,将来自多个视图预测的特征融合至三维网格,实现网格模型的语义分割;GUO等[17]将网格模型的形状特征重组成二维矩阵,利用深度神经网络建立了特征矩阵和模型标签之间的关系,得到每个面片的标签;GEORGE等[18]将模型特征组合成一维数据,作为网络的输入,避免了数据之间的干扰;GEORGE等[19]利用深度学习网络和形状选择排序设计了主动学习框架,用于完成大规模数据集的分割任务;LI等[20]将图transformer方法应用于高分辨率网格的语义分割:先引入一种保持边界的简化方法,以减小数据量,再用基于Ricci流的聚类算法构造层次结构,最后在图transformer中定义跨分辨率的卷积方法。
近年来,越来越多的方法通过直接学习网格模型的特征完成分割任务。HANOCKA等[21]利用网格边定义了相关的卷积和池化操作,提出了适用于三角网格的卷积神经网络MeshCNN;HUANG等[22]设计了TextureNet,从与三维网格表面相关的高分辨率信号中提取特征,其关键是利用4-旋转对称场定义曲面上的卷积域;FENG等[23]设计了能够获取和聚合三维形状中多边形面特征的块结构,解决了网格的复杂性和不规则性问题;HE等[24]将微分几何与图神经网络相结合,利用方向曲率滤波器学习方向敏感的三维形状特征,定义了深度学习模型CurvaNet;LAHAV等[25]设计了端到端的学习框架MeshWalker,通过用网格表面的随机游走表示网格,并结合RNN学习得到网格的几何和拓扑特征;HU等[26]提出了SubdivNet,定义了基于网格面的卷积算子以及池化和上采样操作;QIAO等[27]实现了基于拉普拉斯谱聚类的多尺度池化操作,并引入了相关性网络对特征进行全局融合,完成网格分割任务;SHARP等[28]提出用DiffusionNet学习网格模型特征,对网格表面分辨率和采样的变化具有较好的鲁棒性;PÉREZ等[29]定义了基于网格面和网格顶点的卷积操作,并分别设计了两种网络架构。
2 网格分割算法
文献[30]最先提出了图注意力网络,其核心是注意力机制。在图节点之间定义了自注意力机制,通过网络训练获取注意力系数,用于聚合节点邻域内的特征。图注意力网络增强了图节点特征的表达能力,更适合节点分类,且可以在节点邻域以及节点之间并行计算,操作效率高。
2.1 感知几何的图注意力层
图注意力网络的关键是图注意力层。首先,感知几何的图注意力层,其输入是图结构中节点特征的集合
文献[30]仅利用相邻图节点定义注意力机制,训练得到注意力系数。为更充分利用节点信息,体现节点间相邻关系,本文引入了相邻节点之间连边的特征。同时,为便于计算图注意力系数,减少计算量,应尽量保持特征维数一致。因此,将图结构中节点
即边的两个端点特征之和。这种定义形式包含了节点
然后,在节点和边的特征上定义注意力机制
其中,
本文引入网格模型的几何信息,对于节点
其中,
受文献[31]的启发,将网络学习得到的注意力系数
其中,
最后,利用softmax函数对
在实验中,注意力机制
其中,
图1
图1
局部图结构中节点特征的聚合更新过程
Fig.1
Aggregation of node features in local graph structure
为了稳定注意力的学习过程,通常采用多头注意力学习方式,即将
其中,
2.2 网络架构
图2
每个超面片用其重心表示,连接相邻超面片的重心,形成一个图结构,从而将网格分割问题转化为图结构中的节点分类问题。图3展示了局部图结构的构建过程。其中,黑色多边形表示超面片,橙色点表示超面片的重心,蓝色的边由超面片的重心连接而成,表示超面片之间的邻接关系。
图3
然后,特征矩阵
接着,经过3个图注意力层,得到输出
以Teddy模型为例,图4展示了图注意力网络的架构。在实际训练中,一般采用one-hot形式的标签与
图4
最后,受文献[38]的启发,通过添加残差形式的线性连接,更好地保留原始特征,使数值更稳定。在残差连接之后,为减少过拟合,添加ReLU和Dropout层,获得输出
此外,在模型训练过程中,采用常见的交叉熵损失函数
其中,
3 实验结果与分析
PSB数据集包含Cup、Glasses、Airplane、Ant等不同类别的模型,经人工标记将其分为不同的语义部分。在实验中,每个类别随机选10个模型作为训练集,其余模型作为测试集,并进行交叉验证以提升网络性能。
3.1 视觉结果
图5展示了三维网格分割算法在PSB数据集上的分割结果,可知,9个网格模型均具有真实自然的分割边界。分割算法可精确地对眼镜鼻托和茶壶盖进行分割,对具有较多触角的蚂蚁也能获得符合语义的分割结果。
图5
图5
三维网格分割算法对PSB数据集的分割结果
Fig.5
Segmentation results of 3D meshes for PSB dataset
图6
图6
不同算法的分割结果比较
Fig.6
Comparison of segmentation results with different algorithms
在本文算法中,感知几何的图注意力系数
图7
图7
不同注意力系数的分割结果比较
Fig.7
Comparison of segmentation results under different attention coefficients
3.2 定量比较
通过大量实验,定量比较了本文算法与现有经典算法的分割准确率和兰德指数。分割准确率是网格模型中分割正确的面片数与总面片数之比。兰德指数[3]可衡量一对面片在两个分割结果中属于相同部分的可能性。分割准确率越大,表明模型分割质量越高。兰德指数越小,表明模型分割质量越高。
表1 不同算法的分割准确率比较 (%)
Table 1
模型类别 | Shapeboost[10] | TOG15[17] | ShapePFCN[15] | 1DCNN[18] | DL Framework[19] | 本文算法 |
---|---|---|---|---|---|---|
平均值 | 93.7 | 94.1 | 93.7 | 93.6 | 94.1 | 95.8 |
Human | 86.8 | 91.2 | 94.5 | 90.6 | 90.7 | 94.3 |
Cup | 94.0 | 99.7 | 93.8 | 94.5 | 98.1 | 99.8 |
Glasses | 96.9 | 97.6 | 96.6 | 96.3 | 98.1 | 98.6 |
Airplane | 96.1 | 96.7 | 93.0 | 95.9 | 95.2 | 96.9 |
Ant | 98.7 | 98.8 | 98.6 | 98.7 | 98.8 | 99.1 |
Chair | 98.1 | 98.7 | 98.5 | 97.7 | 97.6 | 98.8 |
Octopus | 98.2 | 98.8 | 98.3 | 98.5 | 98.7 | 98.9 |
Table | 99.4 | 99.6 | 99.5 | 99.6 | 99.0 | 99.7 |
Teddy | 98.7 | 98.2 | 97.7 | 88.3 | 98.6 | 98.8 |
Hand | 94.4 | 88.7 | 84.8 | 91.7 | 88.2 | 93.1 |
Plier | 95.2 | 96.2 | 95.5 | 95.8 | 95.3 | 96.0 |
Fish | 95.7 | 95.6 | 96.0 | 96.5 | 96.4 | 96.6 |
Bird | 89.6 | 88.3 | 88.5 | 91.0 | 88.6 | 91.5 |
Armadillo | 92.6 | 92.3 | 92.8 | 93.3 | 95.0 | 95.5 |
Fourleg | 83.3 | 87.0 | 85.0 | 87.7 | 84.6 | 87.9 |
Vase | 81.7 | 77.8 | 86.8 | 81.9 | 82.9 | 87.0 |
表2 不同算法的兰德指数比较
Table 2
模型类别 | RandCuts[39] | ShapeDiam[34] | NormCuts[39] | RandWalks[2] | PMC[6] | WcSeg[40] | 本文算法 |
---|---|---|---|---|---|---|---|
平均值 | 0.165 | 0.233 | 0.248 | 0.281 | 0.155 | 0.085 | 0.081 |
Human | 0.165 | 0.155 | 0.156 | 0.242 | 0.059 | 0.084 | 0.057 |
Cup | 0.091 | 0.354 | 0.401 | 0.326 | 0.089 | 0.125 | 0.076 |
Glasses | 0.322 | 0.322 | 0.345 | 0.307 | 0.124 | 0.167 | 0.123 |
Air-plane | 0.225 | 0.192 | 0.190 | 0.363 | 0.108 | 0.070 | 0.063 |
Ant | 0.114 | 0.112 | 0.118 | 0.162 | 0.057 | 0.009 | 0.115 |
Chair | 0.188 | 0.136 | 0.154 | 0.198 | 0.116 | 0.066 | 0.065 |
Octopus | 0.423 | 0.398 | 0.405 | 0.433 | 0.066 | 0.026 | 0.023 |
Table | 0.449 | 0.292 | 0.320 | 0.220 | 0.025 | 0.056 | 0.032 |
Teddy | 0.073 | 0.089 | 0.075 | 0.144 | 0.294 | 0.040 | 0.035 |
Hand | 0.111 | 0.185 | 0.175 | 0.124 | 0.220 | 0.103 | 0.134 |
Plier | 0.314 | 0.329 | 0.387 | 0.376 | 0.110 | 0.078 | 0.055 |
Fish | 0.303 | 0.317 | 0.354 | 0.484 | 0.471 | 0.144 | 0.136 |
Bird | 0.303 | 0.296 | 0.332 | 0.404 | 0.212 | 0.094 | 0.092 |
Arma-dillo | 0.078 | 0.097 | 0.102 | 0.105 | 0.195 | 0.076 | 0.072 |
Fourleg | 0.282 | 0.219 | 0.210 | 0.329 | 0.175 | 0.139 | 0.130 |
3.3 消融实验
通过消融实验定量比较注意力系数
表3 不同注意力系数下分割准确率比较
Table 3
模型类别 | 网络学习得到的 注意力系数 | 感知几何的 图注意力系数 |
---|---|---|
平均值 | 97.2 | 98.2 |
Human | 91.5 | 94.3 |
Cup | 98.9 | 99.8 |
Glasses | 98.3 | 98.6 |
Ant | 98.6 | 99.1 |
Chair | 97.0 | 98.8 |
Octopus | 98.5 | 98.9 |
Table | 99.1 | 99.7 |
Teddy | 97.8 | 98.8 |
Armadillo | 94.9 | 95.5 |
4 结 语
提出了感知几何的图注意力网络,用于处理三维网格的分割问题,极大地提高了分割质量。通过引入边特征,扩展了网络学习得到的注意力系数;同时给出了与节点几何信息相关的注意力系数。将感知几何的图注意力网络与网络学习得到的注意力系数相结合,定义了感知几何的图注意力系数,更好地反映了节点之间的相关性。为改善网络训练性能,将网格模型的几何特征和标签信息共同作为图注意力网络的输入,并通过改进网络架构,使得训练过程更稳定。未来,将进一步扩展至点云场景的语义分割和实例分割。
http://dx.doi.org/10.3785/j.issn.1008-9497.2023.06.016
参考文献
Metamorphosis of polyhedral surfaces using decomposition
[J]. ,
Fast mesh segmentation using random walks
[C]//
A benchmark for 3D mesh segmentation
[J]. ,
Convex shape decomposition
[C]//
Mesh decomposition with cross-boundary brushes
[J]. ,
Paint mesh cutting
[J]. ,
Dot scissor: A single-click interface for mesh segmentation
[J]. ,
Spectral mesh segmentation via L0 gradient minimization
[J]. ,
SEG-MAT: 3D shape segmentation using medial axis transform
[J]. ,
Learning 3D mesh segmentation and labeling
[J]. ,
Learning boundary edges for 3D-mesh segmentation
[J]. ,
Projective analysis for 3D shape segmentation
[J]. ,
Transductive 3D shape segmentation using sparse reconstruction
[J]. ,
3D shape segmentation and labeling via extreme learning machine
[J]. ,
3D shape segmentation with projective convolutional networks
[C]//
Virtual multi-view fusion for 3D semantic segmentation
[C]//
3D mesh labeling via deep convolutional neural networks
[J]. ,
3D mesh segmentation via multi-branch 1D convolutional neural networks
[J]. ,
A deep learning driven active framework for segmentation of large 3D shape collections
[J]. ,
MeshFormer: High-resolution mesh segmentation with graph transformer
[J]. ,
MeshCNN: A network with edge
[J]. ,
TextureNet: Consistent local parametrizations for learning from high-resolution signals on meshes
[C]//
MeshNet: Mesh neural network for 3D shape representation
[C]//
CurvaNet: Geometric deep learning based on directional curvature for 3D shape analysis
[C]//
MeshWalker: Deep mesh understanding by random walks
[J]. ,
Subdivision-based mesh convolution networks
[J]. ,
Learning on 3D meshes with Laplacian encoding and pooling
[J]. ,
DiffusionNet: Discretization agnostic learning on surfaces
[J]. ,
Mesh convolutional networks with face and vertex feature operators
[J]. ,
Graph attention networks
[C]//
How to find your friendly neighborhood: Graph attention design with self-supervision
[C]//
Robust mesh segmentation using feature-aware region fusion
[J]. ,
Discrete differential-geometry operators for triangulated 2-manifolds
[C]//
Consistent mesh partitioning and skeletonisation using the shape diameter function
[J]. ,
Topology matching for fully automatic similarity estimation of 3D shapes
[C]//
Characterizing shape using conformal factors
[C]//
A concise and provably informative multi-scale signature based on heat diffusion
[J]. ,
AttAN: Attention adversarial networks for 3D point cloud semantic segmentation
[C]//
Randomized cuts for 3D mesh analysis
[J]. ,
Shape segmentation by approximate convexity analysis
[J]. ,
/
〈 | 〉 |