Geometry-Aware Attenuation Field Learning for Sparse-View CBCT Reconstruction

摘要:

锥形束CT(Cone Beam Computed Tomography,CBCT)是目前口腔医学中应用最广泛的一种成像方法,要重建一幅高质量的CBCT图像,需要进行数百次的X线投影(即,衰减场)在传统算法中,表示稀疏之义视图CBCT重建已成为降低辐射剂量的主要研究方向,但由于数据量不足或重建的泛化能力差,已进行了多次尝试来解决该问题本文提出了一种新的衰减场编码-解码器框架,首先对来自多视角X射线投影的体特征进行编码,然后将其解码为期望的衰减场,我们遵循了多视角CBCT重建的本质,强调了多视角CBCT重建的几何一致性。该方法具有良好的空间感知特性、空间特征查询特性和自适应特征融合特性,同时利用数据种群的先验知识保证了算法的泛化能力,并通过下游应用进一步验证了所提方法的可行性。

1.介绍

锥形束计算机断层扫描(CBCT)是 CT 扫描的一种变体,是牙科领域应用最广泛的成像技术,因为它能以更短的扫描时间提供空间分辨率更高的三维结构信息。CBCT 的标准成像方案如图 1 所示。在 CBCT 扫描过程中,X 射线源沿着弧形轨道均匀移动,每移动一个角度,就会向感兴趣的器官(如口腔)发射一束锥形光束。患者另一侧的探测器捕捉二维透视投影。CBCT 重建的目的是从这些二维投影中反向恢复出三维衰减场(即 CBCT 图像)。这主要是通过滤波背投影(FBP)算法实现的,然而,这种方法通常需要数百个投影视图,辐射量很大。因此,通过减少投影视图数量进行稀疏视图(如 5 或 10 个视图)CBCT 重建受到了研究领域的广泛关注。

图 1. CBCT 成像:(a) CBCT 扫描会产生一系列 (b) X 射线投影,通过 CBCT 重构,这些投影将被用于绘制 (c) 三维 CBCT 图像。

由于数据不足,稀疏视图 CBCT 重建是一项具有挑战性的任务。为了解决这个问题,许多传统方法都利用了获取的投影与重建图像之间的一致性。例如,SART [1] 提出了一种迭代策略,在更新三维衰减场的同时,最小化二维投影与其估计值之间的差异。这种方法在噪声和数据不足的情况下很有效,但仍然会影响图像质量,同时对计算要求较高。随着深度学习的发展,一些基于学习的方法被设计用来从数据群体中学习常识[5,11,14],并从卷积网络的泛化能力中获益。这些框架基于编码器-解码器结构,其中二维编码器学习给定投影的特征表示,然后通过简单的重塑将其组合并转移到三维,再通过三维解码器生成容积图像。虽然这些方法可以提供不错的重建图像,但往往缺乏重要的精细细节,而且往往过于平滑。这主要是由于多个固定姿势的投影被强行连接起来,完全忽略了它们的空间视图和几何关系。最近,另一种方法--神经渲染[8]--似乎是一种新兴的视图合成技术,其目标也是与 CBCT 重建类似的反渲染问题。不过,CBCT 重建的目标是整个容积衰减场(见图 1)。1),而计算机视觉中的神经渲染只是近似感兴趣物体的表面。NAF [16] 首次将这一技术应用于稀疏视图 CBCT 重建,并利用多分辨率哈希编码 [9],在只有 50 个投影的情况下实现了良好的性能。它得益于三维几何感知和神经渲染的多视图一致性,尽管输入不够充分,但仍能保留精细细节。遗憾的是,由于没有泛化能力,NAF 依赖于耗时的每个场景优化,通常一个受试者需要花费几十分钟,而且没有彻底解决稀疏视图问题,因此在提供非常有限的投影(如 5 或 10 个视图)时,很难产生可靠的质量。

