1. 引言
隐形矫治装置的设计使用口内扫描仪(Intraoral Scanners, IOSs)对患者的口腔内牙齿与牙龈等部分软组织进行实时扫描,并将扫描得到的口腔内三维点云实时重建,利用计算机数据处理系统对最终生成的数字化口腔内三维模型,进行计算机辅助牙齿正畸方案的模拟与设计。而其中的一个关键处理过程就是将牙齿区域从数字化口腔内三维模型中实现精准分割,并尽量降低人为干预的需求,通过对分割出的牙齿区域进行单颗牙齿点云的分割。
由于患者的牙齿形状和分布位置因人而异,想要将牙齿从口腔内三维模型中分割出来并非易事。尤其当患者牙齿存在外观异常,例如发生严重的牙齿错位和缺失现象时,实现牙齿的分割任务就更加困难。牙齿错位现象通常表现为邻近牙错位、拥挤和间隙不规则,错位现象会导致牙齿的空间距离不规则,甚至出现空间位置上的重叠 [1] [2] 。而牙齿缺失现象不仅会在分割阶段造成不同种类牙齿的错误分割,在后续对指定单颗牙齿的提取环节也会造成干扰。
传统口腔内三维模型分割方案直接利用口腔内三维模型的三维坐标、法向量及曲率等基本空间特征实现牙齿分割任务。Kumar [3] 通过曲率分析和复杂路径搜索实现牙齿与牙龈区域分割的方法,Yuan [4] 根据两颗相邻牙齿之间融合区域的“谷”状特征,对模型表面的最小曲率进行分析,实现单颗牙齿的分割。Zhao [5] 根据三角形网格的曲率值,将要素点连接到要素区域。从区域中提取特征线后,借助人工提供的交互信息获得特征等值线实现分割。Ma [6] 在人工标注牙齿轮廓线时,增加了曲率估计和矢量优化的交互式方法辅助标注,使单颗牙齿从模型中分割的过程更为简化。Zou [7] 提出了一种需要人工少量标注作为先验信息,利用谐波场在牙齿表面模型上实现牙齿分割的方法。
深度学习口腔内三维模型分割方案通过神经网络从口腔内三维模型的基本空间特征中提取更深层的高级空间特征实现牙齿分割任务。Xu [8] 通过标记每个网格面,提取三维模型表面图像作为二维卷积神经网络(Convolutional Neural Network, CNN)的输入实现分割。Tian [9] 提出一种基于稀疏体素八叉树的口腔内三维模型分割方案。Lian [10] 在PointNet [11] 的基础上进行改进,提出分割模型MeshSegNet直接使用原始网格数据(mesh)作为输入实现牙齿的分割。Cui [12] 在PointNet++ [13] 基础上,提出了一种口腔内三维模型两阶段分割网络。
本文提出M-DGB模型使用网格形式的点云作为初始输入,相比原始点云拥有更多的空间信息与特征信息,针对牙齿点云中每个待分割网格,进一步利用其局部特征进行了建模,但考虑到每个待分割网格只占据了整个牙齿表面的非常小的一部分,仅单独使用顶点坐标、单元位置坐标、法向量作为输入或混合作为输入进行特征提取实现局部结构建模,容易造成多种空间特征的混淆,使网络难以提取易于识别的特征,进一步忽略空间特征之间的互相影响,不能充分体现局部区域待分割网格的具体分布状态以及网格之间的特征相关性。
本文提出M-DGB模型所使用的双边结构是语义分割中常用的结构之一,双边结构中的边在实际应用中等同于轻量化的backbone结构,是目前图像处理领域较为热门的研究趋势。双边结构在实现语义分割时主要通过共享浅层网络,从而减少繁冗的特征提取。其次通过高效的多尺度模块,在局部特征提取环节获得更高效的语义信息。在双边结构的核心在于轻量化提升,能够在提高精度的同时确保网络尽量少的时间消耗。针对可能存在分辨率不同引起的特征不对齐问题,仅简单地进行相加或拼接操作忽略了不同特征之间的差异性,进而会造成分割性能的降低,特征融合模块针对该问题进行优化,如BiSeNet [14] 模型中在特征融合模块增强了特征融合信息解决了特征不对齐的问题。双边结构在BiSeNet、DDRNet [15] 的应用中获得了较为理想的效果,体现了双边结构的实施的有效性与合理性。
因此,为了解决坐标信息与法向量信息出现特征混淆的情况,本文使用双边结构对输入网格的坐标信息与法向量信息分别建模,之后进一步使用K近邻图与改进的动态图卷积EdgeConv++ [16] 模仿卷积神经网络渐近地增加感受野的方式,对上下文特征实现分层次多尺度学习,进一步提取增强后的局部特征。最后将先前得到的局部增强特征与全局特征密集融合,以得到更具有表达能力的多属性特征。此外,改进了一种混合损失函数,加强注边界分割。
2. 数据预处理
本文所使用初始输入包含口腔内三维模型中所有网格的初始坐标信息和法向量信息两部分,定义口腔内三维模型中所有网格的集合
,其中N为网络输入的原始牙齿表面的数量。三角形网格
所具有的初始特征信息,包含三个顶点坐标组成的初始特征向量
。为了丰富网格的初始特征信息,充分利用网格局部拓扑连接的特性,需要对每个网格mi预处理,从而进一步提取更深层次的空间特征信息。
根据三角形网格的法向量特征
,与其对应的三个顶点的法向量特征
。计算得到三角形网格mi的质心坐标值,使其沿每个轴根据三维模型表面上所有网格的最大和最小坐标进行归一化,定义归一化后得到的质心坐标集合为
,归一化后质心
坐标计算见公式。
(1)
其中,
分别为网格
的顶点坐标,
为x轴上所有网格的最大最小坐标。
在完成N个网格的数据预处理操作后,沿每个维度进行标准分数归一化。
(2)
其中
变换前的坐标,
为x轴方向总体数据的均值,
为x轴方向总体数据的标准差。
将法向量
与顶点法向量
拼接成法向量特征矩阵
,将初始特征向量
与
拼接成坐标向量特征矩阵
。共同作为网络的初始输入特征矩阵F,其中
,
,
。
3. M-DGB模型
3.1. M-DGB模型结构
M-DGB网络结构如图1所示,将输入原始数据转换为
的矩阵,其中N为点云中所含网格数量,建立从原始数据矩阵F到分割预测矩阵
的非线性映射,预测矩阵P中的每一行表示相对应网格属于不同类别(即LR1-LR7、LL1-LL7和GUM,C的取值为14对应14种牙齿类别)的概率。
3.2. 特征转换模块
特征转换模块(Feature Transform Moudle)是由特殊的多层感知机(Multi-Layer Perceptron, MLP)组成,它预测来自经MLP1得到的
的变换矩阵
,将所有网格的初始特征F0更新为:
(3)
如图2所示,特征转换模块对前一部分MLP1提取出的64维特征映射到一个规范的特征空间中进行对齐,即在特征层面对输入的网格的特征向量进行变换,获得的初始特征值也是不同尺度的。使得网格在不同的方向、比例和位置等情况下,都能被准确识别和分割,以提高学习到的特征表示关于输入曲面的潜在的几何变换的稳健性。
3.3. 多尺度动态图模块
多尺度动态图模块(Muti-Dynamic Graph Moudle)由三个不同尺度的动态图子模块组成,沿着网络的前向路径将输入牙齿点云的局部特征在不同阶段进行整合,模仿卷积神经网络渐近地增加感受野的方式 [17] ,实现分层次多尺度特征学习过程,显式地捕捉输入牙齿点云的局部几何特征。
在构建K近邻图时分别将三个动态图子模块的K值选取为6、12、20,定义使用K近邻算法所构建的图结构G为:
(4)
其中
表示K近邻图的中心节点集合,其中的每个节点都代表着一个网格。
表示节点之间的边缘特征向量的集合。
由于法向量信息与牙齿点云中的相邻空间结构无关,在法向量边中不针对法向量构建K近邻图,而是直接共享坐标边构建的K近邻图,从而避免法向量边构建图出现中心节点与邻居节点随机排列在空间中,造成局部特征建模的混淆。
边缘卷积EdgeConv所定义的边缘特征
,不仅对中心点
的全局信息进行提取,也对中心点与邻域点的局部信息实现了提取,如公式(1)所示。
(5)
式中:
是基于非对称的边的特征计算函数,具有可学习参数
。
如图3所示,改进得到的EdgeConv++,计算
与邻居节点
的相对距离
,通过核点卷积 [18] (Kernel Point Convolution, KPConv)后得到增强后的局部特征
,然后将全局特征与局部特征拼接形成新的边缘特征
。
(6)
对于任意的
,其核函数
为:
(7)
其中
为核心节点的总数,核函数
由权重矩阵
及其对应的权重系数
加权求和得到。
权重系数由核心节点
和
之间相对距离计算得到,相对距离与权重系数成反比,权重系数的范围为[0, 1]。
是核心节点的影响距离,超过这个距离的节点不会进行相乘,从而实现任意核心节点之间有重叠的影响区域。
相当于是面向
计算得到的权重矩阵,利用它对
进行特征变换获得增强后的局部特征
。
既包含了中心节点与邻域节点的局部几何信息,也包含了邻域节点与核心节点之间的位置信息。
(8)
3.4. 密集融合模块
密集融合模块用于将局部特征密集到全局特征,以获得更全面的特征描述。全局最大池化(Global Max Pooling, GMP)应用于第三个动态图模块后产生平移翻转不变的全局特征,实现对整个牙齿的全局特证进行建模,然后,使用密集融合策略来密集将来自特征转换模块,第一个动态图模块,第二个动态图模块的局部特征连接到全局特征,然后通过MLP3模块与MLP4模块生成维度为N × 128的特征矩阵。最后使用具有softmax激活的1D Conv层来预测N × (C + 1)概率矩阵,其中C = 14 (即14类牙齿)。
3.5. 混合损失函数
医学分割任务大多采用Generalized Dice Loss优化模型参数,然而它更多的关注全局信息,与牙齿点云的所有网格有关,但对于单颗牙齿区域占比较小,牙龈区域占比较多的情况,在预测时会导致模型训波动较大,其缺少对边界的检测,边缘信息获取不充分。Lovasz Softmax Loss [19] 用于多类别图像分割,它是基于lovasz扩展的概念和softmax函数的组合而来的,可以解决传统的交叉熵损失函数在处理不平衡数据时的问题,能够更好地处理类别不平衡和边界模糊的情况。为了使模型训练重点关注边界信息,提出改进的加权复合损失函数:
(9)
其中,α、β是两个函数的权重系数,通过训练测试,令
,
。
其中,Generalized Dice Loss的公式如下:
(10)
T分别代表模型预测结果与真实标记结果;smooth平滑因子取值为0.00001,防止分母预测为0;N为特征图中像素点的个数;
是模型预测结果图中第i个网格的值,范围在[0, 1],
是真实标记结果中第i个网格的值,取值为0或1。
Lovasz Softmax Loss的具体实现原理如下:
(11)
(12)
函数
的定义域为连续的RP,P为像素数量,m为误差项,π是误差项按降序排列的下标号,例如
,函数
是连续的,进行求导后的导数为
。
4. 实验
4.1. 数据集
面向口腔内三维模型的分割任务,暂无可供使用的开源数据集,为方便评估本研究设计的口腔内三维模型分割方案的性能,制作了一个精标注的口腔内三维模型数据集。考虑所使用数据量对模型分割效率的影响以及标注所需时间成本,选取50名不同的原始下颌牙齿表面,由高精度口内扫描仪直接采集和重建生成口腔内三维模型,每个模型的初始表面具有的三维网格数目大约在300,000个左右。为了进一步降低冗余的数据量对模型分割效率的影响,同时保持模型网格数目的统一性,在维持口腔内三维模型真实拓扑结构的前提下,对每个口腔内三维模型的网格数目通过下采样统一为15,000个网格(即N = 15,000)。
在下采样网格表面,采用国际牙科联合会(International Dental Federation, FDI)发布的牙齿命名规则如表1所示,将三维牙齿模型的分割类别定义为15种(C = 14 + 1),牙龈标记为GUM,如图4所示,分割类别具体编号为:

Table 1. Tooth labeled number table
表1. 牙齿标注编号表
4.2. 实验环境
网络在深度学习框架 Pytorch-Lightning上实施,实验所使用硬件设备的GPU型号为NVIDIA GTX3090,采用Generalized Dice Loss、lovasz softmax loss加权结合和ADAM优化器的AMSGrad变体训练网络。batch_size设置为4,训练次数设置为200 epoch,每次迭代步长为20,使用StepLR作为更新学习率的优化器,初始学习率设置为0.001,网络训练每重复20次,学习率减少至原有的一半,学习率最低降至0.00001。
4.3. 评价指标
对于分割精度的评价指标主要采用Dice相似系数(the Dice similarity coeffificient, DSC),真阳性预测率(the positive prediction value, PPV),敏感度(the sensitivity, SEN)来判定。
Dice相似系数是一种集合相似度度量指标,通常用于度量两个样本的相似度,Dice相似系数值的范围为[0, 1],值越大表示越相似。
敏感度表示所有牙齿区域的网格,被分割为牙齿区域网格的概率。
真阳性预测率表示所有牙齿区域的网格,被正确分割为牙齿区域网格的概率。
TP表示正确分割出的牙齿区域的网格数、TN表示正确被分割至牙龈区域的网格数、FP表示牙齿区域被分割为牙龈区域的网格数、FN表示牙龈区域被分割为牙齿区域的网格数。
5. 实验结果与分析
5.1. 对比实验
在相同的实验环境下,将M-DGB的分割性能与PointNet,PointNet++以及MeshSegNet进行了对比。PointNet是第一个可以直接将点云数据作为输入的端到端网络,有效地解决了点云数据存在的无序性,平移不变性以及点与点之间内部空间关系等问题。PointNet++通过对三维空间数据进行局部区域构建的方式来提取局部特征信息,并在一定程度上提升了网络的学习能力,但由于其仅简单地使用最大值池化进行局部特征聚合,依旧会丢失了其他细节信息。MeshSegNet采用邻居矩阵将PointNet的特征提取过程进行改进,通过对局部区域内的网格分配权重0和1,来体现局部区域的网格的连接关系。
三重交叉实验下的平均Dice相似系数,真阳性预测率,敏感度分割准确率指标对比如表2所示。从图5所示分割结果与表2所示评价指标可知,由于PointNet直接将牙齿点云全部输入网络,仅实现了对全局特征的提取,而缺少对局部特征的建模,从而在DSC、PPV与SEN三项指标上均显著低于其他模型,PointNet对牙齿与牙龈区域边界的分割与相邻牙齿的分割并不理想,因此可得出局部特征对牙齿点云分割精度具有较大影响。PointNet++与PointNet相比在三项分割指标有一定提升,然而由于其对牙齿点云局部特征的提取与建模方式较为简单,在分割精度的提升上有限制。MeshSegNet相比前面两种模型拥有较理想的分割表现,但它仅仅通过对局部区域内的网格分配权重0和1,来体现局部区域的网格的连接关系,而没有对牙齿点云局部区域的具体结构进行利用,因此在相邻牙齿区域的分割还存在不足。如图5所示M-DGB在牙齿与牙龈区域边界以及相邻牙齿区域分割表现突出,在三项评价指标上都显著高于其他三种分割模型,从而进一步证明了M-DGB所提出的双边结构与多尺度动态图卷积在牙齿点云分割的有效实施。

