论文链接:https://ieeexplore.ieee.org/document/10237226
项目链接:https://github.com/hongwang01/OSCNet(目前不会开源)
X射线计算机断层扫描(CT)已广泛应用于疾病诊断和图像引导干预的临床应用。然而,患者体内的金属总是在恢复的CT图像中造成不利的伪影。尽管在金属伪影还原(MAR)任务中获得了有希望的重建结果,但大多数现有的基于深度学习的方法都存在一些局限性。关键的问题是,这些方法中的大多数都没有充分利用这个特定MAR任务背后的重要先验知识。因此,在本文中,我们仔细研究了呈现旋转对称条纹图案的金属工件的固有特征。然后,我们特别提出了一种方向共享卷积表示机制来适应这种物理先验结构,并利用基于傅立叶级数展开的滤波器参数化来建模工件,从而可以很好地将金属工件与人体组织分离开来。采用经典的近端梯度算法对模型进行求解,然后利用深度展开技术,轻松构建相应的方向共享卷积网络,称为OSCNet。此外,考虑到不同尺寸和类型的金属会导致不同的工件模式(例如工件强度),为了更好地提高工件学习的灵活性,并充分利用迭代阶段的重构结果进行信息传播,我们设计了一个简单而有效的用于工件动态卷积表示的子网络。通过将子网轻松集成到所提出的OSCNet框架中,我们进一步构建了一个更灵活的网络结构,称为OSCNet+,提高了泛化性能。通过在合成和临床数据集上进行的大量实验,我们全面证实了我们提出的方法的有效性。
计算机断层扫描(CT)是一种重要的诊断成像技术,已广泛应用于临床。然而,在CT成像过程中,越来越常见的金属植入物的存在会导致X射线投影丢失,并使重建的CT图像显示出不希望的伪影[1-4],这会对诊断准确性产生不利影响。
对于金属伪影还原(MAR),研究人员提出了基于弦图域数据信息的不同方法。具体而言,传统方法主要采用不同的估计策略来修复弦图域中的金属影响区域,如linear interpolation (LI)[5]和normalized MAR[6]。近年来,一些基于深度学习的MAR工作被提出,其目的是通过不同的深度神经网络直接恢复干净的弦图,然后通过过滤后的反投影算子获得相应的CT图像[7-11]。这些方法大多面临着两个主要的局限性:
金属影响弦图域的估计值并不总是满足CT成像的几何约束,这将导致恢复的CT图像出现二次伪影;
在实际场景中,很难获得一般由CT厂商[3]提供的弦图数据。
近年来出现了另一种研究方向,即仅利用空间CT图像,训练不同的深度网络框架来恢复无金属CT图像[1214]。为了获得更好的MAR重建性能,最近有研究者提出同时利用弦图数据和CT图像,然后构建不同的网络结构进行双域学习,如[2,15-20]。然而,这两条研究路线都面临着一个共同的局限性。对于大多数方法,所涉及的CT图像域学习网络模块是基于现成的深度学习工具包设计的。这种设计方式没有将特定MAR任务中固有的先验完全嵌入到深度网络中,每个网络模块的功能不明确,缺乏足够的可解释性。
为了解决这些问题,我们之前为这个特定的MAR任务构建了一个可解释的网络,称为DICDNet[4],它通过以下卷积字典模型显式编码金属工件A的非局部重复条纹先验结构为:
A = ∑ s = 1 S C s ⊗ M s , (1) A=\sum_{s=1}^SC_s\otimes M_s, \tag{1} A=s=1∑SCs⊗Ms,(1)
式中 C s C_s Cs为卷积滤波器,表示伪影的局部条纹模式; M s M_s Ms为特征图,表示工件的位置信息; S S S是卷积滤波器的个数; ⊗ ⊗ ⊗表示二维卷积算子。与现有的大多数MAR方法相比,所提出的DICDNet具有较好的优越性。然而,仍然有一些内在的和重要的先验信息,例如旋转对称性,不能通过公式(1)进行编码。具体而言,如图1所示,沿着每个旋转角度,金属伪影呈现类似的条纹结构。这种固有旋转对称条纹(RSS)先验通常是由基于旋转扫描的CT成像程序带来的[3,9],它存在于各种类型的CT成像相关伪影中。值得一提的是,这种RSS先验结构仅由伪影 A A A而不是无金属CT图像 X X X所拥有。这一特性意味着,在区分不利伪影和无金属CT图像之前,对这种RSS进行编码和利用将是有用的。
为了显式地编码这些固有的RSS先验信息,我们需要建立一个新的卷积字典模型,该模型在不同的旋转角度之间共享过滤器。具体来说,如图1所示,我们试图通过将每个过滤器C旋转到多个不同的角度来在多个方向上表征伪影层A。这样,我们只需要沿着一个方向学习卷积滤波器C,它可以在不同的角度表示工件的局部结构,但具有相似的模式(即方向共享)。这种面向共享的设计机制有助于减少可学习卷积滤波器的数量,从而提高网络表示的灵活性。然而,广泛采用的离散卷积滤波器很难旋转到不同的方向,并且具有很高的表示精度。
因此,在本文中,针对这一特定的MAR任务,我们首先提出利用基于傅立叶级数展开的滤波器参数化方法[21],具体构建一个方向共享的卷积表示模型,该模型明确编码金属伪影固有的RSS先验结构。然后,我们轻松地构建了相应的方向共享卷积网络,命名为OSCNet。所提出的OSCNet的主要特点是,几乎每个网络块都是基于推导的优化算法合理而相应地构建的,并且整个数据集共享一组卷积滤波器。此外,我们发现在不同的退化CT图像中,金属伪影的模式并不完全相同,这不仅取决于金属本身,还取决于金属与正常身体组织之间复杂的干扰。基于以上观察,我们建立了相应的模型,并设计了一个简单有效的子网络,以每个迭代阶段的重建CT图像为输入,根据不同的输入金属影响图像动态预测伪影的卷积表示。通过将提出的子网络显式集成到提出的OSCNet框架中,我们进一步构建了一种具有更高灵活性的新型网络结构,称为OSCNet+,进一步提高了泛化性能。总之,我们的贡献主要有四方面:
我们首先提出了一个方向共享卷积表示模型,该模型编码了该特定MAR任务下金属工件的内在RSS先验。
我们构建了一个方向共享卷积网络(OSCNet),它明确地与RSS先验集成,并具有明确的工作机制。
我们进一步设计了一个更灵活的OSCNet (OSCNet+),用于工件的动态卷积表示和重构结果在迭代阶段通过整个网络框架的完整信息传播。
大量的实验比较和模型验证全面证实了我们的方法的优越性及其在临床应用中的良好潜力。特别是,我们的方法需要更少的模型参数来表示金属工件。
与我们的相关工作OSCNet[22]相比,本文在以下方面做了实质性的改进:
在[22]中,工件的卷积表示是从整个训练数据集中学习的,并且它是样本不变的。相比之下,在本文中,我们进一步设计了一种新的网络结构,称为OSCNet+,它可以动态地实现不同输入金属影响CT图像的卷积表示。因此,本文提出的OSCNet+具有更大的工件提取灵活性和更好的泛化性能;
重新制定模型推导,统一两个框架,包括OSCNet和OSCNet+。这样可以让读者更好地理解我们的研究见解;
我们在更多的数据集上进行了更多的模型验证和实验对比,全面验证了我们方法的有效性,并清晰地展示了其潜在的工作机制。此外,我们还分析了我们提出的OSCNet+的鲁棒性,以及不同因素对重建性能的影响,如成像设置和超参数选择。
本文的其余部分组织如下。第二节提出了用于编码金属伪影的方向共享卷积模型。第三节构造了方向共享卷积网络。第四节介绍了一个更灵活的动态工件学习网络(即OSCNet+)。第五节提供了实验细节。第六节全面证实了我们方法的有效性。论文最后以第七节结束。
由于金属植入物的CT值通常比正常身体组织高得多,对于MAR任务,给定退化的CT图像 Y ∈ R H × W Y∈R^{H×W} Y∈RH×W,我们的主要目标是恢复相应的无金属图像在非金属区域而不考虑金属区域的恢复。如图1所示,将分解模型定义为[4]:
I ⊙ Y = I ⊙ X + I ⊙ A , (2) I\odot Y=I\odot X+I\odot A, \tag{2} I⊙Y=I⊙X+I⊙A,(2)
其中 I I I表示二元非金属掩模; X X X和 A A A分别为待估计的无金属CT图像和伪影层; ⊙ ⊙ ⊙是逐点乘法运算。对于 Y 、 X 、 A 、 I Y、X、A、I Y、X、A、I等分量的可视化,请参见下面实验中的图5、图6。需要说明的是,金属伪影的产生是一个复杂的非线性过程,它与CT成像过程中许多复杂的成像因素有关,如部分体积效应、光子不足伪影、散射等。由于目前仅有的金属损伤CT图像,很难对其成像因素进行建模。在网络实现中,我们引入了细致的非线性设计,以提高伪影去除和图像重建的学习灵活性,如下文第III-B节和第IV-B节所分析的那样。
从公式(2)中,我们可以很容易地发现从 Y Y Y估计 X X X是一个不适定逆问题。然而,合理利用适当的先验知识有助于约束解空间,从而更好地重建去伪影的CT图像。为此,对于MAR任务,我们深入探索金属工件的物理先验结构,然后将其制定为显式模型。通过仔细地将这个先验模型嵌入到深度网络中,它有望精细地正则化/指导人工学习。
具体而言,如文献[2,3]所述,金属伪影总是有零散的条纹结构,这是基于旋转扫描的CT成像方式自然造成的。从图1中很容易观察到,金属工件沿着不同的旋转角度呈现相似的条纹图案。显然,为了编码这个先验知识,我们可以通过将卷积滤波器旋转多个角度来表示不同方向的伪影。为此,我们具体提出了一种基于滤波器参数化的卷积编码模型:
A = ∑ l = 1 L ∑ k = 1 K C k ( θ l ) ⊗ M l k , (3) A=\sum_{l=1}^{L}\sum_{k=1}^{K}C_{k}(\theta_{l})\otimes\boldsymbol{M}_{lk}, \tag{3} A=l=1∑Lk=1∑KCk(θl)⊗Mlk,(3)
式中 θ l = 2 π ( l − 1 ) L \theta_{l}=\frac{2\pi(l-1)}L θl=L2π(l−1)为第 l l l个旋转角度; C k ( θ l ) ∈ R p × p C_k(θ_l)∈\mathbb{R}^{p×p} Ck(θl)∈Rp×p表示 θ l θ_l θl角度的第 k k k个参数化滤波器,表示金属伪影的条纹化和旋转先验结构; M l k ∈ R H × W M_{lk}∈\mathbb{R}^{H×W} Mlk∈RH×W为特征图,反映金属工件的位置信息; L L L和 K K K分别表示旋转角度的个数和每个角度上卷积滤波器的个数。请注意,在金属区域,金属的CT值高于组织,导致伪影可能不符合先前的模型。然而,从公式(2)可以看出,金属区域的人工学习对非金属区域的重建过程没有影响。因此,为了简单起见,我们不区分金属区域的工件和非金属区域的工件,而是通过公式(3)对整个工件层A进行编码。
从公式(3)中可以观察到,在方位变化自由度下,不同旋转方向上的伪像与 C k ( θ l ) ( k = 1 , … , k ) C_k(θ_l)(k=1,…,k) Ck(θl)(k=1,…,k)具有相同的表示滤波器集。这样的公式表征了不同取向的金属伪像共享相似结构的固有现象。与[4]中采用的传统卷积字典模型(1)相比,本文提出的模型公式(3)的主要优点是:
能够保证金属伪像的RSS先验结构(见图4),因此对于伪像的建模应该更加准确;
可学习卷积滤波器的数量可以大大减少这对学习 C k ( θ l ) C_k(θ_l) Ck(θl)很有帮助。
为了对滤波器 C k ( θ l ) ∈ R p × p C_k(θ_l)∈\mathbb{R}^{p×p} Ck(θl)∈Rp×p进行建模,必须使用具有高表示精度的滤波器参数化策略。在[21]中,作者分析了以下基函数可以表示任意旋转角度的任意卷积滤波器,表示为:
φ q t c ( x ) = Ω ( x ) cos ( 2 π p h [ I p ( q ) , I p ( t ) ] ⋅ [ x i x j ] ) , φ q t s ( x ) = Ω ( x ) sin ( 2 π p h [ I p ( q ) , I p ( t ) ] ⋅ [ x i x j ] ) , (4) \begin{gathered} \varphi_{qt}^{c}(x) \left.\left.=\Omega\left(x\right)\cos\left(\frac{2\pi}{ph}\left[\mathcal{I}_{p}\left(q\right),\mathcal{I}_{p}\left(t\right)\right]\cdot\left[\begin{matrix}{x_{i}}\\{x_{j}}\end{matrix}\right.\right.\right]\right), \\ \varphi_{qt}^{s}(x) \left.\left.=\Omega\left(x\right)\sin\left(\frac{2\pi}{ph}\left[\mathcal{I}_{p}\left(q\right),\mathcal{I}_{p}\left(t\right)\right]\cdot\left[\begin{matrix}{x_{i}}\\{x_{j}}\\\end{matrix}\right.\right.\right]\right), \end{gathered} \tag{4} φqtc(x)=Ω(x)cos(ph2π[Ip(q),Ip(t)]⋅[xixj]),φqts(x)=Ω(x)sin(ph2π[Ip(q),Ip(t)]⋅[xixj]),(4)
式中 x = [ x i , x j ] T x = [x_i, x_j]^T x=[xi,xj]T为二维空间坐标; Q = 0 , 1 , … , , p − 1 Q = 0,1,…,,p−1 Q=0,1,…,,p−1; T = 0 , 1 , … , p − 1 T = 0,1,…,p−1 T=0,1,…,p−1;旋转操作采用径向掩模函数 Ω ( x ) ≥ 0 Ω (x)≥0 Ω(x)≥0,当 ∥ x ∥ ≥ ( p + 1 2 ) h ∥x∥≥(\frac{p+1}{2})h ∥x∥≥(2p+1)h[21]时, Ω ( x ) = 0 Ω (x) = 0 Ω(x)=0; H H H为图像的网格大小;若 y ≤ p 2 y≤\frac{p}{2} y≤2p,则 I p ( y ) = y \mathcal{I}_p (y) = y Ip(y)=y;否则, I p ( y ) = y − p \mathcal{I}_p (y) = y−p Ip(y)=y−p。
基于此,我们可以仔细地将公式(3)中 C k ( θ l ) C_k(θ_l) Ck(θl)中的每个元素参数化为:
[ C k ( θ l ) ] i j = φ k ( T θ l x i j ) = ∑ q = 0 p − 1 ∑ t = 0 p − 1 a q t k φ q t c ( T θ l x i j ) + b q t k φ q t s ( T θ l x i j ) , (5) \begin{aligned} &[C_{k}(\theta_{l})]_{ij}=\varphi_{k}\left(T_{\theta_{l}}x_{ij}\right) \\ &=\sum_{q=0}^{p-1}\sum_{t=0}^{p-1}a_{qtk}\varphi_{qt}^{c}\left(T_{\theta_{l}}x_{ij}\right)+b_{qtk}\varphi_{qt}^{s}\left(T_{\theta_{l}}x_{ij}\right), \end{aligned} \tag{5} [Ck(θl)]ij=φk(Tθlxij)=q=0∑p−1t=0∑p−1aqtkφqtc(Tθlxij)+bqtkφqts(Tθlxij),(5)
其中,膨胀系数 a q t k a_{qtk} aqtk和 b q t k b_{qtk} bqtk在不同的旋转方向上是共享的,反映了金属工件的旋转对称性,它们在不同设置下的详细设计分别在第三节和第四节中进一步阐述; T θ l T_{θ_l} Tθl为角度为 θ l θ_l θl的旋转矩阵; φ q t c ( T θ l x i j ) φ^c_{qt} (T_{θ_l}x_{ij}) φqtc(Tθlxij)和 φ q t s ( T θ l x i j ) φ^s_{qt} (T_{θ_l}x_{ij}) φqts(Tθlxij)表示公式(4)中傅里叶基的旋转形式; i i i和 j j j表示二维空间坐标; i = 1 , … , p i = 1,…,p i=1,…,p; J = 1 , … , p J = 1,…, p J=1,…,p。具体来说,
T θ l = [ c o s θ l s i n θ l s i n θ l c o s θ l ] , x i j = [ x i x j ] = [ ( i − p + 1 2 ) h ( j − p + 1 2 ) h ] , φ q t c ( T θ l x i j ) = Ω ( x ) cos ( 2 π p h [ I p ( q ) , I p ( t ) ] ⋅ T θ l ⋅ [ x i x j ] ) , φ q t s ( T θ l x i j ) = Ω ( x ) sin ( 2 π p h [ I p ( q ) , I p ( t ) ] ⋅ T θ l ⋅ [ x i x j ] ) . \begin{align} &\left.T_{\theta_{l}}=\left[\begin{matrix}{\mathrm{cos}\theta_{l}}&{\mathrm{sin}\theta_{l}}\\{\mathrm{sin}\theta_{l}}&{\mathrm{cos}\theta_{l}}\\\end{matrix}\right.\right],x_{ij}=\left[\begin{matrix}{x_{i}}\\{x_{j}}\\\end{matrix}\right]=\left[\begin{matrix}{(i-\frac{p+1}{2})h}\\{(j-\frac{p+1}{2})h}\\\end{matrix}\right], \tag{6} \\ &\left.\varphi_{qt}^{c}\left(T_{\theta_{l}}x_{ij}\right)=\Omega\left(x\right)\cos\left(\frac{2\pi}{ph}\left[\mathcal{I}_{p}\left(q\right),\mathcal{I}_{p}\left(t\right)\right]\cdot T_{\theta_{l}}\cdot\begin{bmatrix}x_{i}\\x_{j}\end{bmatrix}\right.\right), \\ &\left.\varphi_{qt}^{s}\left(T_{\theta_{l}}x_{ij}\right)=\Omega\left(x\right)\sin\left(\frac{2\pi}{ph}\left[\mathcal{I}_{p}\left(q\right),\mathcal{I}_{p}\left(t\right)\right]\cdot T_{\theta_{l}}\cdot\begin{bmatrix}x_{i}\\x_{j}\end{bmatrix}\right.\right). \tag{7} \end{align} Tθl=[cosθlsinθlsinθlcosθl],xij=[xixj]=[(i−2p+1)h(j−2p+1)h],φqtc(Tθlxij)=Ω(x)cos(ph2π[Ip(q),Ip(t)]⋅Tθl⋅[xixj]),φqts(Tθlxij)=Ω(x)sin(ph2π[Ip(q),Ip(t)]⋅Tθl⋅[xixj]).(6)(7)
定义 W k d ∈ R 2 × 1 W_{kd}∈\mathbb{R}^{2×1} Wkd∈R2×1为 { a q t k , b q t k ∣ q , t = 0 , 1 , … , , p − 1 } \{a_{qtk}, b_{qtk}|q, t = 0,1,…,,p−1\} {aqtk,bqtk∣q,t=0,1,…,,p−1},即 W k d = [ a q t k , b q t k ] T W_{kd} = [a_{qtk}, b_{qtk}]^ T Wkd=[aqtk,bqtk]T, φ d ∈ R 1 × 2 φ_d∈\mathbb{R}^{1×2} φd∈R1×2为 { φ q t c , φ q t s ∣ q , T = 0 , 1 , … , p − 1 } \{φ^c_{qt},φ^s_{qt}|q, T = 0,1,…, p−1\} {φqtc,φqts∣q,T=0,1,…,p−1}的第d个元素,即 φ d = [ φ q t c , φ q t s ] φ_d =[φ^c_{qt},φ^s_{qt}] φd=[φqtc,φqts], d = 1 , 2 , . . . , p 2 d = 1, 2,...,p^2 d=1,2,...,p2,结合公式(5),可将公式(3)等价改写为:
A = R ( Φ W ) ⊗ M , (8) \boldsymbol{A}=\mathcal{R}\left(\boldsymbol{\Phi}\boldsymbol{W}\right)\otimes\mathcal{M}, \tag{8} A=R(ΦW)⊗M,(8)
其中张量 M ∈ R H × W × L K \mathcal{M}∈R^{H×W×LK} M∈RH×W×LK被 M l k M_{lk} Mlk叠加; Φ ∈ R L p 2 × 2 p 2 Φ∈R^{Lp^2×2p^2} Φ∈RLp2×2p2表示傅里叶基矩阵; W ∈ R 2 p 2 × K W∈R^{2p^2×K} W∈R2p2×K表示膨胀系数矩阵; R ( ⋅ ) \mathcal{R}(·) R(⋅)表示重塑操作。这里我们采用算子将大小为 L p 2 × K Lp^2 × K Lp2×K的矩阵 Φ W ΦW ΦW变换为大小为 p × p × L K p × p × LK p×p×LK的张量形式。特别地,
W = [ W 11 W 21 ⋯ W K 1 W 12 W 22 ⋯ W K 2 ⋮ ⋮ ⋯ ⋮ W 1 p 2 W 2 p 2 ⋯ W K p 2 ] , Φ = [ Φ 11 Φ 12 ⋯ Φ 1 p 2 Φ 21 Φ 22 ⋯ Φ 2 p 2 ⋮ ⋮ ⋯ ⋮ Φ L 1 Φ L 2 ⋯ Φ L p 2 ] (9) \boldsymbol{W}=\begin{bmatrix}W_{11}&W_{21}&\cdots&W_{K1}\\W_{12}&W_{22}&\cdots&W_{K2}\\\vdots&\vdots&\cdots&\vdots\\W_{1p^2}&W_{2p^2}&\cdots&W_{Kp^2}\end{bmatrix},\boldsymbol{\Phi}=\begin{bmatrix}\Phi_{11}&\Phi_{12}&\cdots&\Phi_{1p^2}\\\Phi_{21}&\Phi_{22}&\cdots&\Phi_{2p^2}\\\vdots&\vdots&\cdots&\vdots\\\Phi_{L1}&\Phi_{L2}&\cdots&\Phi_{Lp^2}\end{bmatrix} \tag{9} W= W11W12⋮W1p2W21W22⋮W2p2⋯⋯⋯⋯WK1WK2⋮WKp2 ,Φ= Φ11Φ21⋮ΦL1Φ12Φ22⋮ΦL2⋯⋯⋯⋯Φ1p2Φ2p2⋮ΦLp2 (9)
其中, Φ l d = [ φ d ( T θ l x 11 ) , φ d ( T θ l x i j ) , … , φ d ( T θ l x p p ) ] T ∈ R p 2 × 2 \Phi_{ld}=\left[\varphi_{d}\left(T_{\theta_{l}}x_{11}\right),\varphi_{d}\left(T_{\theta_{l}}x_{ij}\right),\ldots,\varphi_{d}\left(T_{\theta_{l}}x_{pp}\right)\right]^{T}\in \mathbb{R}^{p ^2×2} Φld=[φd(Tθlx11),φd(Tθlxij),…,φd(Tθlxpp)]T∈Rp2×2, φ d ( T θ l x i j ) = [ φ q t c ( T θ l x i j ) , φ q t s ( T θ l x i j ) ] \varphi_{d}\left(T_{\theta_{l}}x_{ij}\right)=\left[\varphi_{qt}^{c}\left(T_{\theta_{l}}x_{ij}\right),\varphi_{qt}^{s}\left(T_{\theta_{l}}x_{ij}\right)\right] φd(Tθlxij)=[φqtc(Tθlxij),φqts(Tθlxij)]。
将公式(8)代入公式(2),可得:
I ⊙ Y = I ⊙ X + I ⊙ ( R ( Φ W ) ⊗ M ) . (10) I\odot Y=I\odot X+I\odot\left(\mathcal{R}\left(\boldsymbol{\Phi}\boldsymbol{W}\right)\otimes\mathcal{M}\right). \tag{10} I⊙Y=I⊙X+I⊙(R(ΦW)⊗M).(10)
我们的目标是从观察到的退化CT图像 Y Y Y中估计未知的干净CT图像 X X X。从公式(10)中,我们还需要学习傅里叶展开系数矩阵 W W W和特征映射 M \mathcal{M} M,以便提取伪影层。对于傅里叶基矩阵 Φ Φ Φ,从公式(7)和公式(9)中,我们可以很容易地知道,给定相关参数包括 l 、 p l、p l、p和 h h h,它是不可学习的。下面将详细阐述 W W W、 M \mathcal{M} M和 X X X的学习机制。
在本节中,针对这个MAR任务,我们首先提出优化算法,然后构建相应的网络框架来学习公式(10)中的 W W W、 M \mathcal{M} M、 X X X。
由上述对公式(10)的分析可知,我们需要估计膨胀系数矩阵 W W W、特征映射 M \mathcal{M} M和无伪影CT图像 X X X。显然, M \mathcal M M和 X X X都是样本变异体。此外,在卷积神经网络(CNN)灵活的表示能力的驱动下,我们可以将 W W W作为一个网络参数,并从训练数据中自动学习。然后我们可以灵活地提取局部模式 C k ( θ l ) C_k(θ_l) Ck(θl)(见图4)。
基于这样的理解,我们可以推导出如下优化问题:
min M , X ∥ I ⊙ ( Y − X − R ( Φ W ) ⊗ M ) ∥ F 2 + α f 1 ( M ) + β f 2 ( X ) , (11) \min_{\mathcal{M},\boldsymbol{X}}\left\|\boldsymbol{I}\odot(\boldsymbol{Y}-\boldsymbol{X}-\mathcal{R}\left(\boldsymbol{\Phi}\boldsymbol{W}\right)\otimes\mathcal{M})\right\|_{F}^{2}+\alpha f_{1}(\mathcal{M})+\beta f_{2}(\boldsymbol{X}), \tag{11} M,Xmin∥I⊙(Y−X−R(ΦW)⊗M)∥F2+αf1(M)+βf2(X),(11)
其中 α α α和 β β β表示权衡参数; ∥ ⋅ ∥ F {∥·∥}_F ∥⋅∥F表示Frobenius范数; f 1 ( ⋅ ) f_1(·) f1(⋅)和 f 2 ( ⋅ ) f_2(·) f2(⋅)为正则化函数,分别反映 M \mathcal{M} M和 X X X的先验知识。与[4,15]一致,我们也使用CNN灵活地从训练数据集中学习 M \mathcal{M} M和 X X X中包含的隐式先验。详情见第III-B节。
为了解决优化问题公式(11),我们可以直接利用[4]中导出的算法。采用近端梯度技术[24]交替更新特征映射 M \mathcal{M} M和CT图像 X X X,我们可以推导出对应的迭代过程为:
{ M ( n ) = p r o x α η 1 ( M ( n − 1 ) − η 1 ∇ g 1 ( M ( n − 1 ) ) ) , X ( n ) = p r o x β η 2 ( X ( n − 1 ) − η 2 ∇ g 2 ( X ( n − 1 ) ) ) , (12) \left.\left\{\begin{matrix}\mathcal{M}^{(n)}=\mathrm{prox}_{\alpha\eta_1}\left(\mathcal{M}^{(n-1)}-\eta_1\nabla g_1\left(\mathcal{M}^{(n-1)}\right)\right),\\X^{(n)}=\mathrm{prox}_{\beta\eta_2}\left(X^{(n-1)}-\eta_2\nabla g_2\left(\boldsymbol{X}^{(n-1)}\right)\right),\end{matrix}\right.\right. \tag{12} {M(n)=proxαη1(M(n−1)−η1∇g1(M(n−1))),X(n)=proxβη2(X(n−1)−η2∇g2(X(n−1))),(12)
其中,
KaTeX parse error: Expected 'EOF', got '&' at position 2: &̲\nabla g_{1}\Bi…
C = R ( Φ W ) ∈ R p × p × L K C = \mathcal{R} (ΦW)∈R^{p×p×LK} C=R(ΦW)∈Rp×p×LK; ⊗ T ⊗^T ⊗T表示转置卷积算子; η 1 η_1 η1和 η 2 η_2 η2为步长; prox α η 1 ( ⋅ ) \text{prox}_{αη_1(·)} proxαη1(⋅)和 prox β η 2 ( ⋅ ) \text{prox}_{βη_2}(·) proxβη2(⋅)为近端算子,分别与先验函数 f 1 ( ⋅ ) f_1(·) f1(⋅)和 f 2 ( ⋅ ) f_2(·) f2(⋅)相关。具体分析见第III-B节。
与DICDNet[4]一致,通过将公式(12)中的每个迭代步骤依次展开到相应的网络连接中,我们可以轻松构建一个受优化启发的深度网络结构。如图2所示,我们提出的方向共享卷积网络命名为OSCNet,由N个阶段组成,对应N次迭代。此外,在每个迭代阶段,OSCNet依次包含 M -net \mathcal{M}\text{-net} M-net和 X -net X\text{-net} X-net,分别完成 M \mathcal{M} M和 X X X的更新。具体来说,在阶段$n$4,网络结构包括以下计算过程:
{ M -net: M ( n ) = proxNet θ ( n ) ( M ( n − 1 ) − η 1 ∇ g 1 ( M ( n − 1 ) ) ) , X -net: X ( n ) = proxNet θ ( n ) ( X ( n − 1 ) − η 2 ∇ g 2 ( X ( n − 1 ) ) ) , (14) \begin{cases}\mathcal{M}\text{-net:}\mathcal{M}^{(n)}=\text{proxNet}_{\theta^{(n)}}\left(\mathcal{M}^{(n-1)}-\eta_{1}\nabla g_{1}\left(\mathcal{M}^{(n-1)}\right)\right),\\\boldsymbol{X}\text{-net:}\boldsymbol{X}^{(n)}=\text{proxNet}_{\theta^{(n)}}\left(\boldsymbol{X}^{(n-1)}-\eta_{2}\nabla g_{2}\left(\boldsymbol{X}^{(n-1)}\right)\right),\end{cases} \tag{14} {M-net:M(n)=proxNetθ(n)(M(n−1)−η1∇g1(M(n−1))),X-net:X(n)=proxNetθ(n)(X(n−1)−η2∇g2(X(n−1))),(14)
其中,在前面的工作DICDNet之后, proxNet θ ( n ) M ( ⋅ ) \text{proxNet}_{θ ^{(n)} }\mathcal{M}(·) proxNetθ(n)M(⋅)和 proxNet θ ( n ) X ( ⋅ ) \text{proxNet}_{θ ^{(n)}} X(·) proxNetθ(n)X(⋅)分别是参数为 θ M ( n ) θ^{(n)}_\mathcal{M} θM(n)和 θ X ( n ) θ^{(n)}_ X θX(n)的Resnet。它们分别代表公式(12)中的近端算子 prox α η 1 ( ⋅ ) \text{prox}_{αη_1}(·) proxαη1(⋅)和 prox α η 2 ( ⋅ ) \text{prox}_{αη_2}(·) proxαη2(⋅)。在网络实现过程中,在每个阶段,ResNet由T个残差块组成,每个残差块具有[Conv+BN+ReLU+Conv+BN+Skip Connection]运算符。此外,考虑到金属伪影的形成非常复杂,在最后一阶段之后,我们增加了ResNet,进一步细化重构结果 X ( N ) X^{(N)} X(N)[4]。所有网络参数包含膨胀系数矩阵 W W W,步长 η 1 η_1 η1和 η 2 η_2 η2, M -net \mathcal{M}\text{-net} M-net和 X -net X\text{-net} X-net的权值为 { θ M ( n ) , θ X ( n ) } n = 1 N \{\theta_{\mathcal{M}}^{(n)},\theta_{\boldsymbol{X}}^{(n)}\}_{n=1}^{N} {θM(n),θX(n)}n=1N,以端到端方式学习。请注意,用于表示滤波器的可学习参数是DICDNet的常见卷积层,而它们是OSCNet的扩展系数。
可以看到,由于这种受优化启发的网络设计方式,所提出的OSCNet自然地与先验模型相结合公式(8)。在这种理性先验知识的指导下,OSCNet在金属伪迹提取中具有更好的模型泛化性(见第VI节)。与目前大多数基于现成网络块启发式设计深度网络结构的MAR方法相比,所提出的OSCNet中的每个网络块几乎都是根据迭代公式(12)相应地构建的,从而使物理意义更加清晰。值得一提的是,通过将模型公式(8)嵌入到当前最先进的(SOTA)框架[4]中,可以很容易地构建OSCNet。也就是说,DICDNet正是我们的骨干。这有助于在实际应用中部署模型。
可解释性:与目前大多数基于现成网络块启发式构建的深度MAR网络相比,我们提出的网络框架是优化启发的,它专门适用于这个特定的MAR任务,它明确嵌入了物理成像机制启发的先验结构。在这方面,整个网络集成了基于模型的方法[25]的可解释性。这种可解释的设计方式便于一般读者通过模型可视化来理解和实现框架,如下图4、5、6所示。此外,这种优化启发的设计可以帮助缩小这种病态MAR任务的解空间,这有助于网络有效地识别金属伪像并实现良好的通用性,如下文第VI-B节所验证的那样。
备注1:与DICDNet[4]相比,我们提出的OSCNet包含几个具体的设计:
从第III-B节和图2中,基于整个训练数据集以端到端方式学习展开系数矩阵 W W W。也就是说,表示局部伪影模式的卷积滤波器 C C C是样本不变的,并且在不同的输入金属影响的CT图像之间共享。实际上,在不同的金属影响CT图像中,金属伪影的模式并不完全相同,一般都有一些特定的特征。主要原因是:
受此分析的启发,在本节中,我们的目标是设计一个动态OSCNet,称为OSCNet+,用于根据不同输入的退化CT图像对伪影进行自适应卷积表示。详情如下。
由上述分析可知,在该动态机制中,傅里叶展开系数矩阵W需要是样本变的,这样可以使卷积表示 R ( Φ W ) \mathcal{R} (ΦW) R(ΦW)随不同金属影响的CT图像自适应变化,从而提高金属伪影提取的灵活性。为此,优化问题可表述为:
min W , M , X ∥ I ⊙ ( Y − X − R ( Φ W ) ⊗ M ) ∥ F 2 + α f 1 ( M ) + β f 2 ( X ) + γ f 3 ( W ) . (15) \begin{aligned}\min_{\boldsymbol{W},\boldsymbol{M},\boldsymbol{X}}&\left\|\boldsymbol{I}\odot(\boldsymbol{Y}-\boldsymbol{X}-\mathcal{R}\left(\boldsymbol{\Phi}\boldsymbol{W}\right)\otimes\mathcal{M})\right\|_F^2\\&+\alpha f_1(\mathcal{M})+\beta f_2(\boldsymbol{X})+\gamma f_3(\boldsymbol{W}).\end{aligned} \tag{15} W,M,Xmin∥I⊙(Y−X−R(ΦW)⊗M)∥F2+αf1(M)+βf2(X)+γf3(W).(15)
根据第III-A节给出的迭代算法,我们可以很容易地得到公式(15)的迭代规则为:
{ W ( n ) = f ( c o n c a t ( X ( n − 1 ) , Y ) ) , M ( n ) = p r o x α η 1 ( M ( n − 1 ) − η 1 ∇ g 1 ( M ( n − 1 ) ) ) , X ( n ) = p r o x β η 2 ( X ( n − 1 ) − η 2 ∇ g 2 ( X ( n − 1 ) ) ) , (16) \left.\left\{\begin{matrix} &\boldsymbol{W}^{(n)}=f\left(\mathrm{concat}\left(\boldsymbol{X}^{(n-1)},\boldsymbol{Y}\right)\right),\\ &\mathcal{M}^{(n)}=\mathrm{prox}_{\alpha\eta_1}\left(\mathcal{M}^{(n-1)}-\eta_1\nabla g_1\left(\mathcal{M}^{(n-1)}\right)\right),\\ &\boldsymbol{X}^{(n)}=\mathrm{prox}_{\beta\eta_2}\left(\boldsymbol{X}^{(n-1)}-\eta_2\nabla g_2\left(\boldsymbol{X}^{(n-1)}\right)\right),\end{matrix}\right.\right. \tag{16} ⎩ ⎨ ⎧W(n)=f(concat(X(n−1),Y)),M(n)=proxαη1(M(n−1)−η1∇g1(M(n−1))),X(n)=proxβη2(X(n−1)−η2∇g2(X(n−1))),(16)
其中,
∇ g 1 ( M ( n − 1 ) ) = R ( Φ W ( n ) ) ⊗ T ( I ⊙ ( R ( Φ W ( n ) ) ⊗ M ( n − 1 ) + X ( n − 1 ) − Y ) ) , ∇ g 2 ( X ( n − 1 ) ) = I ⊙ ( R ( Φ W ( n ) ) ⊗ M ( n ) + X ( n − 1 ) − Y ) . (17) \begin{aligned} &\nabla g_{1}\left(\mathcal{M}^{(n-1)}\right)= \mathcal{R}\left(\boldsymbol{\Phi}\boldsymbol{W}^{(n)}\right)\otimes^{T}\left(\boldsymbol{I}\odot\left(\boldsymbol{R}\left(\boldsymbol{\Phi}\boldsymbol{W}^{(n)}\right)\right.\right. \left.\otimes\mathcal{M}^{(n-1)}+\boldsymbol{X}^{(n-1)}\left.-\boldsymbol{Y}\right)\right), \\ &\nabla g_{2}\left(\mathbf{X}^{(n-1)}\right)= \boldsymbol{I}\odot\left(\boldsymbol{R}\left(\boldsymbol{\Phi}\boldsymbol{W}^{(n)}\right)\otimes\mathcal{M}^{(n)}+\boldsymbol{X}^{(n-1)}-\boldsymbol{Y}\right). \end{aligned} \tag{17} ∇g1(M(n−1))=R(ΦW(n))⊗T(I⊙(R(ΦW(n))⊗M(n−1)+X(n−1)−Y)),∇g2(X(n−1))=I⊙(R(ΦW(n))⊗M(n)+X(n−1)−Y).(17)
如公式(16)所示,由于CNN强大的表示能力,我们采用映射函数 f ( ⋅ ) f(·) f(⋅)的深度网络更新 W W W。对于 f ( ⋅ ) f(·) f(⋅),它将原始金属影响CT图像 Y Y Y与重建CT图像 X ( n − 1 ) X^{(n−1)} X(n−1)之间的连接作为输入。这种方式将带来两个潜在的优点:
迭代阶段的重构结果在整个框架中得到充分利用和传播,可以更好地指导网络学习,提高重构性能;
相对于W是端到端学习的OSCNet,推理过程中 C = R ( Φ W ) C = \mathcal{R} (ΦW) C=R(ΦW)是固定的,这种迭代更新机制使工件提取更加灵活,具有进一步提高泛化性能的潜力。
这些优点将在第VI节的实验结果中得到全面证实。 f ( ⋅ ) f(·) f(⋅)的详细设计如下。
与第III-B节类似,通过依次展开迭代公式(16),我们可以构建整个网络结构,称为OSCNet+。在迭代阶段 n n n, OSCNet+包括以下计算步骤:
{ W -net: W ( n ) = W N e t θ W ( c o n c a t ( X ( n − 1 ) , Y ) ) , M -net: M ( n ) = p r o x N e t θ ( n ) ( M ( n − 1 ) − η 1 ∇ g 1 ( M ( n − 1 ) ) ) , X -net: X ( n ) = p r o x N e t θ X ( n ) ( X ( n − 1 ) − η 2 ∇ g 2 ( X ( n − 1 ) ) ) , (18) \begin{cases}\boldsymbol{W}\text{-net:}\boldsymbol{W}^{(n)}=\mathrm{WNet}_{\boldsymbol{\theta}\boldsymbol{W}}\left(\mathrm{concat}\left(\boldsymbol{X}^{(n-1)},\boldsymbol{Y}\right)\right),\\\mathcal{M}\text{-net:}\mathcal{M}^{(n)}=\mathrm{proxNet}_{\boldsymbol{\theta}^{(n)}}\left(\mathcal{M}^{(n-1)}-\boldsymbol{\eta}_{1}\nabla g_{1}\left(\mathcal{M}^{(n-1)}\right)\right),\\\boldsymbol{X}\text{-net:}\boldsymbol{X}^{(n)}=\mathrm{proxNet}_{\boldsymbol{\theta}_{\boldsymbol{X}}^{(n)}}\left(\boldsymbol{X}^{(n-1)}-\boldsymbol{\eta}_{2}\nabla g_{2}\left(\boldsymbol{X}^{(n-1)}\right)\right),\end{cases} \tag{18} ⎩ ⎨ ⎧W-net:W(n)=WNetθW(concat(X(n−1),Y)),M-net:M(n)=proxNetθ(n)(M(n−1)−η1∇g1(M(n−1))),X-net:X(n)=proxNetθX(n)(X(n−1)−η2∇g2(X(n−1))),(18)
式中,WNet(·)为参数为 θ W θW θW的子网络,用 θ W θW θW表示映射函数 f ( ⋅ ) f(·) f(⋅)。具体而言,如图3所示,它由三个卷积层组成,用于提取丰富特征,一个全局平均池化层用于获得全局信息表示,一个ReLU层用于非负性,一个重塑操作 R ( ⋅ ) \mathcal{R}(·) R(⋅),一个归一化步骤用于控制傅里叶展开系数的能量,以避免干预卷积滤波器的提取。实际上,WNet(·)可以看作是一个超网络,它在不同的迭代阶段完全馈送减少伪影的结果 X ( n − 1 ) X^{(n−1)} X(n−1),逐渐提取出更好的展开系数表示。
通过比较公式(13)(14)和公式(17)(18),我们可以发现,用 R ( Φ W ( n ) ) \mathcal{R}(ΦW^{(n)}) R(ΦW(n))和WNet(·)代替图2 (b)中的 C C C,可以很容易地构建整个网络框架OSCNet+,如图3所示。OSCNet+中涉及到的 θ W 、 η 1 θW、η_1 θW、η1和 η 2 η_2 η2、 { θ M ( n ) 、 θ X ( n ) } n = 1 n \{θ^{(n)}_\mathcal{M}、θ^{(n)}_X\}^n_{n=1} {θM(n)、θX(n)}n=1n等参数都是端到端基于基准数据集自动学习的。
备注2:提出的OSCNet+具有以下特点:
训练损失。为了训练提出的OSCNet和OSCNet+,我们采用以下目标函数[4]:
L = ∑ n = 0 N μ n I ⊙ ∥ X − X ( n ) ∥ F 2 + λ 1 ( ∑ n = 0 N μ n I ⊙ ∥ X − X ( n ) ∥ 1 ) + λ 2 ( ∑ n = 1 N μ n I ⊙ ∥ Y − X − A ( n ) ∥ 1 ) , (19) \begin{aligned} \mathcal{L}& =\sum_{n=0}^{N}\mu_{n}\boldsymbol{I}\odot\left\|\boldsymbol{X}-\boldsymbol{X}^{(n)}\right\|_{F}^{2}+\lambda_{1}\left(\sum_{n=0}^{N}\mu_{n}\boldsymbol{I}\odot\left\|\boldsymbol{X}-\boldsymbol{X}^{(n)}\right\|_{1}\right) \\ &+\lambda_{2}\left(\sum_{n=1}^{N}\mu_{n}I\odot\left\|\boldsymbol{Y}-\boldsymbol{X}-\boldsymbol{A}^{(n)}\right\|_{1}\right), \end{aligned} \tag{19} L=n=0∑NμnI⊙ X−X(n) F2+λ1(n=0∑NμnI⊙ X−X(n) 1)+λ2(n=1∑NμnI⊙ Y−X−A(n) 1),(19)
式中, X ( n ) X^{(n)} X(n)和 A ( n ) A^{(n)} A(n)分别表示迭代阶段 n n n重构的CT图像和提取的伪影层。对于OSCNet, A ( n ) = C ⊗ M ( n ) A^{(n)} = C⊗\mathcal{M}^{(n)} A(n)=C⊗M(n);对于OSCNet+, A ( n ) = R ( Φ W ( n ) ) ⊗ M ( n ) {A}^{(n)}={\mathcal R}\left(\Phi W^{(n)}\right)\otimes{\mathcal M}^{(n)} A(n)=R(ΦW(n))⊗M(n)。 X X X为ground truth 干净CT图像。为了公平比较, M ( 0 ) \mathcal{M}^{(0)} M(0)和 X ( 0 ) X^{(0)} X(0)以相同的方式初始化为[4]。具体来说, M ( 0 ) \mathcal{M}^{(0)} M(0)被设置为 0 0 0, X ( 0 ) X^{(0)} X(0)通过 X L I X_{LI} XLI与一个可学习的过滤器和一个简单的ResNet进行卷积得到。其中 X L I X_{LI} XLI是通过传统 L I LI LI方法[5]重建的去伪影CT图像。详情请参阅[4]。 λ 1 λ_1 λ1, λ 2 λ_2 λ2和 μ n \mu_n μn表示平衡不同损失项的加权参数。经验上,我们设 λ 1 = λ 2 = 5 × 1 0 − 4 λ_1 = λ_2 = 5 × 10^{−4} λ1=λ2=5×10−4, μ N = 1 \mu_N = 1 μN=1, μ n = 0.1 ( n ≠ N ) \mu_n = 0.1 (n\neq N) μn=0.1(n=N)。
训练细节。OSCNet和OSCNet+是基于PyTorch框架[23]在NVIDIA Tesla V100-SMX2 GPU上实现的。我们采用参数为(β1,β2)=(0.5, 0.999)的Adam优化器。学习率初始化为2 × 10−4,每30个训练周期后乘以0.5。总epoch数为200。批量大小为16,patch大小为64 × 64。为了比较公平,与[4]一致,总迭代阶段数N为10;残差块数T为3;总旋转方向数L为8;每个方向K的卷积滤波器总数为4;卷积滤波器 C k ( θ l ) C_k (θ_l) Ck(θl)的大小 p × p p × p p×p为9 × 9;公式(7)中的网格尺寸 h h h为 1 4 \frac{1}{4} 41[21]。
合成DeepLesion。我们从DeepLesion中随机选择1200张无金属CT图像(主要集中在腹部和胸部)[26]和从[9]中选择100张模拟金属,按照模拟方案[4,17],将配对的干净CT图像X和受金属影响的CT图像 Y Y Y与扇束CT几何形状合成,用于训练(1000张图像与90种金属配对)和测试(200张图像与10种金属配对)。在金属面具模拟中,不同类型的金属以不同的尺寸、角度和位置插入,以覆盖真实的临床场景。金属材料包括钛、铁、铜和金。模拟了具有能谱的120 kVp多色x射线源,如下图11所示。为了模拟弦图中的泊松噪声,我们假设入射x射线有2 × 107个光子。此外,还考虑了局部体积效应和梁硬化效应。我们在[0,360]范围内统一采样640个投影视图,并将所有CT图像调整为416 × 416像素。对于测试,尺寸10个选定的金属的像素为[2061,890,881,451,254,124,118,112,53,35]。根据[2,4],我们将每两个相邻的金属掩模作为一组进行评估。
合成Dental。从[17]开始,我们收集无金属牙齿CT图像,然后利用仿真处理[4,17]合成配对的 X X X和 Y Y Y,以评估模型在跨体点场景下的泛化效果。
临床SpineWeb。为了评估我们提出的方法的临床适用性,我们采用SpineWeb3,并选择椎骨定位和识别数据集[27]。通过预处理方案[3],我们可以得到金属损坏的CT图像进行检测。根据[4,17],临床金属用阈值(2500 HU)进行大致分割。
临床CLINIC-metal。为了进行综合评价,我们还采用了另一个临床盆腔CT数据集CLINIC-metal[28]进行泛化分析。
评价指标。为了比较合成的DeepLesion和Dental,我们提供了基于PSNR/SSIM的定量评价;对于临床SpineWeb和CLINIC-metal的分析,没有CT实相,如下[3,4],我们只能提供视觉比较。
在本节中,我们首先进行了模型验证,展示了我们提出的基于综合DeepLesion的框架的工作机制,然后在四个基准数据集上进行了全面的比较,以验证我们的方法与代表性基线(包括传统的LI[5]和NMAR[6],基于DL的CNNMAR [9], DuDoNet [2], DSCMAR [17], DAN-Net [29], DuDoNet++ [18], DICDNet[4]和OSCNet[22])的有效性。在实验比较中,我们直接采用LI、NMAR、CNNMAR和DICDNet发布的代码。然而,对于DuDoNet, DSCMAR, DAN-Net和DuDoNet++,由于缺乏完整的官方代码,我们重新实现了它们。
图4显示了模型公式(3)的组成部分,包括卷积滤波器 C k ( θ l ) C_k(θ_l) Ck(θl)、特征映射 M l k ( 10 ) \mathcal{M}^{(10)}_{lk} Mlk(10)和金属伪影 A ( 10 ) A^{(10)} A(10),这些都是在最后阶段由我们提出的OSCNet提取的。我们可以很容易地发现字典 C C C由不同的局部模式组成,并且它在空间上以角度 π 4 ( l − 1 ) , l = 1 , 2 , … 8 \frac{π}{4} (l−1),l = 1,2,…8 4π(l−1),l=1,2,…8。相应的,提取的金属伪影 C k ( θ l ) ⊗ M l k ( 10 ) C_k(θ_l)⊗\mathcal{M}^{(10)}_{lk} Ck(θl)⊗Mlk(10)显示出旋转结构。这样的观察结果很好地证实了我们的OSCNet在学习RSS先验知识方面的有效性,该先验知识符合基于傅立叶级数扩展的方向共享卷积先验模型公式(3)。在这种适当的先验模型的正则化下,OSCNet将区分图像细节和伪像,并重建具有良好视觉质量的CT图像,如下所示。
图5显示了我们提出的OSCNet在不同阶段(n=1、3、5、7、10)估计的伪影减少的CT图像 X ( n ) X^{(n)} X(n)和提取的伪影层 A ( n ) A^{(n)} A(n)。可以看出,随着 n n n的增大,对于非金属区域 I I I, X ( n ) X^{(n)} X(n)和 A ( n ) A^{(n)} A(n)分别对应地接近真实干净CT图像 X X X和真实伪影层 A A A为 ( Y − X ) (Y−X) (Y−X)。这很好地验证了RSS先验模型和迭代更新设计的有效性。这样一个清晰的工作机制将使我们提出的框架容易被一般研究人员理解。
基于不同尺寸金属的退化CT图像,图6显示了相应的伪影层 A ( 10 ) A^{(10)} A(10)和我们提出的OSCNet+提取的卷积滤波器 R ( Φ l W ( 10 ) ) \mathcal{R}\left(\boldsymbol{\Phi}_{l}\boldsymbol{W}^{(10{)}}\right) R(ΦlW(10))。
从结果中,我们可以很容易地发现
这些结果与第四节的分析非常吻合,证实了我们提出的动态机制在帮助伪迹灵活学习方面的合理性和有效性。
合成DeepLesion的评价。图7为不同对比方法重建的CT图像如图所示,我们提出的OSCNet和OSCNet+消除了更多的伪影,更好地保存了身体组织。与我们的主干、代表消融研究的DICDNet[4] (即在备注1中分析的旋转角度数为L = 1的退化版OSCNet)相比,我们的方法所取得的性能改进表明,固有旋转先验知识的准确集成确实可以促进金属文物的提取。
表1报告了合成DeepLesion的定量结果,表明所提出的OSCNet+在不同尺寸金属植入物下的性能始终优于OSCNet。这些比较证实了动态推理设计在柔性伪影减少中的有效性。请注意,我们提出的详细回收方法仍有改进的余地。如图7所示,在所有的对比方法中,重建的CT图像都含有虚假的结构信息,尤其是金属植入物周围。金属种植体尺寸越大,产生的金属伪影越严重,金属种植体周围重建组织的保真度也越差。在未来,我们将继续探索更强大的表示模型,以帮助更好地区分有用的组织和人工制品,并提高恢复精度。
合成Dental的评价。图8给出了不同的磁共振成像方法在合成牙科CT图像上的伪影减少结果,其中所有基于DL的方法都是在合成的DeepLesion上进行训练的。观察到,我们提出的OSCNet+在去除条纹伪影和黑带方面始终取得良好的MAR效果,并获得具有竞争力的PSNR/SSIM分数。这很好地证明了所提出的动态机制的有效性,有利于自适应伪迹提取和提高交叉点泛化性能。
临床SpineWeb的评价。图9显示了不同方法对SpineWeb随机选取的真实临床降级CT图像的概化结果。如图所示,由于采用RSS先验模型公式(8)进行了更精确的正则化,我们的OSCNet和OSCNet+消除了更多的工件,并表现出更好的模型泛化性。我们还可以看到,在工件上引入动态卷积表示,使得OSCNet+获得了比OSCNet更好的视觉效果。
临床CLINIC-metal的评价。图10为CLINIC-metal上所有比较方法的概化结果。很容易观察到,与其他基线相比,我们提出的OSCNet+在减少伪影和恢复细节(如髋关节结构)方面实现了更好的视觉效果。由于卷积表示的自适应学习机制,OSCNet+可以更好地区分组织结构和金属伪像,从而达到比OSCNet更好的伪像还原效果,特别是在金属植入物周围。此外,我们可以观察到,所有基于深度学习的比较方法重建的图像都有不同程度的组织结构平滑。为了缓解这个问题,我们可以尝试引入更细致的设计来规范网络学习。在未来,一个可行的解决方案是在传统的深度网络中加入群等变性[30,31],以更好地约束图像重建。
对于临床数据,由于缺乏真实的无金属CT图像,很难定量评估恢复信息的准确性。在DuDoNet++[18]中,作者进行了一项临床研究,并邀请了一位熟练的放射科医生对通过不同方法重建的所有图像进行评分。这可能被认为是未来临床评估的一个解决方案。在未来,我们将尝试与放射科医师建立更紧密的合作,帮助我们进行临床导向的分析,全面评估恢复信息的准确性。
表2报告了网络参数和计算效率的比较,其中在NVIDIA Tesla V100-SMX2 GPU上对2000张416 × 416像素的图像平均计算测试时间。观察到我们的OSCNet和OSCNet+具有更少的网络参数和相当的推理时间。此外,与精确的骨干DICDNet相比,所提出的方向共享卷积机制使我们的OSCNet具有更少的模型参数来表示金属工件。
能量谱。为了全面验证我们提出的方法的鲁棒性,我们使用经典工具SPEKTR 3.0[32],在80 kVp和100 kVp的管电压下(如图12所示),分别生成了两个新的TASMICS频谱,没有添加滤波,0% kV纹波,没有管输出归一化(如图12所示),这与合成训练数据采用的120 kVp频谱不同(如图11所示)。然后,根据V-B节中描述的仿真方案[3,9],我们可以使用DeepLesion相应合成两个测试数据集,每个测试数据集由2000张CT图像组成,包含10种不同类型的金属。
表3列出了不同MAR方法在不同频谱设置下对2000幅CT图像的平均PSNR/SSIM结果。通过观察,我们提出的OSCNet和OSCNet+可以一致获得更高的PSNR/SSIM分数,表现出更好的鲁棒性和更强的泛化能力。主要原因是,尽管频谱设置不同,导致伪影强度不同,但OSC模型始终可以表示基于旋转扫描的CT成像背后固有的旋转对称条纹先验,这有助于精细地识别和提取伪影,以更好地重建图像。
投影视图。表4列出了基于V-B节中描述的仿真协议合成的整个2000张CT图像在不同投影视图数下的平均PSNR/SSIM结果,其中深度MAR方法在640个视图上进行训练。很容易观察到,随着投影视图数量的减少,不同MAR方法的重建性能一致呈现下降趋势。总体而言,本文提出的OSCNet+在不同观点下都表现出更好的鲁棒性,这主要归功于本文提出的动态OSC模型的合理正则化。
图像分辨率。表5列出了基于不同图像分辨率合成的2000张CT图像的平均PSNR/SSIM结果。在这里,深度MAR方法以图像大小为416 × 416像素进行训练。正如预期的那样,当图像大小从256 × 256像素到512 × 512像素变化时,几乎所有的比较方法都获得了更高的PSNR/SSIM分数,并且所提出的OSCNet和OSCNet+具有竞争力。此外,我们可以发现几乎所有的比较方法在416 × 416像素的设置下都能获得更好的性能。主要原因是在网络接受域固定的情况下,测试过程中图像分辨率的变化会影响特征提取。
λ1和λ2的影响。基于合成DeepLesion,表6和表7列出了在不同λ1和λ2的损失函数公式(19)下训练的OSCNet+的重建性能。以默认设置(即λ1 = λ2 = 5 × 10−4)为参照,我们可以很容易地发现,1)从表6中,λ1 = 0时的劣结果表明,公式(19)中第二项的介入是非常必要的,因为它监督重构CT图像的清晰度。此外,当选择λ1作为其他值而不是0时,最终平均PSNR/SSIM约为42 dB/0.993,变化不显著。这与公式(19)中第一项的关键监督密切相关;(2)从表7中,与λ1相似,将λ2固定为0时,性能大幅下降,这证实了本文提出的先验模型在辅助伪影提取中的合理性和有效性。此外,由于伪像信息和解剖结构具有不同的像素强度,学习难度也不完全相同,不同的λ2会导致图像重建和伪像学习的重要性存在一定的不平衡,从而导致性能波动。基于以上分析,我们可以得出结论:
旋转方向L的个数。表8列出了在不同旋转方向数L下,所提出的OSCNet+在包含2000张CT图像的整个合成DeepLesion上的平均PSNR/SSIM。请注意,为了与DICDNet进行公平的比较,我们将通道总数LK固定为32。以L = 8为参考,我们可以发现,1)当旋转方向L的数量增加时,每个旋转方向上可学习的卷积滤波器K的数量减少,这将导致提取金属伪影的表示能力有限;2)当旋转方向L的个数减少时,会导致不同方向伪影的识别和提取不准确。在所有的对比实验中,我们都选择L为8,K为4。
残差块T的数量。表9报告了每个阶段残差块T的数量对提议的OSCNet+性能的影响。可以看出,随着T的增大,性能大致呈上升趋势。为了公平比较,我们遵循DICDNet并选择T为3。
迭代阶段数N。表10评估了迭代阶段总数N对我们的OSCNet+的MAR性能的影响。N越大,重构性能越好。遵循DICDNet,我们基于准确性和速度之间的权衡将N设置为10。
金属分割的影响。为了评估金属分割精度对最终重建结果的影响,基于SpineWeb数据集中选择的临床输入图像,如图9所示,我们还提供了不同临床金属分割阈值(500 HU、1000 HU、2500 HU和4000 HU)下OSCNet+的伪像减少性能。
如图13所示,较低的阈值错误地将更多的组织归为金属植入物,导致有用细节的严重丢失。较高的阈值错误地将金属识别为正常结构,从而导致CT值极高的金属严重干扰正常的网络学习。可见,金属分割的准确性直接影响到去伪影CT图像的合理重建。在所有的对比实验中,我们都遵循了现有的工作,并经验地将分割阈值设置为2500 HU。目前,有一些针对金属定位的方法,如基于弦图域的工作[33,34]和基于CT图像域的方法[35]。基于可用的信息,我们可以考虑改进这些方法并将它们集成到MAR任务中。为了更准确的学习,在未来,我们将尝试联合优化金属分割和CT图像重建任务。
初始化 X ( 0 ) X^{(0)} X(0)。基于合成DeepLesion,表11报告了初始化 X ( 0 ) X^{(0)} X(0)对我们提出的框架重构性能的影响。请注意,在初始化过程中,由于仅从给定的降级CT图像 Y Y Y中提取伪影信息 M ( 0 ) \mathcal{M}^{(0)} M(0)是非常困难的,因此我们直接将特征映射 M ( 0 ) \mathcal{M}^{(0)} M(0)的初始化保持为0。与第V-A节中所述的具有默认初始化设置的OSCNet+相比,变体OSCNet-是基于一种较差的初始化实现的,即 X ( 0 ) X^{(0)} X(0)是通过对 Y Y Y(比 X L I X_{LI} XLI更多的工件)进行卷积得到的,使用一个可学习的过滤器,然后是一个简单的ResNet。由此可见,与传统的优化算法类似,初始化不当会阻碍优化过程,干扰学习方向,进而影响去伪影CT图像的最终重建质量。
本文针对金属伪影约简任务,研究了金属伪影固有的旋转对称条纹先验,并提出将其编码为一个方向共享的卷积模型。通过将这种先验模型嵌入到当前的SOTA框架中,我们构建了一个受优化启发的深度网络,称为OSCNet,具有明确的工作机制。为了进一步提高金属伪像学习的灵活性,在迭代阶段充分传播重构结果的信息,我们专门构建了一个简单的子网络,在迭代规则的指导下,可以很容易地集成到OSCNet框架中。在几个数据集上进行的大量实验证实了所提出方法的优越性。与其他基于监督学习的MAR基线类似,我们的方法的一个潜在限制是模拟数据集不能完全反映实际的临床场景,并且它们之间存在域差距。这主要受到不同实际因素的影响,包括解剖结构(如腹部、牙齿、脊柱和骨盆)、成像设置(如图像分辨率、能谱和投影视图)和金属信息(如尺寸、位置和形状)。为了更好地处理域差距问题,未来我们将尝试引入更强大、更精确的表示模型,进一步规范网络学习,实现更好的泛化。