在本文中,我们提出了一种用于稀疏视图 CBCT 重建的几何感知衰减场学习的新型编码器-解码器框架。基于学习方法的泛化能力和多视图重建(如神经渲染)的几何感知视图一致性。具体来说,我们首先采用 CNN 特征提取对 X 射线投影进行编码。然后,在构建容积特征时,我们通过从不同投影进行几何感知特征查询来强调视图一致性。此外,考虑到不同视图的重要性,我们利用自适应特征融合技术将多视图特征聚合到点式衰减特征向量中。这样就形成了一个三维衰减特征场,最后通过衰减场解码将其解码为 CBCT 图像所需的分辨率。我们的框架对于输入姿势和视图数量都很灵活。得益于从数据群体中学到的先验知识,我们的方法无需进一步训练就能自然地推广到其他患者,并在输入视图非常有限的情况下(如 5 或 10 个视图)高效地生成高质量的重建图像。实验证明了我们的方法具有卓越的重建质量,这一点在潜在的下游应用(如牙齿分割)中得到了进一步验证。

2.方法

2.1 几何感知衰减场学习

CNN 特征提取 根据图 1,三维衰减场是用二维 X 射线投影以反渲染方式求解的。一个直观的想法是提取这些投影的特征表示,并利用它们来学习衰减场的映射。具体来说,给定 N 个投影 fIig N i=1,我们利用二维 CNN 编码器 E(在我们的工作中为 ResNet34 [4])来提取二维特征表示,表示为 fFi = E(Ii)g N i=1。

几何感知特征查询 我们框架的关键之处在于通过几何感知来学习衰减场。如图 2 所示,我们的目标是通过查询像素坐标中的二维特征表示,获取世界坐标中的衰减特征场。

在此步骤中,我们在稀疏体素网格上对三维查询点进行采样,然后利用其相机姿态信息在世界坐标和像素坐标之间进行变换,将每个查询点分别投影到所有特征表示 fFig N i=1 上。对于 Fi,我们将其外在相机矩阵表示为 M(i) = [R(i) t (i) ],内在相机矩阵表示为 K(i),其中 R(i) 表示旋转,t (i) 表示平移。然后,对于世界坐标中的每个三维查询点 x,我们将其转换为 Fi 的相应像素坐标 x (i) uv,如下所示:

然后,我们就可以通过双线性插值从 Fi 得到 x 的特征向量:

其中,fi 2 R C。这样,我们就可以从所有二维特征表示 fFig N i=1 中获得查询点 x 的空间一致特征向量 ffig N i=1。

自适应特征融合 通过特征查询获取查询点 x 的多视角特征向量 ffig N i=1 后,我们的目标是将它们融合为衰减特征向量 f。然而,由于查询点的空间定位各不相同,特定查询点 x 可能会从不同视角获得不同的衰减信息。因此,受文献[12]的启发,我们设计了一种自适应特征融合策略来聚合这些特征向量。具体来说,对于查询点 x 的 ffig N i=1,我们计算一个元素均值向量 fµ 2 R C 和方差向量 fσ 2 R C,以捕捉全局信息。我们将每个 fi 视为第 i 个视图的局部信息,并通过串联将其与 fµ 和 fσ 整合为全局信息。合并后的特征被送入第一个 MLP,以聚合局部和全局信息,产生一个聚合的全局感知特征向量 f 0 i 2 R C 和每个视图的归一化池化权重 wi 2 [0; 1],将其加权求和后送入第二个 MLP,得到最终的融合特征 f 2 R C。注意,池化权重 wi 可视为第 i 个视图的贡献因子。

衰减场解码 在获得每个查询点的衰减特征向量 f 后,我们就可以将所有查询点组合在一起建立衰减特征场。受硬件设备内存大小的限制,我们建立了一个低分辨率的衰减特征体素网格,其下采样大小为 D=S ×H=S ×W=S ×C,这大大加快了计算速度。该衰减特征场可视为目标 CBCT 图像的特征表示。因此,我们将其输入衰减场解码器,以获得所需分辨率为 D × H × W 的目标容积衰减场(即 CBCT 图像)