Figure 5. Comparison experiment segmentation result
图5. 对比实验分割结果

Table 2. Comparison experiment evaluating indicators
表2. 对比实验评价指标
5.2. 消融实验
5.2.1. 双边结构有效性
为进一步验证本文所提出的双边结构的有效性,选择了两种网络结构进行对比:1) 坐标边,仅将坐标信息作为输入;2) 法向量边,仅将法向量信息作为输入。三种网络结构所得到的分割指标如表3所示,在仅有法向量边时,由于法向量信息并不能体现牙齿点云网格的空间位置分布,无法提取到点云网格的结构信息,该网络在三项分割评价指标中的表现都极差。仅有坐标边时,坐标信息具有牙齿点云网格的空间位置信息,该网络能够应对大部分点云网格分割任务,但由于其没有法向量信息所带来的补充信息,分割指标相比双边结构仍旧较低。双边结构拥有较为理想的分割性能,在各项评价指标中表现突出,因而可以验证双边结构能够更有效地利用坐标边与法向量边提供的空间位置信息。

Table 3. Evaluation indicators for three network structures ablation experiments
表3. 三种网络结构消融实验评价指标
5.2.2. 多尺度动态图卷积模块K值选取
为进一步验证多尺度动态图卷积模块中K值的选取对牙齿点云网络分割的影响,在保证其他条件不改变,通过更改K值的方式来进行消融实验,如图6所示,当K值逐渐增加,中心节点对应的局部区域随之增加,其中所拥有的局部特征信息更加充分,所以对应的分割指标显著提高。然而当K值增大到一定程度,如K值选取25,对应的分割指标反而减少。这是由于当局部区域增加到一定程度,会将其他不属于该中心节点的其余节点作为邻居节点,对这些节点进行特征提取与建模时会产生负面效应。因此,当K值选取20,网络可以达到最理想的分割性能。

Figure 6. Ablation experiment of K value selection on network segmentation performance
图6. K值选取对网络分割性能的消融实验
6. 结论
本文提出的B-DGB网络,使用双边结构对输入网格的坐标信息与法向量信息分别建模,有效地解决坐标信息与法向量信息直接作为网络输入,出现特征混淆的情况,并通过与PointNet,PointNet++以及MeshSegNet进行的对比实验,以及与向量边,法向量边两种网络结构进行消融实验,进一步验证了双边结构在解决特征混淆问题的有效实施。通过多尺度动态图子模块,实现分层次多尺度对局部特征进行提取与建模,进一步提取增强后的局部特征。最后将先前得到的局部增强特征与全局特征密集融合,以得到更具有表达能力的多属性特征,有效地解决了现有方法存在的局部特征提取问题。此外,改进了一种混合损失函数,对牙齿区域边界分割与相邻牙齿区域的分割实现进一步精细化。将该模型在自制数据集上进行实验,与现有点云分割模型PointNet、PointNet++、MeshSegNet相比,分割精度提高,平均Dice系数为0.972、PPV为0.964、SEN为0.987。