Hierarchical Morphology-Guided Tooth Instance Segmentation from CBCT Images

这篇论文是之前那篇Naure牙齿分割论文的前身吧,那篇论文中用到的方法有在这里提到。

摘要

从CBCT图像中自动准确地分割单个牙齿,即牙齿实例分割,是计算机辅助牙科的重要步骤。以往的研究通常忽略了牙齿丰富的形态学特征,如牙根尖,这对成功的治疗结果至关重要。本文提出了一个基于两阶段学习的框架,该框架明确地利用分层牙齿形态表示提供的全面几何指导进行牙齿实例分割。给定三维CBCT输入图像,我们的方法首先学习提取牙齿的质心和骨架,分别用于识别每个牙齿的大致位置和拓扑结构。基于第一步的输出,进一步设计了一种多任务学习机制,通过同时回归边界和根尖作为辅助任务来估计每个牙齿的体积掩模
广泛的评估、消融研究以及与现有方法的比较表明,我们的方法实现了最先进的分割性能,特别是在具有挑战性的牙齿部位(即牙根和边界)周围。这些结果表明我们的框架在现实世界的临床场景中具有潜在的适用性。

1 介绍

在这里插入图片描述

计算机辅助设计(CAD)已广泛应用于数字牙科的诊断、修复和正畸治疗计划。在这些过程中,通常从锥形束计算机断层扫描(CBCT)图像中分割的3D牙齿模型[4,5]对于帮助牙医拔牙、种植或重新排列牙齿至关重要。在临床实践中,牙医需要从CBCT图像中逐片手动标记每颗牙齿,这既费力又耗时,而且高度依赖于操作员的经验。因此,在实际应用中需要一种准确的、全自动的方法从牙齿CBCT图像中分割出单个牙齿。

然而,自动分割单个牙齿仍然是一个具有挑战性的任务,因为牙齿在其几何形状上表现出很大的变化。例如,上颌磨牙通常有三根,而下颌磨牙通常有两根8。除了一般规则之外,还可以发现臼齿单根的特殊情况(图1(a)),这种差异在现实世界的诊所中相当普遍。即使是最先进的基于学习的方法[4,5,14]也常常无法处理如此复杂的情况。这主要是因为这些方法对牙齿只采用简单的表示(例如,牙齿质心或边界框),因此无法捕获每个牙齿的详细形状变化。在图像对比度较低的区域,如近距离咬合时接触牙齿的共同边界(图1(b))和牙根与其周围牙槽骨之间的界面(图1©),这种情况更严重。传统的方法[1,2,6,7,9,11,15]或基于学习的网络[4,5,14]都无法在这些区域正确地将牙齿从背景组织中分割出来,尽管牙根信息在正畸治疗中至关重要,可以确保牙齿在运动过程中根尖不会穿透周围的牙槽骨。

在本文中,我们提出了一种层次形态表示来捕捉复杂的牙齿形状和重要的牙齿特征。具体来说,这种分层形态表示由齿心和根尖(即点)、骨架、边界表面和体积组成(图1(d) - (g), (a))。在此基础上,设计了一种基于粗到精学习的牙齿实例自动准确分割框架。给定三维输入CBCT图像,为了捕获所有单个牙齿的位置和变化的拓扑结构,特别是在多根区域,设计了第一阶段(粗层次)的神经网络来分别预测牙齿质心和骨骼。然后,在第二阶

在对象导航(Object Navigation)任务中,构建**分层对象到区域图**(Hierarchical Object-to-Zone Graph)是一种有效的方式,用于组织场景中的语义信息并辅助智能体进行路径规划和目标定位。这类方法通常通过将环境建模为多个抽象层次的图结构,从而实现从高层语义指导到底层动作决策的高效导航。 ### 分层对象到区域图的核心思想 1. **区域划分与对象关联** 场景被划分为若干个功能区域(例如厨房、客厅、卧室等),每个区域内包含一组相关的物体对象(如厨房中包含冰箱、微波炉、餐桌等)。这种区域划分可以基于语义分割或空间聚类算法实现。 2. **图结构构建** 图中的节点包括: - 区域节点:表示不同功能区域。 - 对象节点:表示区域内的具体物体。 - 边缘关系:表示区域之间的连通性以及对象与区域之间的归属关系。 3. **分层推理机制** 导航过程通常分为两个阶段: - 高层策略网络:负责根据任务目标选择下一个目标区域。 - 底层策略网络:负责在选定的区域内寻找具体的物体目标,并生成低级动作指令。 ### 实现方法概述 #### 1. **场景感知与图构建** - 利用模拟器(如Matterport3D、AI2Thor)提供的深度、RGB图像及语义信息来检测物体并进行区域划分。 - 使用3D点云处理技术或语义分割模型(如Mask R-CNN)提取对象类别和位置信息。 - 构建图结构时,可以使用图神经网络(GNNs)或图注意力网络(GAT)来建模区域与对象之间的关系[^2]。 #### 2. **图神经网络的应用** - 图注意力网络(GAT)能够动态地学习区域与对象之间的依赖关系,适用于非规则连接的图结构。 - 图卷积网络(GCN)可用于聚合邻居节点的信息,增强图中节点的表示能力。 - 在训练过程中,图结构可以作为输入提供给策略网络,以辅助强化学习代理做出更合理的决策。 #### 3. **多层级策略网络设计** - 高层策略:基于当前区域的状态和任务目标,预测下一个要访问的区域。 - 底层策略:专注于在当前区域中识别目标对象,并控制机器人执行移动操作(如前向移动、旋转等)。 #### 4. **训练与评估** - 使用模仿学习(Imitation Learning)或深度强化学习(Deep RL)进行端到端训练。 - 常见奖励函数包括:接近目标的正奖励、碰撞惩罚、无效动作惩罚等。 - 评估指标包括成功率(SPL)、路径长度、与目标的距离等。 ### 示例代码框架(基于PyTorch与GNN) 以下是一个简化的图构建与推理流程示例: ```python import torch import torch.nn as nn from torch_geometric.data import Data from torch_geometric.nn import GATConv class HierarchicalGraphModel(nn.Module): def __init__(self, num_region_classes, num_object_classes): super(HierarchicalGraphModel, self).__init__() self.region_embedding = nn.Embedding(num_region_classes, 64) self.object_embedding = nn.Embedding(num_object_classes, 64) self.gat1 = GATConv(64, 128, heads=4) self.gat2 = GATConv(512, 128) def forward(self, data: Data): x_region = self.region_embedding(data.region_x) x_object = self.object_embedding(data.object_x) x = torch.cat([x_region, x_object], dim=0) edge_index = data.edge_index x = self.gat1(x, edge_index) x = torch.relu(x) x = self.gat2(x, edge_index) return x # 示例数据构建 data = Data() data.region_x = torch.tensor([0, 1, 2]) # 区域ID data.object_x = torch.tensor([3, 4, 5, 6]) # 对象ID data.edge_index = torch.tensor([ [0, 1, 2, 0, 1, 2], [3, 4, 5, 6, 3, 5] ]) # 区域与对象间的连接边 ``` --- ###
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值