2.2模型优化

我们主要使用地面真实容积衰减值来监督框架的训练。我们首先将重建损失 Lrecon 定义为地面实况 Vgt 与预测值 Vpred 之间的 L1 损失,以加强体素方面的相似性。我们还利用最小二乘对抗损失 Ladv [7],应用斑块判别 [17] 来提高重建质量。为了恢复细粒度细节,我们进一步引入梯度损失 Lgrad,作为地面真实值 rVgt 与预测值 rVpred 的一阶差分之间的 L1 损失。特别是,与基于神经渲染的方法[8,16]类似,我们还引入了自监督二维投影损失 Lproj,即在训练阶段最小化随机批次 B 的 DRR 渲染像素与其地面实况之间的 L1 损失。因此,我们的最终目标函数定义为:

其中,λadv、λgrad 和 λproj 用于控制不同项的重要性。

3 实验

3.1 实验设置

数据集 在临床实践中,成对的二维 X 射线投影和三维 CBCT 图像非常稀缺。因此,我们利用数字重建放射成像(DRR)技术,从采集的 CBCT 图像中生成多个 X 射线投影,即如图 1 所示的过程,并利用比尔定律模拟扫描过程中的 X 射线衰减,从而解决了这一难题。我们的数据集由 130 幅不同患者的牙科 CBCT 图像组成,分辨率为 256 × 256 × 256。我们将其分为 100 张训练图像、10 张验证图像和 20 张测试图像。如上所述,我们为每张 CBCT 图像生成相应的 X 射线投影。在实验中,我们以 CBCT 图像中心为圆心,每 360=N 度生成 N 个 X 射线投影,每个 X 射线投影的分辨率为 256 × 256。我们在本文中选择 N = 5、10 和 20。

实现细节 在实验中,我们根据经验设置了 λadv = 0:001、λproj = 0:01、λgrad = 1、下采样率 S = 4、通道大小 C = 256 和 DRR 射线批大小 jBj = 1024。我们使用学习率为 1×10-4 的亚当优化器,学习率每 50 个历时衰减 0.5,训练过程在 150 个历时后结束。解码器和鉴别器是 SRGAN [6,10] 的 3D 实现。所有实验均在单个 A100 GPU 上进行。

比较方法和评估指标 我们提出的框架与四种典型方法(即 FBP、SART、NAF 和 PixelNeRF)进行了比较。FBP [3] 是业界广泛使用的经典 CBCT 重建算法。SART [1] 是一种传统算法,通过迭代最小化和正则化来解决稀疏视图问题。NAF [16]基于神经渲染[8]和多分辨率哈希编码[9]的适应性,提供了最先进的CBCT重建性能和每场景优化。由于神经渲染旨在解决与我们的工作高度相关的反渲染问题,我们还将我们的方法与 PixelNeRF [15] 进行了比较,PixelNeRF 是计算机视觉领域的一个代表性框架,通过利用 CNN 的泛化能力来解决稀疏视图问题。值得注意的是,我们没有与 [5、11、14] 进行比较,因为它们无法处理灵活的输入姿势和视图数量。我们利用两个常用指标来评估重建性能,即峰值信噪比(PSNR)和结构相似性(SSIM)[13]。我们还报告了重建时间,以衡量不同方法的效率。

3.2 结果

定量和定性结果 表 1 列出了不同方法的定量比较。我们的方法优于所有其他方法,达到了在 PSNR 和 SSIM 方面都有明显优势。值得注意的是,我们的方法只需 5 个输入视图就能达到最高性能(27.38 dB 的 PSNR),而 20 个输入视图的 PSNR 超过 30 dB,大大超过了目前最先进的方法(即 NAF)。此外,我们的重建时间不到一秒,比其他稀疏视图方法(即 SART、NAF 和 PixelNeRF)快得多。SART 和 NAF 分别存在迭代计算耗时和按场景优化的问题,与 PixelNeRF 相比,我们受益于低分辨率特征查询。

图 3 是重建的三维 CBCT 轴切片图像的直观对比。可以看出,FBP 无法处理稀疏视图输入,导致视图不足而产生严重的条纹伪影。SART 可以通过减少这些伪影来显著提高质量,但这需要牺牲重要的精细细节。NAF 可以通过哈希编码器进行神经渲染,从而实现高质量的重建。然而,在输入视图数量极其有限的情况下(如 5 或 10 个视图),其质量会急剧下降,因为它是一种按场景优化的方法,不具备从各种数据中学习的通用能力。PixelNeRF 也和我们一样具有通用能力,但它缺乏体积监督来确保三维质量,而这正是医学成像和自然场景之间的关键区别。值得注意的是,我们的方法优于所有其他方法,而且是唯一一种即使只有 5 个输入视图也能提供与地面实况相当质量的方法。

表 1. 不同方法的定量比较。

图 3. 不同方法的定性比较。

消融研究 表 2 列出了定量消融研究的结果,其中基线模型只是利用平均池法汇总不同输入视图的特征向量,在训练过程中只采用重构和对抗损失。表中的每一个 "X "表示在基线模型中添加相应的组件,作为新的备选方案。注意,表中的 "ada. "表示自适应特征融合策略。可以看出,与其他 SOTA 方法相比,我们的基线模型已经表现最佳。例如,在 PSNR 方面,与 PixelNeRF 相比,我们在 5、10 和 20 个视图上分别获得了 4:35 dB、3:83 dB 和 3:12 dB 的显著提升。因为我们强大的基线在特征学习中配备了几何感知视图一致性,在训练中配备了体素智能监督,这些都为我们的方法奠定了基础,也是我们方法成功的关键。此外,随着其他组件的加入,PSNR 和 SSIM 值也逐渐增加,这证明了我们技术设计的有效性。举例来说,自适应特征融合技术就能有效地解决这一问题。与平均汇集相比,投影损失能更灵活、更准确地整合来自不同视图的信息,从而带来相对可观的改进。投影损失和梯度损失分别提高了几何感知视图的一致性和清晰度。

表 2. 不同组件的消融研究

按场景微调 经过跨场景训练后,我们的模型可以从稀疏的 X 射线视图中提供像样的 CBCT 图像重建。我们可以通过只使用相同输入视图的投影损失来进一步微调场景结果。经过大约 4-15 分钟的优化后,5、10 和 20 个视图的重建结果的 PSNR 值平均分别提高了 0.66 dB、0.74 dB 和 0.75 dB。

应用 我们将牙齿分割作为下游应用来评估重建 CBCT 图像的质量。我们首先获取测试集中每张 CBCT 图像的专家人工注释,然后使用预先训练好的 SOTA 网络 [2] 对牙齿进行分割。作为参考,我们测试集中来自地面实况 CBCT 图像的牙齿分割(与人工标注相比)的平均 Dice 分数为 0:94。因此,无论哪种方法的 Dice 分数更接近这个值,都能获得更高的重建质量。在图 4 中,我们报告了所有方法的 Dice 分数(平均值和标准偏差),这些方法是在使用不同输入视图数重建的 CBCT 图像上进行测试的。需要注意的是,为了确保比较的清晰性,我们省略了图中一些牙齿分割失败的结果(例如,来自 NAF 的 5 个和 10 个视图的结果)(即 Dice 分数小于 0.6)。可以看出,我们的方法明显优于所有竞争对手,这表明我们的重建方法非常实用,而且图像质量上乘。此外,我们在图 5 中提供了一个直观的例子,在图 5 中,我们对 5 个、10 个和 20 个视图的 Dice 分数分别为 0:88、0:90 和 0:92,而在这种特定情况下,地面实况 CBCT 分割的 Dice 分数为 0:95。虽然我们的 Dice 分数没有地面实况高,但也不相上下,这表明我们的方法在下游应用和实际临床使用中具有巨大的潜力。

4 结论

本文提出了一种用于稀疏视图 CBCT 重建的新型衰减场学习框架。通过从数据群体中学习先验知识,我们的方法无需进一步训练即可推广到其他患者,并能高效地解决稀疏视图输入问题,重建出高质量的 CBCT 图像。广泛的评估验证了我们的优越性,下游应用也证明了我们的方法在实际临床中的适用性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/650987.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

三分钟“手撕”顺序表与ArrayList

前言: 实现顺序表的代码放开头,供大家更好的查阅,每个方法都有代码的实现。 其次我会讲解Java自带的ArrayList的实例,扩容机制ArrayList使用方法,遍历以及它的优缺点。 目录 一、自己实现的顺序表 二、Java的ArrayLi…

基于Pytorch框架的深度学习ShufflenetV2神经网络十七种猴子动物识别分类系统源码

第一步:准备数据 17种猴子动物数据: self.class_indict ["白头卷尾猴", "弥猴", "山魈", "松鼠猴", "叶猴", "银色绒猴", "印度乌叶猴", "疣猴", "侏绒"…

Delphi 开发Android Service四种模式初探

前言: 本篇文章正经来说,其实算是我的学习履历,是我在不断的摸索过程中,总结的经验,不能算是一篇正经的学术文章。现在DELPHI的学习资料太少了,就算是有也都是基于老版本DELPHI,或VCL相关的内容…

AI芯片软件定义硬件架构

软件定义硬件架构 AI 应用正促使芯片制造商和 OEM 重新审视重新配置硬件的可能性。 摩尔定律放缓,软件应用复杂性和规模激增,x86架构CPU运行通用软件的传统方法已无法满足嵌入式和AI应用的高效需求。 在当前x86架构主导的环境中,软硬件间差…

三丰云免费虚拟主机和免费云服务器评测

三丰云是一家专业的云服务提供商,为用户提供免费虚拟主机和免费云服务器服务。通过对三丰云的使用体验,我对他们的服务进行了评测。首先,三丰云的免费虚拟主机性能稳定,网站加载速度快,给用户提供了良好的访问体验。其…

R可视化:另类的箱线图

介绍 方格状态的箱线图 加载R包 knitr::opts_chunk$set(echo TRUE, message FALSE, warning FALSE) library(patternplot) library(png) library(ggplot2) library(gridExtra)rm(list ls()) options(stringsAsFactors F)导入数据 data <- read.csv(system.file(&qu…

数据集005:螺丝螺母目标检测数据集(含数据集下载链接)

数据集简介 背景干净的目标检测数据集。 里面仅仅包含螺丝和螺母两种类别的目标&#xff0c;背景为干净的培养皿。图片数量约420张&#xff0c;train.txt 文件描述每个图片中的目标&#xff0c;label_list 文件描述类别 另附一个验证集合&#xff0c;有10张图片&#xff0c;e…

力扣503. 下一个更大元素 II

Problem: 503. 下一个更大元素 II 文章目录 题目描述思路复杂度Code 题目描述 思路 由于此题是环形数组&#xff0c;我们在利用单调栈模板的基础上还需要将给定数组扩大一倍&#xff0c;但实际上我们只需要利用取余的操作模拟扩大数组即可&#xff08;具体操作看代码。在解决有…

800HZ电源-高频电源行业的明星

一、800Hz电源的简介&#xff1a; 800Hz电源&#xff0c;顾名思义&#xff0c;是一种专为满足通信系统中特定频率要求而设计的电源。通常&#xff0c;800Hz电源具有极高的稳定性和精确度&#xff0c;能提供稳定的电压输出&#xff0c;确保通信设备如交换机、基站、无线路由器等…

【设计模式】JAVA Design Patterns——Commander(指挥官模式)

&#x1f50d;目的 用于处理执行分布式事务时可能遇到的所有问题。 &#x1f50d;解释 处理分布式事务很棘手&#xff0c;但如果我们不仔细处理&#xff0c;可能会带来不想要的后果。假设我们有一个电子商务网站&#xff0c;它有一个支付微服务和一个运输微服务。如果当前运输…

香橙派Kunpeng Pro测评:他给的实在太多了

文章目录 一、开箱环节1、包装配置2、开发板包装3、开发板3.1、开发版正面3.2、开发板背面 二、硬件配置1、硬件配置清单 2、配置图解 三、开机~启动&#xff01;1、运行系统1.1、外设配置1.2、系统启动1.3、官方教程 2、openEuler系统概览 四、系统测试1、性能测试1.1、安装sy…

如何基于springboot构建cas最新版源码?

环境准备 下载JDK21 https://download.oracle.com/java/21/archive/jdk-21.0.2_windows-x64_bin.zip下载gradle 8.5并配置环境变量 https://gradle.org/next-steps/?version8.5&formatbin下载项目git clone http://gitlab.ruishan.cc/meta/anka-authentication.git 开始…

UI问题 --- CardView和其它的控件在同一布局中时,始终覆盖其它控件

原本代码&#xff1a; <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"40dp"android:layout_height"wrap_content"andr…

for循环绑定id,更新html页面的文字内容

需求&#xff1a;将方法中内容对齐 实现方式 给for循环中每个方法添加一个动态的id在DOM结果渲染完后&#xff0c;更新页面数据&#xff0c;否则会报错&#xff0c;找不到对应节点或对应节点为空 <view v-for"(item, index) in itemList" :key"index"…

Java面试八股之Synchronized锁升级的原理

Synchronized锁升级的原理 Synchronized锁升级是Java为了提高并发性能而引入的一项优化措施&#xff0c;这一机制主要发生在JDK 1.6及之后的版本中。Synchronized锁升级旨在减少锁带来的性能开销&#xff0c;通过从低开销的锁逐步升级到高开销的锁&#xff0c;以适应不同的竞争…

Swagger测试接口,请求头添加token

概述Swagger 1、概述 在日常开发中&#xff0c;我们的业务需要用户登录&#xff0c;权限控制。但是在某些情况下我们使用Swagger测试接口&#xff0c;部分接口需要携带token&#xff0c;才能访问&#xff0c;就需要在swagger添加token窗口。 效果图&#xff1a; 由 右上角 A…

统计计算四|蒙特卡罗方法(Monte Carlo Method)

系列文章目录 统计计算一|非线性方程的求解 统计计算二|EM算法&#xff08;Expectation-Maximization Algorithm&#xff0c;期望最大化算法&#xff09; 统计计算三|Cases for EM 文章目录 系列文章目录一、基本概念&#xff08;一&#xff09;估算 π \pi π&#xff08;二&…

现代 c++ 三:移动语义与右值引用

移动语义很简单&#xff0c;但它相关联的术语很复杂。本文尝试从历史的角度解释清楚这些乱七八糟的术语及其关联&#xff1a; 表达式 (expression)、类型&#xff08;type&#xff09;、值类别 (value categories)&#xff1b; 左值 (lvalue)、右值 (rvalue)、广义左值 (glval…

【WEB前端2024】开源智体世界:乔布斯3D纪念馆-第30课-门的移动动画

【WEB前端2024】开源智体世界&#xff1a;乔布斯3D纪念馆-第30课-门的移动动画 使用dtns.network德塔世界&#xff08;开源的智体世界引擎&#xff09;&#xff0c;策划和设计《乔布斯超大型的开源3D纪念馆》的系列教程。dtns.network是一款主要由JavaScript编写的智体世界引擎…

UML-系统架构师(二)

1、UML&#xff08;Unified Modeling Language&#xff09;是面向对象设计的建设工具&#xff0c;独立于任何具体程序设计语言&#xff0c;以下&#xff08;&#xff09;不属于UML中的模型。 A用例图 B协作图 C活动图 DPAD图 解析&#xff1a; UML一共14种图 结构图&…